@hera-al/server 1.6.1

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 (348) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +325 -0
  3. package/bundled/apple-notes/SKILL.md +77 -0
  4. package/bundled/apple-reminders/SKILL.md +96 -0
  5. package/bundled/blogwatcher/SKILL.md +69 -0
  6. package/bundled/camsnap/SKILL.md +45 -0
  7. package/bundled/discord/SKILL.md +578 -0
  8. package/bundled/gemini/SKILL.md +43 -0
  9. package/bundled/gifgrep/SKILL.md +79 -0
  10. package/bundled/github/SKILL.md +77 -0
  11. package/bundled/gog/SKILL.md +116 -0
  12. package/bundled/goplaces/SKILL.md +52 -0
  13. package/bundled/himalaya/SKILL.md +257 -0
  14. package/bundled/himalaya/references/configuration.md +184 -0
  15. package/bundled/himalaya/references/message-composition.md +199 -0
  16. package/bundled/homebrew/SKILL.md +82 -0
  17. package/bundled/local-places/SERVER_README.md +101 -0
  18. package/bundled/local-places/SKILL.md +102 -0
  19. package/bundled/local-places/pyproject.toml +21 -0
  20. package/bundled/local-places/src/local_places/__init__.py +2 -0
  21. package/bundled/local-places/src/local_places/google_places.py +314 -0
  22. package/bundled/local-places/src/local_places/main.py +65 -0
  23. package/bundled/local-places/src/local_places/schemas.py +107 -0
  24. package/bundled/markitdown/SKILL.md +96 -0
  25. package/bundled/mcporter/SKILL.md +61 -0
  26. package/bundled/merge-pr/SKILL.md +187 -0
  27. package/bundled/merge-pr/agents/openai.yaml +4 -0
  28. package/bundled/nano-banana-pro/SKILL.md +58 -0
  29. package/bundled/nano-banana-pro/scripts/generate_image.py +184 -0
  30. package/bundled/nano-pdf/SKILL.md +38 -0
  31. package/bundled/open-prose/README.md +25 -0
  32. package/bundled/open-prose/index.ts +5 -0
  33. package/bundled/open-prose/openclaw.plugin.json +11 -0
  34. package/bundled/open-prose/package.json +15 -0
  35. package/bundled/open-prose/skills/prose/LICENSE +21 -0
  36. package/bundled/open-prose/skills/prose/SKILL.md +323 -0
  37. package/bundled/open-prose/skills/prose/alt-borges.md +141 -0
  38. package/bundled/open-prose/skills/prose/alts/arabian-nights.md +358 -0
  39. package/bundled/open-prose/skills/prose/alts/borges.md +360 -0
  40. package/bundled/open-prose/skills/prose/alts/folk.md +322 -0
  41. package/bundled/open-prose/skills/prose/alts/homer.md +346 -0
  42. package/bundled/open-prose/skills/prose/alts/kafka.md +373 -0
  43. package/bundled/open-prose/skills/prose/compiler.md +2971 -0
  44. package/bundled/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
  45. package/bundled/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
  46. package/bundled/open-prose/skills/prose/examples/03-code-review.prose +17 -0
  47. package/bundled/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
  48. package/bundled/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
  49. package/bundled/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
  50. package/bundled/open-prose/skills/prose/examples/07-refactor.prose +20 -0
  51. package/bundled/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
  52. package/bundled/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
  53. package/bundled/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
  54. package/bundled/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
  55. package/bundled/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
  56. package/bundled/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
  57. package/bundled/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
  58. package/bundled/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
  59. package/bundled/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
  60. package/bundled/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
  61. package/bundled/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
  62. package/bundled/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
  63. package/bundled/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
  64. package/bundled/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
  65. package/bundled/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
  66. package/bundled/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
  67. package/bundled/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
  68. package/bundled/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
  69. package/bundled/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
  70. package/bundled/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
  71. package/bundled/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
  72. package/bundled/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
  73. package/bundled/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
  74. package/bundled/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
  75. package/bundled/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
  76. package/bundled/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
  77. package/bundled/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
  78. package/bundled/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
  79. package/bundled/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
  80. package/bundled/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
  81. package/bundled/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
  82. package/bundled/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
  83. package/bundled/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
  84. package/bundled/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
  85. package/bundled/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
  86. package/bundled/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
  87. package/bundled/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
  88. package/bundled/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
  89. package/bundled/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
  90. package/bundled/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
  91. package/bundled/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
  92. package/bundled/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
  93. package/bundled/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
  94. package/bundled/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
  95. package/bundled/open-prose/skills/prose/examples/README.md +391 -0
  96. package/bundled/open-prose/skills/prose/examples/roadmap/README.md +22 -0
  97. package/bundled/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
  98. package/bundled/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
  99. package/bundled/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
  100. package/bundled/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
  101. package/bundled/open-prose/skills/prose/guidance/antipatterns.md +951 -0
  102. package/bundled/open-prose/skills/prose/guidance/patterns.md +700 -0
  103. package/bundled/open-prose/skills/prose/guidance/system-prompt.md +180 -0
  104. package/bundled/open-prose/skills/prose/help.md +144 -0
  105. package/bundled/open-prose/skills/prose/lib/README.md +108 -0
  106. package/bundled/open-prose/skills/prose/lib/calibrator.prose +215 -0
  107. package/bundled/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
  108. package/bundled/open-prose/skills/prose/lib/error-forensics.prose +250 -0
  109. package/bundled/open-prose/skills/prose/lib/inspector.prose +196 -0
  110. package/bundled/open-prose/skills/prose/lib/profiler.prose +460 -0
  111. package/bundled/open-prose/skills/prose/lib/program-improver.prose +275 -0
  112. package/bundled/open-prose/skills/prose/lib/project-memory.prose +118 -0
  113. package/bundled/open-prose/skills/prose/lib/user-memory.prose +93 -0
  114. package/bundled/open-prose/skills/prose/lib/vm-improver.prose +243 -0
  115. package/bundled/open-prose/skills/prose/primitives/session.md +593 -0
  116. package/bundled/open-prose/skills/prose/prose.md +1237 -0
  117. package/bundled/open-prose/skills/prose/state/filesystem.md +498 -0
  118. package/bundled/open-prose/skills/prose/state/in-context.md +384 -0
  119. package/bundled/open-prose/skills/prose/state/postgres.md +880 -0
  120. package/bundled/open-prose/skills/prose/state/sqlite.md +574 -0
  121. package/bundled/peekaboo/SKILL.md +190 -0
  122. package/bundled/prepare-pr/SKILL.md +277 -0
  123. package/bundled/prepare-pr/agents/openai.yaml +4 -0
  124. package/bundled/review-pr/SKILL.md +228 -0
  125. package/bundled/review-pr/agents/openai.yaml +4 -0
  126. package/bundled/sag/SKILL.md +87 -0
  127. package/bundled/skill-creator/SKILL.md +370 -0
  128. package/bundled/skill-creator/license.txt +202 -0
  129. package/bundled/skill-creator/scripts/init_skill.py +378 -0
  130. package/bundled/skill-creator/scripts/package_skill.py +111 -0
  131. package/bundled/skill-creator/scripts/quick_validate.py +101 -0
  132. package/bundled/spotify-player/SKILL.md +64 -0
  133. package/bundled/ssh/SKILL.md +119 -0
  134. package/bundled/summarize/SKILL.md +87 -0
  135. package/bundled/video-frames/SKILL.md +46 -0
  136. package/bundled/video-frames/scripts/frame.sh +81 -0
  137. package/bundled/voice-call/SKILL.md +45 -0
  138. package/bundled/wacli/SKILL.md +72 -0
  139. package/bundled/weather/SKILL.md +54 -0
  140. package/dist/agent/agent-service.d.ts +88 -0
  141. package/dist/agent/agent-service.js +1 -0
  142. package/dist/agent/message-queue.d.ts +24 -0
  143. package/dist/agent/message-queue.js +1 -0
  144. package/dist/agent/prompt-builder.d.ts +58 -0
  145. package/dist/agent/prompt-builder.js +1 -0
  146. package/dist/agent/session-agent.d.ts +197 -0
  147. package/dist/agent/session-agent.js +1 -0
  148. package/dist/agent/session-db.d.ts +26 -0
  149. package/dist/agent/session-db.js +1 -0
  150. package/dist/agent/session-error-handler.d.ts +37 -0
  151. package/dist/agent/session-error-handler.js +1 -0
  152. package/dist/agent/session-manager.d.ts +19 -0
  153. package/dist/agent/session-manager.js +1 -0
  154. package/dist/agent/workspace-files.d.ts +51 -0
  155. package/dist/agent/workspace-files.js +1 -0
  156. package/dist/auth/auth-middleware.d.ts +9 -0
  157. package/dist/auth/auth-middleware.js +1 -0
  158. package/dist/auth/node-signature-db.d.ts +30 -0
  159. package/dist/auth/node-signature-db.js +1 -0
  160. package/dist/auth/token-db.d.ts +38 -0
  161. package/dist/auth/token-db.js +1 -0
  162. package/dist/browser/browser-service.d.ts +9 -0
  163. package/dist/browser/browser-service.js +1 -0
  164. package/dist/channels/channel.d.ts +2 -0
  165. package/dist/channels/channel.js +1 -0
  166. package/dist/channels/responses.d.ts +21 -0
  167. package/dist/channels/responses.js +1 -0
  168. package/dist/commands/clear.d.ts +7 -0
  169. package/dist/commands/clear.js +1 -0
  170. package/dist/commands/cmd.d.ts +7 -0
  171. package/dist/commands/cmd.js +1 -0
  172. package/dist/commands/coder.d.ts +12 -0
  173. package/dist/commands/coder.js +1 -0
  174. package/dist/commands/command-registry.d.ts +12 -0
  175. package/dist/commands/command-registry.js +1 -0
  176. package/dist/commands/command.d.ts +22 -0
  177. package/dist/commands/command.js +1 -0
  178. package/dist/commands/compact.d.ts +7 -0
  179. package/dist/commands/compact.js +1 -0
  180. package/dist/commands/customsubagents.d.ts +15 -0
  181. package/dist/commands/customsubagents.js +1 -0
  182. package/dist/commands/help.d.ts +9 -0
  183. package/dist/commands/help.js +1 -0
  184. package/dist/commands/mcp.d.ts +9 -0
  185. package/dist/commands/mcp.js +1 -0
  186. package/dist/commands/model.d.ts +22 -0
  187. package/dist/commands/model.js +1 -0
  188. package/dist/commands/models.d.ts +11 -0
  189. package/dist/commands/models.js +1 -0
  190. package/dist/commands/new.d.ts +7 -0
  191. package/dist/commands/new.js +1 -0
  192. package/dist/commands/plugin.d.ts +7 -0
  193. package/dist/commands/plugin.js +1 -0
  194. package/dist/commands/sandbox.d.ts +12 -0
  195. package/dist/commands/sandbox.js +1 -0
  196. package/dist/commands/showtool.d.ts +12 -0
  197. package/dist/commands/showtool.js +1 -0
  198. package/dist/commands/status.d.ts +24 -0
  199. package/dist/commands/status.js +1 -0
  200. package/dist/commands/stop.d.ts +10 -0
  201. package/dist/commands/stop.js +1 -0
  202. package/dist/commands/subagents.d.ts +12 -0
  203. package/dist/commands/subagents.js +1 -0
  204. package/dist/commands/usage.d.ts +25 -0
  205. package/dist/commands/usage.js +1 -0
  206. package/dist/commands/useplugin.d.ts +7 -0
  207. package/dist/commands/useplugin.js +1 -0
  208. package/dist/config-watcher.d.ts +14 -0
  209. package/dist/config-watcher.js +1 -0
  210. package/dist/config.d.ts +267 -0
  211. package/dist/config.js +1 -0
  212. package/dist/cron/cron-service.d.ts +57 -0
  213. package/dist/cron/cron-service.js +1 -0
  214. package/dist/cron/heartbeat-token.d.ts +29 -0
  215. package/dist/cron/heartbeat-token.js +1 -0
  216. package/dist/cron/schedule.d.ts +3 -0
  217. package/dist/cron/schedule.js +1 -0
  218. package/dist/cron/store.d.ts +4 -0
  219. package/dist/cron/store.js +1 -0
  220. package/dist/cron/types.d.ts +47 -0
  221. package/dist/cron/types.js +1 -0
  222. package/dist/gateway/bridge.d.ts +38 -0
  223. package/dist/gateway/bridge.js +1 -0
  224. package/dist/gateway/channel-manager.d.ts +45 -0
  225. package/dist/gateway/channel-manager.js +1 -0
  226. package/dist/gateway/channels/qr-image.d.ts +5 -0
  227. package/dist/gateway/channels/qr-image.js +1 -0
  228. package/dist/gateway/channels/telegram.d.ts +39 -0
  229. package/dist/gateway/channels/telegram.js +1 -0
  230. package/dist/gateway/channels/webchat.d.ts +51 -0
  231. package/dist/gateway/channels/webchat.js +1 -0
  232. package/dist/gateway/channels/whatsapp.d.ts +40 -0
  233. package/dist/gateway/channels/whatsapp.js +1 -0
  234. package/dist/gateway/node-registry.d.ts +38 -0
  235. package/dist/gateway/node-registry.js +1 -0
  236. package/dist/heracli/index.d.ts +3 -0
  237. package/dist/heracli/index.js +2 -0
  238. package/dist/heracli/logs.d.ts +13 -0
  239. package/dist/heracli/logs.js +1 -0
  240. package/dist/heracli/security/audit.d.ts +17 -0
  241. package/dist/heracli/security/audit.js +1 -0
  242. package/dist/heracli/security/checks/channel-policies.d.ts +6 -0
  243. package/dist/heracli/security/checks/channel-policies.js +1 -0
  244. package/dist/heracli/security/checks/credentials.d.ts +6 -0
  245. package/dist/heracli/security/checks/credentials.js +1 -0
  246. package/dist/heracli/security/checks/fs-permissions.d.ts +6 -0
  247. package/dist/heracli/security/checks/fs-permissions.js +1 -0
  248. package/dist/heracli/security/checks/network.d.ts +4 -0
  249. package/dist/heracli/security/checks/network.js +1 -0
  250. package/dist/heracli/security/report.d.ts +4 -0
  251. package/dist/heracli/security/report.js +1 -0
  252. package/dist/index.d.ts +3 -0
  253. package/dist/index.js +2 -0
  254. package/dist/installer/hera.d.ts +3 -0
  255. package/dist/installer/hera.js +2 -0
  256. package/dist/media/message-processor.d.ts +23 -0
  257. package/dist/media/message-processor.js +1 -0
  258. package/dist/memory/memory-manager.d.ts +21 -0
  259. package/dist/memory/memory-manager.js +1 -0
  260. package/dist/memory/memory-provider.d.ts +22 -0
  261. package/dist/memory/memory-provider.js +1 -0
  262. package/dist/memory/memory-search.d.ts +102 -0
  263. package/dist/memory/memory-search.js +1 -0
  264. package/dist/memory/recall-strategies.d.ts +2 -0
  265. package/dist/memory/recall-strategies.js +1 -0
  266. package/dist/nostromo/auth.d.ts +29 -0
  267. package/dist/nostromo/auth.js +1 -0
  268. package/dist/nostromo/nostromo.d.ts +23 -0
  269. package/dist/nostromo/nostromo.js +1 -0
  270. package/dist/nostromo/ui-html-layout.d.ts +3 -0
  271. package/dist/nostromo/ui-html-layout.js +1 -0
  272. package/dist/nostromo/ui-html-modals.d.ts +3 -0
  273. package/dist/nostromo/ui-html-modals.js +1 -0
  274. package/dist/nostromo/ui-js-agent.d.ts +3 -0
  275. package/dist/nostromo/ui-js-agent.js +1 -0
  276. package/dist/nostromo/ui-js-channels.d.ts +3 -0
  277. package/dist/nostromo/ui-js-channels.js +1 -0
  278. package/dist/nostromo/ui-js-competences.d.ts +3 -0
  279. package/dist/nostromo/ui-js-competences.js +1 -0
  280. package/dist/nostromo/ui-js-config.d.ts +3 -0
  281. package/dist/nostromo/ui-js-config.js +1 -0
  282. package/dist/nostromo/ui-js-core.d.ts +3 -0
  283. package/dist/nostromo/ui-js-core.js +1 -0
  284. package/dist/nostromo/ui-js-ops.d.ts +3 -0
  285. package/dist/nostromo/ui-js-ops.js +1 -0
  286. package/dist/nostromo/ui-js-prompts.d.ts +3 -0
  287. package/dist/nostromo/ui-js-prompts.js +1 -0
  288. package/dist/nostromo/ui-styles.d.ts +3 -0
  289. package/dist/nostromo/ui-styles.js +1 -0
  290. package/dist/nostromo/ui.d.ts +2 -0
  291. package/dist/nostromo/ui.js +1 -0
  292. package/dist/server.d.ts +80 -0
  293. package/dist/server.js +1 -0
  294. package/dist/stt/local-whisper.d.ts +9 -0
  295. package/dist/stt/local-whisper.js +1 -0
  296. package/dist/stt/openai-whisper.d.ts +14 -0
  297. package/dist/stt/openai-whisper.js +1 -0
  298. package/dist/stt/stt-loader.d.ts +4 -0
  299. package/dist/stt/stt-loader.js +1 -0
  300. package/dist/stt/stt-provider.d.ts +4 -0
  301. package/dist/stt/stt-provider.js +1 -0
  302. package/dist/tools/browser-tools.d.ts +9 -0
  303. package/dist/tools/browser-tools.js +1 -0
  304. package/dist/tools/cron-tools.d.ts +4 -0
  305. package/dist/tools/cron-tools.js +1 -0
  306. package/dist/tools/memory-tools.d.ts +3 -0
  307. package/dist/tools/memory-tools.js +1 -0
  308. package/dist/tools/message-tools.d.ts +5 -0
  309. package/dist/tools/message-tools.js +1 -0
  310. package/dist/tools/node-tools.d.ts +3 -0
  311. package/dist/tools/node-tools.js +1 -0
  312. package/dist/tools/server-tools.d.ts +2 -0
  313. package/dist/tools/server-tools.js +1 -0
  314. package/dist/tools/tts-tools.d.ts +3 -0
  315. package/dist/tools/tts-tools.js +1 -0
  316. package/dist/tts/tts-service.d.ts +19 -0
  317. package/dist/tts/tts-service.js +1 -0
  318. package/dist/utils/chunk.d.ts +3 -0
  319. package/dist/utils/chunk.js +1 -0
  320. package/dist/utils/logger.d.ts +16 -0
  321. package/dist/utils/logger.js +1 -0
  322. package/dist/utils/markdown/fences.d.ts +11 -0
  323. package/dist/utils/markdown/fences.js +1 -0
  324. package/dist/utils/markdown/ir.d.ts +33 -0
  325. package/dist/utils/markdown/ir.js +1 -0
  326. package/dist/utils/markdown/render.d.ts +19 -0
  327. package/dist/utils/markdown/render.js +1 -0
  328. package/dist/utils/markdown/tables.d.ts +3 -0
  329. package/dist/utils/markdown/tables.js +1 -0
  330. package/dist/utils/media-response.d.ts +29 -0
  331. package/dist/utils/media-response.js +1 -0
  332. package/dist/utils/package-paths.d.ts +5 -0
  333. package/dist/utils/package-paths.js +1 -0
  334. package/dist/utils/telegram-format.d.ts +13 -0
  335. package/dist/utils/telegram-format.js +1 -0
  336. package/installationPkg/.env.example +26 -0
  337. package/installationPkg/AGENTS.md +143 -0
  338. package/installationPkg/BOOTSTRAP.md +45 -0
  339. package/installationPkg/CBINT.json +16 -0
  340. package/installationPkg/HEARTBEAT.md +5 -0
  341. package/installationPkg/IDENTITY.md +7 -0
  342. package/installationPkg/SOUL.md +36 -0
  343. package/installationPkg/SYSTEM_PROMPT.md +55 -0
  344. package/installationPkg/SYSTEM_PROMPT_SUBAGENT.md +40 -0
  345. package/installationPkg/TOOLS.md +36 -0
  346. package/installationPkg/USER.md +11 -0
  347. package/installationPkg/config.example.yaml +291 -0
  348. package/package.json +95 -0
@@ -0,0 +1,291 @@
1
+ # GrabMeABeer Configuration
2
+ # Copy to config.yaml and fill in your values.
3
+ # Environment variables can be referenced as ${VAR_NAME}
4
+
5
+ gmabPath: "~/gmab" # root data directory (expanded at runtime)
6
+ host: "127.0.0.1" # bind address for HTTP servers
7
+ logLevel: "info" # debug | info | warn | error
8
+ verboseDebugLogs: true # show full prompt/response text in debug logs (false = truncate to 15 chars)
9
+ timezone: "" # auto-detected on first boot (e.g. Europe/Rome, America/New_York)
10
+ fastProxyUrl: "http://localhost:4181" # URL of the fast proxy server for proxied external models
11
+
12
+ channels:
13
+ telegram:
14
+ enabled: false
15
+ accounts:
16
+ default:
17
+ botToken: ""
18
+ # dmPolicy: "open" | "token" | "allowlist"
19
+ # open - anyone can message (no auth)
20
+ # token - sender must have a valid token in the DB
21
+ # allowlist - only Telegram IDs listed in allowFrom
22
+ dmPolicy: "allowlist"
23
+ allowFrom: [] # telegram user IDs allowed (for allowlist policy)
24
+
25
+ # whatsapp:
26
+ # enabled: false
27
+ # accounts:
28
+ # default:
29
+ # authDir: "./data/whatsapp"
30
+ # dmPolicy: "token"
31
+ # allowFrom: []
32
+
33
+ # discord:
34
+ # enabled: false
35
+ # accounts:
36
+ # default:
37
+ # token: "${DISCORD_TOKEN}"
38
+
39
+ # slack:
40
+ # enabled: false
41
+ # accounts:
42
+ # default:
43
+ # botToken: "${SLACK_BOT_TOKEN}"
44
+ # appToken: "${SLACK_APP_TOKEN}"
45
+
46
+ # signal:
47
+ # enabled: false
48
+ # accounts:
49
+ # default:
50
+ # apiUrl: "http://localhost:8080"
51
+ # phoneNumber: ""
52
+
53
+ # msteams:
54
+ # enabled: false
55
+ # accounts:
56
+ # default:
57
+ # appId: ""
58
+ # appSecret: ""
59
+
60
+ # googlechat:
61
+ # enabled: false
62
+ # accounts:
63
+ # default:
64
+ # credentialsFile: ""
65
+ # spaceId: ""
66
+
67
+ # line:
68
+ # enabled: false
69
+ # accounts:
70
+ # default:
71
+ # channelAccessToken: ""
72
+ # channelSecret: ""
73
+
74
+ # matrix:
75
+ # enabled: false
76
+ # accounts:
77
+ # default:
78
+ # homeserverUrl: ""
79
+ # userId: ""
80
+ # accessToken: ""
81
+
82
+ responses:
83
+ enabled: true
84
+ port: 3000
85
+
86
+ models: # model registry
87
+ - id: "claude-opus-4-6"
88
+ name: "Claude Opus"
89
+ types: [internal] # internal | external
90
+ - id: openai
91
+ name: OpenAI
92
+ types:
93
+ - external
94
+ proxy: "not-used" # not-used | direct | proxied
95
+ fastUrl: "" # OpenAI-compatible proxy URL (used when proxy is direct or proxied)
96
+ fastProxyApiKey: "" # API key for the proxy endpoint (sk-...)
97
+ apiKey: ""
98
+ baseURL: https://api.openai.com/v1
99
+ useEnvVar: ""
100
+
101
+ stt:
102
+ enabled: false
103
+ provider: openai-whisper # openai-whisper | local-whisper
104
+ openai-whisper:
105
+ modelRef: "OpenAI" # references a model name in the models registry (for API key)
106
+ model: "whisper-1" # actual model ID sent to the OpenAI API
107
+ language: "" # empty = auto-detect, or ISO 639-1 code (en, it, de, ...)
108
+ local-whisper:
109
+ binaryPath: "whisper"
110
+ model: "base"
111
+
112
+ tts:
113
+ enabled: false
114
+ provider: openai # openai | edge | elevenlabs
115
+ maxTextLength: 4096
116
+ timeoutMs: 30000
117
+ edge:
118
+ voice: en-US-MichelleNeural
119
+ lang: en-US # BCP-47 language tag
120
+ outputFormat: audio-24khz-48kbitrate-mono-mp3
121
+ openai:
122
+ modelRef: "OpenAI" # references a model name in the models registry (for API key)
123
+ model: gpt-4o-mini-tts # actual model ID sent to the OpenAI API
124
+ voice: alloy
125
+ elevenlabs:
126
+ modelRef: ""
127
+ voiceId: pMsXgVXv3BLzUgSXRplE
128
+ modelId: eleven_multilingual_v2
129
+
130
+ memory:
131
+ enabled: true
132
+ recallStrategy: "builtin-only" # builtin-only | search
133
+ search:
134
+ enabled: false # enable hybrid BM25 + semantic search over memory
135
+ modelRef: "" # references a model in the models registry (for API key + base URL)
136
+ embeddingModel: "text-embedding-3-small"
137
+ embeddingDimensions: 1536 # 512, 768, or 1536 (native) — lower = faster, higher = more precise
138
+ updateDebounceMs: 3000 # debounce for fs.watch before re-indexing
139
+ embedIntervalMs: 300000 # interval (ms) between embedding cycles (5 min)
140
+ maxResults: 10 # default max results returned by memory_search
141
+ maxSnippetChars: 700 # max chars per snippet in results
142
+ maxInjectedChars: 4000 # max total chars injected into context from search results
143
+ rrfK: 60 # RRF fusion constant (higher = smoother blending)
144
+
145
+ agent:
146
+ model: "Claude Opus" # model name or ID from the models registry
147
+ mainFallback: "" # fallback model if primary fails (name or ID)
148
+ maxTurns: 30
149
+ permissionMode: "bypassPermissions"
150
+ sessionTTL: 3600
151
+ workspacePath: "./workspace" # agent's working directory
152
+ # queueMode: "queue" | "collect" | "steer"
153
+ # queue - simple FIFO, one message = one response
154
+ # collect - batch messages while agent is busy
155
+ # steer - new message interrupts the current one
156
+ queueMode: "steer"
157
+ queueDebounceMs: 1500 # quiet period (ms) after last collected message before flushing (collect mode)
158
+ queueCap: 20 # max buffered messages (0 = unlimited)
159
+ # queueDropPolicy: "old" | "new" | "summarize"
160
+ # old - drop oldest buffered message
161
+ # new - reject incoming message
162
+ # summarize - drop oldest but keep a truncated summary for context
163
+ queueDropPolicy: "summarize"
164
+ allowedTools:
165
+ - "Read"
166
+ - "Grep"
167
+ - "Bash"
168
+ - "WebSearch"
169
+ - "Glob"
170
+ - "Write"
171
+ - "Edit"
172
+ - "WebFetch"
173
+ - "Task"
174
+ - "Skill"
175
+ disallowedTools: []
176
+ mcpServers: {}
177
+ builtinCoderSkill: false # enable coder skill in system prompt (toggle at runtime with /coder on|off)
178
+ settingSources: project # SDK settings to load: nothing | user | project | both
179
+ # Custom subagents — configurable via Nostromo UI (toggle at runtime with /customsubagents on|off)
180
+ # description: tells Claude when to use this subagent
181
+ # prompt: defines the subagent's behavior and expertise
182
+ # tools: which SDK tools the subagent can use
183
+ # model: override model (sonnet, opus, haiku, inherit)
184
+ # expandContext: prepend main system prompt to subagent prompt (default: false)
185
+ customSubAgents:
186
+ - name: code-reviewer
187
+ description: "Expert code review specialist. Use for quality, security, and maintainability reviews."
188
+ prompt: |
189
+ You are a code review specialist with expertise in security, performance, and best practices.
190
+
191
+ When reviewing code:
192
+ - Identify security vulnerabilities
193
+ - Check for performance issues
194
+ - Verify adherence to coding standards
195
+ - Suggest specific improvements
196
+
197
+ Be thorough but concise in your feedback.
198
+ model: inherit
199
+ tools: [Read, Grep, Glob, WebSearch, WebFetch]
200
+ expandContext: false
201
+ enabled: false
202
+
203
+ - name: test-runner
204
+ description: "Runs and analyzes test suites. Use for test execution and coverage analysis."
205
+ prompt: |
206
+ You are a test execution specialist. Run tests and provide clear analysis of results.
207
+
208
+ Focus on:
209
+ - Running test commands
210
+ - Analyzing test output
211
+ - Identifying failing tests
212
+ - Suggesting fixes for failures
213
+ model: inherit
214
+ tools: [Bash, Read, Grep, Glob, WebSearch, WebFetch]
215
+ expandContext: false
216
+ enabled: false
217
+
218
+ - name: security-reviewer
219
+ description: "Security-focused code reviewer. Use for vulnerability detection and security audits."
220
+ prompt: |
221
+ You are a strict security reviewer. Analyze code for vulnerabilities, injection risks, authentication flaws, and data exposure.
222
+
223
+ For each finding:
224
+ - Classify severity (critical, high, medium, low)
225
+ - Explain the attack vector
226
+ - Provide a concrete fix
227
+
228
+ Prioritize OWASP Top 10 and CWE categories.
229
+ model: inherit
230
+ tools: [Read, Grep, Glob, WebSearch, WebFetch]
231
+ expandContext: false
232
+ enabled: false
233
+
234
+ - name: code-analyzer
235
+ description: "Static code analysis and architecture review. Use for understanding structure and patterns."
236
+ prompt: |
237
+ You are a code architecture analyst. Analyze code structure, identify patterns, and suggest improvements without making changes.
238
+
239
+ Focus on:
240
+ - Architecture and design patterns
241
+ - Code organization and modularity
242
+ - Dependency analysis
243
+ - Complexity assessment
244
+ model: inherit
245
+ tools: [Read, Grep, Glob, WebSearch, WebFetch]
246
+ expandContext: false
247
+ enabled: false
248
+
249
+ - name: research-assistant
250
+ description: "General-purpose research and writing assistant. Use for information gathering, summarization, and document drafting."
251
+ prompt: |
252
+ You are a versatile research assistant. Gather information, analyze data, and produce clear written output.
253
+
254
+ Capabilities:
255
+ - Web research and fact-checking
256
+ - Summarizing documents and codebases
257
+ - Drafting reports, documentation, and notes
258
+ - Answering complex multi-step questions
259
+
260
+ Always cite sources and distinguish facts from inferences.
261
+ model: inherit
262
+ tools: [Read, Edit, Write, Grep, Glob, WebSearch, WebFetch]
263
+ expandContext: false
264
+ enabled: false
265
+ plugins: [] # local plugins, configurable via Nostromo UI
266
+ inflightTyping: true # keep typing indicator active when multiple messages are in-flight
267
+ autoApproveTools: true # auto-approve SDK tool permissions; when false, asks user via channel buttons
268
+
269
+ cron:
270
+ enabled: true
271
+ isolated: true # jobs run in their own session (cron:name) instead of sharing user chat context
272
+ broadcastEvents: false # deliver cron responses to all known chats across all active channels
273
+ # storePath: "" # leave empty for default (data/cron/jobs.json)
274
+ heartbeat:
275
+ enabled: false
276
+ every: 1800000
277
+ channel: ""
278
+ chatId: ""
279
+ message: "Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK."
280
+ ackMaxChars: 300
281
+
282
+ nostromo:
283
+ enabled: true
284
+ port: 3001
285
+ basePath: "/nostromo" # base URL path for the admin UI (e.g. /nostromo → http://host:port/nostromo)
286
+ configCheckInterval: 5 # seconds between config file checks
287
+ autoRestart: true # auto-restart server when config.yaml changes
288
+
289
+ browser:
290
+ enabled: false
291
+ controlPort: 3003
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "@hera-al/server",
3
+ "version": "1.6.1",
4
+ "private": false,
5
+ "description": "Hera Artificial Life — Multi-channel AI agent gateway with autonomous capabilities",
6
+ "license": "MIT",
7
+ "author": "TGP <heralife.dev@gmail.com>",
8
+ "type": "module",
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "workspaces": [
12
+ "browser-server",
13
+ "standardnode"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/hera-artificial-life/hera-al.git"
18
+ },
19
+ "homepage": "https://github.com/hera-artificial-life/hera-al",
20
+ "keywords": [
21
+ "ai-agent",
22
+ "chatbot-gateway",
23
+ "telegram",
24
+ "discord",
25
+ "whatsapp",
26
+ "multi-channel",
27
+ "claude-ai",
28
+ "agent-sdk",
29
+ "hera"
30
+ ],
31
+ "files": [
32
+ "dist",
33
+ "!dist/**/*.map",
34
+ "!dist/**/*.d.ts.map",
35
+ "bundled",
36
+ "installationPkg"
37
+ ],
38
+ "engines": {
39
+ "node": ">=18"
40
+ },
41
+ "bin": {
42
+ "hera": "./dist/heracli/index.js",
43
+ "hera-install": "./dist/installer/hera.js",
44
+ "heraserver": "./dist/index.js"
45
+ },
46
+ "scripts": {
47
+ "start": "tsx src/index.ts",
48
+ "dev": "tsx watch src/index.ts",
49
+ "build": "tsc",
50
+ "minify": "find dist -name '*.map' -delete && find dist -name '*.js' -exec terser {} --module --compress --mangle -o {} \\;",
51
+ "build:prod": "rm -rf dist && npm run build && npm run minify",
52
+ "typecheck": "tsc --noEmit",
53
+ "installer": "tsx src/installer/hera.ts",
54
+ "up": "npx pm2 start npm --name hera -- run start",
55
+ "down": "npx pm2 stop hera",
56
+ "restart": "npx pm2 restart hera",
57
+ "logs": "npx pm2 logs hera",
58
+ "status": "npx pm2 status hera",
59
+ "hera": "node dist/heracli/index.js",
60
+ "prepublishOnly": "npm run build:prod",
61
+ "prepare-publish": "./scripts/prepare-publish.sh",
62
+ "restore-workspace": "./scripts/restore-workspace.sh"
63
+ },
64
+ "dependencies": {
65
+ "@anthropic-ai/claude-agent-sdk": "latest",
66
+ "@clack/prompts": "^1.0.0",
67
+ "@grammyjs/runner": "^2.0.3",
68
+ "@hera-al/browser-server": "^1.0.4",
69
+ "@hono/node-server": "^1.13.8",
70
+ "@types/markdown-it": "^14.1.2",
71
+ "@whiskeysockets/baileys": "^7.0.0-rc.9",
72
+ "better-sqlite3": "^11.7.0",
73
+ "croner": "^9.1.0",
74
+ "dotenv": "^17.2.4",
75
+ "grammy": "^1.35.0",
76
+ "hnswlib-node": "^3.0.0",
77
+ "hono": "^4.7.4",
78
+ "markdown-it": "^14.1.0",
79
+ "node-edge-tts": "^1.2.10",
80
+ "openai": "^6.0.0",
81
+ "playwright-core": "^1.58.2",
82
+ "qrcode-terminal": "^0.12.0",
83
+ "ws": "^8.18.0",
84
+ "yaml": "^2.7.0",
85
+ "zod": "^4.0.0"
86
+ },
87
+ "devDependencies": {
88
+ "@types/better-sqlite3": "^7.6.12",
89
+ "@types/node": "^22.13.4",
90
+ "@types/ws": "^8.5.13",
91
+ "terser": "^5.46.0",
92
+ "tsx": "^4.19.3",
93
+ "typescript": "^5.7.3"
94
+ }
95
+ }