@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,69 @@
1
+ ---
2
+ summary: "Step-by-step release checklist for npm + macOS app"
3
+ read_when:
4
+ - Cutting a new npm release
5
+ - Cutting a new macOS app release
6
+ - Verifying metadata before publishing
7
+ ---
8
+
9
+ # Release Checklist (npm + macOS)
10
+
11
+ Use `pnpm` (Node 22+) from the repo root. Keep the working tree clean before tagging/publishing.
12
+
13
+ 1) **Version & metadata**
14
+ - [ ] Bump `package.json` version (e.g., `1.1.0`).
15
+ - [ ] Update CLI/version strings: `src/cli/program.ts` and the Baileys user agent in `src/provider-web.ts`.
16
+ - [ ] Confirm package metadata (name, description, repository, keywords, license) and `bin` map points to `dist/index.js` for `nexus`.
17
+ - [ ] If dependencies changed, run `pnpm install` so `pnpm-lock.yaml` is current.
18
+
19
+ 2) **Build & artifacts**
20
+ - [ ] If A2UI inputs changed, run `pnpm canvas:a2ui:bundle` and commit any updated `src/canvas-host/a2ui/a2ui.bundle.js`.
21
+ - [ ] `pnpm run build` (regenerates `dist/`).
22
+ - [ ] Optional: `npm pack --pack-destination /tmp` after the build; inspect the tarball contents and keep it handy for the GitHub release (do **not** commit it).
23
+
24
+ 3) **Changelog & docs**
25
+ - [ ] Update `CHANGELOG.md` with user-facing highlights (create the file if missing); keep entries strictly descending by version.
26
+ - [ ] Ensure README examples/flags match current CLI behavior (notably new commands or options).
27
+
28
+ 4) **Validation**
29
+ - [ ] `pnpm lint`
30
+ - [ ] `pnpm test` (or `pnpm test:coverage` if you need coverage output)
31
+ - [ ] `pnpm run build` (last sanity check after tests)
32
+ - [ ] `pnpm release:check` (verifies npm pack contents)
33
+ - [ ] `pnpm test:install:smoke` (Docker install smoke test; required before release)
34
+ - If the immediate previous npm release is known broken, set `NEXUS_INSTALL_SMOKE_PREVIOUS=<last-good-version>` or `NEXUS_INSTALL_SMOKE_SKIP_PREVIOUS=1` for the preinstall step.
35
+ - [ ] (Optional) Installer E2E (Docker, runs `curl -fsSL https://nexus.bot/install.sh | bash`, onboards, then runs real tool calls):
36
+ - `pnpm test:install:e2e:openai` (requires `OPENAI_API_KEY`)
37
+ - `pnpm test:install:e2e:anthropic` (requires `ANTHROPIC_API_KEY`)
38
+ - [ ] (Optional) Spot-check the web gateway if your changes affect send/receive paths.
39
+
40
+ 5) **macOS app (Sparkle)**
41
+ - [ ] Build + sign the macOS app, then zip it for distribution.
42
+ - [ ] Generate the Sparkle appcast (HTML notes via `scripts/make_appcast.sh`) and update `appcast.xml`.
43
+ - [ ] Keep the app zip (and optional dSYM zip) ready to attach to the GitHub release.
44
+ - [ ] Follow [`docs/mac/release.md`](https://docs.nexus.bot/mac/release) for the exact commands and required env vars.
45
+ - `APP_BUILD` must be numeric + monotonic (no `-beta`) so Sparkle compares versions correctly.
46
+ - If notarizing, use the `nexus-notary` keychain profile created from App Store Connect API env vars (see [`docs/mac/release.md`](https://docs.nexus.bot/mac/release)).
47
+
48
+ 6) **Publish (npm)**
49
+ - [ ] Confirm git status is clean; commit and push as needed.
50
+ - [ ] `npm login` (verify 2FA) if needed.
51
+ - [ ] `npm publish --access public` (use `--tag beta` for pre-releases).
52
+ - [ ] Verify the registry: `npm view nexus version` and `npx -y nexus@X.Y.Z --version` (or `--help`).
53
+
54
+ ### Troubleshooting (notes from 2.0.0-beta2 release)
55
+ - **npm pack/publish hangs or produces huge tarball**: the macOS app bundle in `dist/Nexus.app` (and release zips) get swept into the package. Fix by whitelisting publish contents via `package.json` `files` (include dist subdirs, docs, skills; exclude app bundles). Confirm with `npm pack --dry-run` that `dist/Nexus.app` is not listed.
56
+ - **npm auth web loop for dist-tags**: use legacy auth to get an OTP prompt:
57
+ - `NPM_CONFIG_AUTH_TYPE=legacy npm dist-tag add nexus@X.Y.Z latest`
58
+ - **`npx` verification fails with `ECOMPROMISED: Lock compromised`**: retry with a fresh cache:
59
+ - `NPM_CONFIG_CACHE=/tmp/npm-cache-$(date +%s) npx -y nexus@X.Y.Z --version`
60
+ - **Tag needs repointing after a late fix**: force-update and push the tag, then ensure the GitHub release assets still match:
61
+ - `git tag -f vX.Y.Z && git push -f origin vX.Y.Z`
62
+
63
+ 7) **GitHub release + appcast**
64
+ - [ ] Tag and push: `git tag vX.Y.Z && git push origin vX.Y.Z` (or `git push --tags`).
65
+ - [ ] Create/refresh the GitHub release for `vX.Y.Z` with **title `nexus X.Y.Z`** (not just the tag); body should inline the product-facing bullets from the changelog (no bare links) **and must not repeat the title inside the body**.
66
+ - [ ] Attach artifacts: `npm pack` tarball (optional), `Nexus-X.Y.Z.zip`, and `Nexus-X.Y.Z.dSYM.zip` (if generated).
67
+ - [ ] Commit the updated `appcast.xml` and push it (Sparkle feeds from main).
68
+ - [ ] From a clean temp directory (no `package.json`), run `npx -y nexus@X.Y.Z send --help` to confirm install/CLI entrypoints work.
69
+ - [ ] Announce/share release notes.
@@ -0,0 +1,53 @@
1
+ title: "NEXUS Docs"
2
+ description: "A TypeScript/Node gateway + macOS/iOS/Android companions for WhatsApp (web) and Telegram (bot)."
3
+ markdown: kramdown
4
+ highlighter: rouge
5
+
6
+ # Keep GitHub Pages' default page URLs (e.g. /gateway.html). Many docs links
7
+ # are written as relative *.md links and are rewritten during the build.
8
+
9
+ plugins:
10
+ - jekyll-relative-links
11
+
12
+ relative_links:
13
+ enabled: true
14
+ collections: true
15
+
16
+ defaults:
17
+ - scope:
18
+ path: ""
19
+ values:
20
+ layout: default
21
+
22
+ nav:
23
+ - title: "Home"
24
+ url: "/"
25
+ - title: "Nexus Setup"
26
+ url: "/nexus.html"
27
+ - title: "Gateway"
28
+ url: "/gateway.html"
29
+ - title: "Remote"
30
+ url: "/remote.html"
31
+ - title: "Discovery"
32
+ url: "/discovery.html"
33
+ - title: "Configuration"
34
+ url: "/configuration.html"
35
+ - title: "WebChat"
36
+ url: "/webchat.html"
37
+ - title: "macOS App"
38
+ url: "/macos.html"
39
+ - title: "iOS App"
40
+ url: "/ios.html"
41
+ - title: "Android App"
42
+ url: "/android.html"
43
+ - title: "Telegram"
44
+ url: "/telegram.html"
45
+ - title: "Security"
46
+ url: "/security.html"
47
+ - title: "Troubleshooting"
48
+ url: "/troubleshooting.html"
49
+
50
+ kramdown:
51
+ input: GFM
52
+ hard_wrap: false
53
+ syntax_highlighter: rouge
@@ -0,0 +1,145 @@
1
+ <!doctype html>
2
+ <html lang="en" data-theme="auto">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="color-scheme" content="light dark" />
7
+ <title>
8
+ {% if page.url == "/" %}{{ site.title }}{% else %}{{ page.title | default: page.path | split: "/" | last | replace: ".md", "" }} · {{ site.title }}{% endif %}
9
+ </title>
10
+
11
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
12
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
13
+ <link
14
+ href="https://fonts.googleapis.com/css2?family=Pixelify+Sans:wght@400..700&family=Fragment+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap"
15
+ rel="stylesheet"
16
+ />
17
+ <script>
18
+ (() => {
19
+ try {
20
+ const stored = localStorage.getItem("nexus:theme");
21
+ if (stored === "light" || stored === "dark") document.documentElement.dataset.theme = stored;
22
+ } catch {
23
+ // ignore
24
+ }
25
+ })();
26
+ </script>
27
+ <link rel="stylesheet" href="{{ "/assets/terminal.css" | relative_url }}" />
28
+ <link rel="stylesheet" href="{{ "/assets/markdown.css" | relative_url }}" />
29
+ <script defer src="{{ "/assets/theme.js" | relative_url }}"></script>
30
+ </head>
31
+
32
+ <body>
33
+ <a class="skip-link" href="#content">Skip to content</a>
34
+
35
+ <header class="shell">
36
+ <div class="shell__frame" role="banner">
37
+ <div class="shell__titlebar">
38
+ <div class="brand" aria-label="NEXUS docs terminal">
39
+ <img
40
+ class="brand__logo"
41
+ src="{{ "/assets/pixel-lobster.svg" | relative_url }}"
42
+ alt=""
43
+ width="40"
44
+ height="40"
45
+ decoding="async"
46
+ />
47
+ <div class="brand__text">
48
+ <div class="brand__name">NEXUS</div>
49
+ <div class="brand__hint">docs // lobster terminal</div>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="titlebar__actions">
54
+ <a class="titlebar__cta" href="https://github.com/nexus/nexus">
55
+ <span class="titlebar__cta-label">GitHub</span>
56
+ <span class="titlebar__cta-meta">repo</span>
57
+ </a>
58
+ <a class="titlebar__cta titlebar__cta--accent" href="https://github.com/nexus/nexus/releases/latest">
59
+ <span class="titlebar__cta-label">Download</span>
60
+ <span class="titlebar__cta-meta">latest</span>
61
+ </a>
62
+ </div>
63
+ </div>
64
+
65
+ <div class="shell__nav" aria-label="Primary">
66
+ <nav class="nav">
67
+ {% assign nav = site.nav | default: empty %}
68
+ {% for item in nav %}
69
+ {% assign item_url = item.url | relative_url %}
70
+ <a class="nav__link" href="{{ item_url }}">
71
+ <span class="nav__chev">›</span>{{ item.title }}
72
+ </a>
73
+ {% endfor %}
74
+ </nav>
75
+
76
+ <div class="shell__status" aria-hidden="true">
77
+ <span class="status__dot"></span>
78
+ <span class="status__text">
79
+ {% if page.url == "/" %}
80
+ ready
81
+ {% else %}
82
+ viewing: {{ page.path }}
83
+ {% endif %}
84
+ </span>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </header>
89
+
90
+ <main id="content" class="content" role="main">
91
+ <div class="terminal">
92
+ <div class="terminal__prompt" aria-hidden="true">
93
+ <span class="prompt__user">nexus</span>@<span class="prompt__host">nexus</span>:<span class="prompt__path">~/docs</span>$<span class="prompt__cmd">
94
+ {% if page.url == "/" %}cat index.md{% else %}less {{ page.path }}{% endif %}
95
+ </span>
96
+ </div>
97
+
98
+ {% if page.summary %}
99
+ <p class="terminal__summary">{{ page.summary }}</p>
100
+ {% endif %}
101
+
102
+ {% if page.read_when %}
103
+ <details class="terminal__meta">
104
+ <summary>Read when…</summary>
105
+ <ul>
106
+ {% for hint in page.read_when %}
107
+ <li>{{ hint }}</li>
108
+ {% endfor %}
109
+ </ul>
110
+ </details>
111
+ {% endif %}
112
+
113
+ <article class="markdown">
114
+ {{ content }}
115
+ </article>
116
+
117
+ <footer class="terminal__footer" role="contentinfo">
118
+ <div class="footer__line">
119
+ <span class="footer__sig">nexus.ai</span>
120
+ <span class="footer__sep">·</span>
121
+ <a href="https://github.com/nexus/nexus">source</a>
122
+ <span class="footer__sep">·</span>
123
+ <a href="https://github.com/nexus/nexus/releases">releases</a>
124
+ </div>
125
+ <div class="footer__hint" aria-hidden="true">
126
+ tip: press <kbd>F2</kbd> (Mac: <kbd>fn</kbd>+<kbd>F2</kbd>) to flip
127
+ the universe
128
+ </div>
129
+ <div class="footer__actions">
130
+ <button
131
+ class="theme-toggle"
132
+ type="button"
133
+ data-theme-toggle
134
+ aria-label="Toggle theme (F2; on Mac: fn+F2)"
135
+ aria-pressed="false"
136
+ >
137
+ <span class="theme-toggle__key">F2</span>
138
+ <span class="theme-toggle__label" data-theme-label>theme</span>
139
+ </button>
140
+ </div>
141
+ </footer>
142
+ </div>
143
+ </main>
144
+ </body>
145
+ </html>
@@ -0,0 +1,95 @@
1
+ ---
2
+ title: Agent-assisted install (macOS)
3
+ ---
4
+
5
+ # Agent-assisted install (macOS)
6
+
7
+ This is a copy/paste guide you can send to a friend/family member to get Nexus running quickly on macOS.
8
+
9
+ ## What you’ll need
10
+
11
+ - A Mac
12
+ - Admin access (you may be prompted for your password)
13
+ - An AI billing method:
14
+ - **OpenAI Codex / ChatGPT** (recommended if you have it), or
15
+ - **Anthropic API key** (pay-as-you-go)
16
+
17
+ > Note: Having the Claude desktop/Code app installed does **not** necessarily mean you have API billing enabled.
18
+
19
+ ## Step 1 — Install Node.js (if you don’t have it)
20
+
21
+ In Terminal:
22
+
23
+ ```bash
24
+ node -v
25
+ ```
26
+
27
+ If that fails, install Node with Homebrew:
28
+
29
+ ```bash
30
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
31
+ brew install node
32
+ ```
33
+
34
+ ## Step 2 — Install Nexus CLI
35
+
36
+ ```bash
37
+ npm install -g nexus
38
+ ```
39
+
40
+ ## Step 3 — Initialize your Nexus workspace
41
+
42
+ ```bash
43
+ nexus init
44
+ ```
45
+
46
+ This creates:
47
+ - `~/nexus/home` (your workspace)
48
+ - `~/nexus/state` (local state, sessions, credentials)
49
+
50
+ ## Step 4 — QuickStart onboarding (local gateway)
51
+
52
+ ```bash
53
+ nexus onboard --quickstart
54
+ ```
55
+
56
+ This will:
57
+ - pick safe defaults (local loopback gateway)
58
+ - try to auto-detect existing credentials (ex: OpenAI Codex)
59
+ - start the gateway and show the Control UI URL
60
+
61
+ If Nexus tells you billing/auth is missing, run:
62
+
63
+ ```bash
64
+ nexus onboard
65
+ ```
66
+
67
+ and pick an auth option (OpenAI Codex OAuth, or paste an Anthropic API key).
68
+
69
+ ## Step 5 — Name your Nexus (first run ritual)
70
+
71
+ Open your workspace folder:
72
+
73
+ ```bash
74
+ open ~/nexus/home
75
+ ```
76
+
77
+ Identity files live under `~/nexus/state/`:
78
+ - `state/agents/{agent}/identity/IDENTITY.md` (what the agent is called)
79
+ - `state/user/identity/PROFILE.md` (who you are)
80
+ - `state/agents/{agent}/identity/SOUL.md` (tone/boundaries)
81
+ - `state/nexus/onboarding/BOOTSTRAP.md` (one-time ritual prompt)
82
+
83
+ If `BOOTSTRAP.md` exists, you can either:
84
+ - **Chat with Nexus** and let it fill these in, or
85
+ - edit `IDENTITY.md` and `PROFILE.md` manually.
86
+
87
+ ## Optional — iMessage “Nexus bot” (later)
88
+
89
+ To message Nexus from your phone via iMessage, you’ll eventually:
90
+ - create a dedicated Apple ID (ex: `nexus.bot@icloud.com`)
91
+ - sign into Messages.app with that Apple ID on the Mac running Nexus
92
+ - enable the iMessage provider in Nexus and grant macOS permissions
93
+
94
+ We intentionally recommend doing this **after** the first “wow moment”.
95
+
@@ -0,0 +1,61 @@
1
+ ---
2
+ summary: "Agent loop lifecycle, streams, and wait semantics"
3
+ read_when:
4
+ - You need an exact walkthrough of the agent loop or lifecycle events
5
+ ---
6
+ # Agent Loop (Nexus)
7
+
8
+ Short, exact flow of one agent run. Source of truth: current code in `src/`.
9
+
10
+ ## Entry points
11
+ - Gateway RPC: `agent` and `agent.wait` in `src/gateway/server-methods/agent.ts`.
12
+ - CLI: `agentCommand` in `src/commands/agent.ts`.
13
+
14
+ ## High-level flow
15
+ 1) `agent` RPC validates params, resolves session (sessionKey/sessionId), persists session metadata, returns `{ runId, acceptedAt }` immediately.
16
+ 2) `agentCommand` runs the agent:
17
+ - resolves model + thinking/verbose defaults
18
+ - loads skills snapshot
19
+ - calls `runEmbeddedPiAgent` (pi-agent-core runtime)
20
+ - emits **lifecycle end/error** if the embedded loop does not emit one
21
+ 3) `runEmbeddedPiAgent`:
22
+ - builds `AgentSession` and subscribes to pi events
23
+ - streams assistant deltas + tool events
24
+ - enforces timeout -> aborts run if exceeded
25
+ - returns payloads + usage metadata
26
+ 4) `subscribeEmbeddedPiSession` bridges pi-agent-core events to Nexus `agent` stream:
27
+ - tool events => `stream: "tool"`
28
+ - assistant deltas => `stream: "assistant"`
29
+ - lifecycle events => `stream: "lifecycle"` (`phase: "start" | "end" | "error"`)
30
+ 5) `agent.wait` uses `waitForAgentJob`:
31
+ - waits for **lifecycle end/error** for `runId`
32
+ - returns `{ status: ok|error|timeout, startedAt, endedAt, error? }`
33
+
34
+ ## Event streams (today)
35
+ - `lifecycle`: emitted by `subscribeEmbeddedPiSession` (and as a fallback by `agentCommand`)
36
+ - `assistant`: streamed deltas from pi-agent-core
37
+ - `tool`: streamed tool events from pi-agent-core
38
+
39
+ ## Chat provider handling
40
+ - `createAgentEventHandler` in `src/gateway/server-chat.ts`:
41
+ - buffers assistant deltas
42
+ - emits chat `delta` messages
43
+ - emits chat `final` when **lifecycle end/error** arrives
44
+
45
+ ## Timeouts
46
+ - `agent.wait` default: 30s (just the wait). `timeoutMs` param overrides.
47
+ - Agent runtime: `agent.timeoutSeconds` default 600s; enforced in `runEmbeddedPiAgent` abort timer.
48
+
49
+ ## Where things can end early
50
+ - Agent timeout (abort)
51
+ - AbortSignal (cancel)
52
+ - Gateway disconnect or RPC timeout
53
+ - `agent.wait` timeout (wait-only, does not stop agent)
54
+
55
+ ## Files
56
+ - `src/gateway/server-methods/agent.ts`
57
+ - `src/gateway/server-methods/agent-job.ts`
58
+ - `src/commands/agent.ts`
59
+ - `src/agents/pi-embedded-runner.ts`
60
+ - `src/agents/pi-embedded-subscribe.ts`
61
+ - `src/gateway/server-chat.ts`
@@ -0,0 +1,21 @@
1
+ ---
2
+ summary: "Design notes for a direct `nexus agent` CLI subcommand without WhatsApp delivery"
3
+ read_when:
4
+ - Adding or modifying the agent CLI entrypoint
5
+ ---
6
+ # `nexus agent` (direct-to-agent invocation)
7
+
8
+ `nexus agent` lets you talk to the **embedded** agent runtime directly (no chat send unless you opt in), while reusing the same session store and thinking/verbose persistence as inbound auto-replies.
9
+
10
+ ## Behavior
11
+ - Required: `--message <text>`
12
+ - Session selection:
13
+ - If `--session-id` is given, reuse it.
14
+ - Else if `--to <e164>` is given, derive the session key from `session.scope` (direct chats collapse to `main`, or `global` when scope is global).
15
+ - Runs the embedded Pi agent (configured via `agent`).
16
+ - Thinking/verbose:
17
+ - Flags `--thinking <off|minimal|low|medium|high>` and `--verbose <on|off>` persist into the session store.
18
+ - Output:
19
+ - Default: prints text (and `MEDIA:<url>` lines) to stdout.
20
+ - `--json`: prints structured payloads + meta.
21
+ - Optional: `--deliver` sends the reply back to the selected provider (`whatsapp`, `telegram`, `discord`, `signal`, `imessage`).
package/docs/agent.md ADDED
@@ -0,0 +1,108 @@
1
+ ---
2
+ summary: "Agent runtime (embedded p-mono), workspace contract, and session bootstrap"
3
+ read_when:
4
+ - Changing agent runtime, workspace bootstrap, or session behavior
5
+ ---
6
+ # Agent Runtime 🤖
7
+
8
+ NEXUS runs a single embedded agent runtime derived from **p-mono** (internal name: **p**).
9
+
10
+ ## Workspace (required)
11
+
12
+ NEXUS uses a single agent workspace directory (`agent.workspace`) as the agent’s **only** working directory (`cwd`) for tools and context.
13
+
14
+ Recommended: use `nexus init` to create `~/nexus/state/nexus/config.json` if missing and initialize the workspace files.
15
+
16
+ If `agent.sandbox` is enabled, non-main sessions can override this with
17
+ per-session workspaces under `agent.sandbox.workspaceRoot` (see
18
+ [`docs/configuration.md`](https://docs.nexus.bot/configuration)).
19
+
20
+ ## Bootstrap files (injected)
21
+
22
+ Nexus stores identity and bootstrap files under `~/nexus/state/`:
23
+ - `~/nexus/AGENTS.md` — operating instructions
24
+ - `~/nexus/state/agents/{agent}/identity/SOUL.md` — persona, boundaries, tone
25
+ - `~/nexus/state/agents/{agent}/identity/IDENTITY.md` — agent name/vibe/emoji
26
+ - `~/nexus/state/agents/{agent}/identity/MEMORY.md` — curated memory
27
+ - `~/nexus/state/user/identity/PROFILE.md` — user profile + preferred address
28
+ - `~/nexus/state/nexus/onboarding/BOOTSTRAP.md` — first-run ritual prompt
29
+
30
+ `nexus status` is the entry point and will surface bootstrap guidance when identity is missing.
31
+
32
+ Large bootstrap files are truncated when injected. Control the per-file limit with `agent.bootstrapMaxChars` (default: 20000).
33
+
34
+ To disable bootstrap file creation entirely (for pre-seeded workspaces), set:
35
+
36
+ ```json5
37
+ { agent: { skipBootstrap: true } }
38
+ ```
39
+
40
+ ## Built-in tools (internal)
41
+
42
+ p’s embedded core tools (read/bash/edit/write and related internals) are defined in code and always available. `TOOLS.md` does **not** control which tools exist; it’s guidance for how *you* want them used.
43
+
44
+ ## Skills
45
+
46
+ Nexus loads skills from three locations (higher wins on name conflict):
47
+ - Project: `<projectRoot>/skills`
48
+ - Home: `~/nexus/home/skills`
49
+ - Bundled baseline (shipped with the install)
50
+
51
+ Skills can be gated by config/env (see `skills` in [`docs/configuration.md`](https://docs.nexus.bot/configuration)).
52
+
53
+ ## p-mono integration
54
+
55
+ Nexus reuses pieces of the p-mono codebase (models/tools), but **session management, discovery, and tool wiring are Nexus-owned**.
56
+
57
+ - No p-coding agent runtime.
58
+ - No `~/.pi/agent` or `<workspace>/.pi` settings are consulted.
59
+
60
+ ## Peter @ steipete (only)
61
+
62
+ Apply these notes **only** when the user is Peter Steinberger at steipete.
63
+
64
+ - Gateway runs on the **Mac Studio in London**.
65
+ - Primary work computer: **MacBook Pro**.
66
+ - Peter travels between **Vienna** and **London**; there are two networks bridged via **Tailscale**.
67
+ - For debugging, connect to the Mac Studio (London) or MacBook Pro (primary).
68
+ - There is also an **M1 MacBook Pro** on the Vienna tailnet you can use to access the Vienna network.
69
+ - Nodes can be accessed via the `nexus` binary (`pnpm nexus` in `~/Projects/nexus`).
70
+ - See also `skills/nexus*` for node/browser/canvas/cron usage.
71
+
72
+ ## Sessions
73
+
74
+ Session transcripts are stored as JSONL at:
75
+ - `~/nexus/state/agents/<agentId>/sessions/<SessionId>.jsonl`
76
+
77
+ The session ID is stable and chosen by NEXUS.
78
+ Legacy Pi/Tau session folders are **not** read.
79
+
80
+ ## Steering while streaming
81
+
82
+ When queue mode is `steer`, inbound messages are injected into the current run.
83
+ The queue is checked **after each tool call**; if a queued message is present,
84
+ remaining tool calls from the current assistant message are skipped (error tool
85
+ results with "Skipped due to queued user message."), then the queued user
86
+ message is injected before the next assistant response.
87
+
88
+ When queue mode is `followup` or `collect`, inbound messages are held until the
89
+ current turn ends, then a new agent turn starts with the queued payloads. See
90
+ [`docs/queue.md`](https://docs.nexus.bot/queue) for mode + debounce/cap behavior.
91
+
92
+ Block streaming sends completed assistant blocks as soon as they finish; disable
93
+ via `agent.blockStreamingDefault: "off"` if you only want the final response.
94
+ Tune the boundary via `agent.blockStreamingBreak` (`text_end` vs `message_end`; defaults to text_end).
95
+ Control soft block chunking with `agent.blockStreamingChunk` (defaults to
96
+ 800–1200 chars; prefers paragraph breaks, then newlines; sentences last).
97
+ Verbose tool summaries are emitted at tool start (no debounce); Control UI
98
+ streams tool output via agent events when available.
99
+
100
+ ## Configuration (minimal)
101
+
102
+ At minimum, set:
103
+ - `agent.workspace`
104
+ - `whatsapp.allowFrom` (strongly recommended)
105
+
106
+ ---
107
+
108
+ *Next: [Group Chats](https://docs.nexus.bot/group-messages)* 🦞