@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.
- package/LICENSE +21 -0
- package/README.md +325 -0
- package/bundled/apple-notes/SKILL.md +77 -0
- package/bundled/apple-reminders/SKILL.md +96 -0
- package/bundled/blogwatcher/SKILL.md +69 -0
- package/bundled/camsnap/SKILL.md +45 -0
- package/bundled/discord/SKILL.md +578 -0
- package/bundled/gemini/SKILL.md +43 -0
- package/bundled/gifgrep/SKILL.md +79 -0
- package/bundled/github/SKILL.md +77 -0
- package/bundled/gog/SKILL.md +116 -0
- package/bundled/goplaces/SKILL.md +52 -0
- package/bundled/himalaya/SKILL.md +257 -0
- package/bundled/himalaya/references/configuration.md +184 -0
- package/bundled/himalaya/references/message-composition.md +199 -0
- package/bundled/homebrew/SKILL.md +82 -0
- package/bundled/local-places/SERVER_README.md +101 -0
- package/bundled/local-places/SKILL.md +102 -0
- package/bundled/local-places/pyproject.toml +21 -0
- package/bundled/local-places/src/local_places/__init__.py +2 -0
- package/bundled/local-places/src/local_places/google_places.py +314 -0
- package/bundled/local-places/src/local_places/main.py +65 -0
- package/bundled/local-places/src/local_places/schemas.py +107 -0
- package/bundled/markitdown/SKILL.md +96 -0
- package/bundled/mcporter/SKILL.md +61 -0
- package/bundled/merge-pr/SKILL.md +187 -0
- package/bundled/merge-pr/agents/openai.yaml +4 -0
- package/bundled/nano-banana-pro/SKILL.md +58 -0
- package/bundled/nano-banana-pro/scripts/generate_image.py +184 -0
- package/bundled/nano-pdf/SKILL.md +38 -0
- package/bundled/open-prose/README.md +25 -0
- package/bundled/open-prose/index.ts +5 -0
- package/bundled/open-prose/openclaw.plugin.json +11 -0
- package/bundled/open-prose/package.json +15 -0
- package/bundled/open-prose/skills/prose/LICENSE +21 -0
- package/bundled/open-prose/skills/prose/SKILL.md +323 -0
- package/bundled/open-prose/skills/prose/alt-borges.md +141 -0
- package/bundled/open-prose/skills/prose/alts/arabian-nights.md +358 -0
- package/bundled/open-prose/skills/prose/alts/borges.md +360 -0
- package/bundled/open-prose/skills/prose/alts/folk.md +322 -0
- package/bundled/open-prose/skills/prose/alts/homer.md +346 -0
- package/bundled/open-prose/skills/prose/alts/kafka.md +373 -0
- package/bundled/open-prose/skills/prose/compiler.md +2971 -0
- package/bundled/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
- package/bundled/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
- package/bundled/open-prose/skills/prose/examples/03-code-review.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
- package/bundled/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/07-refactor.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
- package/bundled/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
- package/bundled/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
- package/bundled/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
- package/bundled/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
- package/bundled/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
- package/bundled/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
- package/bundled/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
- package/bundled/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
- package/bundled/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
- package/bundled/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
- package/bundled/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
- package/bundled/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
- package/bundled/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
- package/bundled/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
- package/bundled/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
- package/bundled/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
- package/bundled/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
- package/bundled/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
- package/bundled/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
- package/bundled/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
- package/bundled/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
- package/bundled/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
- package/bundled/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
- package/bundled/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
- package/bundled/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
- package/bundled/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
- package/bundled/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
- package/bundled/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
- package/bundled/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
- package/bundled/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
- package/bundled/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
- package/bundled/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
- package/bundled/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
- package/bundled/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
- package/bundled/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
- package/bundled/open-prose/skills/prose/examples/README.md +391 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/README.md +22 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
- package/bundled/open-prose/skills/prose/guidance/antipatterns.md +951 -0
- package/bundled/open-prose/skills/prose/guidance/patterns.md +700 -0
- package/bundled/open-prose/skills/prose/guidance/system-prompt.md +180 -0
- package/bundled/open-prose/skills/prose/help.md +144 -0
- package/bundled/open-prose/skills/prose/lib/README.md +108 -0
- package/bundled/open-prose/skills/prose/lib/calibrator.prose +215 -0
- package/bundled/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
- package/bundled/open-prose/skills/prose/lib/error-forensics.prose +250 -0
- package/bundled/open-prose/skills/prose/lib/inspector.prose +196 -0
- package/bundled/open-prose/skills/prose/lib/profiler.prose +460 -0
- package/bundled/open-prose/skills/prose/lib/program-improver.prose +275 -0
- package/bundled/open-prose/skills/prose/lib/project-memory.prose +118 -0
- package/bundled/open-prose/skills/prose/lib/user-memory.prose +93 -0
- package/bundled/open-prose/skills/prose/lib/vm-improver.prose +243 -0
- package/bundled/open-prose/skills/prose/primitives/session.md +593 -0
- package/bundled/open-prose/skills/prose/prose.md +1237 -0
- package/bundled/open-prose/skills/prose/state/filesystem.md +498 -0
- package/bundled/open-prose/skills/prose/state/in-context.md +384 -0
- package/bundled/open-prose/skills/prose/state/postgres.md +880 -0
- package/bundled/open-prose/skills/prose/state/sqlite.md +574 -0
- package/bundled/peekaboo/SKILL.md +190 -0
- package/bundled/prepare-pr/SKILL.md +277 -0
- package/bundled/prepare-pr/agents/openai.yaml +4 -0
- package/bundled/review-pr/SKILL.md +228 -0
- package/bundled/review-pr/agents/openai.yaml +4 -0
- package/bundled/sag/SKILL.md +87 -0
- package/bundled/skill-creator/SKILL.md +370 -0
- package/bundled/skill-creator/license.txt +202 -0
- package/bundled/skill-creator/scripts/init_skill.py +378 -0
- package/bundled/skill-creator/scripts/package_skill.py +111 -0
- package/bundled/skill-creator/scripts/quick_validate.py +101 -0
- package/bundled/spotify-player/SKILL.md +64 -0
- package/bundled/ssh/SKILL.md +119 -0
- package/bundled/summarize/SKILL.md +87 -0
- package/bundled/video-frames/SKILL.md +46 -0
- package/bundled/video-frames/scripts/frame.sh +81 -0
- package/bundled/voice-call/SKILL.md +45 -0
- package/bundled/wacli/SKILL.md +72 -0
- package/bundled/weather/SKILL.md +54 -0
- package/dist/agent/agent-service.d.ts +88 -0
- package/dist/agent/agent-service.js +1 -0
- package/dist/agent/message-queue.d.ts +24 -0
- package/dist/agent/message-queue.js +1 -0
- package/dist/agent/prompt-builder.d.ts +58 -0
- package/dist/agent/prompt-builder.js +1 -0
- package/dist/agent/session-agent.d.ts +197 -0
- package/dist/agent/session-agent.js +1 -0
- package/dist/agent/session-db.d.ts +26 -0
- package/dist/agent/session-db.js +1 -0
- package/dist/agent/session-error-handler.d.ts +37 -0
- package/dist/agent/session-error-handler.js +1 -0
- package/dist/agent/session-manager.d.ts +19 -0
- package/dist/agent/session-manager.js +1 -0
- package/dist/agent/workspace-files.d.ts +51 -0
- package/dist/agent/workspace-files.js +1 -0
- package/dist/auth/auth-middleware.d.ts +9 -0
- package/dist/auth/auth-middleware.js +1 -0
- package/dist/auth/node-signature-db.d.ts +30 -0
- package/dist/auth/node-signature-db.js +1 -0
- package/dist/auth/token-db.d.ts +38 -0
- package/dist/auth/token-db.js +1 -0
- package/dist/browser/browser-service.d.ts +9 -0
- package/dist/browser/browser-service.js +1 -0
- package/dist/channels/channel.d.ts +2 -0
- package/dist/channels/channel.js +1 -0
- package/dist/channels/responses.d.ts +21 -0
- package/dist/channels/responses.js +1 -0
- package/dist/commands/clear.d.ts +7 -0
- package/dist/commands/clear.js +1 -0
- package/dist/commands/cmd.d.ts +7 -0
- package/dist/commands/cmd.js +1 -0
- package/dist/commands/coder.d.ts +12 -0
- package/dist/commands/coder.js +1 -0
- package/dist/commands/command-registry.d.ts +12 -0
- package/dist/commands/command-registry.js +1 -0
- package/dist/commands/command.d.ts +22 -0
- package/dist/commands/command.js +1 -0
- package/dist/commands/compact.d.ts +7 -0
- package/dist/commands/compact.js +1 -0
- package/dist/commands/customsubagents.d.ts +15 -0
- package/dist/commands/customsubagents.js +1 -0
- package/dist/commands/help.d.ts +9 -0
- package/dist/commands/help.js +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.js +1 -0
- package/dist/commands/model.d.ts +22 -0
- package/dist/commands/model.js +1 -0
- package/dist/commands/models.d.ts +11 -0
- package/dist/commands/models.js +1 -0
- package/dist/commands/new.d.ts +7 -0
- package/dist/commands/new.js +1 -0
- package/dist/commands/plugin.d.ts +7 -0
- package/dist/commands/plugin.js +1 -0
- package/dist/commands/sandbox.d.ts +12 -0
- package/dist/commands/sandbox.js +1 -0
- package/dist/commands/showtool.d.ts +12 -0
- package/dist/commands/showtool.js +1 -0
- package/dist/commands/status.d.ts +24 -0
- package/dist/commands/status.js +1 -0
- package/dist/commands/stop.d.ts +10 -0
- package/dist/commands/stop.js +1 -0
- package/dist/commands/subagents.d.ts +12 -0
- package/dist/commands/subagents.js +1 -0
- package/dist/commands/usage.d.ts +25 -0
- package/dist/commands/usage.js +1 -0
- package/dist/commands/useplugin.d.ts +7 -0
- package/dist/commands/useplugin.js +1 -0
- package/dist/config-watcher.d.ts +14 -0
- package/dist/config-watcher.js +1 -0
- package/dist/config.d.ts +267 -0
- package/dist/config.js +1 -0
- package/dist/cron/cron-service.d.ts +57 -0
- package/dist/cron/cron-service.js +1 -0
- package/dist/cron/heartbeat-token.d.ts +29 -0
- package/dist/cron/heartbeat-token.js +1 -0
- package/dist/cron/schedule.d.ts +3 -0
- package/dist/cron/schedule.js +1 -0
- package/dist/cron/store.d.ts +4 -0
- package/dist/cron/store.js +1 -0
- package/dist/cron/types.d.ts +47 -0
- package/dist/cron/types.js +1 -0
- package/dist/gateway/bridge.d.ts +38 -0
- package/dist/gateway/bridge.js +1 -0
- package/dist/gateway/channel-manager.d.ts +45 -0
- package/dist/gateway/channel-manager.js +1 -0
- package/dist/gateway/channels/qr-image.d.ts +5 -0
- package/dist/gateway/channels/qr-image.js +1 -0
- package/dist/gateway/channels/telegram.d.ts +39 -0
- package/dist/gateway/channels/telegram.js +1 -0
- package/dist/gateway/channels/webchat.d.ts +51 -0
- package/dist/gateway/channels/webchat.js +1 -0
- package/dist/gateway/channels/whatsapp.d.ts +40 -0
- package/dist/gateway/channels/whatsapp.js +1 -0
- package/dist/gateway/node-registry.d.ts +38 -0
- package/dist/gateway/node-registry.js +1 -0
- package/dist/heracli/index.d.ts +3 -0
- package/dist/heracli/index.js +2 -0
- package/dist/heracli/logs.d.ts +13 -0
- package/dist/heracli/logs.js +1 -0
- package/dist/heracli/security/audit.d.ts +17 -0
- package/dist/heracli/security/audit.js +1 -0
- package/dist/heracli/security/checks/channel-policies.d.ts +6 -0
- package/dist/heracli/security/checks/channel-policies.js +1 -0
- package/dist/heracli/security/checks/credentials.d.ts +6 -0
- package/dist/heracli/security/checks/credentials.js +1 -0
- package/dist/heracli/security/checks/fs-permissions.d.ts +6 -0
- package/dist/heracli/security/checks/fs-permissions.js +1 -0
- package/dist/heracli/security/checks/network.d.ts +4 -0
- package/dist/heracli/security/checks/network.js +1 -0
- package/dist/heracli/security/report.d.ts +4 -0
- package/dist/heracli/security/report.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/installer/hera.d.ts +3 -0
- package/dist/installer/hera.js +2 -0
- package/dist/media/message-processor.d.ts +23 -0
- package/dist/media/message-processor.js +1 -0
- package/dist/memory/memory-manager.d.ts +21 -0
- package/dist/memory/memory-manager.js +1 -0
- package/dist/memory/memory-provider.d.ts +22 -0
- package/dist/memory/memory-provider.js +1 -0
- package/dist/memory/memory-search.d.ts +102 -0
- package/dist/memory/memory-search.js +1 -0
- package/dist/memory/recall-strategies.d.ts +2 -0
- package/dist/memory/recall-strategies.js +1 -0
- package/dist/nostromo/auth.d.ts +29 -0
- package/dist/nostromo/auth.js +1 -0
- package/dist/nostromo/nostromo.d.ts +23 -0
- package/dist/nostromo/nostromo.js +1 -0
- package/dist/nostromo/ui-html-layout.d.ts +3 -0
- package/dist/nostromo/ui-html-layout.js +1 -0
- package/dist/nostromo/ui-html-modals.d.ts +3 -0
- package/dist/nostromo/ui-html-modals.js +1 -0
- package/dist/nostromo/ui-js-agent.d.ts +3 -0
- package/dist/nostromo/ui-js-agent.js +1 -0
- package/dist/nostromo/ui-js-channels.d.ts +3 -0
- package/dist/nostromo/ui-js-channels.js +1 -0
- package/dist/nostromo/ui-js-competences.d.ts +3 -0
- package/dist/nostromo/ui-js-competences.js +1 -0
- package/dist/nostromo/ui-js-config.d.ts +3 -0
- package/dist/nostromo/ui-js-config.js +1 -0
- package/dist/nostromo/ui-js-core.d.ts +3 -0
- package/dist/nostromo/ui-js-core.js +1 -0
- package/dist/nostromo/ui-js-ops.d.ts +3 -0
- package/dist/nostromo/ui-js-ops.js +1 -0
- package/dist/nostromo/ui-js-prompts.d.ts +3 -0
- package/dist/nostromo/ui-js-prompts.js +1 -0
- package/dist/nostromo/ui-styles.d.ts +3 -0
- package/dist/nostromo/ui-styles.js +1 -0
- package/dist/nostromo/ui.d.ts +2 -0
- package/dist/nostromo/ui.js +1 -0
- package/dist/server.d.ts +80 -0
- package/dist/server.js +1 -0
- package/dist/stt/local-whisper.d.ts +9 -0
- package/dist/stt/local-whisper.js +1 -0
- package/dist/stt/openai-whisper.d.ts +14 -0
- package/dist/stt/openai-whisper.js +1 -0
- package/dist/stt/stt-loader.d.ts +4 -0
- package/dist/stt/stt-loader.js +1 -0
- package/dist/stt/stt-provider.d.ts +4 -0
- package/dist/stt/stt-provider.js +1 -0
- package/dist/tools/browser-tools.d.ts +9 -0
- package/dist/tools/browser-tools.js +1 -0
- package/dist/tools/cron-tools.d.ts +4 -0
- package/dist/tools/cron-tools.js +1 -0
- package/dist/tools/memory-tools.d.ts +3 -0
- package/dist/tools/memory-tools.js +1 -0
- package/dist/tools/message-tools.d.ts +5 -0
- package/dist/tools/message-tools.js +1 -0
- package/dist/tools/node-tools.d.ts +3 -0
- package/dist/tools/node-tools.js +1 -0
- package/dist/tools/server-tools.d.ts +2 -0
- package/dist/tools/server-tools.js +1 -0
- package/dist/tools/tts-tools.d.ts +3 -0
- package/dist/tools/tts-tools.js +1 -0
- package/dist/tts/tts-service.d.ts +19 -0
- package/dist/tts/tts-service.js +1 -0
- package/dist/utils/chunk.d.ts +3 -0
- package/dist/utils/chunk.js +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/markdown/fences.d.ts +11 -0
- package/dist/utils/markdown/fences.js +1 -0
- package/dist/utils/markdown/ir.d.ts +33 -0
- package/dist/utils/markdown/ir.js +1 -0
- package/dist/utils/markdown/render.d.ts +19 -0
- package/dist/utils/markdown/render.js +1 -0
- package/dist/utils/markdown/tables.d.ts +3 -0
- package/dist/utils/markdown/tables.js +1 -0
- package/dist/utils/media-response.d.ts +29 -0
- package/dist/utils/media-response.js +1 -0
- package/dist/utils/package-paths.d.ts +5 -0
- package/dist/utils/package-paths.js +1 -0
- package/dist/utils/telegram-format.d.ts +13 -0
- package/dist/utils/telegram-format.js +1 -0
- package/installationPkg/.env.example +26 -0
- package/installationPkg/AGENTS.md +143 -0
- package/installationPkg/BOOTSTRAP.md +45 -0
- package/installationPkg/CBINT.json +16 -0
- package/installationPkg/HEARTBEAT.md +5 -0
- package/installationPkg/IDENTITY.md +7 -0
- package/installationPkg/SOUL.md +36 -0
- package/installationPkg/SYSTEM_PROMPT.md +55 -0
- package/installationPkg/SYSTEM_PROMPT_SUBAGENT.md +40 -0
- package/installationPkg/TOOLS.md +36 -0
- package/installationPkg/USER.md +11 -0
- package/installationPkg/config.example.yaml +291 -0
- 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
|
+
}
|