@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,711 @@
|
|
|
1
|
+
# Skill Deep-Dive: eve
|
|
2
|
+
|
|
3
|
+
**Skill**: `eve`
|
|
4
|
+
**Category**: Communication Data + Agent Reachability
|
|
5
|
+
**Setup Difficulty**: 🟡 Medium (Basic) → 🔴 Very Hard (Full Intelligence + Agent Identity)
|
|
6
|
+
**Time Estimate**: ~5 minutes (basic) | ~15 minutes (intelligence) | ~30 minutes (dual-account)
|
|
7
|
+
**Platform**: macOS only
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What It Enables
|
|
12
|
+
|
|
13
|
+
| Capability | Description | Example |
|
|
14
|
+
|------------|-------------|---------|
|
|
15
|
+
| iMessage reading | Read messages from your iMessage database | `eve messages --contact "Mom"` |
|
|
16
|
+
| iMessage sending | Send messages via Messages.app automation | `eve send --to "+1..." --text "Hi!"` |
|
|
17
|
+
| Contact management | List and search contacts by message frequency | `eve contacts --top 10` |
|
|
18
|
+
| Chat searching | Find conversations by content or contact | `eve chats --search "Family"` |
|
|
19
|
+
| Attachment access | View and export photos/videos from messages | `eve attachments --type image` |
|
|
20
|
+
| Message streaming | Watch for new messages in real-time | `eve watch` |
|
|
21
|
+
| Relationship analysis | Analyze conversation patterns, topics, emotions | `eve analyze --contact "Casey"` |
|
|
22
|
+
| Semantic search | Search conversations by meaning, not keywords | `eve search "when did we talk about moving"` |
|
|
23
|
+
| Intelligence insights | Extract topics, entities, emotions, humor | `eve insights topics --chat-id 2` |
|
|
24
|
+
| Agent iMessage identity | Agent can send/receive iMessages via its own Apple ID | Dual-account setup |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Capability Tiers
|
|
29
|
+
|
|
30
|
+
| Tier | What's Enabled | Additional Requirements |
|
|
31
|
+
|------|----------------|------------------------|
|
|
32
|
+
| **Tier 1: Read-Only** | Read messages, contacts, chats | Full Disk Access for Terminal |
|
|
33
|
+
| **Tier 2: Send** | Send messages, automation | Automation permission for Messages.app |
|
|
34
|
+
| **Tier 3: Intelligence** | AI analysis, semantic search, insights | `GEMINI_API_KEY` environment variable |
|
|
35
|
+
| **Tier 4: Agent Identity** | Agent's own iMessage account for reachability | Dual macOS user setup, separate Apple ID |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Dependencies
|
|
40
|
+
|
|
41
|
+
### Hard Dependencies (Required)
|
|
42
|
+
- [ ] `macOS` — eve only works on macOS (accesses Messages.app database)
|
|
43
|
+
- [ ] `Messages.app signed in` — Must be signed in with your Apple ID
|
|
44
|
+
- [ ] `Full Disk Access` — Terminal must have Full Disk Access permission
|
|
45
|
+
|
|
46
|
+
### Soft Dependencies (Recommended)
|
|
47
|
+
- [ ] `GEMINI_API_KEY` — Required for Tier 3 (intelligence features)
|
|
48
|
+
- [ ] `1password` skill — For storing Gemini API key securely
|
|
49
|
+
- [ ] Separate Apple ID — Required for Tier 4 (agent identity)
|
|
50
|
+
- [ ] macOS user account for agent — Required for Tier 4
|
|
51
|
+
|
|
52
|
+
### This Skill Enables
|
|
53
|
+
- [ ] `comms` — Provides iMessage data to unified communication layer
|
|
54
|
+
- [ ] Agent reachability via iMessage — Users can text the agent's phone number
|
|
55
|
+
- [ ] Morning briefings — Pull recent messages for daily summaries
|
|
56
|
+
- [ ] Relationship insights — Understand communication patterns
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Installation
|
|
61
|
+
|
|
62
|
+
### Prerequisites Check
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Check if on macOS
|
|
66
|
+
uname -s | grep -q Darwin && echo "✅ macOS" || echo "❌ Not macOS (eve requires macOS)"
|
|
67
|
+
|
|
68
|
+
# Check if Messages.app is signed in
|
|
69
|
+
ls ~/Library/Messages/chat.db && echo "✅ Messages.app database exists" || echo "❌ Messages.app not signed in"
|
|
70
|
+
|
|
71
|
+
# Check if brew is installed
|
|
72
|
+
which brew || echo "❌ Need to install Homebrew first"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Installation Steps
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Option 1: Install via Homebrew (recommended)
|
|
79
|
+
brew install Napageneral/tap/eve
|
|
80
|
+
|
|
81
|
+
# Option 2: Install via Go
|
|
82
|
+
go install github.com/Napageneral/eve/cmd/eve@latest
|
|
83
|
+
|
|
84
|
+
# Verify installation
|
|
85
|
+
eve version
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Verification
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Check eve is accessible
|
|
92
|
+
eve version
|
|
93
|
+
|
|
94
|
+
# Check if databases exist
|
|
95
|
+
eve paths
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Configuration
|
|
101
|
+
|
|
102
|
+
### Tier 1: Read-Only Setup
|
|
103
|
+
|
|
104
|
+
#### Step 1: Grant Full Disk Access (MANUAL - Cannot be automated)
|
|
105
|
+
|
|
106
|
+
1. Open **System Settings** → **Privacy & Security** → **Full Disk Access**
|
|
107
|
+
2. Click the lock icon to make changes (enter password)
|
|
108
|
+
3. Click the **+** button
|
|
109
|
+
4. Navigate to **Applications** → **Utilities** → **Terminal** (or iTerm, etc.)
|
|
110
|
+
5. Select Terminal and click **Open**
|
|
111
|
+
6. **Restart Terminal**
|
|
112
|
+
|
|
113
|
+
#### Step 2: Initialize eve
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Create databases
|
|
117
|
+
eve init
|
|
118
|
+
|
|
119
|
+
# Sync messages from Messages.app
|
|
120
|
+
eve sync
|
|
121
|
+
# This may take a few minutes for large message histories (100k+ messages)
|
|
122
|
+
|
|
123
|
+
# Verify sync
|
|
124
|
+
eve whoami
|
|
125
|
+
# Should show your name, phone, email
|
|
126
|
+
|
|
127
|
+
# Test reading messages
|
|
128
|
+
eve contacts --top 5
|
|
129
|
+
eve chats --limit 10
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### Verification
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Test basic read operations
|
|
136
|
+
eve contacts --top 5
|
|
137
|
+
eve messages --limit 5
|
|
138
|
+
eve chats --limit 5
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### Tier 2: Send Capability
|
|
144
|
+
|
|
145
|
+
#### Grant Automation Permission (MANUAL - Cannot be automated)
|
|
146
|
+
|
|
147
|
+
1. Open **System Settings** → **Privacy & Security** → **Automation**
|
|
148
|
+
2. Find your terminal app (Terminal, iTerm, etc.)
|
|
149
|
+
3. Enable **Messages** checkbox
|
|
150
|
+
4. Test sending (will prompt first time)
|
|
151
|
+
|
|
152
|
+
#### Test Sending
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# ALWAYS confirm recipient before sending!
|
|
156
|
+
eve send --contact "Your Name" --text "Test message from eve"
|
|
157
|
+
|
|
158
|
+
# Or send to phone number
|
|
159
|
+
eve send --to "+1YOURPHONENUMBER" --text "Test from eve"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**CRITICAL**: Always verify the recipient before sending messages!
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### Tier 3: Intelligence Features
|
|
167
|
+
|
|
168
|
+
#### Step 1: Get Gemini API Key
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# Go to: https://ai.google.dev/gemini-api/docs/api-key
|
|
172
|
+
# Create a free API key (generous free tier)
|
|
173
|
+
|
|
174
|
+
# Store in 1Password
|
|
175
|
+
op item create \
|
|
176
|
+
--category "API Credential" \
|
|
177
|
+
--title "Gemini API Key" \
|
|
178
|
+
--vault Personal \
|
|
179
|
+
"credential[password]=YOUR_API_KEY_HERE"
|
|
180
|
+
|
|
181
|
+
# Or add to your shell profile
|
|
182
|
+
echo 'export GEMINI_API_KEY="op://Personal/Gemini API Key/credential"' >> ~/.zshrc
|
|
183
|
+
echo 'eval "$(op plugin run -- zsh)"' >> ~/.zshrc
|
|
184
|
+
source ~/.zshrc
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
#### Step 2: Analyze Conversations
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Analyze your top relationships
|
|
191
|
+
eve analyze --contact "Mom"
|
|
192
|
+
eve analyze --contact "Best Friend"
|
|
193
|
+
eve analyze --contact "Significant Other"
|
|
194
|
+
|
|
195
|
+
# Process the analysis queue
|
|
196
|
+
eve compute run
|
|
197
|
+
# This may take a while - it's analyzing your conversations with AI
|
|
198
|
+
|
|
199
|
+
# Check progress
|
|
200
|
+
eve compute status
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### Step 3: Explore Insights
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Get chat ID for a contact
|
|
207
|
+
eve chats --search "Mom"
|
|
208
|
+
# Note the chat_id
|
|
209
|
+
|
|
210
|
+
# View insights
|
|
211
|
+
eve insights --chat-id <ID>
|
|
212
|
+
eve insights topics --chat-id <ID>
|
|
213
|
+
eve insights entities --chat-id <ID>
|
|
214
|
+
eve insights emotions --chat-id <ID>
|
|
215
|
+
eve insights humor --chat-id <ID>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### Step 4: Semantic Search
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# Search by meaning, not keywords
|
|
222
|
+
eve search "when did we talk about moving"
|
|
223
|
+
eve search "restaurant recommendations"
|
|
224
|
+
eve search "plans for next week" --chat-id <ID>
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
### Tier 4: Agent Identity (Dual-Account Setup)
|
|
230
|
+
|
|
231
|
+
This is the most complex setup - it gives your agent its own iMessage identity.
|
|
232
|
+
|
|
233
|
+
#### Prerequisites
|
|
234
|
+
|
|
235
|
+
- [ ] Separate Apple ID for agent (e.g., `echo.nexus@icloud.com`)
|
|
236
|
+
- [ ] Fast User Switching enabled on macOS
|
|
237
|
+
- [ ] SSH (Remote Login) enabled
|
|
238
|
+
|
|
239
|
+
#### Step 1: Create Agent's Apple ID (MANUAL)
|
|
240
|
+
|
|
241
|
+
1. Go to [appleid.apple.com/account](https://appleid.apple.com/account)
|
|
242
|
+
2. Create new Apple ID:
|
|
243
|
+
- Email: `your-agent-name@icloud.com`
|
|
244
|
+
- Name: Agent's name (e.g., "Echo")
|
|
245
|
+
- Complete 2FA setup
|
|
246
|
+
3. This becomes the agent's phone number/iMessage address
|
|
247
|
+
|
|
248
|
+
#### Step 2: Create Agent macOS User (Automated)
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# Run the setup script
|
|
252
|
+
cd ~/nexus/skills/eve/scripts
|
|
253
|
+
bash setup-dual-account.sh "Echo"
|
|
254
|
+
|
|
255
|
+
# This creates:
|
|
256
|
+
# - User: nexus-agent
|
|
257
|
+
# - Home: /Users/nexus-agent
|
|
258
|
+
# - Random password (shown once)
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
#### Step 3: Sign Agent into Messages (MANUAL)
|
|
262
|
+
|
|
263
|
+
1. **Switch to agent account**:
|
|
264
|
+
- Menu bar → User icon → `nexus-agent`
|
|
265
|
+
- Enter the password shown in Step 2
|
|
266
|
+
2. **Open Messages.app**:
|
|
267
|
+
- Sign in with agent's Apple ID
|
|
268
|
+
- Enable iMessage
|
|
269
|
+
- Send a test message to verify it works
|
|
270
|
+
3. **Grant Full Disk Access**:
|
|
271
|
+
- System Settings → Privacy & Security → Full Disk Access
|
|
272
|
+
- Add Terminal
|
|
273
|
+
4. **Switch back to your account**:
|
|
274
|
+
- Menu bar → User icon → Your name
|
|
275
|
+
- Agent session stays active in background
|
|
276
|
+
|
|
277
|
+
#### Step 4: Configure Permissions
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
# Make chat databases readable
|
|
281
|
+
sudo chmod 644 ~/Library/Messages/chat.db
|
|
282
|
+
sudo chmod 644 /Users/nexus-agent/Library/Messages/chat.db
|
|
283
|
+
|
|
284
|
+
# Set up SSH for sending as agent
|
|
285
|
+
ssh-keygen -t ed25519 -f ~/.ssh/nexus-agent -N ""
|
|
286
|
+
|
|
287
|
+
# Enable SSH (Remote Login)
|
|
288
|
+
sudo systemsetup -setremotelogin on
|
|
289
|
+
|
|
290
|
+
# Add key to agent's authorized_keys
|
|
291
|
+
sudo mkdir -p /Users/nexus-agent/.ssh
|
|
292
|
+
sudo cp ~/.ssh/nexus-agent.pub /Users/nexus-agent/.ssh/authorized_keys
|
|
293
|
+
sudo chown -R nexus-agent:staff /Users/nexus-agent/.ssh
|
|
294
|
+
sudo chmod 700 /Users/nexus-agent/.ssh
|
|
295
|
+
sudo chmod 600 /Users/nexus-agent/.ssh/authorized_keys
|
|
296
|
+
|
|
297
|
+
# Test SSH
|
|
298
|
+
ssh -i ~/.ssh/nexus-agent -o BatchMode=yes nexus-agent@localhost "echo 'SSH works!'"
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
#### Step 5: Using Dual Accounts
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# Read YOUR messages (default)
|
|
305
|
+
eve messages --contact "Mom"
|
|
306
|
+
|
|
307
|
+
# Read AGENT's messages
|
|
308
|
+
EVE_SOURCE_CHAT_DB=/Users/nexus-agent/Library/Messages/chat.db eve messages
|
|
309
|
+
|
|
310
|
+
# Create aliases for convenience
|
|
311
|
+
alias eve-agent='EVE_SOURCE_CHAT_DB=/Users/nexus-agent/Library/Messages/chat.db eve'
|
|
312
|
+
|
|
313
|
+
# Send as YOU (default)
|
|
314
|
+
eve send --to "+15551234567" --text "Hello from me"
|
|
315
|
+
|
|
316
|
+
# Send as AGENT
|
|
317
|
+
ssh -i ~/.ssh/nexus-agent nexus-agent@localhost "imsg send --to '+15551234567' --text 'Hello from agent!'"
|
|
318
|
+
|
|
319
|
+
# Or create helper script
|
|
320
|
+
cat > ~/bin/eve-send-as-agent <<'EOF'
|
|
321
|
+
#!/bin/bash
|
|
322
|
+
ssh -i ~/.ssh/nexus-agent nexus-agent@localhost "imsg send --to '$1' --text '$2'"
|
|
323
|
+
EOF
|
|
324
|
+
chmod +x ~/bin/eve-send-as-agent
|
|
325
|
+
|
|
326
|
+
# Use it
|
|
327
|
+
eve-send-as-agent "+15551234567" "Hi from agent!"
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
#### Verification
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
# 1. Verify agent session is active
|
|
334
|
+
ps aux | grep -i Messages
|
|
335
|
+
# Should show 2 Messages.app processes
|
|
336
|
+
|
|
337
|
+
# 2. Read agent's messages
|
|
338
|
+
eve-agent chats
|
|
339
|
+
|
|
340
|
+
# 3. Text the agent from your phone
|
|
341
|
+
# Text to: echo@icloud.com (or whatever the agent's Apple ID is)
|
|
342
|
+
|
|
343
|
+
# 4. Verify it arrived
|
|
344
|
+
eve-agent messages --limit 1
|
|
345
|
+
|
|
346
|
+
# 5. Send reply as agent
|
|
347
|
+
eve-send-as-agent "+1YOURPHONE" "Echo received your message!"
|
|
348
|
+
|
|
349
|
+
# 6. Check your phone - should have blue bubble from agent!
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## User Actions Required
|
|
355
|
+
|
|
356
|
+
List any manual steps the user MUST perform (can't be automated):
|
|
357
|
+
|
|
358
|
+
1. **Grant Full Disk Access** (Tier 1): System Settings → Privacy & Security → Full Disk Access → Add Terminal
|
|
359
|
+
2. **Grant Automation Permission** (Tier 2): System Settings → Privacy & Security → Automation → Enable Messages
|
|
360
|
+
3. **Get Gemini API Key** (Tier 3): Visit ai.google.dev and create free API key
|
|
361
|
+
4. **Create Agent Apple ID** (Tier 4): Create new iCloud account at appleid.apple.com
|
|
362
|
+
5. **Sign Agent into Messages** (Tier 4): Switch to agent user, open Messages.app, sign in
|
|
363
|
+
6. **Keep agent session active** (Tier 4): Don't log out of nexus-agent user (use Fast User Switching)
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Common Failure Points
|
|
368
|
+
|
|
369
|
+
### Failure: "Permission denied" reading chat.db
|
|
370
|
+
|
|
371
|
+
**Symptom**: Error reading `~/Library/Messages/chat.db`
|
|
372
|
+
|
|
373
|
+
**Cause**: Terminal doesn't have Full Disk Access permission
|
|
374
|
+
|
|
375
|
+
**Recovery**:
|
|
376
|
+
1. Open System Settings → Privacy & Security → Full Disk Access
|
|
377
|
+
2. Add Terminal to the list
|
|
378
|
+
3. **Restart Terminal** (critical!)
|
|
379
|
+
4. Try again: `eve sync`
|
|
380
|
+
|
|
381
|
+
**Prevention**: Complete Full Disk Access setup before running eve commands
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
### Failure: "Messages.app automation not authorized"
|
|
386
|
+
|
|
387
|
+
**Symptom**: `eve send` fails with permission error
|
|
388
|
+
|
|
389
|
+
**Cause**: Terminal not authorized to control Messages.app
|
|
390
|
+
|
|
391
|
+
**Recovery**:
|
|
392
|
+
1. System Settings → Privacy & Security → Automation
|
|
393
|
+
2. Find your terminal app
|
|
394
|
+
3. Enable "Messages" checkbox
|
|
395
|
+
4. Try again: `eve send --contact "Your Name" --text "Test"`
|
|
396
|
+
|
|
397
|
+
**Prevention**: Complete Tier 2 setup before attempting to send
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
### Failure: "GEMINI_API_KEY not set"
|
|
402
|
+
|
|
403
|
+
**Symptom**: `eve analyze` or `eve search` fails with API key error
|
|
404
|
+
|
|
405
|
+
**Cause**: Environment variable not set
|
|
406
|
+
|
|
407
|
+
**Recovery**:
|
|
408
|
+
```bash
|
|
409
|
+
# Check if key is set
|
|
410
|
+
echo $GEMINI_API_KEY
|
|
411
|
+
|
|
412
|
+
# If empty, set it
|
|
413
|
+
export GEMINI_API_KEY="your-key-here"
|
|
414
|
+
|
|
415
|
+
# Or load from 1Password
|
|
416
|
+
export GEMINI_API_KEY=$(op read "op://Personal/Gemini API Key/credential")
|
|
417
|
+
|
|
418
|
+
# Or add to shell profile for persistence
|
|
419
|
+
echo 'export GEMINI_API_KEY="op://Personal/Gemini API Key/credential"' >> ~/.zshrc
|
|
420
|
+
source ~/.zshrc
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**Prevention**: Setup Gemini API key before using Tier 3 features
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
### Failure: Agent's Messages.app not receiving
|
|
428
|
+
|
|
429
|
+
**Symptom**: Messages sent to agent's Apple ID don't arrive
|
|
430
|
+
|
|
431
|
+
**Cause**: Agent user session not active, or Messages.app not signed in
|
|
432
|
+
|
|
433
|
+
**Recovery**:
|
|
434
|
+
```bash
|
|
435
|
+
# Check if agent session is active
|
|
436
|
+
ps aux | grep -c Messages
|
|
437
|
+
# Should show 2 (one for you, one for agent)
|
|
438
|
+
|
|
439
|
+
# If only 1, switch to agent account:
|
|
440
|
+
# Menu bar → User icon → nexus-agent
|
|
441
|
+
# Open Messages.app, verify it's signed in
|
|
442
|
+
# Switch back to your account
|
|
443
|
+
|
|
444
|
+
# Verify agent's Messages.app is running
|
|
445
|
+
ps aux | grep Messages
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**Prevention**: Use Fast User Switching, never log out of agent account
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
### Failure: SSH connection to agent fails
|
|
453
|
+
|
|
454
|
+
**Symptom**: `ssh nexus-agent@localhost` times out or refuses connection
|
|
455
|
+
|
|
456
|
+
**Cause**: Remote Login not enabled
|
|
457
|
+
|
|
458
|
+
**Recovery**:
|
|
459
|
+
```bash
|
|
460
|
+
# Enable Remote Login
|
|
461
|
+
sudo systemsetup -setremotelogin on
|
|
462
|
+
|
|
463
|
+
# Verify SSH is running
|
|
464
|
+
sudo launchctl list | grep ssh
|
|
465
|
+
|
|
466
|
+
# Test connection
|
|
467
|
+
ssh -i ~/.ssh/nexus-agent nexus-agent@localhost "echo 'Works!'"
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
**Prevention**: Run permission setup script completely
|
|
471
|
+
|
|
472
|
+
---
|
|
473
|
+
|
|
474
|
+
### Failure: Sync takes forever
|
|
475
|
+
|
|
476
|
+
**Symptom**: `eve sync` runs for 10+ minutes
|
|
477
|
+
|
|
478
|
+
**Cause**: Large message history (100k+ messages), normal for first sync
|
|
479
|
+
|
|
480
|
+
**Recovery**:
|
|
481
|
+
```bash
|
|
482
|
+
# Check progress
|
|
483
|
+
eve compute status
|
|
484
|
+
|
|
485
|
+
# Let it finish - it only needs to sync once
|
|
486
|
+
# Subsequent syncs are incremental (fast)
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
**Prevention**: Warn users with large message histories to expect 5-10 minutes for first sync
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
## Automation Opportunities
|
|
494
|
+
|
|
495
|
+
| Step | Automatable? | Tool | Notes |
|
|
496
|
+
|------|--------------|------|-------|
|
|
497
|
+
| Install eve | ✅ Yes | bash | `brew install Napageneral/tap/eve` |
|
|
498
|
+
| Grant Full Disk Access | ❌ No | - | Requires manual GUI interaction |
|
|
499
|
+
| Grant Automation | ❌ No | - | Requires manual GUI interaction |
|
|
500
|
+
| Initialize databases | ✅ Yes | bash | `eve init` |
|
|
501
|
+
| Sync messages | ✅ Yes | bash | `eve sync` |
|
|
502
|
+
| Get Gemini API key | ❌ No | - | User must create account |
|
|
503
|
+
| Store API key in 1Password | ✅ Yes | bash | `op item create ...` |
|
|
504
|
+
| Analyze conversations | ✅ Yes | bash | `eve analyze` + `eve compute run` |
|
|
505
|
+
| Create agent Apple ID | ❌ No | - | Requires manual account creation |
|
|
506
|
+
| Create agent macOS user | ✅ Yes | bash | `sudo dscl ...` |
|
|
507
|
+
| Sign agent into Messages | ❌ No | - | Requires GUI interaction |
|
|
508
|
+
| Setup SSH | ✅ Yes | bash | `ssh-keygen` + key copy |
|
|
509
|
+
| Configure dual-account | ✅ Yes | bash | Setup script |
|
|
510
|
+
|
|
511
|
+
### Tier 1+2 Automation Script
|
|
512
|
+
|
|
513
|
+
```bash
|
|
514
|
+
#!/bin/bash
|
|
515
|
+
# Automates eve basic setup (excludes manual permission grants)
|
|
516
|
+
|
|
517
|
+
set -e
|
|
518
|
+
|
|
519
|
+
echo "Installing eve..."
|
|
520
|
+
brew install Napageneral/tap/eve
|
|
521
|
+
|
|
522
|
+
echo "Verifying Messages.app database..."
|
|
523
|
+
if [ ! -f ~/Library/Messages/chat.db ]; then
|
|
524
|
+
echo "❌ Messages.app not signed in. Please sign in and try again."
|
|
525
|
+
exit 1
|
|
526
|
+
fi
|
|
527
|
+
|
|
528
|
+
echo "⚠️ MANUAL STEP REQUIRED:"
|
|
529
|
+
echo "1. Open System Settings → Privacy & Security → Full Disk Access"
|
|
530
|
+
echo "2. Add Terminal"
|
|
531
|
+
echo "3. Restart Terminal"
|
|
532
|
+
echo ""
|
|
533
|
+
read -p "Press Enter after completing Full Disk Access setup..."
|
|
534
|
+
|
|
535
|
+
echo "Initializing eve..."
|
|
536
|
+
eve init
|
|
537
|
+
|
|
538
|
+
echo "Syncing messages (may take a few minutes)..."
|
|
539
|
+
eve sync
|
|
540
|
+
|
|
541
|
+
echo "✅ Tier 1 (Read-Only) setup complete!"
|
|
542
|
+
echo ""
|
|
543
|
+
echo "Testing..."
|
|
544
|
+
eve whoami
|
|
545
|
+
eve contacts --top 5
|
|
546
|
+
|
|
547
|
+
echo ""
|
|
548
|
+
echo "⚠️ For Tier 2 (Send), grant Automation permission:"
|
|
549
|
+
echo "System Settings → Privacy & Security → Automation → Enable Messages"
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
---
|
|
553
|
+
|
|
554
|
+
## Wow Moments
|
|
555
|
+
|
|
556
|
+
| Moment | What Happens | When to Demo |
|
|
557
|
+
|--------|--------------|--------------|
|
|
558
|
+
| Your social graph | Show user's top 10 contacts by message frequency | Right after first sync |
|
|
559
|
+
| Recent unread messages | Show who's messaged them recently | Morning briefing use case |
|
|
560
|
+
| Relationship topics | Show what you talk about with your best friend | After first analysis completes |
|
|
561
|
+
| Semantic search magic | Search "when did we talk about moving" - finds it even if you never said "moving" | After intelligence setup |
|
|
562
|
+
| Agent receives text | User texts agent's phone number, agent responds via iMessage | Dual-account demo |
|
|
563
|
+
| Agent helps you reply | "Tell Mom I'll be there at 7" → agent sends from YOUR phone | AI assistant use case |
|
|
564
|
+
|
|
565
|
+
### Demo Script
|
|
566
|
+
|
|
567
|
+
```
|
|
568
|
+
Agent: "Let me show you what eve enables. First, your social graph based on message frequency:"
|
|
569
|
+
|
|
570
|
+
eve contacts --top 5
|
|
571
|
+
|
|
572
|
+
Agent: "Here are your most recent conversations:"
|
|
573
|
+
|
|
574
|
+
eve chats --limit 5
|
|
575
|
+
|
|
576
|
+
Agent: "And with intelligence features enabled, I can tell you what you and [Name] talk about:"
|
|
577
|
+
|
|
578
|
+
eve insights topics --chat-id 2
|
|
579
|
+
|
|
580
|
+
Agent: "Watch this - I can search by meaning, not just keywords. Let me find when you discussed vacation plans:"
|
|
581
|
+
|
|
582
|
+
eve search "vacation plans"
|
|
583
|
+
|
|
584
|
+
Agent: "And the really powerful part - I can now help you with your messages. Just tell me 'tell Mom I'll be late' and I'll send it from your account."
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
---
|
|
588
|
+
|
|
589
|
+
## Integration with Other Skills
|
|
590
|
+
|
|
591
|
+
| Skill | Integration | Notes |
|
|
592
|
+
|-------|-------------|-------|
|
|
593
|
+
| **1password** | Stores Gemini API key | Required for Tier 3 |
|
|
594
|
+
| **comms** | Provides iMessage data | One of three primary sources (eve, gog, wacli) |
|
|
595
|
+
| **qmd** | Messages can be indexed | Semantic search across all messages |
|
|
596
|
+
| **cron** | Schedule periodic sync | Keep message database fresh |
|
|
597
|
+
| **nexus gateway** | Agent reachability | Gateway watches agent's chat.db for incoming messages |
|
|
598
|
+
| **imsg** (replaced by eve) | eve supersedes imsg | Use eve instead of imsg |
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## Testing Checklist
|
|
603
|
+
|
|
604
|
+
- [ ] Fresh install: `brew install Napageneral/tap/eve`
|
|
605
|
+
- [ ] Version check: `eve version`
|
|
606
|
+
- [ ] Full Disk Access granted (manual verification)
|
|
607
|
+
- [ ] Init works: `eve init`
|
|
608
|
+
- [ ] Sync works: `eve sync`
|
|
609
|
+
- [ ] Whoami shows user info: `eve whoami`
|
|
610
|
+
- [ ] Can list contacts: `eve contacts --top 5`
|
|
611
|
+
- [ ] Can read messages: `eve messages --limit 5`
|
|
612
|
+
- [ ] Automation permission granted (manual verification)
|
|
613
|
+
- [ ] Can send message: `eve send --to "+1..." --text "Test"`
|
|
614
|
+
- [ ] Gemini API key set
|
|
615
|
+
- [ ] Analysis works: `eve analyze --contact "Name"`
|
|
616
|
+
- [ ] Compute runs: `eve compute run`
|
|
617
|
+
- [ ] Insights show data: `eve insights --chat-id 2`
|
|
618
|
+
- [ ] Semantic search works: `eve search "test query"`
|
|
619
|
+
- [ ] Dual-account: agent user created
|
|
620
|
+
- [ ] Dual-account: agent Messages signed in
|
|
621
|
+
- [ ] Dual-account: SSH works
|
|
622
|
+
- [ ] Dual-account: can read agent messages
|
|
623
|
+
- [ ] Dual-account: can send as agent
|
|
624
|
+
|
|
625
|
+
---
|
|
626
|
+
|
|
627
|
+
## Notes for Onboarding Agent
|
|
628
|
+
|
|
629
|
+
- **Platform-specific**: ALWAYS check user is on macOS first
|
|
630
|
+
- **Tier-based approach**: Start with Tier 1, then offer Tier 2, then Tier 3 if user is interested
|
|
631
|
+
- **Set expectations for Tier 3**: Analysis takes time, warn users it may take 10-30 minutes for first run
|
|
632
|
+
- **Dual-account is advanced**: Only recommend Tier 4 if user explicitly wants agent reachability via iMessage
|
|
633
|
+
- **Privacy concerns**: Some users may be uncomfortable with message analysis - respect that
|
|
634
|
+
- **Gemini API is free**: Emphasize generous free tier for Tier 3
|
|
635
|
+
- **When NOT to recommend**:
|
|
636
|
+
- User is not on macOS
|
|
637
|
+
- User doesn't use iMessage
|
|
638
|
+
- User is uncomfortable with local message database access
|
|
639
|
+
- **Alternative for non-Mac users**: Suggest gog + wacli for communication data instead
|
|
640
|
+
- **Fast User Switching tip**: Explain that agent user stays logged in background, doesn't kick them out
|
|
641
|
+
- **Time estimates**:
|
|
642
|
+
- Tier 1: 5 minutes + restart Terminal
|
|
643
|
+
- Tier 2: 2 minutes
|
|
644
|
+
- Tier 3: 15 minutes (plus compute time)
|
|
645
|
+
- Tier 4: 30 minutes (includes Apple ID creation, user setup, SSH config)
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
## Architecture: How Eve Works
|
|
650
|
+
|
|
651
|
+
### Data Flow
|
|
652
|
+
|
|
653
|
+
```
|
|
654
|
+
Messages.app
|
|
655
|
+
↓ (writes to)
|
|
656
|
+
~/Library/Messages/chat.db (Apple's SQLite database)
|
|
657
|
+
↓ (read by)
|
|
658
|
+
eve sync (imports into eve's database)
|
|
659
|
+
↓ (stores in)
|
|
660
|
+
~/.eve/eve.db (normalized schema + analysis results)
|
|
661
|
+
↓ (read by)
|
|
662
|
+
eve commands (chats, messages, insights, etc.)
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
### Dual-Account Architecture
|
|
666
|
+
|
|
667
|
+
```
|
|
668
|
+
┌─────────────────────────────────────────────────┐
|
|
669
|
+
│ Your Mac │
|
|
670
|
+
├─────────────────────────────────────────────────┤
|
|
671
|
+
│ │
|
|
672
|
+
│ User: tyler User: nexus-agent │
|
|
673
|
+
│ ├─ Your Apple ID ├─ Agent Apple ID │
|
|
674
|
+
│ ├─ Messages.app ├─ Messages.app │
|
|
675
|
+
│ └─ chat.db: Your msgs └─ chat.db: Agent │
|
|
676
|
+
│ │
|
|
677
|
+
│ ┌───────────────────────────────────────────┐ │
|
|
678
|
+
│ │ Nexus Gateway (watches agent's chat.db) │ │
|
|
679
|
+
│ │ └─ Responds to messages sent TO agent │ │
|
|
680
|
+
│ └───────────────────────────────────────────┘ │
|
|
681
|
+
│ │
|
|
682
|
+
│ ┌───────────────────────────────────────────┐ │
|
|
683
|
+
│ │ Eve (reads/writes BOTH accounts) │ │
|
|
684
|
+
│ │ └─ Help you: "What did Mom say?" │ │
|
|
685
|
+
│ │ └─ Help agent: Respond as agent │ │
|
|
686
|
+
│ └───────────────────────────────────────────┘ │
|
|
687
|
+
└─────────────────────────────────────────────────┘
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
---
|
|
691
|
+
|
|
692
|
+
## Security & Privacy
|
|
693
|
+
|
|
694
|
+
- **Local-first**: All data stays on your Mac, never sent to cloud
|
|
695
|
+
- **Gemini API**: Only used for analysis if you enable Tier 3
|
|
696
|
+
- **What's sent to Gemini**: Conversation excerpts for analysis, embeddings
|
|
697
|
+
- **What's NOT sent**: Your full message database never leaves your machine
|
|
698
|
+
- **Secure storage**: Databases stored in `~/.eve/` with appropriate file permissions
|
|
699
|
+
- **1Password integration**: API keys stored securely, not in plaintext files
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## Changelog
|
|
704
|
+
|
|
705
|
+
| Date | Change |
|
|
706
|
+
|------|--------|
|
|
707
|
+
| 2026-01-12 | Initial deep-dive created |
|
|
708
|
+
|
|
709
|
+
---
|
|
710
|
+
|
|
711
|
+
*Template version: 1.0*
|