@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,370 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discord
|
|
3
|
+
description: Use when you need to control Discord from Nexus via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, create/edit/delete channels and categories, fetch permissions or member/role/channel info, or handle moderation actions in Discord DMs or channels.
|
|
4
|
+
metadata: {"nexus":{"type":"connector","provides":["chat-read","chat-send"],"requires":{"credentials":["discord"]}}}
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Discord Actions
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
Use `discord` to manage messages, reactions, threads, polls, and moderation. You can disable groups via `discord.actions.*` (defaults to enabled, except roles/moderation). The tool uses the bot token configured for Nexus.
|
|
12
|
+
|
|
13
|
+
## Inputs to collect
|
|
14
|
+
|
|
15
|
+
- For reactions: `channelId`, `messageId`, and an `emoji`.
|
|
16
|
+
- For stickers/polls/sendMessage: a `to` target (`channel:<id>` or `user:<id>`). Optional `content` text.
|
|
17
|
+
- Polls also need a `question` plus 2–10 `answers`.
|
|
18
|
+
- For media: `mediaUrl` with `file:///path` for local files or `https://...` for remote.
|
|
19
|
+
- For emoji uploads: `guildId`, `name`, `mediaUrl`, optional `roleIds` (limit 256KB, PNG/JPG/GIF).
|
|
20
|
+
- For sticker uploads: `guildId`, `name`, `description`, `tags`, `mediaUrl` (limit 512KB, PNG/APNG/Lottie JSON).
|
|
21
|
+
|
|
22
|
+
Message context lines include `discord message id` and `channel` fields you can reuse directly.
|
|
23
|
+
|
|
24
|
+
**Note:** `sendMessage` uses `to: "channel:<id>"` format, not `channelId`. Other actions like `react`, `readMessages`, `editMessage` use `channelId` directly.
|
|
25
|
+
|
|
26
|
+
## Actions
|
|
27
|
+
|
|
28
|
+
### React to a message
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"action": "react",
|
|
33
|
+
"channelId": "123",
|
|
34
|
+
"messageId": "456",
|
|
35
|
+
"emoji": "✅"
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### List reactions + users
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"action": "reactions",
|
|
44
|
+
"channelId": "123",
|
|
45
|
+
"messageId": "456",
|
|
46
|
+
"limit": 100
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Send a sticker
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"action": "sticker",
|
|
55
|
+
"to": "channel:123",
|
|
56
|
+
"stickerIds": ["9876543210"],
|
|
57
|
+
"content": "Nice work!"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- Up to 3 sticker IDs per message.
|
|
62
|
+
- `to` can be `user:<id>` for DMs.
|
|
63
|
+
|
|
64
|
+
### Upload a custom emoji
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"action": "emojiUpload",
|
|
69
|
+
"guildId": "999",
|
|
70
|
+
"name": "party_blob",
|
|
71
|
+
"mediaUrl": "file:///tmp/party.png",
|
|
72
|
+
"roleIds": ["222"]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- Emoji images must be PNG/JPG/GIF and <= 256KB.
|
|
77
|
+
- `roleIds` is optional; omit to make the emoji available to everyone.
|
|
78
|
+
|
|
79
|
+
### Upload a sticker
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"action": "stickerUpload",
|
|
84
|
+
"guildId": "999",
|
|
85
|
+
"name": "nexus_wave",
|
|
86
|
+
"description": "Nexus waving hello",
|
|
87
|
+
"tags": "👋",
|
|
88
|
+
"mediaUrl": "file:///tmp/wave.png"
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- Stickers require `name`, `description`, and `tags`.
|
|
93
|
+
- Uploads must be PNG/APNG/Lottie JSON and <= 512KB.
|
|
94
|
+
|
|
95
|
+
### Create a poll
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"action": "poll",
|
|
100
|
+
"to": "channel:123",
|
|
101
|
+
"question": "Lunch?",
|
|
102
|
+
"answers": ["Pizza", "Sushi", "Salad"],
|
|
103
|
+
"allowMultiselect": false,
|
|
104
|
+
"durationHours": 24,
|
|
105
|
+
"content": "Vote now"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
- `durationHours` defaults to 24; max 32 days (768 hours).
|
|
110
|
+
|
|
111
|
+
### Check bot permissions for a channel
|
|
112
|
+
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"action": "permissions",
|
|
116
|
+
"channelId": "123"
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Ideas to try
|
|
121
|
+
|
|
122
|
+
- React with ✅/⚠️ to mark status updates.
|
|
123
|
+
- Post a quick poll for release decisions or meeting times.
|
|
124
|
+
- Send celebratory stickers after successful deploys.
|
|
125
|
+
- Upload new emojis/stickers for release moments.
|
|
126
|
+
- Run weekly “priority check” polls in team channels.
|
|
127
|
+
- DM stickers as acknowledgements when a user’s request is completed.
|
|
128
|
+
|
|
129
|
+
## Action gating
|
|
130
|
+
|
|
131
|
+
Use `discord.actions.*` to disable action groups:
|
|
132
|
+
- `reactions` (react + reactions list + emojiList)
|
|
133
|
+
- `stickers`, `polls`, `permissions`, `messages`, `threads`, `pins`, `search`
|
|
134
|
+
- `emojiUploads`, `stickerUploads`
|
|
135
|
+
- `memberInfo`, `roleInfo`, `channelInfo`, `voiceStatus`, `events`
|
|
136
|
+
- `roles` (role add/remove, default `false`)
|
|
137
|
+
- `moderation` (timeout/kick/ban, default `false`)
|
|
138
|
+
### Read recent messages
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"action": "readMessages",
|
|
143
|
+
"channelId": "123",
|
|
144
|
+
"limit": 20
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Send/edit/delete a message
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"action": "sendMessage",
|
|
153
|
+
"to": "channel:123",
|
|
154
|
+
"content": "Hello from Nexus"
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**With media attachment:**
|
|
159
|
+
|
|
160
|
+
```json
|
|
161
|
+
{
|
|
162
|
+
"action": "sendMessage",
|
|
163
|
+
"to": "channel:123",
|
|
164
|
+
"content": "Check out this audio!",
|
|
165
|
+
"mediaUrl": "file:///tmp/audio.mp3"
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
- `to` uses format `channel:<id>` or `user:<id>` for DMs (not `channelId`!)
|
|
170
|
+
- `mediaUrl` supports local files (`file:///path/to/file`) and remote URLs (`https://...`)
|
|
171
|
+
- Optional `replyTo` with a message ID to reply to a specific message
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"action": "editMessage",
|
|
176
|
+
"channelId": "123",
|
|
177
|
+
"messageId": "456",
|
|
178
|
+
"content": "Fixed typo"
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"action": "deleteMessage",
|
|
185
|
+
"channelId": "123",
|
|
186
|
+
"messageId": "456"
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Threads
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"action": "threadCreate",
|
|
195
|
+
"channelId": "123",
|
|
196
|
+
"name": "Bug triage",
|
|
197
|
+
"messageId": "456"
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"action": "threadList",
|
|
204
|
+
"guildId": "999"
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"action": "threadReply",
|
|
211
|
+
"channelId": "777",
|
|
212
|
+
"content": "Replying in thread"
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Pins
|
|
217
|
+
|
|
218
|
+
```json
|
|
219
|
+
{
|
|
220
|
+
"action": "pinMessage",
|
|
221
|
+
"channelId": "123",
|
|
222
|
+
"messageId": "456"
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"action": "listPins",
|
|
229
|
+
"channelId": "123"
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Search messages
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"action": "searchMessages",
|
|
238
|
+
"guildId": "999",
|
|
239
|
+
"content": "release notes",
|
|
240
|
+
"channelIds": ["123", "456"],
|
|
241
|
+
"limit": 10
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Member + role info
|
|
246
|
+
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"action": "memberInfo",
|
|
250
|
+
"guildId": "999",
|
|
251
|
+
"userId": "111"
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"action": "roleInfo",
|
|
258
|
+
"guildId": "999"
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### List available custom emojis
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"action": "emojiList",
|
|
267
|
+
"guildId": "999"
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Role changes (disabled by default)
|
|
272
|
+
|
|
273
|
+
```json
|
|
274
|
+
{
|
|
275
|
+
"action": "roleAdd",
|
|
276
|
+
"guildId": "999",
|
|
277
|
+
"userId": "111",
|
|
278
|
+
"roleId": "222"
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Channel info
|
|
283
|
+
|
|
284
|
+
```json
|
|
285
|
+
{
|
|
286
|
+
"action": "channelInfo",
|
|
287
|
+
"channelId": "123"
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
```json
|
|
292
|
+
{
|
|
293
|
+
"action": "channelList",
|
|
294
|
+
"guildId": "999"
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Voice status
|
|
299
|
+
|
|
300
|
+
```json
|
|
301
|
+
{
|
|
302
|
+
"action": "voiceStatus",
|
|
303
|
+
"guildId": "999",
|
|
304
|
+
"userId": "111"
|
|
305
|
+
}
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Scheduled events
|
|
309
|
+
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"action": "eventList",
|
|
313
|
+
"guildId": "999"
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Moderation (disabled by default)
|
|
318
|
+
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"action": "timeout",
|
|
322
|
+
"guildId": "999",
|
|
323
|
+
"userId": "111",
|
|
324
|
+
"durationMinutes": 10
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
## Discord Writing Style Guide
|
|
329
|
+
|
|
330
|
+
**Keep it conversational!** Discord is a chat platform, not documentation.
|
|
331
|
+
|
|
332
|
+
### Do
|
|
333
|
+
- Short, punchy messages (1-3 sentences ideal)
|
|
334
|
+
- Multiple quick replies > one wall of text
|
|
335
|
+
- Use emoji for tone/emphasis 🦞
|
|
336
|
+
- Lowercase casual style is fine
|
|
337
|
+
- Break up info into digestible chunks
|
|
338
|
+
- Match the energy of the conversation
|
|
339
|
+
|
|
340
|
+
### Don't
|
|
341
|
+
- No markdown tables (Discord renders them as ugly raw `| text |`)
|
|
342
|
+
- No `## Headers` for casual chat (use **bold** or CAPS for emphasis)
|
|
343
|
+
- Avoid multi-paragraph essays
|
|
344
|
+
- Don't over-explain simple things
|
|
345
|
+
- Skip the "I'd be happy to help!" fluff
|
|
346
|
+
|
|
347
|
+
### Formatting that works
|
|
348
|
+
- **bold** for emphasis
|
|
349
|
+
- `code` for technical terms
|
|
350
|
+
- Lists for multiple items
|
|
351
|
+
- > quotes for referencing
|
|
352
|
+
- Wrap multiple links in `<>` to suppress embeds
|
|
353
|
+
|
|
354
|
+
### Example transformations
|
|
355
|
+
|
|
356
|
+
❌ Bad:
|
|
357
|
+
```
|
|
358
|
+
I'd be happy to help with that! Here's a comprehensive overview of the versioning strategies available:
|
|
359
|
+
|
|
360
|
+
## Semantic Versioning
|
|
361
|
+
Semver uses MAJOR.MINOR.PATCH format where...
|
|
362
|
+
|
|
363
|
+
## Calendar Versioning
|
|
364
|
+
CalVer uses date-based versions like...
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
✅ Good:
|
|
368
|
+
```
|
|
369
|
+
versioning options: semver (1.2.3), calver (2026.01.04), or yolo (`latest` forever). what fits your release cadence?
|
|
370
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eightctl
|
|
3
|
+
description: Control Eight Sleep pods (status, temperature, alarms, schedules).
|
|
4
|
+
homepage: https://eightctl.sh
|
|
5
|
+
metadata: {"nexus":{"emoji":"🎛️","requires":{"bins":["eightctl"]},"install":[{"id":"go","kind":"go","module":"github.com/steipete/eightctl/cmd/eightctl@latest","bins":["eightctl"],"label":"Install eightctl (go)"}]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# eightctl
|
|
9
|
+
|
|
10
|
+
Use `eightctl` for Eight Sleep pod control. Requires auth.
|
|
11
|
+
|
|
12
|
+
Auth
|
|
13
|
+
- Config: `~/.config/eightctl/config.yaml`
|
|
14
|
+
- Env: `EIGHTCTL_EMAIL`, `EIGHTCTL_PASSWORD`
|
|
15
|
+
|
|
16
|
+
Quick start
|
|
17
|
+
- `eightctl status`
|
|
18
|
+
- `eightctl on|off`
|
|
19
|
+
- `eightctl temp 20`
|
|
20
|
+
|
|
21
|
+
Common tasks
|
|
22
|
+
- Alarms: `eightctl alarm list|create|dismiss`
|
|
23
|
+
- Schedules: `eightctl schedule list|create|update`
|
|
24
|
+
- Audio: `eightctl audio state|play|pause`
|
|
25
|
+
- Base: `eightctl base info|angle`
|
|
26
|
+
|
|
27
|
+
Notes
|
|
28
|
+
- API is unofficial and rate-limited; avoid repeated logins.
|
|
29
|
+
- Confirm before changing temperature or alarms.
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eve
|
|
3
|
+
description: Query Eve's local iMessage database using raw SQL via the eve CLI
|
|
4
|
+
homepage: https://github.com/Napageneral/eve
|
|
5
|
+
metadata: {"nexus":{"emoji":"💬","type":"tool","provides":["messaging-read","personal-insights","relationship-insights"],"requires":{"bins":["eve"]},"install":[{"id":"brew","kind":"brew","formula":"Napageneral/tap/eve"},{"id":"go","kind":"go","module":"github.com/Napageneral/eve/cmd/eve@latest"}]}}
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Eve DB Skill
|
|
9
|
+
|
|
10
|
+
Query Eve's local database (`eve.db`) directly using **raw SQL** via the `eve db query` command.
|
|
11
|
+
|
|
12
|
+
## Docs
|
|
13
|
+
|
|
14
|
+
- `docs/setup.md` (read + send setup)
|
|
15
|
+
- `docs/intelligence.md` (Gemini-powered analysis)
|
|
16
|
+
- `docs/dual-account.md` (agent identity / dual-account)
|
|
17
|
+
- `docs/troubleshooting.md`
|
|
18
|
+
- `scripts/setup-dual-account.sh`
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Initialize Eve (creates eve.db and queue.db)
|
|
24
|
+
eve init
|
|
25
|
+
|
|
26
|
+
# Sync messages from macOS Messages database
|
|
27
|
+
eve sync
|
|
28
|
+
|
|
29
|
+
# Query the database
|
|
30
|
+
eve db query --sql "SELECT COUNT(*) AS c FROM messages"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Where the DB lives
|
|
34
|
+
|
|
35
|
+
- **Default path (macOS):** `~/Library/Application Support/Eve/eve.db`
|
|
36
|
+
- **Override:** set `EVE_APP_DIR` (Eve will use `EVE_APP_DIR/eve.db`)
|
|
37
|
+
|
|
38
|
+
## CLI Commands
|
|
39
|
+
|
|
40
|
+
### Database Operations
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Query with raw SQL (read-only by default)
|
|
44
|
+
eve db query --sql "SELECT * FROM chats LIMIT 5"
|
|
45
|
+
|
|
46
|
+
# Allow write operations (use with caution)
|
|
47
|
+
eve db query --sql "UPDATE ..." --write
|
|
48
|
+
|
|
49
|
+
# Query the queue database
|
|
50
|
+
eve db query --sql "SELECT * FROM jobs" --db queue
|
|
51
|
+
|
|
52
|
+
# Query a specific database file
|
|
53
|
+
eve db query --sql "SELECT * FROM messages" --db /path/to/other.db
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Sync Operations
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Dry run - see what would be synced
|
|
60
|
+
eve sync --dry-run
|
|
61
|
+
|
|
62
|
+
# Full sync from chat.db
|
|
63
|
+
eve sync
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Utility Commands
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Show Eve paths
|
|
70
|
+
eve paths
|
|
71
|
+
|
|
72
|
+
# Who am I? (name/phones/emails)
|
|
73
|
+
eve whoami
|
|
74
|
+
|
|
75
|
+
# Show version
|
|
76
|
+
eve version
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Core tables (iMessage domain)
|
|
80
|
+
|
|
81
|
+
- **`contacts`**: resolved people (includes "Me" where `is_me=1`)
|
|
82
|
+
- **`contact_identifiers`**: phone/email identifiers mapped to contacts
|
|
83
|
+
- **`chats`**: conversation threads (one-on-one or group)
|
|
84
|
+
- **`chat_participants`**: join table linking chats ↔ contacts
|
|
85
|
+
- **`conversations`**: "conversation windows" inside a chat (90-minute gap heuristic)
|
|
86
|
+
- **`messages`**: normalized messages
|
|
87
|
+
- **`attachments`**: attachment metadata linked to `messages`
|
|
88
|
+
- **`reactions`**: tapback/reaction rows
|
|
89
|
+
|
|
90
|
+
## Common query patterns
|
|
91
|
+
|
|
92
|
+
### List chats (most recent first)
|
|
93
|
+
|
|
94
|
+
```sql
|
|
95
|
+
SELECT
|
|
96
|
+
c.id,
|
|
97
|
+
c.chat_name,
|
|
98
|
+
c.is_group,
|
|
99
|
+
c.last_message_date,
|
|
100
|
+
c.total_messages
|
|
101
|
+
FROM chats c
|
|
102
|
+
ORDER BY c.last_message_date DESC
|
|
103
|
+
LIMIT 50;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Find chats by name (substring match)
|
|
107
|
+
|
|
108
|
+
```sql
|
|
109
|
+
SELECT id, chat_name, is_group
|
|
110
|
+
FROM chats
|
|
111
|
+
WHERE chat_name LIKE '%' || :q || '%'
|
|
112
|
+
ORDER BY last_message_date DESC
|
|
113
|
+
LIMIT 50;
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
(If you're using `eve db query`, inline the value instead of `:q`.)
|
|
117
|
+
|
|
118
|
+
### Find contacts by name
|
|
119
|
+
|
|
120
|
+
```sql
|
|
121
|
+
SELECT id, name
|
|
122
|
+
FROM contacts
|
|
123
|
+
WHERE name LIKE '%' || :q || '%'
|
|
124
|
+
ORDER BY name
|
|
125
|
+
LIMIT 50;
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Get chats involving a contact (via participants join)
|
|
129
|
+
|
|
130
|
+
```sql
|
|
131
|
+
SELECT c.id, c.chat_name, c.last_message_date
|
|
132
|
+
FROM chats c
|
|
133
|
+
JOIN chat_participants cp ON cp.chat_id = c.id
|
|
134
|
+
WHERE cp.contact_id = :contact_id
|
|
135
|
+
ORDER BY c.last_message_date DESC
|
|
136
|
+
LIMIT 50;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Get most recent conversation for a chat
|
|
140
|
+
|
|
141
|
+
```sql
|
|
142
|
+
SELECT id, start_time, end_time, message_count
|
|
143
|
+
FROM conversations
|
|
144
|
+
WHERE chat_id = :chat_id
|
|
145
|
+
ORDER BY end_time DESC
|
|
146
|
+
LIMIT 1;
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Fetch messages for a conversation (for transcript building)
|
|
150
|
+
|
|
151
|
+
```sql
|
|
152
|
+
SELECT
|
|
153
|
+
m.timestamp,
|
|
154
|
+
COALESCE(ct.name, CASE WHEN m.is_from_me = 1 THEN 'Me' ELSE 'Unknown' END) AS sender_name,
|
|
155
|
+
m.is_from_me,
|
|
156
|
+
m.content
|
|
157
|
+
FROM messages m
|
|
158
|
+
LEFT JOIN contacts ct ON ct.id = m.sender_id
|
|
159
|
+
WHERE m.conversation_id = :conversation_id
|
|
160
|
+
ORDER BY m.timestamp ASC;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Quick "search messages" (lexical substring; slow on huge DB)
|
|
164
|
+
|
|
165
|
+
```sql
|
|
166
|
+
SELECT m.id, m.chat_id, m.timestamp, m.content
|
|
167
|
+
FROM messages m
|
|
168
|
+
WHERE m.content LIKE '%' || :q || '%'
|
|
169
|
+
ORDER BY m.timestamp DESC
|
|
170
|
+
LIMIT 50;
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Live sync state (incremental ingestion)
|
|
174
|
+
|
|
175
|
+
Watermarks live in `live_sync_state`:
|
|
176
|
+
|
|
177
|
+
```sql
|
|
178
|
+
SELECT key, value FROM live_sync_state;
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Keys you'll see:
|
|
182
|
+
- `last_message_rowid`
|
|
183
|
+
- `last_attachment_rowid`
|
|
184
|
+
- `apple_epoch_ns`
|
|
185
|
+
|
|
186
|
+
## Optional: Context Engine server
|
|
187
|
+
|
|
188
|
+
Eve also ships a TypeScript "Context Engine" server (HTTP) that provides:
|
|
189
|
+
- `/engine/encode` – canonical encoding output for analysis/embeddings
|
|
190
|
+
- `/engine/execute` – prompt + context-pack assembly with budget fitting
|
|
191
|
+
|
|
192
|
+
This is **optional** for agents. It's mainly valuable for the **compute plane** (Celery) because it avoids spawning a new Bun process for every encode/execute call and caches the prompt/pack registry.
|
|
193
|
+
|
|
194
|
+
## Installation
|
|
195
|
+
|
|
196
|
+
### Via Homebrew (recommended)
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
brew install Napageneral/tap/eve
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Via Go Install
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
go install github.com/Napageneral/eve/cmd/eve@latest
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### From Source
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
git clone https://github.com/Napageneral/eve.git
|
|
212
|
+
cd eve
|
|
213
|
+
make build
|
|
214
|
+
# binary at ./bin/eve
|
|
215
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Eve Dual-Account (Agent Identity)
|
|
2
|
+
|
|
3
|
+
This setup gives your agent its own iMessage identity on the same Mac.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Admin access on the Mac
|
|
8
|
+
- Separate Apple ID for the agent
|
|
9
|
+
- Fast User Switching enabled
|
|
10
|
+
- Remote Login (SSH) allowed
|
|
11
|
+
|
|
12
|
+
## Step 1: Create an agent Apple ID (manual)
|
|
13
|
+
|
|
14
|
+
Create a new Apple ID at https://appleid.apple.com/account.
|
|
15
|
+
|
|
16
|
+
Use this address for the agent (example): `echo.nexus@icloud.com`.
|
|
17
|
+
|
|
18
|
+
## Step 2: Create the agent macOS user (automated)
|
|
19
|
+
|
|
20
|
+
Run the setup script from this skill:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
bash scripts/setup-dual-account.sh "Echo"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The script:
|
|
27
|
+
- Creates the `nexus-agent` user
|
|
28
|
+
- Enables Fast User Switching
|
|
29
|
+
- Sets up SSH keys and helper scripts
|
|
30
|
+
- Creates `~/bin/eve-agent` and `~/bin/send-as-agent`
|
|
31
|
+
- Disables sleep to keep the agent session active
|
|
32
|
+
|
|
33
|
+
Save the generated password when prompted.
|
|
34
|
+
|
|
35
|
+
## Step 3: Sign into Messages as the agent (manual)
|
|
36
|
+
|
|
37
|
+
1. Switch to the `nexus-agent` user
|
|
38
|
+
2. Open Messages.app and sign in with the agent Apple ID
|
|
39
|
+
3. Grant Full Disk Access to the terminal app
|
|
40
|
+
4. Switch back to your main user
|
|
41
|
+
|
|
42
|
+
## Step 4: Ensure chat.db permissions
|
|
43
|
+
|
|
44
|
+
After the agent has signed in:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
sudo chmod 644 /Users/nexus-agent/Library/Messages/chat.db
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Using both accounts
|
|
51
|
+
|
|
52
|
+
Read agent messages:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
EVE_SOURCE_CHAT_DB=/Users/nexus-agent/Library/Messages/chat.db eve messages
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Helper alias created by the script:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
eve-agent messages
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Send as the agent:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
send-as-agent "+15551234567" "Hello from the agent"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Verify the dual-account flow
|
|
71
|
+
|
|
72
|
+
1. Text the agent Apple ID from your phone.
|
|
73
|
+
2. Verify the message arrives:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
EVE_SOURCE_CHAT_DB=/Users/nexus-agent/Library/Messages/chat.db eve messages --limit 1
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. Send a reply as the agent with `send-as-agent`.
|
|
80
|
+
|
|
81
|
+
## Security notes
|
|
82
|
+
|
|
83
|
+
- `chat.db` permissions are relaxed for cross-user reads; treat this as a sensitive machine.
|
|
84
|
+
- SSH keys grant message-sending access; keep them local and protected.
|