@intent-systems/nexus 2026.1.5-3
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/CHANGELOG.md +222 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +462 -0
- package/dist/agents/agent-paths.js +16 -0
- package/dist/agents/agent-scope.js +44 -0
- package/dist/agents/auth-profiles.js +626 -0
- package/dist/agents/bash-process-registry.js +126 -0
- package/dist/agents/bash-tools.js +838 -0
- package/dist/agents/chutes-oauth.js +47 -0
- package/dist/agents/clawdbot-tools.js +62 -0
- package/dist/agents/context.js +34 -0
- package/dist/agents/defaults.js +6 -0
- package/dist/agents/memory-search.js +80 -0
- package/dist/agents/model-auth.js +115 -0
- package/dist/agents/model-catalog.js +55 -0
- package/dist/agents/model-fallback.js +210 -0
- package/dist/agents/model-scan.js +263 -0
- package/dist/agents/model-selection.js +152 -0
- package/dist/agents/models-config.js +171 -0
- package/dist/agents/nexus-tools.js +46 -0
- package/dist/agents/pi-embedded-block-chunker.js +188 -0
- package/dist/agents/pi-embedded-helpers.js +139 -0
- package/dist/agents/pi-embedded-runner.js +932 -0
- package/dist/agents/pi-embedded-subscribe.js +541 -0
- package/dist/agents/pi-embedded-utils.js +20 -0
- package/dist/agents/pi-embedded.js +1 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
- package/dist/agents/pi-tool-definition-adapter.js +17 -0
- package/dist/agents/pi-tools.js +510 -0
- package/dist/agents/pi-tools.schema.js +358 -0
- package/dist/agents/sandbox-paths.js +68 -0
- package/dist/agents/sandbox.js +667 -0
- package/dist/agents/shell-utils.js +53 -0
- package/dist/agents/skill-runner.js +224 -0
- package/dist/agents/skill-state.js +164 -0
- package/dist/agents/skill-tools.js +191 -0
- package/dist/agents/skill-usage.js +43 -0
- package/dist/agents/skills-install.js +244 -0
- package/dist/agents/skills-status.js +157 -0
- package/dist/agents/skills.js +472 -0
- package/dist/agents/subagent-registry.js +321 -0
- package/dist/agents/subagent-registry.store.js +47 -0
- package/dist/agents/system-prompt.js +179 -0
- package/dist/agents/timeout.js +26 -0
- package/dist/agents/tool-display.js +155 -0
- package/dist/agents/tool-display.json +236 -0
- package/dist/agents/tool-images.js +138 -0
- package/dist/agents/tool-policy.js +87 -0
- package/dist/agents/tools/agent-step.js +41 -0
- package/dist/agents/tools/browser-tool.js +295 -0
- package/dist/agents/tools/canvas-tool.js +193 -0
- package/dist/agents/tools/common.js +88 -0
- package/dist/agents/tools/cron-tool.js +141 -0
- package/dist/agents/tools/discord-actions-guild.js +186 -0
- package/dist/agents/tools/discord-actions-messaging.js +313 -0
- package/dist/agents/tools/discord-actions-moderation.js +70 -0
- package/dist/agents/tools/discord-actions.js +56 -0
- package/dist/agents/tools/discord-schema.js +199 -0
- package/dist/agents/tools/discord-tool.js +16 -0
- package/dist/agents/tools/gateway-tool.js +46 -0
- package/dist/agents/tools/gateway.js +28 -0
- package/dist/agents/tools/image-tool.js +140 -0
- package/dist/agents/tools/memory-tool.js +92 -0
- package/dist/agents/tools/nodes-tool.js +413 -0
- package/dist/agents/tools/nodes-utils.js +92 -0
- package/dist/agents/tools/sessions-announce-target.js +35 -0
- package/dist/agents/tools/sessions-helpers.js +88 -0
- package/dist/agents/tools/sessions-history-tool.js +137 -0
- package/dist/agents/tools/sessions-list-tool.js +196 -0
- package/dist/agents/tools/sessions-send-helpers.js +103 -0
- package/dist/agents/tools/sessions-send-tool.js +371 -0
- package/dist/agents/tools/sessions-spawn-tool.js +319 -0
- package/dist/agents/tools/slack-actions.js +129 -0
- package/dist/agents/tools/slack-schema.js +59 -0
- package/dist/agents/tools/slack-tool.js +16 -0
- package/dist/agents/tools/telegram-actions.js +159 -0
- package/dist/agents/tools/telegram-schema.js +28 -0
- package/dist/agents/tools/telegram-tool.js +16 -0
- package/dist/agents/tools/whatsapp-login-tool.js +63 -0
- package/dist/agents/usage.js +58 -0
- package/dist/agents/workspace.js +264 -0
- package/dist/auto-reply/chunk.js +177 -0
- package/dist/auto-reply/command-auth.js +44 -0
- package/dist/auto-reply/command-detection.js +22 -0
- package/dist/auto-reply/envelope.js +30 -0
- package/dist/auto-reply/group-activation.js +20 -0
- package/dist/auto-reply/heartbeat.js +58 -0
- package/dist/auto-reply/model.js +22 -0
- package/dist/auto-reply/reply/abort.js +14 -0
- package/dist/auto-reply/reply/agent-runner.js +426 -0
- package/dist/auto-reply/reply/bash-command.js +314 -0
- package/dist/auto-reply/reply/block-streaming.js +34 -0
- package/dist/auto-reply/reply/body.js +29 -0
- package/dist/auto-reply/reply/commands.js +332 -0
- package/dist/auto-reply/reply/directive-handling.js +626 -0
- package/dist/auto-reply/reply/directives.js +59 -0
- package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
- package/dist/auto-reply/reply/followup-runner.js +181 -0
- package/dist/auto-reply/reply/groups.js +152 -0
- package/dist/auto-reply/reply/mentions.js +64 -0
- package/dist/auto-reply/reply/model-selection.js +209 -0
- package/dist/auto-reply/reply/queue.js +399 -0
- package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
- package/dist/auto-reply/reply/reply-tags.js +26 -0
- package/dist/auto-reply/reply/session-updates.js +103 -0
- package/dist/auto-reply/reply/session.js +169 -0
- package/dist/auto-reply/reply/typing.js +125 -0
- package/dist/auto-reply/reply.js +655 -0
- package/dist/auto-reply/send-policy.js +28 -0
- package/dist/auto-reply/status.js +197 -0
- package/dist/auto-reply/templating.js +9 -0
- package/dist/auto-reply/thinking.js +49 -0
- package/dist/auto-reply/tokens.js +2 -0
- package/dist/auto-reply/tool-meta.js +74 -0
- package/dist/auto-reply/transcription.js +57 -0
- package/dist/auto-reply/types.js +1 -0
- package/dist/browser/bridge-server.js +37 -0
- package/dist/browser/cdp.js +382 -0
- package/dist/browser/chrome.js +432 -0
- package/dist/browser/client-actions-core.js +67 -0
- package/dist/browser/client-actions-observe.js +24 -0
- package/dist/browser/client-actions-types.js +1 -0
- package/dist/browser/client-actions.js +3 -0
- package/dist/browser/client-fetch.js +43 -0
- package/dist/browser/client.js +105 -0
- package/dist/browser/config.js +155 -0
- package/dist/browser/constants.js +5 -0
- package/dist/browser/profiles-service.js +124 -0
- package/dist/browser/profiles.js +96 -0
- package/dist/browser/pw-ai.js +2 -0
- package/dist/browser/pw-session.js +144 -0
- package/dist/browser/pw-tools-core.js +363 -0
- package/dist/browser/routes/agent.js +535 -0
- package/dist/browser/routes/basic.js +155 -0
- package/dist/browser/routes/index.js +8 -0
- package/dist/browser/routes/tabs.js +105 -0
- package/dist/browser/routes/utils.js +62 -0
- package/dist/browser/screenshot.js +40 -0
- package/dist/browser/server-context.js +377 -0
- package/dist/browser/server.js +81 -0
- package/dist/browser/target-id.js +18 -0
- package/dist/browser/trash.js +21 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
- package/dist/canvas-host/a2ui/index.html +246 -0
- package/dist/canvas-host/a2ui.js +187 -0
- package/dist/canvas-host/server.js +382 -0
- package/dist/channel-web.js +8 -0
- package/dist/cli/browser-cli-actions-input.js +459 -0
- package/dist/cli/browser-cli-actions-observe.js +56 -0
- package/dist/cli/browser-cli-examples.js +31 -0
- package/dist/cli/browser-cli-inspect.js +97 -0
- package/dist/cli/browser-cli-manage.js +286 -0
- package/dist/cli/browser-cli-shared.js +1 -0
- package/dist/cli/browser-cli.js +26 -0
- package/dist/cli/canvas-cli.js +416 -0
- package/dist/cli/cloud-cli.js +336 -0
- package/dist/cli/credential-cli.js +227 -0
- package/dist/cli/cron-cli.js +454 -0
- package/dist/cli/deps.js +17 -0
- package/dist/cli/dns-cli.js +180 -0
- package/dist/cli/gateway-cli.js +665 -0
- package/dist/cli/gateway-rpc.js +20 -0
- package/dist/cli/hooks-cli.js +135 -0
- package/dist/cli/memory-cli.js +101 -0
- package/dist/cli/models-cli.js +248 -0
- package/dist/cli/nodes-camera.js +57 -0
- package/dist/cli/nodes-canvas.js +26 -0
- package/dist/cli/nodes-cli.js +946 -0
- package/dist/cli/nodes-screen.js +37 -0
- package/dist/cli/pairing-cli.js +100 -0
- package/dist/cli/parse-duration.js +20 -0
- package/dist/cli/plugins-cli.js +158 -0
- package/dist/cli/ports.js +97 -0
- package/dist/cli/profile.js +81 -0
- package/dist/cli/program.js +162 -0
- package/dist/cli/prompt.js +19 -0
- package/dist/cli/run-main.js +48 -0
- package/dist/cli/skills-cli.js +132 -0
- package/dist/cli/skills-hub-cli.js +1093 -0
- package/dist/cli/telegram-cli.js +56 -0
- package/dist/cli/tool-connector-cli.js +118 -0
- package/dist/cli/tui-cli.js +35 -0
- package/dist/cli/upstream-sync-cli.js +2833 -0
- package/dist/cli/usage-cli.js +24 -0
- package/dist/cli/wait.js +8 -0
- package/dist/commands/agent-via-gateway.js +115 -0
- package/dist/commands/agent.js +665 -0
- package/dist/commands/antigravity-oauth.js +327 -0
- package/dist/commands/auth-choice-options.js +80 -0
- package/dist/commands/auth-choice.js +134 -0
- package/dist/commands/auth-token.js +31 -0
- package/dist/commands/bootstrap-preset.js +214 -0
- package/dist/commands/capabilities.js +36 -0
- package/dist/commands/chutes-oauth.js +144 -0
- package/dist/commands/claude-md.js +137 -0
- package/dist/commands/config-view.js +11 -0
- package/dist/commands/configure.js +648 -0
- package/dist/commands/credential.js +236 -0
- package/dist/commands/cursor-rules.js +230 -0
- package/dist/commands/doctor-state-migrations.js +358 -0
- package/dist/commands/doctor-ui.js +113 -0
- package/dist/commands/doctor.js +673 -0
- package/dist/commands/health.js +112 -0
- package/dist/commands/identity.js +54 -0
- package/dist/commands/init.js +167 -0
- package/dist/commands/models/aliases.js +85 -0
- package/dist/commands/models/fallbacks.js +123 -0
- package/dist/commands/models/image-fallbacks.js +123 -0
- package/dist/commands/models/list.js +347 -0
- package/dist/commands/models/scan.js +271 -0
- package/dist/commands/models/set-image.js +27 -0
- package/dist/commands/models/set.js +27 -0
- package/dist/commands/models/shared.js +73 -0
- package/dist/commands/models.js +7 -0
- package/dist/commands/onboard-auth.js +101 -0
- package/dist/commands/onboard-channels.js +814 -0
- package/dist/commands/onboard-eve-identity.js +98 -0
- package/dist/commands/onboard-github.js +153 -0
- package/dist/commands/onboard-helpers.js +303 -0
- package/dist/commands/onboard-interactive.js +17 -0
- package/dist/commands/onboard-non-interactive.js +228 -0
- package/dist/commands/onboard-providers.js +829 -0
- package/dist/commands/onboard-quickstart.js +185 -0
- package/dist/commands/onboard-remote.js +120 -0
- package/dist/commands/onboard-skills.js +148 -0
- package/dist/commands/onboard-types.js +1 -0
- package/dist/commands/onboard.js +19 -0
- package/dist/commands/openai-codex-model-default.js +38 -0
- package/dist/commands/poll.js +64 -0
- package/dist/commands/quest.js +27 -0
- package/dist/commands/reset.js +61 -0
- package/dist/commands/send.js +124 -0
- package/dist/commands/sessions-ingest.js +359 -0
- package/dist/commands/sessions.js +212 -0
- package/dist/commands/setup.js +59 -0
- package/dist/commands/signal-install.js +135 -0
- package/dist/commands/skills-manifest.js +235 -0
- package/dist/commands/status.js +139 -0
- package/dist/commands/suggestions.js +54 -0
- package/dist/commands/systemd-linger.js +71 -0
- package/dist/commands/update.js +16 -0
- package/dist/commands/usage-upload.js +27 -0
- package/dist/config/config.js +6 -0
- package/dist/config/defaults.js +140 -0
- package/dist/config/group-policy.js +49 -0
- package/dist/config/includes.js +183 -0
- package/dist/config/io.js +188 -0
- package/dist/config/legacy-migrate.js +13 -0
- package/dist/config/legacy.js +425 -0
- package/dist/config/paths.js +82 -0
- package/dist/config/port-defaults.js +32 -0
- package/dist/config/schema.js +173 -0
- package/dist/config/sessions.js +611 -0
- package/dist/config/talk.js +31 -0
- package/dist/config/types.js +1 -0
- package/dist/config/validation.js +29 -0
- package/dist/config/zod-schema.js +1110 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
- package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
- package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/index.html +16 -0
- package/dist/cron/isolated-agent.js +529 -0
- package/dist/cron/normalize.js +73 -0
- package/dist/cron/parse.js +24 -0
- package/dist/cron/run-log.js +72 -0
- package/dist/cron/schedule.js +24 -0
- package/dist/cron/service.js +471 -0
- package/dist/cron/store.js +43 -0
- package/dist/cron/types.js +1 -0
- package/dist/daemon/constants.js +10 -0
- package/dist/daemon/launchd.js +295 -0
- package/dist/daemon/legacy.js +63 -0
- package/dist/daemon/program-args.js +141 -0
- package/dist/daemon/schtasks.js +269 -0
- package/dist/daemon/service.js +69 -0
- package/dist/daemon/systemd.js +332 -0
- package/dist/discord/index.js +2 -0
- package/dist/discord/monitor.js +1089 -0
- package/dist/discord/probe.js +54 -0
- package/dist/discord/send.js +652 -0
- package/dist/discord/token.js +8 -0
- package/dist/entry.js +16 -0
- package/dist/gateway/auth.js +121 -0
- package/dist/gateway/call.js +103 -0
- package/dist/gateway/chat-attachments.js +41 -0
- package/dist/gateway/client.js +180 -0
- package/dist/gateway/config-reload.js +274 -0
- package/dist/gateway/control-ui.js +184 -0
- package/dist/gateway/hooks-mapping.js +282 -0
- package/dist/gateway/hooks.js +168 -0
- package/dist/gateway/net.js +29 -0
- package/dist/gateway/protocol/index.js +62 -0
- package/dist/gateway/protocol/schema.js +577 -0
- package/dist/gateway/server-bridge-subscriptions.js +93 -0
- package/dist/gateway/server-bridge.js +1066 -0
- package/dist/gateway/server-browser.js +11 -0
- package/dist/gateway/server-channels.js +680 -0
- package/dist/gateway/server-chat.js +159 -0
- package/dist/gateway/server-constants.js +8 -0
- package/dist/gateway/server-discovery.js +62 -0
- package/dist/gateway/server-http.js +165 -0
- package/dist/gateway/server-methods/agent-job.js +114 -0
- package/dist/gateway/server-methods/agent.js +254 -0
- package/dist/gateway/server-methods/channels.js +239 -0
- package/dist/gateway/server-methods/chat.js +207 -0
- package/dist/gateway/server-methods/config.js +50 -0
- package/dist/gateway/server-methods/connect.js +6 -0
- package/dist/gateway/server-methods/cron.js +89 -0
- package/dist/gateway/server-methods/health.js +28 -0
- package/dist/gateway/server-methods/models.js +16 -0
- package/dist/gateway/server-methods/nodes.js +294 -0
- package/dist/gateway/server-methods/providers.js +257 -0
- package/dist/gateway/server-methods/send.js +254 -0
- package/dist/gateway/server-methods/sessions.js +382 -0
- package/dist/gateway/server-methods/skills.js +83 -0
- package/dist/gateway/server-methods/system.js +118 -0
- package/dist/gateway/server-methods/talk.js +22 -0
- package/dist/gateway/server-methods/types.js +1 -0
- package/dist/gateway/server-methods/voicewake.js +30 -0
- package/dist/gateway/server-methods/web.js +81 -0
- package/dist/gateway/server-methods/wizard.js +100 -0
- package/dist/gateway/server-methods.js +53 -0
- package/dist/gateway/server-providers.js +687 -0
- package/dist/gateway/server-shared.js +1 -0
- package/dist/gateway/server-utils.js +35 -0
- package/dist/gateway/server.js +1478 -0
- package/dist/gateway/session-utils.js +355 -0
- package/dist/gateway/ws-log.js +343 -0
- package/dist/gateway/ws-logging.js +8 -0
- package/dist/globals.js +41 -0
- package/dist/hooks/gmail-ops.js +236 -0
- package/dist/hooks/gmail-setup-utils.js +278 -0
- package/dist/hooks/gmail-watcher.js +190 -0
- package/dist/hooks/gmail.js +177 -0
- package/dist/imessage/client.js +165 -0
- package/dist/imessage/index.js +3 -0
- package/dist/imessage/monitor.js +365 -0
- package/dist/imessage/probe.js +26 -0
- package/dist/imessage/send.js +83 -0
- package/dist/imessage/targets.js +176 -0
- package/dist/index.js +55 -0
- package/dist/infra/agent-events.js +46 -0
- package/dist/infra/binaries.js +9 -0
- package/dist/infra/bonjour-discovery.js +163 -0
- package/dist/infra/bonjour.js +200 -0
- package/dist/infra/bridge/server.js +564 -0
- package/dist/infra/canvas-host-url.js +54 -0
- package/dist/infra/channel-summary.js +78 -0
- package/dist/infra/control-ui-assets.js +112 -0
- package/dist/infra/dotenv.js +15 -0
- package/dist/infra/env.js +8 -0
- package/dist/infra/errors.js +28 -0
- package/dist/infra/event-log.js +251 -0
- package/dist/infra/gateway-lock.js +8 -0
- package/dist/infra/git-commit.js +91 -0
- package/dist/infra/heartbeat-events.js +21 -0
- package/dist/infra/heartbeat-runner.js +458 -0
- package/dist/infra/heartbeat-wake.js +61 -0
- package/dist/infra/is-main.js +37 -0
- package/dist/infra/json-file.js +21 -0
- package/dist/infra/machine-name.js +40 -0
- package/dist/infra/nexus-root.js +56 -0
- package/dist/infra/node-pairing.js +212 -0
- package/dist/infra/path-env.js +93 -0
- package/dist/infra/ports.js +87 -0
- package/dist/infra/provider-summary.js +80 -0
- package/dist/infra/provider-usage.auth.js +189 -0
- package/dist/infra/provider-usage.fetch.claude.js +129 -0
- package/dist/infra/provider-usage.fetch.codex.js +62 -0
- package/dist/infra/provider-usage.fetch.copilot.js +42 -0
- package/dist/infra/provider-usage.fetch.gemini.js +57 -0
- package/dist/infra/provider-usage.fetch.js +6 -0
- package/dist/infra/provider-usage.fetch.minimax.js +214 -0
- package/dist/infra/provider-usage.fetch.shared.js +11 -0
- package/dist/infra/provider-usage.fetch.zai.js +62 -0
- package/dist/infra/provider-usage.format.js +77 -0
- package/dist/infra/provider-usage.js +145 -0
- package/dist/infra/provider-usage.load.js +54 -0
- package/dist/infra/provider-usage.shared.js +19 -0
- package/dist/infra/provider-usage.types.js +1 -0
- package/dist/infra/restart.js +29 -0
- package/dist/infra/retry.js +16 -0
- package/dist/infra/runtime-guard.js +59 -0
- package/dist/infra/shell-env.js +88 -0
- package/dist/infra/system-events.js +71 -0
- package/dist/infra/system-presence.js +217 -0
- package/dist/infra/tailnet.js +46 -0
- package/dist/infra/tailscale.js +149 -0
- package/dist/infra/unhandled-rejections.js +19 -0
- package/dist/infra/usage-suggestions.js +241 -0
- package/dist/infra/usage-upload.js +290 -0
- package/dist/infra/voicewake.js +78 -0
- package/dist/infra/widearea-dns.js +123 -0
- package/dist/infra/ws.js +13 -0
- package/dist/logger.js +52 -0
- package/dist/logging.js +506 -0
- package/dist/macos/gateway-daemon.js +145 -0
- package/dist/macos/relay.js +49 -0
- package/dist/media/constants.js +33 -0
- package/dist/media/host.js +42 -0
- package/dist/media/image-ops.js +119 -0
- package/dist/media/mime.js +123 -0
- package/dist/media/parse.js +83 -0
- package/dist/media/server.js +64 -0
- package/dist/media/store.js +139 -0
- package/dist/polls.js +43 -0
- package/dist/process/command-queue.js +97 -0
- package/dist/process/exec.js +75 -0
- package/dist/provider-web.js +8 -0
- package/dist/providers/github-copilot-auth.js +123 -0
- package/dist/providers/github-copilot-models.js +35 -0
- package/dist/providers/github-copilot-token.js +11 -0
- package/dist/providers/location.js +48 -0
- package/dist/providers/web/index.js +2 -0
- package/dist/runtime.js +8 -0
- package/dist/sessions/level-overrides.js +9 -0
- package/dist/sessions/send-policy.js +68 -0
- package/dist/signal/client.js +134 -0
- package/dist/signal/daemon.js +69 -0
- package/dist/signal/index.js +3 -0
- package/dist/signal/monitor.js +411 -0
- package/dist/signal/probe.js +46 -0
- package/dist/signal/send.js +91 -0
- package/dist/slack/actions.js +97 -0
- package/dist/slack/index.js +5 -0
- package/dist/slack/monitor.js +1270 -0
- package/dist/slack/probe.js +47 -0
- package/dist/slack/send.js +131 -0
- package/dist/slack/token.js +10 -0
- package/dist/telegram/allowed-updates.js +8 -0
- package/dist/telegram/bot.js +724 -0
- package/dist/telegram/download.js +34 -0
- package/dist/telegram/index.js +4 -0
- package/dist/telegram/monitor.js +47 -0
- package/dist/telegram/pairing-store.js +77 -0
- package/dist/telegram/probe.js +63 -0
- package/dist/telegram/proxy.js +9 -0
- package/dist/telegram/reaction-level.js +45 -0
- package/dist/telegram/send.js +151 -0
- package/dist/telegram/sent-message-cache.js +65 -0
- package/dist/telegram/token.js +30 -0
- package/dist/telegram/update-offset-store.js +61 -0
- package/dist/telegram/webhook-set.js +12 -0
- package/dist/telegram/webhook.js +56 -0
- package/dist/tui/commands.js +87 -0
- package/dist/tui/components/assistant-message.js +16 -0
- package/dist/tui/components/chat-log.js +92 -0
- package/dist/tui/components/custom-editor.js +55 -0
- package/dist/tui/components/selectors.js +8 -0
- package/dist/tui/components/tool-execution.js +111 -0
- package/dist/tui/components/user-message.js +17 -0
- package/dist/tui/gateway-chat.js +140 -0
- package/dist/tui/theme/theme.js +80 -0
- package/dist/tui/tui.js +708 -0
- package/dist/utils.js +153 -0
- package/dist/version.js +18 -0
- package/dist/web/accounts.js +86 -0
- package/dist/web/active-listener.js +25 -0
- package/dist/web/auto-reply.js +1256 -0
- package/dist/web/inbound.js +649 -0
- package/dist/web/login-qr.js +230 -0
- package/dist/web/login.js +71 -0
- package/dist/web/media.js +175 -0
- package/dist/web/outbound.js +102 -0
- package/dist/web/qr-image.js +97 -0
- package/dist/web/reconnect.js +60 -0
- package/dist/web/session.js +370 -0
- package/dist/wizard/clack-prompter.js +56 -0
- package/dist/wizard/onboarding.js +620 -0
- package/dist/wizard/prompts.js +6 -0
- package/dist/wizard/session.js +203 -0
- package/docs/AGENTS.default.md +116 -0
- package/docs/CAPABILITIES.md +444 -0
- package/docs/CNAME +1 -0
- package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
- package/docs/RELEASING.md +69 -0
- package/docs/_config.yml +53 -0
- package/docs/_layouts/default.html +145 -0
- package/docs/agent-assisted-install.md +95 -0
- package/docs/agent-loop.md +61 -0
- package/docs/agent-send.md +21 -0
- package/docs/agent.md +108 -0
- package/docs/android.md +133 -0
- package/docs/architecture.md +114 -0
- package/docs/assets/markdown.css +133 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/terminal.css +470 -0
- package/docs/assets/theme.js +55 -0
- package/docs/audio.md +48 -0
- package/docs/automation/nexus-sync.md +371 -0
- package/docs/background-process.md +74 -0
- package/docs/bash.md +32 -0
- package/docs/bedrock.md +71 -0
- package/docs/bonjour.md +159 -0
- package/docs/browser-linux-troubleshooting.md +114 -0
- package/docs/browser.md +293 -0
- package/docs/bun.md +56 -0
- package/docs/camera.md +152 -0
- package/docs/clawd.md +212 -0
- package/docs/concepts/usage-tracking.md +29 -0
- package/docs/configuration.md +1666 -0
- package/docs/control-ui.md +83 -0
- package/docs/cron.md +385 -0
- package/docs/dashboard.md +17 -0
- package/docs/device-models.md +46 -0
- package/docs/discord.md +308 -0
- package/docs/discovery.md +112 -0
- package/docs/docker.md +258 -0
- package/docs/docs.json +105 -0
- package/docs/doctor.md +68 -0
- package/docs/elevated.md +31 -0
- package/docs/faq.md +736 -0
- package/docs/feature-inventory/overview.md +141 -0
- package/docs/feature-inventory/rollout-checklist.md +53 -0
- package/docs/feature-inventory/test-matrix.md +87 -0
- package/docs/feature-inventory.md +9 -0
- package/docs/gateway/configuration-examples.md +221 -0
- package/docs/gateway/configuration.md +172 -0
- package/docs/gateway/cron.md +61 -0
- package/docs/gateway/heartbeat.md +207 -0
- package/docs/gateway/pairing.md +109 -0
- package/docs/gateway-lock.md +28 -0
- package/docs/gateway.md +227 -0
- package/docs/gmail-pubsub.md +191 -0
- package/docs/grammy.md +27 -0
- package/docs/group-messages.md +73 -0
- package/docs/groups.md +130 -0
- package/docs/health.md +28 -0
- package/docs/heartbeat.md +73 -0
- package/docs/home-userspace.md +277 -0
- package/docs/hubs.md +148 -0
- package/docs/images.md +51 -0
- package/docs/imessage.md +94 -0
- package/docs/index.md +196 -0
- package/docs/ios.md +372 -0
- package/docs/linux.md +11 -0
- package/docs/location-command.md +95 -0
- package/docs/location.md +46 -0
- package/docs/logging.md +110 -0
- package/docs/lore.md +131 -0
- package/docs/mac/bun.md +133 -0
- package/docs/mac/canvas.md +161 -0
- package/docs/mac/child-process.md +72 -0
- package/docs/mac/dev-setup.md +81 -0
- package/docs/mac/health.md +28 -0
- package/docs/mac/icon.md +26 -0
- package/docs/mac/logging.md +51 -0
- package/docs/mac/menu-bar.md +69 -0
- package/docs/mac/peekaboo.md +170 -0
- package/docs/mac/permissions.md +40 -0
- package/docs/mac/release.md +76 -0
- package/docs/mac/remote.md +57 -0
- package/docs/mac/signing.md +41 -0
- package/docs/mac/skills.md +27 -0
- package/docs/mac/voice-overlay.md +52 -0
- package/docs/mac/voicewake.md +56 -0
- package/docs/mac/webchat.md +27 -0
- package/docs/mac/xpc.md +40 -0
- package/docs/macos.md +104 -0
- package/docs/model-failover.md +75 -0
- package/docs/models.md +91 -0
- package/docs/multi-agent.md +74 -0
- package/docs/nix.md +95 -0
- package/docs/nodes.md +157 -0
- package/docs/onboarding-config-protocol.md +34 -0
- package/docs/onboarding.md +189 -0
- package/docs/pairing.md +85 -0
- package/docs/plans/cron-add-hardening.md +72 -0
- package/docs/plans/group-policy-hardening.md +121 -0
- package/docs/poll.md +52 -0
- package/docs/prereqs.md +67 -0
- package/docs/presence.md +133 -0
- package/docs/proposals/model-config.md +147 -0
- package/docs/provider-routing.md +25 -0
- package/docs/queue.md +78 -0
- package/docs/reference/templates/AGENTS.md +164 -0
- package/docs/remote-gateway-readme.md +153 -0
- package/docs/remote.md +61 -0
- package/docs/research/memory.md +227 -0
- package/docs/rpc.md +35 -0
- package/docs/security.md +200 -0
- package/docs/session-ingestion.md +119 -0
- package/docs/session-tool.md +154 -0
- package/docs/session.md +85 -0
- package/docs/sessions.md +8 -0
- package/docs/setup.md +131 -0
- package/docs/showcase.md +37 -0
- package/docs/signal.md +122 -0
- package/docs/skills-config.md +58 -0
- package/docs/skills.md +153 -0
- package/docs/slack.md +221 -0
- package/docs/subagents.md +72 -0
- package/docs/tailscale.md +71 -0
- package/docs/talk.md +79 -0
- package/docs/telegram.md +96 -0
- package/docs/templates/AGENTS.md +286 -0
- package/docs/templates/BOOTSTRAP.md +35 -0
- package/docs/templates/IDENTITY.md +17 -0
- package/docs/templates/PROFILE.md +14 -0
- package/docs/templates/SOUL.md +41 -0
- package/docs/templates/TOOLS.md +41 -0
- package/docs/templates/USER.md +8 -0
- package/docs/test.md +43 -0
- package/docs/testing-onboarding-quickstart.md +76 -0
- package/docs/testing-philosophy.md +211 -0
- package/docs/thinking.md +46 -0
- package/docs/timezone.md +40 -0
- package/docs/tools.md +346 -0
- package/docs/troubleshooting.md +257 -0
- package/docs/tui.md +71 -0
- package/docs/typebox.md +42 -0
- package/docs/updating.md +138 -0
- package/docs/usage-cloud-aggregation-spec.md +133 -0
- package/docs/usage-suggestions-pipeline.md +126 -0
- package/docs/voicewake.md +61 -0
- package/docs/web.md +115 -0
- package/docs/webchat.md +34 -0
- package/docs/webhook.md +132 -0
- package/docs/whatsapp-clawd.jpg +0 -0
- package/docs/whatsapp.md +170 -0
- package/docs/windows.md +11 -0
- package/docs/wizard.md +167 -0
- package/package.json +209 -0
- package/skills/1password/SKILL.md +54 -0
- package/skills/1password/docs/setup.md +85 -0
- package/skills/1password/docs/troubleshooting.md +63 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/agent-browser/SKILL.md +450 -0
- package/skills/agent-browser/docs/browser-use-eval.md +95 -0
- package/skills/agent-browser/docs/first-tests.md +261 -0
- package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
- package/skills/aix/SKILL.md +93 -0
- package/skills/aix/docs/embeddings.md +40 -0
- package/skills/aix/docs/setup.md +58 -0
- package/skills/aix/docs/troubleshooting.md +41 -0
- package/skills/aix/references/sql.md +48 -0
- package/skills/apple-notes/SKILL.md +50 -0
- package/skills/apple-reminders/SKILL.md +67 -0
- package/skills/bear-notes/SKILL.md +79 -0
- package/skills/bird/SKILL.md +32 -0
- package/skills/bird/docs/auth.md +31 -0
- package/skills/bird/docs/troubleshooting.md +31 -0
- package/skills/blogwatcher/SKILL.md +46 -0
- package/skills/blucli/SKILL.md +27 -0
- package/skills/brave-search/SKILL.md +36 -0
- package/skills/brave-search/docs/setup.md +40 -0
- package/skills/brave-search/docs/troubleshooting.md +37 -0
- package/skills/brave-search/docs/usage.md +28 -0
- package/skills/brave-search/scripts/content.mjs +53 -0
- package/skills/brave-search/scripts/search.mjs +79 -0
- package/skills/browser-use-agent-sdk/SKILL.md +90 -0
- package/skills/camsnap/SKILL.md +25 -0
- package/skills/clawdhub/SKILL.md +53 -0
- package/skills/coding-agent/SKILL.md +274 -0
- package/skills/comms/SKILL.md +249 -0
- package/skills/comms/docs/adapters.md +54 -0
- package/skills/comms/docs/setup.md +56 -0
- package/skills/comms/docs/troubleshooting.md +44 -0
- package/skills/comms/references/schema.md +49 -0
- package/skills/computer-use/SKILL.md +204 -0
- package/skills/computer-use/docs/open-interpreter.md +26 -0
- package/skills/computer-use/docs/peekaboo.md +26 -0
- package/skills/computer-use/docs/setup.md +47 -0
- package/skills/computer-use/docs/troubleshooting.md +33 -0
- package/skills/discord/SKILL.md +370 -0
- package/skills/eightctl/SKILL.md +29 -0
- package/skills/eve/SKILL.md +215 -0
- package/skills/eve/docs/dual-account.md +84 -0
- package/skills/eve/docs/intelligence.md +58 -0
- package/skills/eve/docs/setup.md +60 -0
- package/skills/eve/docs/troubleshooting.md +54 -0
- package/skills/eve/scripts/setup-dual-account.sh +125 -0
- package/skills/filesystem/SKILL.md +217 -0
- package/skills/food-order/SKILL.md +41 -0
- package/skills/gemini/SKILL.md +23 -0
- package/skills/gh/SKILL.md +22 -0
- package/skills/gh/docs/usage.md +41 -0
- package/skills/gifgrep/SKILL.md +47 -0
- package/skills/github/SKILL.md +26 -0
- package/skills/github/docs/setup.md +21 -0
- package/skills/github/docs/troubleshooting.md +24 -0
- package/skills/gog/SKILL.md +104 -0
- package/skills/gog/docs/portability.md +94 -0
- package/skills/gog/docs/setup.md +76 -0
- package/skills/gog/docs/troubleshooting.md +94 -0
- package/skills/gog/scripts/cdp/README.md +90 -0
- package/skills/gog/scripts/cdp/add_test_users.py +69 -0
- package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
- package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
- package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
- package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
- package/skills/google-oauth/SKILL.md +94 -0
- package/skills/goplaces/SKILL.md +30 -0
- package/skills/imsg/SKILL.md +25 -0
- package/skills/json-render/SKILL.md +154 -0
- package/skills/json-render/assets/components/README.md +21 -0
- package/skills/json-render/assets/components/catalog.ts +78 -0
- package/skills/json-render/assets/components/registry.tsx +172 -0
- package/skills/json-render/assets/demo/App.css +397 -0
- package/skills/json-render/assets/demo/App.tsx +897 -0
- package/skills/json-render/assets/demo/README.md +22 -0
- package/skills/json-render/assets/demo/catalog.ts +78 -0
- package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
- package/skills/json-render/assets/demo/index.css +27 -0
- package/skills/json-render/assets/demo/registry.tsx +150 -0
- package/skills/json-render/docs/nexus-state-demo.md +84 -0
- package/skills/json-render/docs/shadcn-preset.md +33 -0
- package/skills/json-render/scripts/create-vite-demo.sh +45 -0
- package/skills/json-render/scripts/llm-server/README.md +33 -0
- package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
- package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
- package/skills/json-render/scripts/llm-server/package.json +18 -0
- package/skills/json-render/scripts/llm-server/server.ts +285 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +91 -0
- package/skills/local-places/pyproject.toml +27 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +38 -0
- package/skills/model-usage/SKILL.md +45 -0
- package/skills/model-usage/references/codexbar-cli.md +28 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +30 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
- package/skills/nano-pdf/SKILL.md +20 -0
- package/skills/nexus-cloud/SKILL.md +53 -0
- package/skills/nexus-cloud/docs/security.md +24 -0
- package/skills/nexus-cloud/docs/setup.md +51 -0
- package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
- package/skills/notion/SKILL.md +156 -0
- package/skills/obsidian/SKILL.md +55 -0
- package/skills/onboarding/SKILL.md +515 -0
- package/skills/onboarding/docs/CAPABILITIES.md +444 -0
- package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
- package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
- package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
- package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
- package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
- package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
- package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
- package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
- package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
- package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
- package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
- package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
- package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
- package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
- package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
- package/skills/onboarding/docs/agent-apple-id.md +289 -0
- package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
- package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
- package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
- package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
- package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
- package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
- package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
- package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
- package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
- package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
- package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
- package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
- package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
- package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
- package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
- package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
- package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
- package/skills/onboarding/scripts/ralph/prd.json +215 -0
- package/skills/onboarding/scripts/ralph/progress.txt +99 -0
- package/skills/onboarding/scripts/ralph/prompt.md +87 -0
- package/skills/onboarding/scripts/ralph/ralph.log +84 -0
- package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
- package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
- package/skills/openai-image-gen/SKILL.md +31 -0
- package/skills/openai-image-gen/scripts/gen.py +173 -0
- package/skills/openai-whisper/SKILL.md +19 -0
- package/skills/openai-whisper-api/SKILL.md +43 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +30 -0
- package/skills/oracle/SKILL.md +105 -0
- package/skills/ordercli/SKILL.md +47 -0
- package/skills/peekaboo/SKILL.md +153 -0
- package/skills/qmd/SKILL.md +32 -0
- package/skills/qmd/docs/mcp.md +30 -0
- package/skills/qmd/docs/ollama.md +42 -0
- package/skills/qmd/docs/setup.md +44 -0
- package/skills/sag/SKILL.md +62 -0
- package/skills/skill-cli-template/SKILL.md +109 -0
- package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +29 -0
- package/skills/sonoscli/SKILL.md +26 -0
- package/skills/spotify-player/SKILL.md +34 -0
- package/skills/summarize/SKILL.md +49 -0
- package/skills/telegram/SKILL.md +20 -0
- package/skills/telegram/docs/pairing.md +30 -0
- package/skills/telegram/docs/setup.md +41 -0
- package/skills/telegram/docs/webhook.md +17 -0
- package/skills/things-mac/SKILL.md +61 -0
- package/skills/tmux/SKILL.md +121 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +84 -0
- package/skills/upstream-sync/SKILL.md +151 -0
- package/skills/upstream-sync/scripts/auto-port.sh +227 -0
- package/skills/upstream-sync/scripts/check-all.sh +88 -0
- package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
- package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
- package/skills/video-frames/SKILL.md +29 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/wacli/SKILL.md +48 -0
- package/skills/wacli/docs/auth.md +21 -0
- package/skills/wacli/docs/backup.md +9 -0
- package/skills/wacli/docs/troubleshooting.md +21 -0
- package/skills/weather/SKILL.md +53 -0
- package/skills/weather/docs/usage.md +40 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Feature Inventory Overview
|
|
2
|
+
|
|
3
|
+
> Scope: Nexus CLI repo (`/home/projects/nexus`) + Nexus Website repo (`/home/projects/nexus-website`)
|
|
4
|
+
> Includes Rust cloud engine under `native/nexus-cloud`.
|
|
5
|
+
> Last updated: 2026-01-17
|
|
6
|
+
|
|
7
|
+
This is the canonical inventory of **all functionality and flows** built across Nexus.
|
|
8
|
+
Use it to guide stabilization, documentation, and test planning.
|
|
9
|
+
|
|
10
|
+
## CLI Feature Map (Nexus repo)
|
|
11
|
+
|
|
12
|
+
### Core commands (base CLI)
|
|
13
|
+
- `nexus init [workspace]` — create workspace
|
|
14
|
+
- `nexus status` — onboarding/status overview, filters
|
|
15
|
+
- `nexus capabilities` / `nexus map` — capabilities registry
|
|
16
|
+
- `nexus quest` — onboarding quests
|
|
17
|
+
- `nexus suggestions` — next‑action suggestions
|
|
18
|
+
- `nexus identity [user|agent]` — identity files
|
|
19
|
+
- `nexus config` — config path/status
|
|
20
|
+
- `nexus update` — updater
|
|
21
|
+
- `nexus log` — CLI log/diagnostic surface
|
|
22
|
+
|
|
23
|
+
### Cloud Sync (TypeScript wrapper + Rust engine)
|
|
24
|
+
- `nexus cloud init/login/push/pull/status/log/reset/guide`
|
|
25
|
+
- Rust engine: `native/nexus-cloud/cli/src/main.rs`
|
|
26
|
+
- TS wrapper: `src/cli/cloud-cli.ts`
|
|
27
|
+
- State path:
|
|
28
|
+
- `$NEXUS_HOME/state/cloud` (preferred)
|
|
29
|
+
- `~/.nexus-rs/state/cloud` (fallback)
|
|
30
|
+
|
|
31
|
+
### Collaboration / Shared Spaces (Cloud)
|
|
32
|
+
- `nexus cloud collab keys/auth/spaces/invite-links`
|
|
33
|
+
- `nexus cloud spaces list/mount/unmount/push/pull`
|
|
34
|
+
|
|
35
|
+
### Skills (Local)
|
|
36
|
+
- `nexus skill list/info/use/run/verify/stats`
|
|
37
|
+
|
|
38
|
+
### Skills Hub (Remote)
|
|
39
|
+
- `nexus skills search/publish/install`
|
|
40
|
+
|
|
41
|
+
### Credentials & Connectors
|
|
42
|
+
- `nexus credential list/get/add/remove/import/scan/verify`
|
|
43
|
+
- `nexus connector verify/accounts`
|
|
44
|
+
|
|
45
|
+
### Usage & Telemetry
|
|
46
|
+
- `nexus usage upload/tracking`
|
|
47
|
+
|
|
48
|
+
### Gateway / Daemon / RPC
|
|
49
|
+
- `nexus gateway *` (start/stop/status/call/agent/health/wake)
|
|
50
|
+
|
|
51
|
+
### DNS / Discovery
|
|
52
|
+
- `nexus dns setup`
|
|
53
|
+
|
|
54
|
+
### Devices / Nodes / Browser / Canvas
|
|
55
|
+
- Browser CLI: `src/cli/browser-cli.ts` (+ inspect/manage/observe/actions)
|
|
56
|
+
- Nodes CLI: `src/cli/nodes-cli.ts` (+ camera/screen/canvas)
|
|
57
|
+
- Canvas CLI: `src/cli/canvas-cli.ts`
|
|
58
|
+
|
|
59
|
+
### Other CLI Modules
|
|
60
|
+
- Cron: `src/cli/cron-cli.ts`
|
|
61
|
+
- Hooks: `src/cli/hooks-cli.ts`
|
|
62
|
+
- Models: `src/cli/models-cli.ts`
|
|
63
|
+
- Pairing: `src/cli/pairing-cli.ts`
|
|
64
|
+
- Profile: `src/cli/profile.ts`
|
|
65
|
+
- Prompt: `src/cli/prompt.ts`
|
|
66
|
+
- TUI: `src/cli/tui-cli.ts`
|
|
67
|
+
- Telegram: `src/cli/telegram-cli.ts`
|
|
68
|
+
- Upstream sync: `src/cli/upstream-sync-cli.ts`
|
|
69
|
+
- Wait: `src/cli/wait.ts`
|
|
70
|
+
|
|
71
|
+
## Cloud Engine (Rust /native/nexus-cloud)
|
|
72
|
+
|
|
73
|
+
Crates:
|
|
74
|
+
- `api`, `core`, `crypto`, `storage`, `sync`, `chunker`, `cli`, `daemon`
|
|
75
|
+
|
|
76
|
+
State files (encrypted unless noted):
|
|
77
|
+
- `keys.enc`, `auth-keypair.enc`, `collab-keys.enc`, `space-secrets.enc`
|
|
78
|
+
- `website-auth.enc`
|
|
79
|
+
- `config.json`, `index.db`, `spaces/*.json`
|
|
80
|
+
|
|
81
|
+
Key behaviors:
|
|
82
|
+
- All encryption keys remain local; server never receives plaintext.
|
|
83
|
+
- Space keys are per‑member and must be resealed on key rotation.
|
|
84
|
+
|
|
85
|
+
## Website Feature Map (nexus-website repo)
|
|
86
|
+
|
|
87
|
+
### Auth & Sessions
|
|
88
|
+
- `/api/auth/*` Auth.js handlers
|
|
89
|
+
- `/login` (magic links, OAuth)
|
|
90
|
+
- CLI auth flow: `/auth/cli`, `/api/cli/token`
|
|
91
|
+
- Token validation: `/api/validate-token`
|
|
92
|
+
|
|
93
|
+
### Dashboard & Account
|
|
94
|
+
- `/dashboard` main UI
|
|
95
|
+
- `/dashboard/settings` (profile, recovery phrase, usage tracking)
|
|
96
|
+
- `/dashboard/tokens` (API tokens)
|
|
97
|
+
- `/dashboard/skills` + admin panels
|
|
98
|
+
|
|
99
|
+
### Cloud Sync
|
|
100
|
+
- `/api/cloud/token` (cloud token exchange)
|
|
101
|
+
- `/api/usage/upload`
|
|
102
|
+
- `/api/usage/settings`
|
|
103
|
+
|
|
104
|
+
### Collaboration
|
|
105
|
+
- `/api/spaces` (list/create)
|
|
106
|
+
- `/api/spaces/$id/key`
|
|
107
|
+
- `/api/spaces/$id/members/*`
|
|
108
|
+
- `/api/spaces/$id/invite-links/*`
|
|
109
|
+
- `/api/connections/*`
|
|
110
|
+
- `/api/invite-links/$token/accept`
|
|
111
|
+
- `/invite/$token` UI flow
|
|
112
|
+
|
|
113
|
+
### Skills Hub
|
|
114
|
+
- `/skills` browse/search
|
|
115
|
+
- `/skills/$slug` detail
|
|
116
|
+
- `/skills/$slug/audits` audit report
|
|
117
|
+
- `/api/skills/*` search/detail/download/version/review/star/flag/moderate
|
|
118
|
+
- `/api/skills/audits/run`
|
|
119
|
+
- `/api/skills/$slug/audits/rescan`
|
|
120
|
+
- `/api/skills/capabilities*` registry & proposals
|
|
121
|
+
- `/api/skills/registry/refresh`
|
|
122
|
+
- `/api/skills/blobs/$sha`
|
|
123
|
+
|
|
124
|
+
### Audit, Policy, Moderation
|
|
125
|
+
Key files:
|
|
126
|
+
- `app/lib/skills-audit-runner.ts`
|
|
127
|
+
- `app/lib/skills-policy.ts`
|
|
128
|
+
- `app/lib/skills-events.ts`
|
|
129
|
+
|
|
130
|
+
### Admin / Ops
|
|
131
|
+
- `/dashboard/admin` (usage ingestion metrics, events, opt‑outs)
|
|
132
|
+
- gated by `isNexusAdminEmail()` (`app/lib/skills-admin.ts`)
|
|
133
|
+
|
|
134
|
+
## Manual End‑to‑End Flows (Summary)
|
|
135
|
+
|
|
136
|
+
- Auth: magic link, OAuth, logout, CLI device auth
|
|
137
|
+
- Personal workspace: init/login/push/log/pull/reset
|
|
138
|
+
- Collaboration: create space, invite, accept, mount, push/pull, key rotation
|
|
139
|
+
- Skills Hub: publish, search, install, audits, review/flag
|
|
140
|
+
- Usage: upload, settings, admin monitoring
|
|
141
|
+
- Gateway/DNS/Tools: service health, discovery, verification
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Rollout Checklist
|
|
2
|
+
|
|
3
|
+
> Use after all rows in `test-matrix.md` are marked **pass** or **accepted risk**.
|
|
4
|
+
|
|
5
|
+
## Pre‑Launch (Day ‑1)
|
|
6
|
+
|
|
7
|
+
### Data & Schema
|
|
8
|
+
- [ ] All migrations applied to prod (verify `drizzle/meta/_journal.json`)
|
|
9
|
+
- [ ] `users.usage_tracking_opt_out` exists in prod
|
|
10
|
+
- [ ] Invite link tables updated and reachable
|
|
11
|
+
|
|
12
|
+
### Secrets & Env
|
|
13
|
+
- [ ] `AUTH_SECRET` set
|
|
14
|
+
- [ ] `AUTH_URL` / `NEXTAUTH_URL` set
|
|
15
|
+
- [ ] `EMAIL_SERVER` + `EMAIL_FROM` verified
|
|
16
|
+
- [ ] Cloud URLs set (`NEXUS_HUB_URL`, `NEXUS_WEBSITE_URL`, `NEXUS_CLOUD_URL`)
|
|
17
|
+
- [ ] Stripe keys set (if billing enabled)
|
|
18
|
+
|
|
19
|
+
### Infra
|
|
20
|
+
- [ ] Vercel deployment healthy
|
|
21
|
+
- [ ] Worker endpoints reachable (`/api/cloud/token`, `/api/skills/*`)
|
|
22
|
+
- [ ] Object storage (R2/S3) reachable for skills + sync
|
|
23
|
+
- [ ] Logs + metrics visible
|
|
24
|
+
|
|
25
|
+
## Launch Day (Day 0)
|
|
26
|
+
|
|
27
|
+
### Smoke Tests (must pass)
|
|
28
|
+
- [ ] Magic link login (web)
|
|
29
|
+
- [ ] CLI login (`nexus cloud login`)
|
|
30
|
+
- [ ] Personal workspace push/pull
|
|
31
|
+
- [ ] Collab space create + invite + mount + push/pull
|
|
32
|
+
- [ ] Skills hub search + install + download
|
|
33
|
+
- [ ] Audit runner executes
|
|
34
|
+
- [ ] Usage upload succeeds
|
|
35
|
+
|
|
36
|
+
### User‑Facing UI
|
|
37
|
+
- [ ] `/skills` loads and search works
|
|
38
|
+
- [ ] `/skills/$slug` detail loads and audit view link works
|
|
39
|
+
- [ ] `/dashboard` loads for logged‑in users
|
|
40
|
+
- [ ] Logout clears session
|
|
41
|
+
|
|
42
|
+
## Post‑Launch (Day +1)
|
|
43
|
+
|
|
44
|
+
### Monitoring
|
|
45
|
+
- [ ] Audit job health
|
|
46
|
+
- [ ] Usage ingestion counts steady
|
|
47
|
+
- [ ] Error rate within bounds
|
|
48
|
+
- [ ] Sync error rate acceptable
|
|
49
|
+
|
|
50
|
+
### Backlog Review
|
|
51
|
+
- [ ] Record known issues
|
|
52
|
+
- [ ] Prioritize test automation
|
|
53
|
+
- [ ] Capture user feedback
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Test Matrix (Manual)
|
|
2
|
+
|
|
3
|
+
> Goal: confirm every surface works end‑to‑end before launch.
|
|
4
|
+
> Status values: `pending` | `pass` | `fail` | `blocked`
|
|
5
|
+
|
|
6
|
+
## Auth & Sessions
|
|
7
|
+
|
|
8
|
+
| Area | Flow | Where | Expected | Status |
|
|
9
|
+
| --- | --- | --- | --- | --- |
|
|
10
|
+
| Magic link login | Email → verify → dashboard | Web | Session cookie set, dashboard loads | pending |
|
|
11
|
+
| OAuth login | OAuth → dashboard | Web | Session cookie set, dashboard loads | pending |
|
|
12
|
+
| Logout | Dashboard → Sign out | Web | Session cleared, protected routes redirect to login | pending |
|
|
13
|
+
| CLI auth | `nexus cloud login` | CLI + Web | Token stored, rust state provisioned | pending |
|
|
14
|
+
| Token creation | `/api/tokens/create` | Web API | Token returned once, usable for CLI | pending |
|
|
15
|
+
|
|
16
|
+
## Personal Workspace Sync
|
|
17
|
+
|
|
18
|
+
| Area | Flow | Where | Expected | Status |
|
|
19
|
+
| --- | --- | --- | --- | --- |
|
|
20
|
+
| Init | `nexus cloud init` | CLI | Config + state created | pending |
|
|
21
|
+
| Login | `nexus cloud login` | CLI | Keys provisioned, auth stored | pending |
|
|
22
|
+
| Push | `nexus cloud push` | CLI | Commit hash returned | pending |
|
|
23
|
+
| Log | `nexus cloud log` | CLI | Commit history visible | pending |
|
|
24
|
+
| Pull | `nexus cloud pull` | CLI | Files updated, commit hash | pending |
|
|
25
|
+
| Reset | `nexus cloud reset --force` | CLI | Remote workspace cleared | pending |
|
|
26
|
+
| Large sync | push with large files | CLI | No timeout / retry OK | pending |
|
|
27
|
+
|
|
28
|
+
## Collaboration / Spaces
|
|
29
|
+
|
|
30
|
+
| Area | Flow | Where | Expected | Status |
|
|
31
|
+
| --- | --- | --- | --- | --- |
|
|
32
|
+
| Create space | `collab spaces create` | CLI | Space created, keys saved | pending |
|
|
33
|
+
| Invite link | `collab spaces invite-links create` | CLI | Link created | pending |
|
|
34
|
+
| Accept invite | `/invite/$token` | Web | Join succeeds, metadata visible | pending |
|
|
35
|
+
| Fetch space key | `collab spaces key` | CLI | Space key stored locally | pending |
|
|
36
|
+
| Mount | `spaces mount` | CLI | Mount path created, config saved | pending |
|
|
37
|
+
| Sync push | `spaces push` | CLI | Commit hash | pending |
|
|
38
|
+
| Sync pull | `spaces pull` | CLI | Files present | pending |
|
|
39
|
+
| Key rotation | remove + re‑invite | Web/API + CLI | New key version, member can mount | pending |
|
|
40
|
+
|
|
41
|
+
## Skills Hub (CLI + Web)
|
|
42
|
+
|
|
43
|
+
| Area | Flow | Where | Expected | Status |
|
|
44
|
+
| --- | --- | --- | --- | --- |
|
|
45
|
+
| Publish | `nexus skills publish` | CLI | Skill version created | pending |
|
|
46
|
+
| Search | `/skills`, `/api/skills/search` | Web | Results ordered, filters apply | pending |
|
|
47
|
+
| Search | `nexus skills search` | CLI | Results displayed | pending |
|
|
48
|
+
| Install | `nexus skills install` | CLI | Skill installed, files present | pending |
|
|
49
|
+
| Download | `/api/skills/$slug/download` | Web | Artifact URL delivered | pending |
|
|
50
|
+
| Audit run | `/api/skills/audits/run` | Web API | Audits created | pending |
|
|
51
|
+
| Audit rescan | `/api/skills/$slug/audits/rescan` | Web API | New audit entries | pending |
|
|
52
|
+
| Review/flag/star | `/api/skills/$slug/review|flag|star` | Web | Counts update | pending |
|
|
53
|
+
|
|
54
|
+
## Usage Tracking
|
|
55
|
+
|
|
56
|
+
| Area | Flow | Where | Expected | Status |
|
|
57
|
+
| --- | --- | --- | --- | --- |
|
|
58
|
+
| Upload | `nexus usage upload` → `/api/usage/upload` | CLI + Web | Batches ingested | pending |
|
|
59
|
+
| Opt‑out | `/dashboard/settings` | Web | Paid plan can toggle | pending |
|
|
60
|
+
| Admin view | `/dashboard/admin` | Web | Metrics visible | pending |
|
|
61
|
+
|
|
62
|
+
## Credentials & Connectors
|
|
63
|
+
|
|
64
|
+
| Area | Flow | Where | Expected | Status |
|
|
65
|
+
| --- | --- | --- | --- | --- |
|
|
66
|
+
| Credential add | `nexus credential add` | CLI | Stored + listed | pending |
|
|
67
|
+
| Credential verify | `nexus credential verify` | CLI | Validates against provider | pending |
|
|
68
|
+
| Connector verify | `nexus connector verify` | CLI | Dependency checks pass | pending |
|
|
69
|
+
|
|
70
|
+
## Gateway / DNS / Tools
|
|
71
|
+
|
|
72
|
+
| Area | Flow | Where | Expected | Status |
|
|
73
|
+
| --- | --- | --- | --- | --- |
|
|
74
|
+
| Gateway start | `nexus gateway start` | CLI | Health OK | pending |
|
|
75
|
+
| RPC call | `nexus gateway call` | CLI | Response returned | pending |
|
|
76
|
+
| DNS setup | `nexus dns setup` | CLI | CoreDNS configured | pending |
|
|
77
|
+
|
|
78
|
+
## Website Admin / Ops
|
|
79
|
+
|
|
80
|
+
| Area | Flow | Where | Expected | Status |
|
|
81
|
+
| --- | --- | --- | --- | --- |
|
|
82
|
+
| Admin access | `/dashboard/admin` | Web | Only admins can view | pending |
|
|
83
|
+
| Audit moderation | `/api/skills/$slug/moderate` | Web API | Status updated | pending |
|
|
84
|
+
|
|
85
|
+
## Notes / Known Blockers
|
|
86
|
+
|
|
87
|
+
- Record any infra or env issues here before launch.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Feature Inventory Docs
|
|
2
|
+
|
|
3
|
+
The feature inventory has been split into a dedicated folder:
|
|
4
|
+
|
|
5
|
+
- `docs/feature-inventory/overview.md`
|
|
6
|
+
- `docs/feature-inventory/test-matrix.md`
|
|
7
|
+
- `docs/feature-inventory/rollout-checklist.md`
|
|
8
|
+
|
|
9
|
+
Start with the overview, then work through the test matrix and rollout checklist.
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Schema-accurate configuration examples for common Nexus setups"
|
|
3
|
+
read_when:
|
|
4
|
+
- Learning how to configure Nexus
|
|
5
|
+
- Looking for configuration examples
|
|
6
|
+
- Setting up Nexus for the first time
|
|
7
|
+
---
|
|
8
|
+
# Configuration Examples
|
|
9
|
+
|
|
10
|
+
Examples below are aligned with the current config schema. For the exhaustive
|
|
11
|
+
reference and per-field notes, see [Configuration](/configuration).
|
|
12
|
+
|
|
13
|
+
## Quick start
|
|
14
|
+
|
|
15
|
+
### Absolute minimum
|
|
16
|
+
```json5
|
|
17
|
+
{
|
|
18
|
+
agent: { workspace: "~/nexus" },
|
|
19
|
+
whatsapp: { allowFrom: ["+15555550123"] }
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Save to `~/nexus/state/nexus.json` and you can DM the bot from that number.
|
|
24
|
+
|
|
25
|
+
### Recommended starter
|
|
26
|
+
```json5
|
|
27
|
+
{
|
|
28
|
+
identity: {
|
|
29
|
+
name: "Nexus",
|
|
30
|
+
theme: "helpful assistant",
|
|
31
|
+
emoji: "🦞"
|
|
32
|
+
},
|
|
33
|
+
agent: {
|
|
34
|
+
workspace: "~/nexus",
|
|
35
|
+
model: { primary: "anthropic/claude-sonnet-4-5" }
|
|
36
|
+
},
|
|
37
|
+
whatsapp: {
|
|
38
|
+
allowFrom: ["+15555550123"],
|
|
39
|
+
groups: { "*": { requireMention: true } }
|
|
40
|
+
},
|
|
41
|
+
routing: {
|
|
42
|
+
groupChat: {
|
|
43
|
+
mentionPatterns: ["@nexus", "nexus"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Expanded example (major options)
|
|
50
|
+
|
|
51
|
+
> JSON5 lets you use comments and trailing commas. Regular JSON works too.
|
|
52
|
+
|
|
53
|
+
```json5
|
|
54
|
+
{
|
|
55
|
+
identity: {
|
|
56
|
+
name: "Nexus",
|
|
57
|
+
theme: "helpful assistant",
|
|
58
|
+
emoji: "🦞"
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
logging: {
|
|
62
|
+
level: "info",
|
|
63
|
+
consoleLevel: "info",
|
|
64
|
+
consoleStyle: "pretty",
|
|
65
|
+
redactSensitive: "tools"
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
messages: {
|
|
69
|
+
messagePrefix: "[nexus]",
|
|
70
|
+
responsePrefix: ">",
|
|
71
|
+
ackReaction: "👀",
|
|
72
|
+
ackReactionScope: "group-mentions"
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
routing: {
|
|
76
|
+
groupChat: {
|
|
77
|
+
mentionPatterns: ["@nexus", "nexus"],
|
|
78
|
+
historyLimit: 50
|
|
79
|
+
},
|
|
80
|
+
queue: {
|
|
81
|
+
mode: "collect",
|
|
82
|
+
debounceMs: 1000,
|
|
83
|
+
cap: 20,
|
|
84
|
+
drop: "summarize",
|
|
85
|
+
byProvider: {
|
|
86
|
+
whatsapp: "collect",
|
|
87
|
+
telegram: "collect",
|
|
88
|
+
discord: "collect",
|
|
89
|
+
slack: "collect",
|
|
90
|
+
signal: "collect",
|
|
91
|
+
imessage: "collect",
|
|
92
|
+
webchat: "collect"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
session: {
|
|
98
|
+
scope: "per-sender",
|
|
99
|
+
idleMinutes: 60,
|
|
100
|
+
resetTriggers: ["/new", "/reset"],
|
|
101
|
+
store: "~/nexus/state/agents/main/sessions/sessions.json",
|
|
102
|
+
typingIntervalSeconds: 5,
|
|
103
|
+
sendPolicy: {
|
|
104
|
+
default: "allow",
|
|
105
|
+
rules: [
|
|
106
|
+
{ action: "deny", match: { channel: "discord", chatType: "group" } }
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
agent: {
|
|
112
|
+
workspace: "~/nexus",
|
|
113
|
+
userTimezone: "America/Chicago",
|
|
114
|
+
model: {
|
|
115
|
+
primary: "anthropic/claude-sonnet-4-5",
|
|
116
|
+
fallbacks: ["anthropic/claude-opus-4-5", "openai/gpt-5.2"]
|
|
117
|
+
},
|
|
118
|
+
imageModel: {
|
|
119
|
+
primary: "openrouter/anthropic/claude-sonnet-4-5"
|
|
120
|
+
},
|
|
121
|
+
models: {
|
|
122
|
+
"anthropic/claude-opus-4-5": { alias: "opus" },
|
|
123
|
+
"anthropic/claude-sonnet-4-5": { alias: "sonnet" },
|
|
124
|
+
"openai/gpt-5.2": { alias: "gpt" }
|
|
125
|
+
},
|
|
126
|
+
thinkingDefault: "low",
|
|
127
|
+
verboseDefault: "off",
|
|
128
|
+
elevatedDefault: "on",
|
|
129
|
+
blockStreamingDefault: "off",
|
|
130
|
+
blockStreamingBreak: "text_end",
|
|
131
|
+
blockStreamingChunk: {
|
|
132
|
+
minChars: 800,
|
|
133
|
+
maxChars: 1200,
|
|
134
|
+
breakPreference: "paragraph"
|
|
135
|
+
},
|
|
136
|
+
timeoutSeconds: 600,
|
|
137
|
+
mediaMaxMb: 5,
|
|
138
|
+
typingIntervalSeconds: 5,
|
|
139
|
+
maxConcurrent: 3,
|
|
140
|
+
heartbeat: {
|
|
141
|
+
every: "30m",
|
|
142
|
+
target: "last",
|
|
143
|
+
prompt: "Consider outstanding tasks and HEARTBEAT.md guidance from the workspace context (if present). Checkup sometimes on your human during (user local) day time.",
|
|
144
|
+
ackMaxChars: 300
|
|
145
|
+
},
|
|
146
|
+
memorySearch: {
|
|
147
|
+
provider: "openai",
|
|
148
|
+
model: "text-embedding-004",
|
|
149
|
+
remote: {
|
|
150
|
+
baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai/",
|
|
151
|
+
apiKey: "${GEMINI_API_KEY}"
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
sandbox: {
|
|
155
|
+
mode: "non-main",
|
|
156
|
+
perSession: true,
|
|
157
|
+
workspaceRoot: "~/nexus/sandboxes",
|
|
158
|
+
docker: {
|
|
159
|
+
image: "nexus-sandbox:bookworm-slim",
|
|
160
|
+
workdir: "/workspace",
|
|
161
|
+
readOnlyRoot: true,
|
|
162
|
+
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
163
|
+
network: "none",
|
|
164
|
+
user: "1000:1000"
|
|
165
|
+
},
|
|
166
|
+
browser: {
|
|
167
|
+
enabled: false
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
whatsapp: {
|
|
173
|
+
dmPolicy: "pairing",
|
|
174
|
+
allowFrom: ["+15555550123"],
|
|
175
|
+
groupPolicy: "allowlist",
|
|
176
|
+
groupAllowFrom: ["+15555550123"],
|
|
177
|
+
groups: { "*": { requireMention: true } }
|
|
178
|
+
},
|
|
179
|
+
|
|
180
|
+
telegram: {
|
|
181
|
+
enabled: true,
|
|
182
|
+
botToken: "YOUR_TELEGRAM_BOT_TOKEN",
|
|
183
|
+
allowFrom: ["123456789"],
|
|
184
|
+
groupPolicy: "allowlist",
|
|
185
|
+
groupAllowFrom: ["123456789"],
|
|
186
|
+
groups: { "*": { requireMention: true } }
|
|
187
|
+
},
|
|
188
|
+
|
|
189
|
+
discord: {
|
|
190
|
+
enabled: true,
|
|
191
|
+
token: "YOUR_DISCORD_BOT_TOKEN",
|
|
192
|
+
dm: { enabled: true, allowFrom: ["steipete"] },
|
|
193
|
+
guilds: {
|
|
194
|
+
"123456789012345678": {
|
|
195
|
+
slug: "friends-of-nexus",
|
|
196
|
+
requireMention: false,
|
|
197
|
+
channels: {
|
|
198
|
+
general: { allow: true },
|
|
199
|
+
help: { allow: true, requireMention: true }
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
|
|
205
|
+
slack: {
|
|
206
|
+
enabled: true,
|
|
207
|
+
botToken: "xoxb-REPLACE_ME",
|
|
208
|
+
appToken: "xapp-REPLACE_ME",
|
|
209
|
+
channels: {
|
|
210
|
+
"#general": { allow: true, requireMention: true }
|
|
211
|
+
},
|
|
212
|
+
dm: { enabled: true, allowFrom: ["U123"] },
|
|
213
|
+
slashCommand: {
|
|
214
|
+
enabled: true,
|
|
215
|
+
name: "nexus",
|
|
216
|
+
sessionPrefix: "slack:slash",
|
|
217
|
+
ephemeral: true
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
```
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Gateway configuration reference for ~/nexus/state/nexus.json"
|
|
3
|
+
read_when:
|
|
4
|
+
- Adding or modifying config fields
|
|
5
|
+
---
|
|
6
|
+
# Gateway Configuration 🔧
|
|
7
|
+
|
|
8
|
+
Nexus reads an optional **JSON5** config from `~/nexus/state/nexus.json`
|
|
9
|
+
(comments + trailing commas allowed). You can override the path with
|
|
10
|
+
`NEXUS_CONFIG_PATH` (legacy: `NEXUS_CONFIG_PATH`).
|
|
11
|
+
|
|
12
|
+
If the file is missing, Nexus uses safe defaults (embedded Pi agent + per-sender
|
|
13
|
+
sessions + workspace `~/nexus`). You usually only need a config to:
|
|
14
|
+
- restrict who can trigger the bot (`whatsapp.allowFrom`, `telegram.allowFrom`, etc.)
|
|
15
|
+
- control group allowlists + mention behavior (`whatsapp.groups`, `telegram.groups`, `discord.guilds`, `routing.groupChat`)
|
|
16
|
+
- customize message prefixes (`messages`)
|
|
17
|
+
- set the agent's workspace (`agent.workspace`)
|
|
18
|
+
- tune the embedded agent defaults (`agent`) and session behavior (`session`)
|
|
19
|
+
- set identity used in UI/status (`identity`)
|
|
20
|
+
|
|
21
|
+
For the full schema and per-field notes, see [Configuration](/configuration).
|
|
22
|
+
For examples, see [Configuration Examples](/gateway/configuration-examples).
|
|
23
|
+
|
|
24
|
+
## Minimal config (recommended starting point)
|
|
25
|
+
|
|
26
|
+
```json5
|
|
27
|
+
{
|
|
28
|
+
agent: { workspace: "~/nexus" },
|
|
29
|
+
whatsapp: { allowFrom: ["+15555550123"] }
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Build the default sandbox image once with:
|
|
34
|
+
```bash
|
|
35
|
+
scripts/sandbox-setup.sh
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Apply + restart (RPC)
|
|
39
|
+
|
|
40
|
+
Use `config.apply` to validate + write the full config and restart the Gateway
|
|
41
|
+
in one step. It writes a restart sentinel and pings the last active session
|
|
42
|
+
after the Gateway comes back.
|
|
43
|
+
|
|
44
|
+
Params:
|
|
45
|
+
- `raw` (string) — JSON5 payload for the entire config
|
|
46
|
+
- `sessionKey` (optional) — last active session key for the wake-up ping
|
|
47
|
+
- `restartDelayMs` (optional) — delay before restart (default 2000)
|
|
48
|
+
|
|
49
|
+
Example (via `nexus gateway call`):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
nexus gateway call config.apply --params '{
|
|
53
|
+
"raw": "{\\n agent: { workspace: \\"~/nexus\\" }\\n}\\n",
|
|
54
|
+
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
55
|
+
"restartDelayMs": 1000
|
|
56
|
+
}'
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Config Includes (`$include`)
|
|
60
|
+
|
|
61
|
+
Split your config into multiple files using the `$include` directive. This is
|
|
62
|
+
useful for:
|
|
63
|
+
- organizing large configs (for example per-client routing rules)
|
|
64
|
+
- sharing common settings across environments
|
|
65
|
+
- keeping sensitive configs separate
|
|
66
|
+
|
|
67
|
+
### Basic usage
|
|
68
|
+
|
|
69
|
+
```json5
|
|
70
|
+
// ~/nexus/state/nexus.json
|
|
71
|
+
{
|
|
72
|
+
gateway: { port: 18789 },
|
|
73
|
+
|
|
74
|
+
// Include a single file (replaces the key's value)
|
|
75
|
+
agent: { "$include": "./agent.json5" },
|
|
76
|
+
|
|
77
|
+
// Include multiple files (deep-merged in order)
|
|
78
|
+
routing: {
|
|
79
|
+
"$include": [
|
|
80
|
+
"./routing/base.json5",
|
|
81
|
+
"./routing/clients.json5"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```json5
|
|
88
|
+
// ~/nexus/state/agent.json5
|
|
89
|
+
{
|
|
90
|
+
workspace: "~/nexus"
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Merge behavior
|
|
95
|
+
|
|
96
|
+
- **Single file**: Replaces the object containing `$include`
|
|
97
|
+
- **Array of files**: Deep-merges files in order (later files override earlier ones)
|
|
98
|
+
- **With sibling keys**: Sibling keys are merged after includes (override included values)
|
|
99
|
+
- **Arrays**: Concatenated when both sides are arrays
|
|
100
|
+
|
|
101
|
+
```json5
|
|
102
|
+
// Sibling keys override included values
|
|
103
|
+
{
|
|
104
|
+
"$include": "./base.json5", // { a: 1, b: 2 }
|
|
105
|
+
b: 99 // Result: { a: 1, b: 99 }
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Nested includes
|
|
110
|
+
|
|
111
|
+
Included files can themselves contain `$include` directives (up to 10 levels deep):
|
|
112
|
+
|
|
113
|
+
```json5
|
|
114
|
+
// clients/mueller.json5
|
|
115
|
+
{
|
|
116
|
+
routing: { "$include": "./mueller/routing.json5" },
|
|
117
|
+
agent: { "$include": "./mueller/agent.json5" }
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Path resolution
|
|
122
|
+
|
|
123
|
+
- **Relative paths**: Resolved relative to the including file
|
|
124
|
+
- **Absolute paths**: Used as-is
|
|
125
|
+
- **Parent directories**: `../` references work as expected
|
|
126
|
+
|
|
127
|
+
```json5
|
|
128
|
+
{ "$include": "./sub/config.json5" } // relative
|
|
129
|
+
{ "$include": "/etc/nexus/base.json5" } // absolute
|
|
130
|
+
{ "$include": "../shared/common.json5" } // parent dir
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Error handling
|
|
134
|
+
|
|
135
|
+
- **Missing file**: Clear error with resolved path
|
|
136
|
+
- **Parse error**: Shows which included file failed
|
|
137
|
+
- **Circular includes**: Detected and reported with include chain
|
|
138
|
+
|
|
139
|
+
### Example: Modular routing setup
|
|
140
|
+
|
|
141
|
+
```json5
|
|
142
|
+
// ~/nexus/state/nexus.json
|
|
143
|
+
{
|
|
144
|
+
gateway: { port: 18789, auth: { token: "secret" } },
|
|
145
|
+
routing: {
|
|
146
|
+
agents: { "$include": [
|
|
147
|
+
"./clients/mueller/agents.json5",
|
|
148
|
+
"./clients/schmidt/agents.json5"
|
|
149
|
+
]},
|
|
150
|
+
groups: { "$include": [
|
|
151
|
+
"./clients/mueller/groups.json5",
|
|
152
|
+
"./clients/schmidt/groups.json5"
|
|
153
|
+
]}
|
|
154
|
+
},
|
|
155
|
+
whatsapp: { dmPolicy: "pairing" }
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
```json5
|
|
160
|
+
// ~/nexus/state/clients/mueller/agents.json5
|
|
161
|
+
{
|
|
162
|
+
"mueller-transcribe": { workspace: "~/clients/mueller/transcribe" },
|
|
163
|
+
"mueller-docs": { workspace: "~/clients/mueller/docs" }
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
```json5
|
|
168
|
+
// ~/nexus/state/clients/mueller/groups.json5
|
|
169
|
+
{
|
|
170
|
+
"120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"]
|
|
171
|
+
}
|
|
172
|
+
```
|