@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.
Files changed (827) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README-header.png +0 -0
  4. package/README.md +462 -0
  5. package/dist/agents/agent-paths.js +16 -0
  6. package/dist/agents/agent-scope.js +44 -0
  7. package/dist/agents/auth-profiles.js +626 -0
  8. package/dist/agents/bash-process-registry.js +126 -0
  9. package/dist/agents/bash-tools.js +838 -0
  10. package/dist/agents/chutes-oauth.js +47 -0
  11. package/dist/agents/clawdbot-tools.js +62 -0
  12. package/dist/agents/context.js +34 -0
  13. package/dist/agents/defaults.js +6 -0
  14. package/dist/agents/memory-search.js +80 -0
  15. package/dist/agents/model-auth.js +115 -0
  16. package/dist/agents/model-catalog.js +55 -0
  17. package/dist/agents/model-fallback.js +210 -0
  18. package/dist/agents/model-scan.js +263 -0
  19. package/dist/agents/model-selection.js +152 -0
  20. package/dist/agents/models-config.js +171 -0
  21. package/dist/agents/nexus-tools.js +46 -0
  22. package/dist/agents/pi-embedded-block-chunker.js +188 -0
  23. package/dist/agents/pi-embedded-helpers.js +139 -0
  24. package/dist/agents/pi-embedded-runner.js +932 -0
  25. package/dist/agents/pi-embedded-subscribe.js +541 -0
  26. package/dist/agents/pi-embedded-utils.js +20 -0
  27. package/dist/agents/pi-embedded.js +1 -0
  28. package/dist/agents/pi-extensions/compaction-safeguard.js +140 -0
  29. package/dist/agents/pi-tool-definition-adapter.js +17 -0
  30. package/dist/agents/pi-tools.js +510 -0
  31. package/dist/agents/pi-tools.schema.js +358 -0
  32. package/dist/agents/sandbox-paths.js +68 -0
  33. package/dist/agents/sandbox.js +667 -0
  34. package/dist/agents/shell-utils.js +53 -0
  35. package/dist/agents/skill-runner.js +224 -0
  36. package/dist/agents/skill-state.js +164 -0
  37. package/dist/agents/skill-tools.js +191 -0
  38. package/dist/agents/skill-usage.js +43 -0
  39. package/dist/agents/skills-install.js +244 -0
  40. package/dist/agents/skills-status.js +157 -0
  41. package/dist/agents/skills.js +472 -0
  42. package/dist/agents/subagent-registry.js +321 -0
  43. package/dist/agents/subagent-registry.store.js +47 -0
  44. package/dist/agents/system-prompt.js +179 -0
  45. package/dist/agents/timeout.js +26 -0
  46. package/dist/agents/tool-display.js +155 -0
  47. package/dist/agents/tool-display.json +236 -0
  48. package/dist/agents/tool-images.js +138 -0
  49. package/dist/agents/tool-policy.js +87 -0
  50. package/dist/agents/tools/agent-step.js +41 -0
  51. package/dist/agents/tools/browser-tool.js +295 -0
  52. package/dist/agents/tools/canvas-tool.js +193 -0
  53. package/dist/agents/tools/common.js +88 -0
  54. package/dist/agents/tools/cron-tool.js +141 -0
  55. package/dist/agents/tools/discord-actions-guild.js +186 -0
  56. package/dist/agents/tools/discord-actions-messaging.js +313 -0
  57. package/dist/agents/tools/discord-actions-moderation.js +70 -0
  58. package/dist/agents/tools/discord-actions.js +56 -0
  59. package/dist/agents/tools/discord-schema.js +199 -0
  60. package/dist/agents/tools/discord-tool.js +16 -0
  61. package/dist/agents/tools/gateway-tool.js +46 -0
  62. package/dist/agents/tools/gateway.js +28 -0
  63. package/dist/agents/tools/image-tool.js +140 -0
  64. package/dist/agents/tools/memory-tool.js +92 -0
  65. package/dist/agents/tools/nodes-tool.js +413 -0
  66. package/dist/agents/tools/nodes-utils.js +92 -0
  67. package/dist/agents/tools/sessions-announce-target.js +35 -0
  68. package/dist/agents/tools/sessions-helpers.js +88 -0
  69. package/dist/agents/tools/sessions-history-tool.js +137 -0
  70. package/dist/agents/tools/sessions-list-tool.js +196 -0
  71. package/dist/agents/tools/sessions-send-helpers.js +103 -0
  72. package/dist/agents/tools/sessions-send-tool.js +371 -0
  73. package/dist/agents/tools/sessions-spawn-tool.js +319 -0
  74. package/dist/agents/tools/slack-actions.js +129 -0
  75. package/dist/agents/tools/slack-schema.js +59 -0
  76. package/dist/agents/tools/slack-tool.js +16 -0
  77. package/dist/agents/tools/telegram-actions.js +159 -0
  78. package/dist/agents/tools/telegram-schema.js +28 -0
  79. package/dist/agents/tools/telegram-tool.js +16 -0
  80. package/dist/agents/tools/whatsapp-login-tool.js +63 -0
  81. package/dist/agents/usage.js +58 -0
  82. package/dist/agents/workspace.js +264 -0
  83. package/dist/auto-reply/chunk.js +177 -0
  84. package/dist/auto-reply/command-auth.js +44 -0
  85. package/dist/auto-reply/command-detection.js +22 -0
  86. package/dist/auto-reply/envelope.js +30 -0
  87. package/dist/auto-reply/group-activation.js +20 -0
  88. package/dist/auto-reply/heartbeat.js +58 -0
  89. package/dist/auto-reply/model.js +22 -0
  90. package/dist/auto-reply/reply/abort.js +14 -0
  91. package/dist/auto-reply/reply/agent-runner.js +426 -0
  92. package/dist/auto-reply/reply/bash-command.js +314 -0
  93. package/dist/auto-reply/reply/block-streaming.js +34 -0
  94. package/dist/auto-reply/reply/body.js +29 -0
  95. package/dist/auto-reply/reply/commands.js +332 -0
  96. package/dist/auto-reply/reply/directive-handling.js +626 -0
  97. package/dist/auto-reply/reply/directives.js +59 -0
  98. package/dist/auto-reply/reply/dispatch-from-config.js +23 -0
  99. package/dist/auto-reply/reply/followup-runner.js +181 -0
  100. package/dist/auto-reply/reply/groups.js +152 -0
  101. package/dist/auto-reply/reply/mentions.js +64 -0
  102. package/dist/auto-reply/reply/model-selection.js +209 -0
  103. package/dist/auto-reply/reply/queue.js +399 -0
  104. package/dist/auto-reply/reply/reply-dispatcher.js +68 -0
  105. package/dist/auto-reply/reply/reply-tags.js +26 -0
  106. package/dist/auto-reply/reply/session-updates.js +103 -0
  107. package/dist/auto-reply/reply/session.js +169 -0
  108. package/dist/auto-reply/reply/typing.js +125 -0
  109. package/dist/auto-reply/reply.js +655 -0
  110. package/dist/auto-reply/send-policy.js +28 -0
  111. package/dist/auto-reply/status.js +197 -0
  112. package/dist/auto-reply/templating.js +9 -0
  113. package/dist/auto-reply/thinking.js +49 -0
  114. package/dist/auto-reply/tokens.js +2 -0
  115. package/dist/auto-reply/tool-meta.js +74 -0
  116. package/dist/auto-reply/transcription.js +57 -0
  117. package/dist/auto-reply/types.js +1 -0
  118. package/dist/browser/bridge-server.js +37 -0
  119. package/dist/browser/cdp.js +382 -0
  120. package/dist/browser/chrome.js +432 -0
  121. package/dist/browser/client-actions-core.js +67 -0
  122. package/dist/browser/client-actions-observe.js +24 -0
  123. package/dist/browser/client-actions-types.js +1 -0
  124. package/dist/browser/client-actions.js +3 -0
  125. package/dist/browser/client-fetch.js +43 -0
  126. package/dist/browser/client.js +105 -0
  127. package/dist/browser/config.js +155 -0
  128. package/dist/browser/constants.js +5 -0
  129. package/dist/browser/profiles-service.js +124 -0
  130. package/dist/browser/profiles.js +96 -0
  131. package/dist/browser/pw-ai.js +2 -0
  132. package/dist/browser/pw-session.js +144 -0
  133. package/dist/browser/pw-tools-core.js +363 -0
  134. package/dist/browser/routes/agent.js +535 -0
  135. package/dist/browser/routes/basic.js +155 -0
  136. package/dist/browser/routes/index.js +8 -0
  137. package/dist/browser/routes/tabs.js +105 -0
  138. package/dist/browser/routes/utils.js +62 -0
  139. package/dist/browser/screenshot.js +40 -0
  140. package/dist/browser/server-context.js +377 -0
  141. package/dist/browser/server.js +81 -0
  142. package/dist/browser/target-id.js +18 -0
  143. package/dist/browser/trash.js +21 -0
  144. package/dist/canvas-host/a2ui/a2ui.bundle.js +17768 -0
  145. package/dist/canvas-host/a2ui/index.html +246 -0
  146. package/dist/canvas-host/a2ui.js +187 -0
  147. package/dist/canvas-host/server.js +382 -0
  148. package/dist/channel-web.js +8 -0
  149. package/dist/cli/browser-cli-actions-input.js +459 -0
  150. package/dist/cli/browser-cli-actions-observe.js +56 -0
  151. package/dist/cli/browser-cli-examples.js +31 -0
  152. package/dist/cli/browser-cli-inspect.js +97 -0
  153. package/dist/cli/browser-cli-manage.js +286 -0
  154. package/dist/cli/browser-cli-shared.js +1 -0
  155. package/dist/cli/browser-cli.js +26 -0
  156. package/dist/cli/canvas-cli.js +416 -0
  157. package/dist/cli/cloud-cli.js +336 -0
  158. package/dist/cli/credential-cli.js +227 -0
  159. package/dist/cli/cron-cli.js +454 -0
  160. package/dist/cli/deps.js +17 -0
  161. package/dist/cli/dns-cli.js +180 -0
  162. package/dist/cli/gateway-cli.js +665 -0
  163. package/dist/cli/gateway-rpc.js +20 -0
  164. package/dist/cli/hooks-cli.js +135 -0
  165. package/dist/cli/memory-cli.js +101 -0
  166. package/dist/cli/models-cli.js +248 -0
  167. package/dist/cli/nodes-camera.js +57 -0
  168. package/dist/cli/nodes-canvas.js +26 -0
  169. package/dist/cli/nodes-cli.js +946 -0
  170. package/dist/cli/nodes-screen.js +37 -0
  171. package/dist/cli/pairing-cli.js +100 -0
  172. package/dist/cli/parse-duration.js +20 -0
  173. package/dist/cli/plugins-cli.js +158 -0
  174. package/dist/cli/ports.js +97 -0
  175. package/dist/cli/profile.js +81 -0
  176. package/dist/cli/program.js +162 -0
  177. package/dist/cli/prompt.js +19 -0
  178. package/dist/cli/run-main.js +48 -0
  179. package/dist/cli/skills-cli.js +132 -0
  180. package/dist/cli/skills-hub-cli.js +1093 -0
  181. package/dist/cli/telegram-cli.js +56 -0
  182. package/dist/cli/tool-connector-cli.js +118 -0
  183. package/dist/cli/tui-cli.js +35 -0
  184. package/dist/cli/upstream-sync-cli.js +2833 -0
  185. package/dist/cli/usage-cli.js +24 -0
  186. package/dist/cli/wait.js +8 -0
  187. package/dist/commands/agent-via-gateway.js +115 -0
  188. package/dist/commands/agent.js +665 -0
  189. package/dist/commands/antigravity-oauth.js +327 -0
  190. package/dist/commands/auth-choice-options.js +80 -0
  191. package/dist/commands/auth-choice.js +134 -0
  192. package/dist/commands/auth-token.js +31 -0
  193. package/dist/commands/bootstrap-preset.js +214 -0
  194. package/dist/commands/capabilities.js +36 -0
  195. package/dist/commands/chutes-oauth.js +144 -0
  196. package/dist/commands/claude-md.js +137 -0
  197. package/dist/commands/config-view.js +11 -0
  198. package/dist/commands/configure.js +648 -0
  199. package/dist/commands/credential.js +236 -0
  200. package/dist/commands/cursor-rules.js +230 -0
  201. package/dist/commands/doctor-state-migrations.js +358 -0
  202. package/dist/commands/doctor-ui.js +113 -0
  203. package/dist/commands/doctor.js +673 -0
  204. package/dist/commands/health.js +112 -0
  205. package/dist/commands/identity.js +54 -0
  206. package/dist/commands/init.js +167 -0
  207. package/dist/commands/models/aliases.js +85 -0
  208. package/dist/commands/models/fallbacks.js +123 -0
  209. package/dist/commands/models/image-fallbacks.js +123 -0
  210. package/dist/commands/models/list.js +347 -0
  211. package/dist/commands/models/scan.js +271 -0
  212. package/dist/commands/models/set-image.js +27 -0
  213. package/dist/commands/models/set.js +27 -0
  214. package/dist/commands/models/shared.js +73 -0
  215. package/dist/commands/models.js +7 -0
  216. package/dist/commands/onboard-auth.js +101 -0
  217. package/dist/commands/onboard-channels.js +814 -0
  218. package/dist/commands/onboard-eve-identity.js +98 -0
  219. package/dist/commands/onboard-github.js +153 -0
  220. package/dist/commands/onboard-helpers.js +303 -0
  221. package/dist/commands/onboard-interactive.js +17 -0
  222. package/dist/commands/onboard-non-interactive.js +228 -0
  223. package/dist/commands/onboard-providers.js +829 -0
  224. package/dist/commands/onboard-quickstart.js +185 -0
  225. package/dist/commands/onboard-remote.js +120 -0
  226. package/dist/commands/onboard-skills.js +148 -0
  227. package/dist/commands/onboard-types.js +1 -0
  228. package/dist/commands/onboard.js +19 -0
  229. package/dist/commands/openai-codex-model-default.js +38 -0
  230. package/dist/commands/poll.js +64 -0
  231. package/dist/commands/quest.js +27 -0
  232. package/dist/commands/reset.js +61 -0
  233. package/dist/commands/send.js +124 -0
  234. package/dist/commands/sessions-ingest.js +359 -0
  235. package/dist/commands/sessions.js +212 -0
  236. package/dist/commands/setup.js +59 -0
  237. package/dist/commands/signal-install.js +135 -0
  238. package/dist/commands/skills-manifest.js +235 -0
  239. package/dist/commands/status.js +139 -0
  240. package/dist/commands/suggestions.js +54 -0
  241. package/dist/commands/systemd-linger.js +71 -0
  242. package/dist/commands/update.js +16 -0
  243. package/dist/commands/usage-upload.js +27 -0
  244. package/dist/config/config.js +6 -0
  245. package/dist/config/defaults.js +140 -0
  246. package/dist/config/group-policy.js +49 -0
  247. package/dist/config/includes.js +183 -0
  248. package/dist/config/io.js +188 -0
  249. package/dist/config/legacy-migrate.js +13 -0
  250. package/dist/config/legacy.js +425 -0
  251. package/dist/config/paths.js +82 -0
  252. package/dist/config/port-defaults.js +32 -0
  253. package/dist/config/schema.js +173 -0
  254. package/dist/config/sessions.js +611 -0
  255. package/dist/config/talk.js +31 -0
  256. package/dist/config/types.js +1 -0
  257. package/dist/config/validation.js +29 -0
  258. package/dist/config/zod-schema.js +1110 -0
  259. package/dist/control-ui/assets/index-D8Q5AI4D.js +2393 -0
  260. package/dist/control-ui/assets/index-D8Q5AI4D.js.map +1 -0
  261. package/dist/control-ui/assets/index-g06q5Xc3.css +1 -0
  262. package/dist/control-ui/favicon.ico +0 -0
  263. package/dist/control-ui/index.html +16 -0
  264. package/dist/cron/isolated-agent.js +529 -0
  265. package/dist/cron/normalize.js +73 -0
  266. package/dist/cron/parse.js +24 -0
  267. package/dist/cron/run-log.js +72 -0
  268. package/dist/cron/schedule.js +24 -0
  269. package/dist/cron/service.js +471 -0
  270. package/dist/cron/store.js +43 -0
  271. package/dist/cron/types.js +1 -0
  272. package/dist/daemon/constants.js +10 -0
  273. package/dist/daemon/launchd.js +295 -0
  274. package/dist/daemon/legacy.js +63 -0
  275. package/dist/daemon/program-args.js +141 -0
  276. package/dist/daemon/schtasks.js +269 -0
  277. package/dist/daemon/service.js +69 -0
  278. package/dist/daemon/systemd.js +332 -0
  279. package/dist/discord/index.js +2 -0
  280. package/dist/discord/monitor.js +1089 -0
  281. package/dist/discord/probe.js +54 -0
  282. package/dist/discord/send.js +652 -0
  283. package/dist/discord/token.js +8 -0
  284. package/dist/entry.js +16 -0
  285. package/dist/gateway/auth.js +121 -0
  286. package/dist/gateway/call.js +103 -0
  287. package/dist/gateway/chat-attachments.js +41 -0
  288. package/dist/gateway/client.js +180 -0
  289. package/dist/gateway/config-reload.js +274 -0
  290. package/dist/gateway/control-ui.js +184 -0
  291. package/dist/gateway/hooks-mapping.js +282 -0
  292. package/dist/gateway/hooks.js +168 -0
  293. package/dist/gateway/net.js +29 -0
  294. package/dist/gateway/protocol/index.js +62 -0
  295. package/dist/gateway/protocol/schema.js +577 -0
  296. package/dist/gateway/server-bridge-subscriptions.js +93 -0
  297. package/dist/gateway/server-bridge.js +1066 -0
  298. package/dist/gateway/server-browser.js +11 -0
  299. package/dist/gateway/server-channels.js +680 -0
  300. package/dist/gateway/server-chat.js +159 -0
  301. package/dist/gateway/server-constants.js +8 -0
  302. package/dist/gateway/server-discovery.js +62 -0
  303. package/dist/gateway/server-http.js +165 -0
  304. package/dist/gateway/server-methods/agent-job.js +114 -0
  305. package/dist/gateway/server-methods/agent.js +254 -0
  306. package/dist/gateway/server-methods/channels.js +239 -0
  307. package/dist/gateway/server-methods/chat.js +207 -0
  308. package/dist/gateway/server-methods/config.js +50 -0
  309. package/dist/gateway/server-methods/connect.js +6 -0
  310. package/dist/gateway/server-methods/cron.js +89 -0
  311. package/dist/gateway/server-methods/health.js +28 -0
  312. package/dist/gateway/server-methods/models.js +16 -0
  313. package/dist/gateway/server-methods/nodes.js +294 -0
  314. package/dist/gateway/server-methods/providers.js +257 -0
  315. package/dist/gateway/server-methods/send.js +254 -0
  316. package/dist/gateway/server-methods/sessions.js +382 -0
  317. package/dist/gateway/server-methods/skills.js +83 -0
  318. package/dist/gateway/server-methods/system.js +118 -0
  319. package/dist/gateway/server-methods/talk.js +22 -0
  320. package/dist/gateway/server-methods/types.js +1 -0
  321. package/dist/gateway/server-methods/voicewake.js +30 -0
  322. package/dist/gateway/server-methods/web.js +81 -0
  323. package/dist/gateway/server-methods/wizard.js +100 -0
  324. package/dist/gateway/server-methods.js +53 -0
  325. package/dist/gateway/server-providers.js +687 -0
  326. package/dist/gateway/server-shared.js +1 -0
  327. package/dist/gateway/server-utils.js +35 -0
  328. package/dist/gateway/server.js +1478 -0
  329. package/dist/gateway/session-utils.js +355 -0
  330. package/dist/gateway/ws-log.js +343 -0
  331. package/dist/gateway/ws-logging.js +8 -0
  332. package/dist/globals.js +41 -0
  333. package/dist/hooks/gmail-ops.js +236 -0
  334. package/dist/hooks/gmail-setup-utils.js +278 -0
  335. package/dist/hooks/gmail-watcher.js +190 -0
  336. package/dist/hooks/gmail.js +177 -0
  337. package/dist/imessage/client.js +165 -0
  338. package/dist/imessage/index.js +3 -0
  339. package/dist/imessage/monitor.js +365 -0
  340. package/dist/imessage/probe.js +26 -0
  341. package/dist/imessage/send.js +83 -0
  342. package/dist/imessage/targets.js +176 -0
  343. package/dist/index.js +55 -0
  344. package/dist/infra/agent-events.js +46 -0
  345. package/dist/infra/binaries.js +9 -0
  346. package/dist/infra/bonjour-discovery.js +163 -0
  347. package/dist/infra/bonjour.js +200 -0
  348. package/dist/infra/bridge/server.js +564 -0
  349. package/dist/infra/canvas-host-url.js +54 -0
  350. package/dist/infra/channel-summary.js +78 -0
  351. package/dist/infra/control-ui-assets.js +112 -0
  352. package/dist/infra/dotenv.js +15 -0
  353. package/dist/infra/env.js +8 -0
  354. package/dist/infra/errors.js +28 -0
  355. package/dist/infra/event-log.js +251 -0
  356. package/dist/infra/gateway-lock.js +8 -0
  357. package/dist/infra/git-commit.js +91 -0
  358. package/dist/infra/heartbeat-events.js +21 -0
  359. package/dist/infra/heartbeat-runner.js +458 -0
  360. package/dist/infra/heartbeat-wake.js +61 -0
  361. package/dist/infra/is-main.js +37 -0
  362. package/dist/infra/json-file.js +21 -0
  363. package/dist/infra/machine-name.js +40 -0
  364. package/dist/infra/nexus-root.js +56 -0
  365. package/dist/infra/node-pairing.js +212 -0
  366. package/dist/infra/path-env.js +93 -0
  367. package/dist/infra/ports.js +87 -0
  368. package/dist/infra/provider-summary.js +80 -0
  369. package/dist/infra/provider-usage.auth.js +189 -0
  370. package/dist/infra/provider-usage.fetch.claude.js +129 -0
  371. package/dist/infra/provider-usage.fetch.codex.js +62 -0
  372. package/dist/infra/provider-usage.fetch.copilot.js +42 -0
  373. package/dist/infra/provider-usage.fetch.gemini.js +57 -0
  374. package/dist/infra/provider-usage.fetch.js +6 -0
  375. package/dist/infra/provider-usage.fetch.minimax.js +214 -0
  376. package/dist/infra/provider-usage.fetch.shared.js +11 -0
  377. package/dist/infra/provider-usage.fetch.zai.js +62 -0
  378. package/dist/infra/provider-usage.format.js +77 -0
  379. package/dist/infra/provider-usage.js +145 -0
  380. package/dist/infra/provider-usage.load.js +54 -0
  381. package/dist/infra/provider-usage.shared.js +19 -0
  382. package/dist/infra/provider-usage.types.js +1 -0
  383. package/dist/infra/restart.js +29 -0
  384. package/dist/infra/retry.js +16 -0
  385. package/dist/infra/runtime-guard.js +59 -0
  386. package/dist/infra/shell-env.js +88 -0
  387. package/dist/infra/system-events.js +71 -0
  388. package/dist/infra/system-presence.js +217 -0
  389. package/dist/infra/tailnet.js +46 -0
  390. package/dist/infra/tailscale.js +149 -0
  391. package/dist/infra/unhandled-rejections.js +19 -0
  392. package/dist/infra/usage-suggestions.js +241 -0
  393. package/dist/infra/usage-upload.js +290 -0
  394. package/dist/infra/voicewake.js +78 -0
  395. package/dist/infra/widearea-dns.js +123 -0
  396. package/dist/infra/ws.js +13 -0
  397. package/dist/logger.js +52 -0
  398. package/dist/logging.js +506 -0
  399. package/dist/macos/gateway-daemon.js +145 -0
  400. package/dist/macos/relay.js +49 -0
  401. package/dist/media/constants.js +33 -0
  402. package/dist/media/host.js +42 -0
  403. package/dist/media/image-ops.js +119 -0
  404. package/dist/media/mime.js +123 -0
  405. package/dist/media/parse.js +83 -0
  406. package/dist/media/server.js +64 -0
  407. package/dist/media/store.js +139 -0
  408. package/dist/polls.js +43 -0
  409. package/dist/process/command-queue.js +97 -0
  410. package/dist/process/exec.js +75 -0
  411. package/dist/provider-web.js +8 -0
  412. package/dist/providers/github-copilot-auth.js +123 -0
  413. package/dist/providers/github-copilot-models.js +35 -0
  414. package/dist/providers/github-copilot-token.js +11 -0
  415. package/dist/providers/location.js +48 -0
  416. package/dist/providers/web/index.js +2 -0
  417. package/dist/runtime.js +8 -0
  418. package/dist/sessions/level-overrides.js +9 -0
  419. package/dist/sessions/send-policy.js +68 -0
  420. package/dist/signal/client.js +134 -0
  421. package/dist/signal/daemon.js +69 -0
  422. package/dist/signal/index.js +3 -0
  423. package/dist/signal/monitor.js +411 -0
  424. package/dist/signal/probe.js +46 -0
  425. package/dist/signal/send.js +91 -0
  426. package/dist/slack/actions.js +97 -0
  427. package/dist/slack/index.js +5 -0
  428. package/dist/slack/monitor.js +1270 -0
  429. package/dist/slack/probe.js +47 -0
  430. package/dist/slack/send.js +131 -0
  431. package/dist/slack/token.js +10 -0
  432. package/dist/telegram/allowed-updates.js +8 -0
  433. package/dist/telegram/bot.js +724 -0
  434. package/dist/telegram/download.js +34 -0
  435. package/dist/telegram/index.js +4 -0
  436. package/dist/telegram/monitor.js +47 -0
  437. package/dist/telegram/pairing-store.js +77 -0
  438. package/dist/telegram/probe.js +63 -0
  439. package/dist/telegram/proxy.js +9 -0
  440. package/dist/telegram/reaction-level.js +45 -0
  441. package/dist/telegram/send.js +151 -0
  442. package/dist/telegram/sent-message-cache.js +65 -0
  443. package/dist/telegram/token.js +30 -0
  444. package/dist/telegram/update-offset-store.js +61 -0
  445. package/dist/telegram/webhook-set.js +12 -0
  446. package/dist/telegram/webhook.js +56 -0
  447. package/dist/tui/commands.js +87 -0
  448. package/dist/tui/components/assistant-message.js +16 -0
  449. package/dist/tui/components/chat-log.js +92 -0
  450. package/dist/tui/components/custom-editor.js +55 -0
  451. package/dist/tui/components/selectors.js +8 -0
  452. package/dist/tui/components/tool-execution.js +111 -0
  453. package/dist/tui/components/user-message.js +17 -0
  454. package/dist/tui/gateway-chat.js +140 -0
  455. package/dist/tui/theme/theme.js +80 -0
  456. package/dist/tui/tui.js +708 -0
  457. package/dist/utils.js +153 -0
  458. package/dist/version.js +18 -0
  459. package/dist/web/accounts.js +86 -0
  460. package/dist/web/active-listener.js +25 -0
  461. package/dist/web/auto-reply.js +1256 -0
  462. package/dist/web/inbound.js +649 -0
  463. package/dist/web/login-qr.js +230 -0
  464. package/dist/web/login.js +71 -0
  465. package/dist/web/media.js +175 -0
  466. package/dist/web/outbound.js +102 -0
  467. package/dist/web/qr-image.js +97 -0
  468. package/dist/web/reconnect.js +60 -0
  469. package/dist/web/session.js +370 -0
  470. package/dist/wizard/clack-prompter.js +56 -0
  471. package/dist/wizard/onboarding.js +620 -0
  472. package/dist/wizard/prompts.js +6 -0
  473. package/dist/wizard/session.js +203 -0
  474. package/docs/AGENTS.default.md +116 -0
  475. package/docs/CAPABILITIES.md +444 -0
  476. package/docs/CNAME +1 -0
  477. package/docs/NEXUS_CORE_REWRITE_SPEC.md +226 -0
  478. package/docs/RELEASING.md +69 -0
  479. package/docs/_config.yml +53 -0
  480. package/docs/_layouts/default.html +145 -0
  481. package/docs/agent-assisted-install.md +95 -0
  482. package/docs/agent-loop.md +61 -0
  483. package/docs/agent-send.md +21 -0
  484. package/docs/agent.md +108 -0
  485. package/docs/android.md +133 -0
  486. package/docs/architecture.md +114 -0
  487. package/docs/assets/markdown.css +133 -0
  488. package/docs/assets/pixel-lobster.svg +60 -0
  489. package/docs/assets/terminal.css +470 -0
  490. package/docs/assets/theme.js +55 -0
  491. package/docs/audio.md +48 -0
  492. package/docs/automation/nexus-sync.md +371 -0
  493. package/docs/background-process.md +74 -0
  494. package/docs/bash.md +32 -0
  495. package/docs/bedrock.md +71 -0
  496. package/docs/bonjour.md +159 -0
  497. package/docs/browser-linux-troubleshooting.md +114 -0
  498. package/docs/browser.md +293 -0
  499. package/docs/bun.md +56 -0
  500. package/docs/camera.md +152 -0
  501. package/docs/clawd.md +212 -0
  502. package/docs/concepts/usage-tracking.md +29 -0
  503. package/docs/configuration.md +1666 -0
  504. package/docs/control-ui.md +83 -0
  505. package/docs/cron.md +385 -0
  506. package/docs/dashboard.md +17 -0
  507. package/docs/device-models.md +46 -0
  508. package/docs/discord.md +308 -0
  509. package/docs/discovery.md +112 -0
  510. package/docs/docker.md +258 -0
  511. package/docs/docs.json +105 -0
  512. package/docs/doctor.md +68 -0
  513. package/docs/elevated.md +31 -0
  514. package/docs/faq.md +736 -0
  515. package/docs/feature-inventory/overview.md +141 -0
  516. package/docs/feature-inventory/rollout-checklist.md +53 -0
  517. package/docs/feature-inventory/test-matrix.md +87 -0
  518. package/docs/feature-inventory.md +9 -0
  519. package/docs/gateway/configuration-examples.md +221 -0
  520. package/docs/gateway/configuration.md +172 -0
  521. package/docs/gateway/cron.md +61 -0
  522. package/docs/gateway/heartbeat.md +207 -0
  523. package/docs/gateway/pairing.md +109 -0
  524. package/docs/gateway-lock.md +28 -0
  525. package/docs/gateway.md +227 -0
  526. package/docs/gmail-pubsub.md +191 -0
  527. package/docs/grammy.md +27 -0
  528. package/docs/group-messages.md +73 -0
  529. package/docs/groups.md +130 -0
  530. package/docs/health.md +28 -0
  531. package/docs/heartbeat.md +73 -0
  532. package/docs/home-userspace.md +277 -0
  533. package/docs/hubs.md +148 -0
  534. package/docs/images.md +51 -0
  535. package/docs/imessage.md +94 -0
  536. package/docs/index.md +196 -0
  537. package/docs/ios.md +372 -0
  538. package/docs/linux.md +11 -0
  539. package/docs/location-command.md +95 -0
  540. package/docs/location.md +46 -0
  541. package/docs/logging.md +110 -0
  542. package/docs/lore.md +131 -0
  543. package/docs/mac/bun.md +133 -0
  544. package/docs/mac/canvas.md +161 -0
  545. package/docs/mac/child-process.md +72 -0
  546. package/docs/mac/dev-setup.md +81 -0
  547. package/docs/mac/health.md +28 -0
  548. package/docs/mac/icon.md +26 -0
  549. package/docs/mac/logging.md +51 -0
  550. package/docs/mac/menu-bar.md +69 -0
  551. package/docs/mac/peekaboo.md +170 -0
  552. package/docs/mac/permissions.md +40 -0
  553. package/docs/mac/release.md +76 -0
  554. package/docs/mac/remote.md +57 -0
  555. package/docs/mac/signing.md +41 -0
  556. package/docs/mac/skills.md +27 -0
  557. package/docs/mac/voice-overlay.md +52 -0
  558. package/docs/mac/voicewake.md +56 -0
  559. package/docs/mac/webchat.md +27 -0
  560. package/docs/mac/xpc.md +40 -0
  561. package/docs/macos.md +104 -0
  562. package/docs/model-failover.md +75 -0
  563. package/docs/models.md +91 -0
  564. package/docs/multi-agent.md +74 -0
  565. package/docs/nix.md +95 -0
  566. package/docs/nodes.md +157 -0
  567. package/docs/onboarding-config-protocol.md +34 -0
  568. package/docs/onboarding.md +189 -0
  569. package/docs/pairing.md +85 -0
  570. package/docs/plans/cron-add-hardening.md +72 -0
  571. package/docs/plans/group-policy-hardening.md +121 -0
  572. package/docs/poll.md +52 -0
  573. package/docs/prereqs.md +67 -0
  574. package/docs/presence.md +133 -0
  575. package/docs/proposals/model-config.md +147 -0
  576. package/docs/provider-routing.md +25 -0
  577. package/docs/queue.md +78 -0
  578. package/docs/reference/templates/AGENTS.md +164 -0
  579. package/docs/remote-gateway-readme.md +153 -0
  580. package/docs/remote.md +61 -0
  581. package/docs/research/memory.md +227 -0
  582. package/docs/rpc.md +35 -0
  583. package/docs/security.md +200 -0
  584. package/docs/session-ingestion.md +119 -0
  585. package/docs/session-tool.md +154 -0
  586. package/docs/session.md +85 -0
  587. package/docs/sessions.md +8 -0
  588. package/docs/setup.md +131 -0
  589. package/docs/showcase.md +37 -0
  590. package/docs/signal.md +122 -0
  591. package/docs/skills-config.md +58 -0
  592. package/docs/skills.md +153 -0
  593. package/docs/slack.md +221 -0
  594. package/docs/subagents.md +72 -0
  595. package/docs/tailscale.md +71 -0
  596. package/docs/talk.md +79 -0
  597. package/docs/telegram.md +96 -0
  598. package/docs/templates/AGENTS.md +286 -0
  599. package/docs/templates/BOOTSTRAP.md +35 -0
  600. package/docs/templates/IDENTITY.md +17 -0
  601. package/docs/templates/PROFILE.md +14 -0
  602. package/docs/templates/SOUL.md +41 -0
  603. package/docs/templates/TOOLS.md +41 -0
  604. package/docs/templates/USER.md +8 -0
  605. package/docs/test.md +43 -0
  606. package/docs/testing-onboarding-quickstart.md +76 -0
  607. package/docs/testing-philosophy.md +211 -0
  608. package/docs/thinking.md +46 -0
  609. package/docs/timezone.md +40 -0
  610. package/docs/tools.md +346 -0
  611. package/docs/troubleshooting.md +257 -0
  612. package/docs/tui.md +71 -0
  613. package/docs/typebox.md +42 -0
  614. package/docs/updating.md +138 -0
  615. package/docs/usage-cloud-aggregation-spec.md +133 -0
  616. package/docs/usage-suggestions-pipeline.md +126 -0
  617. package/docs/voicewake.md +61 -0
  618. package/docs/web.md +115 -0
  619. package/docs/webchat.md +34 -0
  620. package/docs/webhook.md +132 -0
  621. package/docs/whatsapp-clawd.jpg +0 -0
  622. package/docs/whatsapp.md +170 -0
  623. package/docs/windows.md +11 -0
  624. package/docs/wizard.md +167 -0
  625. package/package.json +209 -0
  626. package/skills/1password/SKILL.md +54 -0
  627. package/skills/1password/docs/setup.md +85 -0
  628. package/skills/1password/docs/troubleshooting.md +63 -0
  629. package/skills/1password/references/cli-examples.md +29 -0
  630. package/skills/1password/references/get-started.md +17 -0
  631. package/skills/agent-browser/SKILL.md +450 -0
  632. package/skills/agent-browser/docs/browser-use-eval.md +95 -0
  633. package/skills/agent-browser/docs/first-tests.md +261 -0
  634. package/skills/agent-browser/docs/wordle-nyt-eval.js +32 -0
  635. package/skills/aix/SKILL.md +93 -0
  636. package/skills/aix/docs/embeddings.md +40 -0
  637. package/skills/aix/docs/setup.md +58 -0
  638. package/skills/aix/docs/troubleshooting.md +41 -0
  639. package/skills/aix/references/sql.md +48 -0
  640. package/skills/apple-notes/SKILL.md +50 -0
  641. package/skills/apple-reminders/SKILL.md +67 -0
  642. package/skills/bear-notes/SKILL.md +79 -0
  643. package/skills/bird/SKILL.md +32 -0
  644. package/skills/bird/docs/auth.md +31 -0
  645. package/skills/bird/docs/troubleshooting.md +31 -0
  646. package/skills/blogwatcher/SKILL.md +46 -0
  647. package/skills/blucli/SKILL.md +27 -0
  648. package/skills/brave-search/SKILL.md +36 -0
  649. package/skills/brave-search/docs/setup.md +40 -0
  650. package/skills/brave-search/docs/troubleshooting.md +37 -0
  651. package/skills/brave-search/docs/usage.md +28 -0
  652. package/skills/brave-search/scripts/content.mjs +53 -0
  653. package/skills/brave-search/scripts/search.mjs +79 -0
  654. package/skills/browser-use-agent-sdk/SKILL.md +90 -0
  655. package/skills/camsnap/SKILL.md +25 -0
  656. package/skills/clawdhub/SKILL.md +53 -0
  657. package/skills/coding-agent/SKILL.md +274 -0
  658. package/skills/comms/SKILL.md +249 -0
  659. package/skills/comms/docs/adapters.md +54 -0
  660. package/skills/comms/docs/setup.md +56 -0
  661. package/skills/comms/docs/troubleshooting.md +44 -0
  662. package/skills/comms/references/schema.md +49 -0
  663. package/skills/computer-use/SKILL.md +204 -0
  664. package/skills/computer-use/docs/open-interpreter.md +26 -0
  665. package/skills/computer-use/docs/peekaboo.md +26 -0
  666. package/skills/computer-use/docs/setup.md +47 -0
  667. package/skills/computer-use/docs/troubleshooting.md +33 -0
  668. package/skills/discord/SKILL.md +370 -0
  669. package/skills/eightctl/SKILL.md +29 -0
  670. package/skills/eve/SKILL.md +215 -0
  671. package/skills/eve/docs/dual-account.md +84 -0
  672. package/skills/eve/docs/intelligence.md +58 -0
  673. package/skills/eve/docs/setup.md +60 -0
  674. package/skills/eve/docs/troubleshooting.md +54 -0
  675. package/skills/eve/scripts/setup-dual-account.sh +125 -0
  676. package/skills/filesystem/SKILL.md +217 -0
  677. package/skills/food-order/SKILL.md +41 -0
  678. package/skills/gemini/SKILL.md +23 -0
  679. package/skills/gh/SKILL.md +22 -0
  680. package/skills/gh/docs/usage.md +41 -0
  681. package/skills/gifgrep/SKILL.md +47 -0
  682. package/skills/github/SKILL.md +26 -0
  683. package/skills/github/docs/setup.md +21 -0
  684. package/skills/github/docs/troubleshooting.md +24 -0
  685. package/skills/gog/SKILL.md +104 -0
  686. package/skills/gog/docs/portability.md +94 -0
  687. package/skills/gog/docs/setup.md +76 -0
  688. package/skills/gog/docs/troubleshooting.md +94 -0
  689. package/skills/gog/scripts/cdp/README.md +90 -0
  690. package/skills/gog/scripts/cdp/add_test_users.py +69 -0
  691. package/skills/gog/scripts/cdp/auth_add_accounts.py +209 -0
  692. package/skills/gog/scripts/cdp/auth_add_accounts_manual.py +206 -0
  693. package/skills/gog/scripts/cdp/create_oauth_client.py +165 -0
  694. package/skills/gog/scripts/cdp/launch_cdp_chrome.sh +58 -0
  695. package/skills/google-oauth/SKILL.md +94 -0
  696. package/skills/goplaces/SKILL.md +30 -0
  697. package/skills/imsg/SKILL.md +25 -0
  698. package/skills/json-render/SKILL.md +154 -0
  699. package/skills/json-render/assets/components/README.md +21 -0
  700. package/skills/json-render/assets/components/catalog.ts +78 -0
  701. package/skills/json-render/assets/components/registry.tsx +172 -0
  702. package/skills/json-render/assets/demo/App.css +397 -0
  703. package/skills/json-render/assets/demo/App.tsx +897 -0
  704. package/skills/json-render/assets/demo/README.md +22 -0
  705. package/skills/json-render/assets/demo/catalog.ts +78 -0
  706. package/skills/json-render/assets/demo/data/nexus-core.json +31 -0
  707. package/skills/json-render/assets/demo/index.css +27 -0
  708. package/skills/json-render/assets/demo/registry.tsx +150 -0
  709. package/skills/json-render/docs/nexus-state-demo.md +84 -0
  710. package/skills/json-render/docs/shadcn-preset.md +33 -0
  711. package/skills/json-render/scripts/create-vite-demo.sh +45 -0
  712. package/skills/json-render/scripts/llm-server/README.md +33 -0
  713. package/skills/json-render/scripts/llm-server/catalog.ts +78 -0
  714. package/skills/json-render/scripts/llm-server/package-lock.json +702 -0
  715. package/skills/json-render/scripts/llm-server/package.json +18 -0
  716. package/skills/json-render/scripts/llm-server/server.ts +285 -0
  717. package/skills/local-places/SERVER_README.md +101 -0
  718. package/skills/local-places/SKILL.md +91 -0
  719. package/skills/local-places/pyproject.toml +27 -0
  720. package/skills/local-places/src/local_places/__init__.py +2 -0
  721. package/skills/local-places/src/local_places/__pycache__/__init__.cpython-314.pyc +0 -0
  722. package/skills/local-places/src/local_places/__pycache__/google_places.cpython-314.pyc +0 -0
  723. package/skills/local-places/src/local_places/__pycache__/main.cpython-314.pyc +0 -0
  724. package/skills/local-places/src/local_places/__pycache__/schemas.cpython-314.pyc +0 -0
  725. package/skills/local-places/src/local_places/google_places.py +314 -0
  726. package/skills/local-places/src/local_places/main.py +65 -0
  727. package/skills/local-places/src/local_places/schemas.py +107 -0
  728. package/skills/mcporter/SKILL.md +38 -0
  729. package/skills/model-usage/SKILL.md +45 -0
  730. package/skills/model-usage/references/codexbar-cli.md +28 -0
  731. package/skills/model-usage/scripts/model_usage.py +310 -0
  732. package/skills/nano-banana-pro/SKILL.md +30 -0
  733. package/skills/nano-banana-pro/scripts/generate_image.py +169 -0
  734. package/skills/nano-pdf/SKILL.md +20 -0
  735. package/skills/nexus-cloud/SKILL.md +53 -0
  736. package/skills/nexus-cloud/docs/security.md +24 -0
  737. package/skills/nexus-cloud/docs/setup.md +51 -0
  738. package/skills/nexus-cloud/docs/troubleshooting.md +28 -0
  739. package/skills/notion/SKILL.md +156 -0
  740. package/skills/obsidian/SKILL.md +55 -0
  741. package/skills/onboarding/SKILL.md +515 -0
  742. package/skills/onboarding/docs/CAPABILITIES.md +444 -0
  743. package/skills/onboarding/docs/CAPABILITY_TAXONOMY.md +608 -0
  744. package/skills/onboarding/docs/CLI_GRAMMAR.md +797 -0
  745. package/skills/onboarding/docs/CLI_GRAMMAR_CREDENTIALS.md +632 -0
  746. package/skills/onboarding/docs/CLI_GRAMMAR_ONBOARDING.md +815 -0
  747. package/skills/onboarding/docs/CLI_GRAMMAR_SKILLS.md +449 -0
  748. package/skills/onboarding/docs/DOCUMENTATION_OVERVIEW.md +290 -0
  749. package/skills/onboarding/docs/ENTITY_MODEL.md +582 -0
  750. package/skills/onboarding/docs/GOAL_STATE_ARCHITECTURE.md +395 -0
  751. package/skills/onboarding/docs/NEXUS_SYSTEM_OVERVIEW.md +476 -0
  752. package/skills/onboarding/docs/SKILLS_HUB_SPEC.md +477 -0
  753. package/skills/onboarding/docs/SKILLS_SPECIFICATION.md +947 -0
  754. package/skills/onboarding/docs/SKILL_GATEWAY_DESIGN.md +702 -0
  755. package/skills/onboarding/docs/SKILL_GATEWAY_PRD.md +278 -0
  756. package/skills/onboarding/docs/SKILL_INVENTORY.md +266 -0
  757. package/skills/onboarding/docs/STATE_ARCHITECTURE.md +547 -0
  758. package/skills/onboarding/docs/TROUBLESHOOTING.md +363 -0
  759. package/skills/onboarding/docs/USER_JOURNEY.md +797 -0
  760. package/skills/onboarding/docs/WOW_MOMENTS.md +232 -0
  761. package/skills/onboarding/docs/agent-apple-id.md +289 -0
  762. package/skills/onboarding/docs/skill-deep-dives/1password.md +367 -0
  763. package/skills/onboarding/docs/skill-deep-dives/TEMPLATE.md +197 -0
  764. package/skills/onboarding/docs/skill-deep-dives/aix.md +498 -0
  765. package/skills/onboarding/docs/skill-deep-dives/bird.md +357 -0
  766. package/skills/onboarding/docs/skill-deep-dives/brave-search.md +601 -0
  767. package/skills/onboarding/docs/skill-deep-dives/comms.md +607 -0
  768. package/skills/onboarding/docs/skill-deep-dives/computer-use.md +599 -0
  769. package/skills/onboarding/docs/skill-deep-dives/cron-and-heartbeat.md +576 -0
  770. package/skills/onboarding/docs/skill-deep-dives/eve.md +711 -0
  771. package/skills/onboarding/docs/skill-deep-dives/github.md +333 -0
  772. package/skills/onboarding/docs/skill-deep-dives/gog.md +640 -0
  773. package/skills/onboarding/docs/skill-deep-dives/homebrew-prereqs.md +785 -0
  774. package/skills/onboarding/docs/skill-deep-dives/nexus-cloud.md +689 -0
  775. package/skills/onboarding/docs/skill-deep-dives/qmd.md +742 -0
  776. package/skills/onboarding/docs/skill-deep-dives/telegram.md +379 -0
  777. package/skills/onboarding/docs/skill-deep-dives/wacli.md +399 -0
  778. package/skills/onboarding/docs/skill-deep-dives/weather.md +513 -0
  779. package/skills/onboarding/scripts/ralph/prd.json +215 -0
  780. package/skills/onboarding/scripts/ralph/progress.txt +99 -0
  781. package/skills/onboarding/scripts/ralph/prompt.md +87 -0
  782. package/skills/onboarding/scripts/ralph/ralph.log +84 -0
  783. package/skills/onboarding/scripts/ralph/ralph.sh +45 -0
  784. package/skills/onboarding/scripts/setup-cursor-skills.sh +40 -0
  785. package/skills/openai-image-gen/SKILL.md +31 -0
  786. package/skills/openai-image-gen/scripts/gen.py +173 -0
  787. package/skills/openai-whisper/SKILL.md +19 -0
  788. package/skills/openai-whisper-api/SKILL.md +43 -0
  789. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  790. package/skills/openhue/SKILL.md +30 -0
  791. package/skills/oracle/SKILL.md +105 -0
  792. package/skills/ordercli/SKILL.md +47 -0
  793. package/skills/peekaboo/SKILL.md +153 -0
  794. package/skills/qmd/SKILL.md +32 -0
  795. package/skills/qmd/docs/mcp.md +30 -0
  796. package/skills/qmd/docs/ollama.md +42 -0
  797. package/skills/qmd/docs/setup.md +44 -0
  798. package/skills/sag/SKILL.md +62 -0
  799. package/skills/skill-cli-template/SKILL.md +109 -0
  800. package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-311.pyc +0 -0
  801. package/skills/slack/SKILL.md +144 -0
  802. package/skills/songsee/SKILL.md +29 -0
  803. package/skills/sonoscli/SKILL.md +26 -0
  804. package/skills/spotify-player/SKILL.md +34 -0
  805. package/skills/summarize/SKILL.md +49 -0
  806. package/skills/telegram/SKILL.md +20 -0
  807. package/skills/telegram/docs/pairing.md +30 -0
  808. package/skills/telegram/docs/setup.md +41 -0
  809. package/skills/telegram/docs/webhook.md +17 -0
  810. package/skills/things-mac/SKILL.md +61 -0
  811. package/skills/tmux/SKILL.md +121 -0
  812. package/skills/tmux/scripts/find-sessions.sh +112 -0
  813. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  814. package/skills/trello/SKILL.md +84 -0
  815. package/skills/upstream-sync/SKILL.md +151 -0
  816. package/skills/upstream-sync/scripts/auto-port.sh +227 -0
  817. package/skills/upstream-sync/scripts/check-all.sh +88 -0
  818. package/skills/upstream-sync/scripts/check-nexus.sh +146 -0
  819. package/skills/upstream-sync/scripts/check-pi-ai.sh +129 -0
  820. package/skills/video-frames/SKILL.md +29 -0
  821. package/skills/video-frames/scripts/frame.sh +81 -0
  822. package/skills/wacli/SKILL.md +48 -0
  823. package/skills/wacli/docs/auth.md +21 -0
  824. package/skills/wacli/docs/backup.md +9 -0
  825. package/skills/wacli/docs/troubleshooting.md +21 -0
  826. package/skills/weather/SKILL.md +53 -0
  827. 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*