@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,141 @@
1
+ # Feature Inventory Overview
2
+
3
+ > Scope: Nexus CLI repo (`/home/projects/nexus`) + Nexus Website repo (`/home/projects/nexus-website`)
4
+ > Includes Rust cloud engine under `native/nexus-cloud`.
5
+ > Last updated: 2026-01-17
6
+
7
+ This is the canonical inventory of **all functionality and flows** built across Nexus.
8
+ Use it to guide stabilization, documentation, and test planning.
9
+
10
+ ## CLI Feature Map (Nexus repo)
11
+
12
+ ### Core commands (base CLI)
13
+ - `nexus init [workspace]` — create workspace
14
+ - `nexus status` — onboarding/status overview, filters
15
+ - `nexus capabilities` / `nexus map` — capabilities registry
16
+ - `nexus quest` — onboarding quests
17
+ - `nexus suggestions` — next‑action suggestions
18
+ - `nexus identity [user|agent]` — identity files
19
+ - `nexus config` — config path/status
20
+ - `nexus update` — updater
21
+ - `nexus log` — CLI log/diagnostic surface
22
+
23
+ ### Cloud Sync (TypeScript wrapper + Rust engine)
24
+ - `nexus cloud init/login/push/pull/status/log/reset/guide`
25
+ - Rust engine: `native/nexus-cloud/cli/src/main.rs`
26
+ - TS wrapper: `src/cli/cloud-cli.ts`
27
+ - State path:
28
+ - `$NEXUS_HOME/state/cloud` (preferred)
29
+ - `~/.nexus-rs/state/cloud` (fallback)
30
+
31
+ ### Collaboration / Shared Spaces (Cloud)
32
+ - `nexus cloud collab keys/auth/spaces/invite-links`
33
+ - `nexus cloud spaces list/mount/unmount/push/pull`
34
+
35
+ ### Skills (Local)
36
+ - `nexus skill list/info/use/run/verify/stats`
37
+
38
+ ### Skills Hub (Remote)
39
+ - `nexus skills search/publish/install`
40
+
41
+ ### Credentials & Connectors
42
+ - `nexus credential list/get/add/remove/import/scan/verify`
43
+ - `nexus connector verify/accounts`
44
+
45
+ ### Usage & Telemetry
46
+ - `nexus usage upload/tracking`
47
+
48
+ ### Gateway / Daemon / RPC
49
+ - `nexus gateway *` (start/stop/status/call/agent/health/wake)
50
+
51
+ ### DNS / Discovery
52
+ - `nexus dns setup`
53
+
54
+ ### Devices / Nodes / Browser / Canvas
55
+ - Browser CLI: `src/cli/browser-cli.ts` (+ inspect/manage/observe/actions)
56
+ - Nodes CLI: `src/cli/nodes-cli.ts` (+ camera/screen/canvas)
57
+ - Canvas CLI: `src/cli/canvas-cli.ts`
58
+
59
+ ### Other CLI Modules
60
+ - Cron: `src/cli/cron-cli.ts`
61
+ - Hooks: `src/cli/hooks-cli.ts`
62
+ - Models: `src/cli/models-cli.ts`
63
+ - Pairing: `src/cli/pairing-cli.ts`
64
+ - Profile: `src/cli/profile.ts`
65
+ - Prompt: `src/cli/prompt.ts`
66
+ - TUI: `src/cli/tui-cli.ts`
67
+ - Telegram: `src/cli/telegram-cli.ts`
68
+ - Upstream sync: `src/cli/upstream-sync-cli.ts`
69
+ - Wait: `src/cli/wait.ts`
70
+
71
+ ## Cloud Engine (Rust /native/nexus-cloud)
72
+
73
+ Crates:
74
+ - `api`, `core`, `crypto`, `storage`, `sync`, `chunker`, `cli`, `daemon`
75
+
76
+ State files (encrypted unless noted):
77
+ - `keys.enc`, `auth-keypair.enc`, `collab-keys.enc`, `space-secrets.enc`
78
+ - `website-auth.enc`
79
+ - `config.json`, `index.db`, `spaces/*.json`
80
+
81
+ Key behaviors:
82
+ - All encryption keys remain local; server never receives plaintext.
83
+ - Space keys are per‑member and must be resealed on key rotation.
84
+
85
+ ## Website Feature Map (nexus-website repo)
86
+
87
+ ### Auth & Sessions
88
+ - `/api/auth/*` Auth.js handlers
89
+ - `/login` (magic links, OAuth)
90
+ - CLI auth flow: `/auth/cli`, `/api/cli/token`
91
+ - Token validation: `/api/validate-token`
92
+
93
+ ### Dashboard & Account
94
+ - `/dashboard` main UI
95
+ - `/dashboard/settings` (profile, recovery phrase, usage tracking)
96
+ - `/dashboard/tokens` (API tokens)
97
+ - `/dashboard/skills` + admin panels
98
+
99
+ ### Cloud Sync
100
+ - `/api/cloud/token` (cloud token exchange)
101
+ - `/api/usage/upload`
102
+ - `/api/usage/settings`
103
+
104
+ ### Collaboration
105
+ - `/api/spaces` (list/create)
106
+ - `/api/spaces/$id/key`
107
+ - `/api/spaces/$id/members/*`
108
+ - `/api/spaces/$id/invite-links/*`
109
+ - `/api/connections/*`
110
+ - `/api/invite-links/$token/accept`
111
+ - `/invite/$token` UI flow
112
+
113
+ ### Skills Hub
114
+ - `/skills` browse/search
115
+ - `/skills/$slug` detail
116
+ - `/skills/$slug/audits` audit report
117
+ - `/api/skills/*` search/detail/download/version/review/star/flag/moderate
118
+ - `/api/skills/audits/run`
119
+ - `/api/skills/$slug/audits/rescan`
120
+ - `/api/skills/capabilities*` registry & proposals
121
+ - `/api/skills/registry/refresh`
122
+ - `/api/skills/blobs/$sha`
123
+
124
+ ### Audit, Policy, Moderation
125
+ Key files:
126
+ - `app/lib/skills-audit-runner.ts`
127
+ - `app/lib/skills-policy.ts`
128
+ - `app/lib/skills-events.ts`
129
+
130
+ ### Admin / Ops
131
+ - `/dashboard/admin` (usage ingestion metrics, events, opt‑outs)
132
+ - gated by `isNexusAdminEmail()` (`app/lib/skills-admin.ts`)
133
+
134
+ ## Manual End‑to‑End Flows (Summary)
135
+
136
+ - Auth: magic link, OAuth, logout, CLI device auth
137
+ - Personal workspace: init/login/push/log/pull/reset
138
+ - Collaboration: create space, invite, accept, mount, push/pull, key rotation
139
+ - Skills Hub: publish, search, install, audits, review/flag
140
+ - Usage: upload, settings, admin monitoring
141
+ - Gateway/DNS/Tools: service health, discovery, verification
@@ -0,0 +1,53 @@
1
+ # Rollout Checklist
2
+
3
+ > Use after all rows in `test-matrix.md` are marked **pass** or **accepted risk**.
4
+
5
+ ## Pre‑Launch (Day ‑1)
6
+
7
+ ### Data & Schema
8
+ - [ ] All migrations applied to prod (verify `drizzle/meta/_journal.json`)
9
+ - [ ] `users.usage_tracking_opt_out` exists in prod
10
+ - [ ] Invite link tables updated and reachable
11
+
12
+ ### Secrets & Env
13
+ - [ ] `AUTH_SECRET` set
14
+ - [ ] `AUTH_URL` / `NEXTAUTH_URL` set
15
+ - [ ] `EMAIL_SERVER` + `EMAIL_FROM` verified
16
+ - [ ] Cloud URLs set (`NEXUS_HUB_URL`, `NEXUS_WEBSITE_URL`, `NEXUS_CLOUD_URL`)
17
+ - [ ] Stripe keys set (if billing enabled)
18
+
19
+ ### Infra
20
+ - [ ] Vercel deployment healthy
21
+ - [ ] Worker endpoints reachable (`/api/cloud/token`, `/api/skills/*`)
22
+ - [ ] Object storage (R2/S3) reachable for skills + sync
23
+ - [ ] Logs + metrics visible
24
+
25
+ ## Launch Day (Day 0)
26
+
27
+ ### Smoke Tests (must pass)
28
+ - [ ] Magic link login (web)
29
+ - [ ] CLI login (`nexus cloud login`)
30
+ - [ ] Personal workspace push/pull
31
+ - [ ] Collab space create + invite + mount + push/pull
32
+ - [ ] Skills hub search + install + download
33
+ - [ ] Audit runner executes
34
+ - [ ] Usage upload succeeds
35
+
36
+ ### User‑Facing UI
37
+ - [ ] `/skills` loads and search works
38
+ - [ ] `/skills/$slug` detail loads and audit view link works
39
+ - [ ] `/dashboard` loads for logged‑in users
40
+ - [ ] Logout clears session
41
+
42
+ ## Post‑Launch (Day +1)
43
+
44
+ ### Monitoring
45
+ - [ ] Audit job health
46
+ - [ ] Usage ingestion counts steady
47
+ - [ ] Error rate within bounds
48
+ - [ ] Sync error rate acceptable
49
+
50
+ ### Backlog Review
51
+ - [ ] Record known issues
52
+ - [ ] Prioritize test automation
53
+ - [ ] Capture user feedback
@@ -0,0 +1,87 @@
1
+ # Test Matrix (Manual)
2
+
3
+ > Goal: confirm every surface works end‑to‑end before launch.
4
+ > Status values: `pending` | `pass` | `fail` | `blocked`
5
+
6
+ ## Auth & Sessions
7
+
8
+ | Area | Flow | Where | Expected | Status |
9
+ | --- | --- | --- | --- | --- |
10
+ | Magic link login | Email → verify → dashboard | Web | Session cookie set, dashboard loads | pending |
11
+ | OAuth login | OAuth → dashboard | Web | Session cookie set, dashboard loads | pending |
12
+ | Logout | Dashboard → Sign out | Web | Session cleared, protected routes redirect to login | pending |
13
+ | CLI auth | `nexus cloud login` | CLI + Web | Token stored, rust state provisioned | pending |
14
+ | Token creation | `/api/tokens/create` | Web API | Token returned once, usable for CLI | pending |
15
+
16
+ ## Personal Workspace Sync
17
+
18
+ | Area | Flow | Where | Expected | Status |
19
+ | --- | --- | --- | --- | --- |
20
+ | Init | `nexus cloud init` | CLI | Config + state created | pending |
21
+ | Login | `nexus cloud login` | CLI | Keys provisioned, auth stored | pending |
22
+ | Push | `nexus cloud push` | CLI | Commit hash returned | pending |
23
+ | Log | `nexus cloud log` | CLI | Commit history visible | pending |
24
+ | Pull | `nexus cloud pull` | CLI | Files updated, commit hash | pending |
25
+ | Reset | `nexus cloud reset --force` | CLI | Remote workspace cleared | pending |
26
+ | Large sync | push with large files | CLI | No timeout / retry OK | pending |
27
+
28
+ ## Collaboration / Spaces
29
+
30
+ | Area | Flow | Where | Expected | Status |
31
+ | --- | --- | --- | --- | --- |
32
+ | Create space | `collab spaces create` | CLI | Space created, keys saved | pending |
33
+ | Invite link | `collab spaces invite-links create` | CLI | Link created | pending |
34
+ | Accept invite | `/invite/$token` | Web | Join succeeds, metadata visible | pending |
35
+ | Fetch space key | `collab spaces key` | CLI | Space key stored locally | pending |
36
+ | Mount | `spaces mount` | CLI | Mount path created, config saved | pending |
37
+ | Sync push | `spaces push` | CLI | Commit hash | pending |
38
+ | Sync pull | `spaces pull` | CLI | Files present | pending |
39
+ | Key rotation | remove + re‑invite | Web/API + CLI | New key version, member can mount | pending |
40
+
41
+ ## Skills Hub (CLI + Web)
42
+
43
+ | Area | Flow | Where | Expected | Status |
44
+ | --- | --- | --- | --- | --- |
45
+ | Publish | `nexus skills publish` | CLI | Skill version created | pending |
46
+ | Search | `/skills`, `/api/skills/search` | Web | Results ordered, filters apply | pending |
47
+ | Search | `nexus skills search` | CLI | Results displayed | pending |
48
+ | Install | `nexus skills install` | CLI | Skill installed, files present | pending |
49
+ | Download | `/api/skills/$slug/download` | Web | Artifact URL delivered | pending |
50
+ | Audit run | `/api/skills/audits/run` | Web API | Audits created | pending |
51
+ | Audit rescan | `/api/skills/$slug/audits/rescan` | Web API | New audit entries | pending |
52
+ | Review/flag/star | `/api/skills/$slug/review|flag|star` | Web | Counts update | pending |
53
+
54
+ ## Usage Tracking
55
+
56
+ | Area | Flow | Where | Expected | Status |
57
+ | --- | --- | --- | --- | --- |
58
+ | Upload | `nexus usage upload` → `/api/usage/upload` | CLI + Web | Batches ingested | pending |
59
+ | Opt‑out | `/dashboard/settings` | Web | Paid plan can toggle | pending |
60
+ | Admin view | `/dashboard/admin` | Web | Metrics visible | pending |
61
+
62
+ ## Credentials & Connectors
63
+
64
+ | Area | Flow | Where | Expected | Status |
65
+ | --- | --- | --- | --- | --- |
66
+ | Credential add | `nexus credential add` | CLI | Stored + listed | pending |
67
+ | Credential verify | `nexus credential verify` | CLI | Validates against provider | pending |
68
+ | Connector verify | `nexus connector verify` | CLI | Dependency checks pass | pending |
69
+
70
+ ## Gateway / DNS / Tools
71
+
72
+ | Area | Flow | Where | Expected | Status |
73
+ | --- | --- | --- | --- | --- |
74
+ | Gateway start | `nexus gateway start` | CLI | Health OK | pending |
75
+ | RPC call | `nexus gateway call` | CLI | Response returned | pending |
76
+ | DNS setup | `nexus dns setup` | CLI | CoreDNS configured | pending |
77
+
78
+ ## Website Admin / Ops
79
+
80
+ | Area | Flow | Where | Expected | Status |
81
+ | --- | --- | --- | --- | --- |
82
+ | Admin access | `/dashboard/admin` | Web | Only admins can view | pending |
83
+ | Audit moderation | `/api/skills/$slug/moderate` | Web API | Status updated | pending |
84
+
85
+ ## Notes / Known Blockers
86
+
87
+ - Record any infra or env issues here before launch.
@@ -0,0 +1,9 @@
1
+ # Feature Inventory Docs
2
+
3
+ The feature inventory has been split into a dedicated folder:
4
+
5
+ - `docs/feature-inventory/overview.md`
6
+ - `docs/feature-inventory/test-matrix.md`
7
+ - `docs/feature-inventory/rollout-checklist.md`
8
+
9
+ Start with the overview, then work through the test matrix and rollout checklist.
@@ -0,0 +1,221 @@
1
+ ---
2
+ summary: "Schema-accurate configuration examples for common Nexus setups"
3
+ read_when:
4
+ - Learning how to configure Nexus
5
+ - Looking for configuration examples
6
+ - Setting up Nexus for the first time
7
+ ---
8
+ # Configuration Examples
9
+
10
+ Examples below are aligned with the current config schema. For the exhaustive
11
+ reference and per-field notes, see [Configuration](/configuration).
12
+
13
+ ## Quick start
14
+
15
+ ### Absolute minimum
16
+ ```json5
17
+ {
18
+ agent: { workspace: "~/nexus" },
19
+ whatsapp: { allowFrom: ["+15555550123"] }
20
+ }
21
+ ```
22
+
23
+ Save to `~/nexus/state/nexus.json` and you can DM the bot from that number.
24
+
25
+ ### Recommended starter
26
+ ```json5
27
+ {
28
+ identity: {
29
+ name: "Nexus",
30
+ theme: "helpful assistant",
31
+ emoji: "🦞"
32
+ },
33
+ agent: {
34
+ workspace: "~/nexus",
35
+ model: { primary: "anthropic/claude-sonnet-4-5" }
36
+ },
37
+ whatsapp: {
38
+ allowFrom: ["+15555550123"],
39
+ groups: { "*": { requireMention: true } }
40
+ },
41
+ routing: {
42
+ groupChat: {
43
+ mentionPatterns: ["@nexus", "nexus"]
44
+ }
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## Expanded example (major options)
50
+
51
+ > JSON5 lets you use comments and trailing commas. Regular JSON works too.
52
+
53
+ ```json5
54
+ {
55
+ identity: {
56
+ name: "Nexus",
57
+ theme: "helpful assistant",
58
+ emoji: "🦞"
59
+ },
60
+
61
+ logging: {
62
+ level: "info",
63
+ consoleLevel: "info",
64
+ consoleStyle: "pretty",
65
+ redactSensitive: "tools"
66
+ },
67
+
68
+ messages: {
69
+ messagePrefix: "[nexus]",
70
+ responsePrefix: ">",
71
+ ackReaction: "👀",
72
+ ackReactionScope: "group-mentions"
73
+ },
74
+
75
+ routing: {
76
+ groupChat: {
77
+ mentionPatterns: ["@nexus", "nexus"],
78
+ historyLimit: 50
79
+ },
80
+ queue: {
81
+ mode: "collect",
82
+ debounceMs: 1000,
83
+ cap: 20,
84
+ drop: "summarize",
85
+ byProvider: {
86
+ whatsapp: "collect",
87
+ telegram: "collect",
88
+ discord: "collect",
89
+ slack: "collect",
90
+ signal: "collect",
91
+ imessage: "collect",
92
+ webchat: "collect"
93
+ }
94
+ }
95
+ },
96
+
97
+ session: {
98
+ scope: "per-sender",
99
+ idleMinutes: 60,
100
+ resetTriggers: ["/new", "/reset"],
101
+ store: "~/nexus/state/agents/main/sessions/sessions.json",
102
+ typingIntervalSeconds: 5,
103
+ sendPolicy: {
104
+ default: "allow",
105
+ rules: [
106
+ { action: "deny", match: { channel: "discord", chatType: "group" } }
107
+ ]
108
+ }
109
+ },
110
+
111
+ agent: {
112
+ workspace: "~/nexus",
113
+ userTimezone: "America/Chicago",
114
+ model: {
115
+ primary: "anthropic/claude-sonnet-4-5",
116
+ fallbacks: ["anthropic/claude-opus-4-5", "openai/gpt-5.2"]
117
+ },
118
+ imageModel: {
119
+ primary: "openrouter/anthropic/claude-sonnet-4-5"
120
+ },
121
+ models: {
122
+ "anthropic/claude-opus-4-5": { alias: "opus" },
123
+ "anthropic/claude-sonnet-4-5": { alias: "sonnet" },
124
+ "openai/gpt-5.2": { alias: "gpt" }
125
+ },
126
+ thinkingDefault: "low",
127
+ verboseDefault: "off",
128
+ elevatedDefault: "on",
129
+ blockStreamingDefault: "off",
130
+ blockStreamingBreak: "text_end",
131
+ blockStreamingChunk: {
132
+ minChars: 800,
133
+ maxChars: 1200,
134
+ breakPreference: "paragraph"
135
+ },
136
+ timeoutSeconds: 600,
137
+ mediaMaxMb: 5,
138
+ typingIntervalSeconds: 5,
139
+ maxConcurrent: 3,
140
+ heartbeat: {
141
+ every: "30m",
142
+ target: "last",
143
+ prompt: "Consider outstanding tasks and HEARTBEAT.md guidance from the workspace context (if present). Checkup sometimes on your human during (user local) day time.",
144
+ ackMaxChars: 300
145
+ },
146
+ memorySearch: {
147
+ provider: "openai",
148
+ model: "text-embedding-004",
149
+ remote: {
150
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai/",
151
+ apiKey: "${GEMINI_API_KEY}"
152
+ }
153
+ },
154
+ sandbox: {
155
+ mode: "non-main",
156
+ perSession: true,
157
+ workspaceRoot: "~/nexus/sandboxes",
158
+ docker: {
159
+ image: "nexus-sandbox:bookworm-slim",
160
+ workdir: "/workspace",
161
+ readOnlyRoot: true,
162
+ tmpfs: ["/tmp", "/var/tmp", "/run"],
163
+ network: "none",
164
+ user: "1000:1000"
165
+ },
166
+ browser: {
167
+ enabled: false
168
+ }
169
+ }
170
+ },
171
+
172
+ whatsapp: {
173
+ dmPolicy: "pairing",
174
+ allowFrom: ["+15555550123"],
175
+ groupPolicy: "allowlist",
176
+ groupAllowFrom: ["+15555550123"],
177
+ groups: { "*": { requireMention: true } }
178
+ },
179
+
180
+ telegram: {
181
+ enabled: true,
182
+ botToken: "YOUR_TELEGRAM_BOT_TOKEN",
183
+ allowFrom: ["123456789"],
184
+ groupPolicy: "allowlist",
185
+ groupAllowFrom: ["123456789"],
186
+ groups: { "*": { requireMention: true } }
187
+ },
188
+
189
+ discord: {
190
+ enabled: true,
191
+ token: "YOUR_DISCORD_BOT_TOKEN",
192
+ dm: { enabled: true, allowFrom: ["steipete"] },
193
+ guilds: {
194
+ "123456789012345678": {
195
+ slug: "friends-of-nexus",
196
+ requireMention: false,
197
+ channels: {
198
+ general: { allow: true },
199
+ help: { allow: true, requireMention: true }
200
+ }
201
+ }
202
+ }
203
+ },
204
+
205
+ slack: {
206
+ enabled: true,
207
+ botToken: "xoxb-REPLACE_ME",
208
+ appToken: "xapp-REPLACE_ME",
209
+ channels: {
210
+ "#general": { allow: true, requireMention: true }
211
+ },
212
+ dm: { enabled: true, allowFrom: ["U123"] },
213
+ slashCommand: {
214
+ enabled: true,
215
+ name: "nexus",
216
+ sessionPrefix: "slack:slash",
217
+ ephemeral: true
218
+ }
219
+ }
220
+ }
221
+ ```
@@ -0,0 +1,172 @@
1
+ ---
2
+ summary: "Gateway configuration reference for ~/nexus/state/nexus.json"
3
+ read_when:
4
+ - Adding or modifying config fields
5
+ ---
6
+ # Gateway Configuration 🔧
7
+
8
+ Nexus reads an optional **JSON5** config from `~/nexus/state/nexus.json`
9
+ (comments + trailing commas allowed). You can override the path with
10
+ `NEXUS_CONFIG_PATH` (legacy: `NEXUS_CONFIG_PATH`).
11
+
12
+ If the file is missing, Nexus uses safe defaults (embedded Pi agent + per-sender
13
+ sessions + workspace `~/nexus`). You usually only need a config to:
14
+ - restrict who can trigger the bot (`whatsapp.allowFrom`, `telegram.allowFrom`, etc.)
15
+ - control group allowlists + mention behavior (`whatsapp.groups`, `telegram.groups`, `discord.guilds`, `routing.groupChat`)
16
+ - customize message prefixes (`messages`)
17
+ - set the agent's workspace (`agent.workspace`)
18
+ - tune the embedded agent defaults (`agent`) and session behavior (`session`)
19
+ - set identity used in UI/status (`identity`)
20
+
21
+ For the full schema and per-field notes, see [Configuration](/configuration).
22
+ For examples, see [Configuration Examples](/gateway/configuration-examples).
23
+
24
+ ## Minimal config (recommended starting point)
25
+
26
+ ```json5
27
+ {
28
+ agent: { workspace: "~/nexus" },
29
+ whatsapp: { allowFrom: ["+15555550123"] }
30
+ }
31
+ ```
32
+
33
+ Build the default sandbox image once with:
34
+ ```bash
35
+ scripts/sandbox-setup.sh
36
+ ```
37
+
38
+ ## Apply + restart (RPC)
39
+
40
+ Use `config.apply` to validate + write the full config and restart the Gateway
41
+ in one step. It writes a restart sentinel and pings the last active session
42
+ after the Gateway comes back.
43
+
44
+ Params:
45
+ - `raw` (string) — JSON5 payload for the entire config
46
+ - `sessionKey` (optional) — last active session key for the wake-up ping
47
+ - `restartDelayMs` (optional) — delay before restart (default 2000)
48
+
49
+ Example (via `nexus gateway call`):
50
+
51
+ ```bash
52
+ nexus gateway call config.apply --params '{
53
+ "raw": "{\\n agent: { workspace: \\"~/nexus\\" }\\n}\\n",
54
+ "sessionKey": "agent:main:whatsapp:dm:+15555550123",
55
+ "restartDelayMs": 1000
56
+ }'
57
+ ```
58
+
59
+ ## Config Includes (`$include`)
60
+
61
+ Split your config into multiple files using the `$include` directive. This is
62
+ useful for:
63
+ - organizing large configs (for example per-client routing rules)
64
+ - sharing common settings across environments
65
+ - keeping sensitive configs separate
66
+
67
+ ### Basic usage
68
+
69
+ ```json5
70
+ // ~/nexus/state/nexus.json
71
+ {
72
+ gateway: { port: 18789 },
73
+
74
+ // Include a single file (replaces the key's value)
75
+ agent: { "$include": "./agent.json5" },
76
+
77
+ // Include multiple files (deep-merged in order)
78
+ routing: {
79
+ "$include": [
80
+ "./routing/base.json5",
81
+ "./routing/clients.json5"
82
+ ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ ```json5
88
+ // ~/nexus/state/agent.json5
89
+ {
90
+ workspace: "~/nexus"
91
+ }
92
+ ```
93
+
94
+ ### Merge behavior
95
+
96
+ - **Single file**: Replaces the object containing `$include`
97
+ - **Array of files**: Deep-merges files in order (later files override earlier ones)
98
+ - **With sibling keys**: Sibling keys are merged after includes (override included values)
99
+ - **Arrays**: Concatenated when both sides are arrays
100
+
101
+ ```json5
102
+ // Sibling keys override included values
103
+ {
104
+ "$include": "./base.json5", // { a: 1, b: 2 }
105
+ b: 99 // Result: { a: 1, b: 99 }
106
+ }
107
+ ```
108
+
109
+ ### Nested includes
110
+
111
+ Included files can themselves contain `$include` directives (up to 10 levels deep):
112
+
113
+ ```json5
114
+ // clients/mueller.json5
115
+ {
116
+ routing: { "$include": "./mueller/routing.json5" },
117
+ agent: { "$include": "./mueller/agent.json5" }
118
+ }
119
+ ```
120
+
121
+ ### Path resolution
122
+
123
+ - **Relative paths**: Resolved relative to the including file
124
+ - **Absolute paths**: Used as-is
125
+ - **Parent directories**: `../` references work as expected
126
+
127
+ ```json5
128
+ { "$include": "./sub/config.json5" } // relative
129
+ { "$include": "/etc/nexus/base.json5" } // absolute
130
+ { "$include": "../shared/common.json5" } // parent dir
131
+ ```
132
+
133
+ ### Error handling
134
+
135
+ - **Missing file**: Clear error with resolved path
136
+ - **Parse error**: Shows which included file failed
137
+ - **Circular includes**: Detected and reported with include chain
138
+
139
+ ### Example: Modular routing setup
140
+
141
+ ```json5
142
+ // ~/nexus/state/nexus.json
143
+ {
144
+ gateway: { port: 18789, auth: { token: "secret" } },
145
+ routing: {
146
+ agents: { "$include": [
147
+ "./clients/mueller/agents.json5",
148
+ "./clients/schmidt/agents.json5"
149
+ ]},
150
+ groups: { "$include": [
151
+ "./clients/mueller/groups.json5",
152
+ "./clients/schmidt/groups.json5"
153
+ ]}
154
+ },
155
+ whatsapp: { dmPolicy: "pairing" }
156
+ }
157
+ ```
158
+
159
+ ```json5
160
+ // ~/nexus/state/clients/mueller/agents.json5
161
+ {
162
+ "mueller-transcribe": { workspace: "~/clients/mueller/transcribe" },
163
+ "mueller-docs": { workspace: "~/clients/mueller/docs" }
164
+ }
165
+ ```
166
+
167
+ ```json5
168
+ // ~/nexus/state/clients/mueller/groups.json5
169
+ {
170
+ "120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"]
171
+ }
172
+ ```