@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,277 @@
1
+ # Nexus Home Userspace
2
+
3
+ ## Overview
4
+
5
+ Your Nexus home userspace is a portable, user-owned workspace at `~/nexus/home` that contains your customizations, memory, and projects. This directory is designed to be version-controlled with git and backed up to a private remote repository.
6
+
7
+ ## Directory Structure
8
+
9
+ ```
10
+ ~/nexus/home/
11
+ ├── .git/ # Git repository (created by nexus init)
12
+ ├── .gitignore # Sensible defaults (created by nexus init)
13
+ ├── memory/ # Daily notes and memory (user-created)
14
+ ├── .intent/ # Intent layer for life/work/projects (user-created)
15
+ ├── skills/ # Workspace skill overrides and custom skills
16
+ └── projects/ # Independent git repos for your projects
17
+ └── project-name/ # Each project is its own git repo
18
+ ```
19
+
20
+ Identity, credentials, and agent state live under `~/nexus/state/`.
21
+
22
+ ## Git Setup
23
+
24
+ ### Initial Setup
25
+
26
+ When you run `nexus init`, Nexus automatically:
27
+ 1. Creates the `~/nexus/home` directory structure
28
+ 2. Initializes a git repository with `git init`
29
+ 3. Creates a `.gitignore` file with sensible defaults
30
+
31
+ ### Adding a Git Remote
32
+
33
+ To back up your home userspace to a private repository:
34
+
35
+ ```bash
36
+ cd ~/nexus/home
37
+
38
+ # Add your private repository as the remote
39
+ git remote add origin git@github.com:yourusername/nexus-home.git
40
+
41
+ # Or use HTTPS
42
+ git remote add origin https://github.com/yourusername/nexus-home.git
43
+
44
+ # Make your first commit
45
+ git add .
46
+ git commit -m "Initial Nexus home setup"
47
+
48
+ # Push to remote
49
+ git push -u origin main
50
+ ```
51
+
52
+ ### Recommended Remote Options
53
+
54
+ - **GitHub**: Create a private repository at https://github.com/new
55
+ - **GitLab**: Create a private project at https://gitlab.com/projects/new
56
+ - **Gitea/Forgejo**: Self-hosted git server for complete privacy
57
+ - **Company Git**: Use your organization's internal git server
58
+
59
+ **Important**: Keep this repository **private** as it may contain personal information and preferences.
60
+
61
+ ## What to Commit vs Gitignore
62
+
63
+ ### ✅ Safe to Commit
64
+
65
+ These files are designed to be version-controlled:
66
+
67
+ - `memory/` directory (daily notes, agent memory)
68
+ - `.intent/` directory (intent layer artifacts)
69
+ - `skills/` directory (custom skills and overrides)
70
+ - Build/config files specific to your workflow
71
+
72
+ ### ❌ Should Be Gitignored
73
+
74
+ The default `.gitignore` already excludes:
75
+
76
+ - `node_modules/`, `venv/`, `__pycache__/` (dependencies)
77
+ - `*.log`, `*.pyc`, `*.pyo` (build artifacts)
78
+ - `.DS_Store`, `Thumbs.db` (OS files)
79
+ - `*.key`, `*.pem`, `*.cert` (secrets)
80
+ - `.env`, `.env.*` (environment files with secrets)
81
+ - Editor files (`.vscode/`, `.idea/`, `*.swp`)
82
+
83
+ ### ⚠️ Projects Directory
84
+
85
+ The `projects/` directory contains independent git repositories. You have two options:
86
+
87
+ **Option 1: Gitignore (default)**
88
+ ```gitignore
89
+ # Add to .gitignore
90
+ projects/*
91
+ ```
92
+
93
+ Each project maintains its own git history and remotes. You manage them independently.
94
+
95
+ **Option 2: Git Submodules**
96
+ ```bash
97
+ # Explicitly track specific projects as submodules
98
+ git submodule add git@github.com:you/project-a.git projects/project-a
99
+ ```
100
+
101
+ This embeds project commits in your home repo, making it easier to restore exact versions.
102
+
103
+ **Recommendation**: Start with Option 1 (gitignore). Only use submodules if you need strict version pinning.
104
+
105
+ ## Backup Strategy
106
+
107
+ ### Regular Backups
108
+
109
+ ```bash
110
+ # Daily/weekly routine
111
+ cd ~/nexus/home
112
+ git add .
113
+ git commit -m "Update memory and customizations $(date +%Y-%m-%d)"
114
+ git push
115
+ ```
116
+
117
+ ### Automated Backups
118
+
119
+ Add to your crontab for automatic daily backups:
120
+
121
+ ```bash
122
+ # Edit crontab
123
+ crontab -e
124
+
125
+ # Add this line (backup at 2 AM daily)
126
+ 0 2 * * * cd ~/nexus/home && git add . && git commit -m "Auto backup $(date +\%Y-\%m-\%d)" && git push origin main
127
+ ```
128
+
129
+ Or use a git-based backup tool like [git-sync](https://github.com/simonthum/git-sync) for continuous syncing.
130
+
131
+ ### State Directory Backups
132
+
133
+ The state directory `~/nexus/state` contains:
134
+ - Credentials and tokens
135
+ - Session transcripts
136
+ - Runtime caches
137
+ - Provider configurations
138
+
139
+ **This is NOT automatically git-tracked** for security reasons. To back it up:
140
+
141
+ ```bash
142
+ # Manual backup (encrypted recommended)
143
+ tar -czf nexus-state-backup-$(date +%Y%m%d).tar.gz -C ~/nexus state
144
+
145
+ # Or use rsync for incremental backups
146
+ rsync -av ~/nexus/state/ /path/to/backup/nexus-state/
147
+
148
+ # Encrypted backup with gpg
149
+ tar -czf - -C ~/nexus state | gpg --symmetric --cipher-algo AES256 > nexus-state-backup.tar.gz.gpg
150
+ ```
151
+
152
+ **Important**: Keep state backups secure as they may contain authentication tokens.
153
+
154
+ ## Restoring on a New Machine
155
+
156
+ ### 1. Install Nexus Core
157
+
158
+ Install the Nexus CLI on your new machine (via package manager or build from source).
159
+
160
+ ### 2. Clone Your Home Repo
161
+
162
+ ```bash
163
+ # Clone your home userspace
164
+ git clone git@github.com:yourusername/nexus-home.git ~/nexus/home
165
+ cd ~/nexus/home
166
+ ```
167
+
168
+ ### 3. Initialize State Directory
169
+
170
+ ```bash
171
+ # Create state directory
172
+ mkdir -p ~/nexus/state
173
+
174
+ # Restore state from backup (optional)
175
+ tar -xzf nexus-state-backup.tar.gz -C ~/nexus
176
+
177
+ # Or restore from encrypted backup
178
+ gpg --decrypt nexus-state-backup.tar.gz.gpg | tar -xzf - -C ~/nexus
179
+ ```
180
+
181
+ ### 4. Re-authenticate Providers
182
+
183
+ If you didn't restore state, re-authenticate with providers:
184
+
185
+ ```bash
186
+ nexus login discord
187
+ nexus login telegram
188
+ # etc.
189
+ ```
190
+
191
+ ### 5. Verify Setup
192
+
193
+ ```bash
194
+ # Check that everything is working
195
+ nexus doctor
196
+ ```
197
+
198
+ ## Multi-Machine Sync
199
+
200
+ If you work on multiple machines, keep your home userspace in sync:
201
+
202
+ ```bash
203
+ # On Machine A
204
+ cd ~/nexus/home
205
+ git pull --rebase # Get latest changes
206
+ # ... make changes ...
207
+ git add .
208
+ git commit -m "Update from Machine A"
209
+ git push
210
+
211
+ # On Machine B
212
+ cd ~/nexus/home
213
+ git pull --rebase # Get changes from Machine A
214
+ ```
215
+
216
+ **Best Practice**: Always `git pull --rebase` before starting work to avoid merge conflicts.
217
+
218
+ ## Security Considerations
219
+
220
+ 1. **Private Repository**: Keep your home repo private. It contains personal information and preferences.
221
+
222
+ 2. **No Secrets in Home**: Never commit secrets (API keys, tokens, passwords) to `~/nexus/home`. Use the state directory (`~/nexus/state`) for secrets, or use environment variables.
223
+
224
+ 3. **Review Before Commit**: Check what you're committing:
225
+ ```bash
226
+ git status
227
+ git diff
228
+ ```
229
+
230
+ 4. **Sensitive Files**: If you accidentally commit sensitive data, use tools like [BFG Repo-Cleaner](https://rtyley.github.io/bfg-repo-cleaner/) or `git filter-repo` to remove it from history.
231
+
232
+ 5. **State Backups**: Encrypt state directory backups since they contain credentials.
233
+
234
+ ## Troubleshooting
235
+
236
+ ### Git Not Initialized
237
+
238
+ If `git init` failed during `nexus init`:
239
+
240
+ ```bash
241
+ cd ~/nexus/home
242
+ git init
243
+ git add .
244
+ git commit -m "Initial commit"
245
+ ```
246
+
247
+ ### Lost Remote Connection
248
+
249
+ If you need to change or re-add the remote:
250
+
251
+ ```bash
252
+ cd ~/nexus/home
253
+ git remote remove origin
254
+ git remote add origin git@github.com:yourusername/new-repo.git
255
+ git push -u origin main
256
+ ```
257
+
258
+ ### Merge Conflicts
259
+
260
+ If you have conflicts after `git pull`:
261
+
262
+ ```bash
263
+ # View conflicts
264
+ git status
265
+
266
+ # Edit conflicting files, then:
267
+ git add .
268
+ git commit -m "Resolve merge conflicts"
269
+ git push
270
+ ```
271
+
272
+ ## See Also
273
+
274
+ - [ADR 003: Nexus Home Workspace and State Layout](../.intent/decisions/003-nexus-home-workspace-and-state-layout.md)
275
+ - [Three-Layer Architecture](../.intent/decisions/004-three-layer-architecture.md)
276
+ - `nexus init --help` - Initialize home workspace
277
+ - `nexus reset --help` - Reset workspace for testing
package/docs/hubs.md ADDED
@@ -0,0 +1,148 @@
1
+ ---
2
+ summary: "Hubs that link to every Nexus doc"
3
+ read_when:
4
+ - You want a complete map of the documentation
5
+ ---
6
+ # Docs hubs
7
+
8
+ Use these hubs to discover every page, including deep dives and reference docs that don’t appear in the left nav.
9
+
10
+ ## Start here
11
+
12
+ - [Index](https://docs.nexus.bot)
13
+ - [Onboarding](https://docs.nexus.bot/onboarding)
14
+ - [Wizard](https://docs.nexus.bot/wizard)
15
+ - [Setup](https://docs.nexus.bot/setup)
16
+ - [FAQ](https://docs.nexus.bot/faq)
17
+ - [Configuration](https://docs.nexus.bot/configuration)
18
+ - [Nexus (personal assistant)](https://docs.nexus.bot/nexus)
19
+ - [Lore](https://docs.nexus.bot/lore)
20
+
21
+ ## Installation + distribution
22
+
23
+ - [Docker](https://docs.nexus.bot/docker)
24
+ - [Nix](https://docs.nexus.bot/nix)
25
+
26
+ ## Core concepts
27
+
28
+ - [Architecture](https://docs.nexus.bot/architecture)
29
+ - [Agent runtime](https://docs.nexus.bot/agent)
30
+ - [Agent loop](https://docs.nexus.bot/agent-loop)
31
+ - [Multi-agent routing](https://docs.nexus.bot/multi-agent)
32
+ - [Sessions](https://docs.nexus.bot/session)
33
+ - [Sessions (alias)](https://docs.nexus.bot/sessions)
34
+ - [Session tools](https://docs.nexus.bot/session-tool)
35
+ - [Queue](https://docs.nexus.bot/queue)
36
+ - [RPC adapters](https://docs.nexus.bot/rpc)
37
+ - [TypeBox schemas](https://docs.nexus.bot/typebox)
38
+ - [Presence](https://docs.nexus.bot/presence)
39
+ - [Discovery + transports](https://docs.nexus.bot/discovery)
40
+ - [Bonjour](https://docs.nexus.bot/bonjour)
41
+ - [Channel routing](https://docs.nexus.bot/channel-routing)
42
+ - [Groups](https://docs.nexus.bot/groups)
43
+ - [Group messages](https://docs.nexus.bot/group-messages)
44
+
45
+ ## Providers + ingress
46
+
47
+ - [WhatsApp](https://docs.nexus.bot/whatsapp)
48
+ - [Telegram](https://docs.nexus.bot/telegram)
49
+ - [Telegram (grammY notes)](https://docs.nexus.bot/grammy)
50
+ - [Slack](https://docs.nexus.bot/slack)
51
+ - [Discord](https://docs.nexus.bot/discord)
52
+ - [Signal](https://docs.nexus.bot/signal)
53
+ - [iMessage](https://docs.nexus.bot/imessage)
54
+ - [WebChat](https://docs.nexus.bot/webchat)
55
+ - [Webhooks](https://docs.nexus.bot/webhook)
56
+ - [Gmail Pub/Sub](https://docs.nexus.bot/gmail-pubsub)
57
+
58
+ ## Gateway + operations
59
+
60
+ - [Gateway runbook](https://docs.nexus.bot/gateway)
61
+ - [Gateway pairing](https://docs.nexus.bot/gateway/pairing)
62
+ - [Gateway lock](https://docs.nexus.bot/gateway-lock)
63
+ - [Background process](https://docs.nexus.bot/background-process)
64
+ - [Health](https://docs.nexus.bot/health)
65
+ - [Heartbeat](https://docs.nexus.bot/heartbeat)
66
+ - [Doctor](https://docs.nexus.bot/doctor)
67
+ - [Logging](https://docs.nexus.bot/logging)
68
+ - [Dashboard](https://docs.nexus.bot/dashboard)
69
+ - [Control UI](https://docs.nexus.bot/control-ui)
70
+ - [Remote access](https://docs.nexus.bot/remote)
71
+ - [Remote gateway README](https://docs.nexus.bot/remote-gateway-readme)
72
+ - [Tailscale](https://docs.nexus.bot/tailscale)
73
+ - [Security](https://docs.nexus.bot/security)
74
+ - [Troubleshooting](https://docs.nexus.bot/troubleshooting)
75
+
76
+ ## Tools + automation
77
+
78
+ - [Tools surface](https://docs.nexus.bot/tools)
79
+ - [Exec tool](https://docs.nexus.bot/exec)
80
+ - [Elevated mode](https://docs.nexus.bot/elevated)
81
+ - [Cron + wakeups](https://docs.nexus.bot/cron)
82
+ - [Thinking + verbose](https://docs.nexus.bot/thinking)
83
+ - [Models](https://docs.nexus.bot/models)
84
+ - [Agent send CLI](https://docs.nexus.bot/agent-send)
85
+ - [Terminal UI](https://docs.nexus.bot/tui)
86
+ - [Browser control](https://docs.nexus.bot/browser)
87
+ - [Browser (Linux troubleshooting)](https://docs.nexus.bot/browser-linux-troubleshooting)
88
+
89
+ ## Nodes, media, voice
90
+
91
+ - [Nodes overview](https://docs.nexus.bot/nodes)
92
+ - [Camera](https://docs.nexus.bot/camera)
93
+ - [Images](https://docs.nexus.bot/images)
94
+ - [Audio](https://docs.nexus.bot/audio)
95
+ - [Location command](https://docs.nexus.bot/location-command)
96
+ - [Voice wake](https://docs.nexus.bot/voicewake)
97
+ - [Talk mode](https://docs.nexus.bot/talk)
98
+
99
+ ## Platforms
100
+
101
+ - [macOS app overview](https://docs.nexus.bot/macos)
102
+ - [macOS dev setup](https://docs.nexus.bot/mac/dev-setup)
103
+ - [macOS menu bar](https://docs.nexus.bot/mac/menu-bar)
104
+ - [macOS voice wake](https://docs.nexus.bot/mac/voicewake)
105
+ - [macOS voice overlay](https://docs.nexus.bot/mac/voice-overlay)
106
+ - [macOS WebChat](https://docs.nexus.bot/mac/webchat)
107
+ - [macOS Canvas](https://docs.nexus.bot/mac/canvas)
108
+ - [macOS child process](https://docs.nexus.bot/mac/child-process)
109
+ - [macOS health](https://docs.nexus.bot/mac/health)
110
+ - [macOS icon](https://docs.nexus.bot/mac/icon)
111
+ - [macOS logging](https://docs.nexus.bot/mac/logging)
112
+ - [macOS permissions](https://docs.nexus.bot/mac/permissions)
113
+ - [macOS remote](https://docs.nexus.bot/mac/remote)
114
+ - [macOS signing](https://docs.nexus.bot/mac/signing)
115
+ - [macOS release](https://docs.nexus.bot/mac/release)
116
+ - [macOS bun gateway](https://docs.nexus.bot/mac/bun)
117
+ - [macOS XPC](https://docs.nexus.bot/mac/xpc)
118
+ - [macOS skills](https://docs.nexus.bot/mac/skills)
119
+ - [macOS Peekaboo plan](https://docs.nexus.bot/mac/peekaboo)
120
+ - [iOS node](https://docs.nexus.bot/ios)
121
+ - [Android node](https://docs.nexus.bot/android)
122
+ - [Windows app](https://docs.nexus.bot/windows)
123
+ - [Linux app](https://docs.nexus.bot/linux)
124
+ - [Web surfaces](https://docs.nexus.bot/web)
125
+
126
+ ## Workspace + templates
127
+
128
+ - [Skills](https://docs.nexus.bot/skills)
129
+ - [Skills config](https://docs.nexus.bot/skills-config)
130
+ - [Default AGENTS](https://docs.nexus.bot/AGENTS.default)
131
+ - [Templates: AGENTS](https://docs.nexus.bot/templates/AGENTS)
132
+ - [Templates: BOOTSTRAP](https://docs.nexus.bot/templates/BOOTSTRAP)
133
+ - [Templates: IDENTITY](https://docs.nexus.bot/templates/IDENTITY)
134
+ - [Templates: SOUL](https://docs.nexus.bot/templates/SOUL)
135
+ - [Templates: TOOLS](https://docs.nexus.bot/templates/TOOLS)
136
+ - [Templates: USER](https://docs.nexus.bot/templates/USER)
137
+
138
+ ## Experiments + proposals
139
+
140
+ - [Onboarding config protocol](https://docs.nexus.bot/onboarding-config-protocol)
141
+ - [Research: memory](https://docs.nexus.bot/research/memory)
142
+ - [Proposal: model config](https://docs.nexus.bot/proposals/model-config)
143
+
144
+ ## Testing + release
145
+
146
+ - [Testing](https://docs.nexus.bot/test)
147
+ - [Release checklist](https://docs.nexus.bot/RELEASING)
148
+ - [Device models](https://docs.nexus.bot/device-models)
package/docs/images.md ADDED
@@ -0,0 +1,51 @@
1
+ ---
2
+ summary: "Image and media handling rules for send, gateway, and agent replies"
3
+ read_when:
4
+ - Modifying media pipeline or attachments
5
+ ---
6
+ # Image & Media Support — 2025-12-05
7
+
8
+ NEXUS is now **web-only** (Baileys). This document captures the current media handling rules for send, gateway, and agent replies.
9
+
10
+ ## Goals
11
+ - Send media with optional captions via `nexus send --media`.
12
+ - Allow auto-replies from the web inbox to include media alongside text.
13
+ - Keep per-type limits sane and predictable.
14
+
15
+ ## CLI Surface
16
+ - `nexus send --media <path-or-url> [--message <caption>]`
17
+ - `--media` optional; caption can be empty for media-only sends.
18
+ - `--dry-run` prints the resolved payload; `--json` emits `{ provider, to, messageId, mediaUrl, caption }`.
19
+
20
+ ## Web Provider Behavior
21
+ - Input: local file path **or** HTTP(S) URL.
22
+ - Flow: load into a Buffer, detect media kind, and build the correct payload:
23
+ - **Images:** resize & recompress to JPEG (max side 2048px) targeting `agent.mediaMaxMb` (default 5 MB), capped at 6 MB.
24
+ - **Audio/Voice/Video:** pass-through up to 16 MB; audio is sent as a voice note (`ptt: true`).
25
+ - **Documents:** anything else, up to 100 MB, with filename preserved when available.
26
+ - WhatsApp GIF-style playback: send an MP4 with `gifPlayback: true` (CLI: `--gif-playback`) so mobile clients loop inline.
27
+ - MIME detection prefers magic bytes, then headers, then file extension.
28
+ - Caption comes from `--message` or `reply.text`; empty caption is allowed.
29
+ - Logging: non-verbose shows `↩️`/`✅`; verbose includes size and source path/URL.
30
+
31
+ ## Auto-Reply Pipeline
32
+ - `getReplyFromConfig` returns `{ text?, mediaUrl?, mediaUrls? }`.
33
+ - When media is present, the web sender resolves local paths or URLs using the same pipeline as `nexus send`.
34
+ - Multiple media entries are sent sequentially if provided.
35
+
36
+ ## Inbound Media to Commands (Pi)
37
+ - When inbound web messages include media, NEXUS downloads to a temp file and exposes templating variables:
38
+ - `{{MediaUrl}}` pseudo-URL for the inbound media.
39
+ - `{{MediaPath}}` local temp path written before running the command.
40
+ - When a per-session Docker sandbox is enabled, inbound media is copied into the sandbox workspace and `MediaPath`/`MediaUrl` are rewritten to a relative path like `media/inbound/<filename>`.
41
+ - Audio transcription (if configured) runs before templating and can replace `Body` with the transcript.
42
+
43
+ ## Limits & Errors
44
+ - Images: ~6 MB cap after recompression.
45
+ - Audio/voice/video: 16 MB cap; documents: 100 MB cap.
46
+ - Oversize or unreadable media → clear error in logs and the reply is skipped.
47
+
48
+ ## Notes for Tests
49
+ - Cover send + reply flows for image/audio/document cases.
50
+ - Validate recompression for images (size bound) and voice-note flag for audio.
51
+ - Ensure multi-media replies fan out as sequential sends.
@@ -0,0 +1,94 @@
1
+ ---
2
+ summary: "iMessage support via imsg (JSON-RPC over stdio), setup, and chat_id routing"
3
+ read_when:
4
+ - Setting up iMessage support
5
+ - Debugging iMessage send/receive
6
+ ---
7
+ # iMessage (imsg)
8
+
9
+ Status: external CLI integration. No daemon.
10
+
11
+ ## Model
12
+ - Nexus spawns `imsg rpc` as a child process.
13
+ - JSON-RPC runs over stdin/stdout (one JSON object per line).
14
+ - Gateway owns the process; no TCP port needed.
15
+
16
+ ## Multi-account (Apple IDs)
17
+
18
+ iMessage “multi-account” in one Gateway process is not currently supported in a meaningful way:
19
+ - Messages accounts are owned by the signed-in macOS user session.
20
+ - `imsg` reads the local Messages DB and sends via that user’s configured services.
21
+ - There isn’t a robust “pick AppleID X as the sender” switch we can depend on.
22
+
23
+ ### Practical approach: multiple gateways on multiple Macs/users
24
+
25
+ If you need two iMessage identities:
26
+ - Run one Gateway on each macOS user/machine that’s signed into the desired Apple ID.
27
+ - Connect to the desired Gateway remotely (Tailscale preferred; SSH tunnel is the universal fallback).
28
+
29
+ See:
30
+ - `docs/remote.md` (SSH tunnel to `127.0.0.1:18789`)
31
+ - `docs/discovery.md` (bridge vs SSH transport model)
32
+
33
+ ### Could we do “iMessage over SSH” from a single Gateway?
34
+
35
+ Maybe, but it’s a new design:
36
+ - Outbound could theoretically pipe `imsg rpc` over SSH (stdio bridge).
37
+ - Inbound still needs a remote watcher (DB polling / event stream) and a transport back to the main Gateway.
38
+
39
+ That’s closer to “remote provider instances” (or “multi-gateway aggregation”) than a small config tweak.
40
+
41
+ ## Requirements
42
+ - macOS with Messages signed in.
43
+ - Full Disk Access for Nexus + the `imsg` binary (Messages DB access).
44
+ - Automation permission for Messages when sending.
45
+
46
+ ## Config
47
+
48
+ ```json5
49
+ {
50
+ imessage: {
51
+ enabled: true,
52
+ cliPath: "imsg",
53
+ dbPath: "~/Library/Messages/chat.db",
54
+ dmPolicy: "pairing", // pairing | allowlist | open | disabled
55
+ allowFrom: ["+15555550123", "user@example.com", "chat_id:123"],
56
+ groupPolicy: "open",
57
+ groupAllowFrom: ["chat_id:123"],
58
+ includeAttachments: false,
59
+ mediaMaxMb: 16,
60
+ service: "auto",
61
+ region: "US"
62
+ }
63
+ }
64
+ ```
65
+
66
+ Notes:
67
+ - `allowFrom` accepts handles (phone/email) or `chat_id:<id>` entries.
68
+ - Default: `imessage.dmPolicy="pairing"` — unknown DM senders get a pairing code (approve via `nexus pairing approve --provider imessage <code>`). `"open"` requires `allowFrom=["*"]`.
69
+ - `groupPolicy` controls group handling (`open|disabled|allowlist`).
70
+ - `groupAllowFrom` accepts the same entries as `allowFrom`.
71
+ - `service` defaults to `auto` (use `imessage` or `sms` to pin).
72
+ - `region` is only used for SMS targeting.
73
+
74
+ ## Addressing / targets
75
+
76
+ Prefer `chat_id` for stable routing:
77
+ - `chat_id:123` (preferred)
78
+ - `chat_guid:...` (fallback)
79
+ - `chat_identifier:...` (fallback)
80
+ - direct handles: `imessage:+1555` / `sms:+1555` / `user@example.com`
81
+
82
+ List chats:
83
+ ```
84
+ imsg chats --limit 20
85
+ ```
86
+
87
+ ## Group chat behavior
88
+ - Group messages set `ChatType=group`, `GroupSubject`, and `GroupMembers`.
89
+ - Group activation respects `imessage.groups."*".requireMention` and `routing.groupChat.mentionPatterns` (patterns are required to detect mentions on iMessage). When `imessage.groups` is set, it also acts as a group allowlist; include `"*"` to allow all groups.
90
+ - Replies go back to the same `chat_id` (group or direct).
91
+
92
+ ## Troubleshooting
93
+ - `nexus gateway call providers.status --params '{"probe":true}'`
94
+ - Verify `imsg` is on PATH and has access to Messages DB.