nyxora 26.7.8 → 26.7.10
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/CHANGELOG.md +43 -0
- package/README.md +9 -8
- package/SUPPORT.md +18 -0
- package/dist/packages/core/src/agent/osAgent.js +234 -27
- package/dist/packages/core/src/agent/promptBuilder.js +33 -14
- package/dist/packages/core/src/agent/reasoning.js +105 -39
- package/dist/packages/core/src/agent/web3Agent.js +181 -23
- package/dist/packages/core/src/channels/telegram.js +50 -15
- package/dist/packages/core/src/channels/whatsappAdapter.js +6 -37
- package/dist/packages/core/src/gateway/server.js +1 -1
- package/dist/packages/core/src/gateway/setup.js +11 -3
- package/dist/packages/core/src/plugin/PluginManager.js +15 -1
- package/dist/packages/core/src/system/plugins/SystemWorkspacePlugin.js +5 -0
- package/dist/packages/core/src/system/skills/analyzeImage.js +14 -21
- package/dist/packages/core/src/system/skills/generateImage.js +63 -0
- package/dist/packages/core/src/system/skills/searchWeb.js +44 -1
- package/dist/packages/core/src/utils/contextSummarizer.js +32 -28
- package/dist/packages/core/src/utils/historySanitizer.js +21 -2
- package/dist/packages/core/src/utils/skillManager.js +1 -0
- package/dist/packages/core/src/web3/aggregator/providers/ArbitrumBridgeProvider.js +58 -12
- package/dist/packages/core/src/web3/aggregator/providers/KyberSwapProvider.js +1 -1
- package/dist/packages/core/src/web3/aggregator/providers/LifiProvider.js +1 -1
- package/dist/packages/core/src/web3/aggregator/providers/OneInchProvider.js +1 -1
- package/dist/packages/core/src/web3/aggregator/providers/OpenOceanProvider.js +1 -1
- package/dist/packages/core/src/web3/aggregator/providers/RelayProvider.js +1 -1
- package/dist/packages/core/src/web3/aggregator/providers/ZeroXProvider.js +1 -1
- package/dist/packages/core/src/web3/skills/bridgeToken.js +1 -1
- package/dist/packages/core/src/web3/skills/checkSecurity.js +2 -0
- package/dist/packages/core/src/web3/skills/marketAnalysis.js +15 -9
- package/dist/packages/core/src/web3/utils/chains.js +4 -0
- package/dist/packages/core/src/web3/utils/riskIntelligence.js +14 -4
- package/dist/packages/core/src/web3/utils/rpcEngine.js +10 -0
- package/dist/packages/core/src/web3/utils/tokens.js +6 -0
- package/dist/packages/policy/src/engine.js +260 -0
- package/dist/packages/policy/src/index.js +17 -0
- package/dist/packages/policy/src/server.js +9 -248
- package/dist/packages/signer/src/NyxoraSigner.js +22 -1
- package/package.json +24 -16
- package/packages/core/package.json +2 -5
- package/packages/core/playbooks/apple/DESCRIPTION.md +2 -0
- package/packages/core/playbooks/apple/apple-notes/SKILL.md +90 -0
- package/packages/core/playbooks/apple/apple-reminders/SKILL.md +130 -0
- package/packages/core/playbooks/apple/findmy/SKILL.md +131 -0
- package/packages/core/playbooks/apple/imessage/SKILL.md +102 -0
- package/packages/core/playbooks/autonomous-ai-agents/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/autonomous-ai-agents/claude-code/SKILL.md +745 -0
- package/packages/core/playbooks/autonomous-ai-agents/codex/SKILL.md +149 -0
- package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/SKILL.md +1111 -0
- package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/references/native-mcp.md +344 -0
- package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/references/webhooks.md +194 -0
- package/packages/core/playbooks/autonomous-ai-agents/opencode/SKILL.md +219 -0
- package/packages/core/playbooks/computer-use/SKILL.md +263 -0
- package/packages/core/playbooks/creative/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/creative/architecture-diagram/SKILL.md +148 -0
- package/packages/core/playbooks/creative/architecture-diagram/templates/template.html +319 -0
- package/packages/core/playbooks/creative/ascii-art/SKILL.md +322 -0
- package/packages/core/playbooks/creative/ascii-video/README.md +290 -0
- package/packages/core/playbooks/creative/ascii-video/SKILL.md +241 -0
- package/packages/core/playbooks/creative/ascii-video/references/architecture.md +802 -0
- package/packages/core/playbooks/creative/ascii-video/references/composition.md +892 -0
- package/packages/core/playbooks/creative/ascii-video/references/effects.md +1865 -0
- package/packages/core/playbooks/creative/ascii-video/references/inputs.md +685 -0
- package/packages/core/playbooks/creative/ascii-video/references/optimization.md +688 -0
- package/packages/core/playbooks/creative/ascii-video/references/scenes.md +1011 -0
- package/packages/core/playbooks/creative/ascii-video/references/shaders.md +1385 -0
- package/packages/core/playbooks/creative/ascii-video/references/troubleshooting.md +367 -0
- package/packages/core/playbooks/creative/baoyu-infographic/PORT_NOTES.md +43 -0
- package/packages/core/playbooks/creative/baoyu-infographic/SKILL.md +237 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/analysis-framework.md +182 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/base-prompt.md +43 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/bento-grid.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/binary-comparison.md +48 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/bridge.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/circular-flow.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/comic-strip.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/dashboard.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/dense-modules.md +72 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/funnel.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/hub-spoke.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/iceberg.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/isometric-map.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/jigsaw.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/linear-progression.md +48 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/periodic-table.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/story-mountain.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/tree-branching.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/venn-diagram.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/structured-content-template.md +244 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/aged-academia.md +36 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/bold-graphic.md +36 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/chalkboard.md +61 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/claymation.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/corporate-memphis.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/craft-handmade.md +44 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/ikea-manual.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/kawaii.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/knolling.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/lego-brick.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/morandi-journal.md +60 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/origami.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/pixel-art.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/pop-laboratory.md +48 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/subway-map.md +29 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/technical-schematic.md +36 -0
- package/packages/core/playbooks/creative/baoyu-infographic/references/styles/ui-wireframe.md +29 -0
- package/packages/core/playbooks/creative/claude-design/SKILL.md +650 -0
- package/packages/core/playbooks/creative/comfyui/SKILL.md +612 -0
- package/packages/core/playbooks/creative/comfyui/references/official-cli.md +255 -0
- package/packages/core/playbooks/creative/comfyui/references/rest-api.md +312 -0
- package/packages/core/playbooks/creative/comfyui/references/template-integrity.md +243 -0
- package/packages/core/playbooks/creative/comfyui/references/workflow-format.md +226 -0
- package/packages/core/playbooks/creative/comfyui/scripts/_common.py +835 -0
- package/packages/core/playbooks/creative/comfyui/scripts/auto_fix_deps.py +225 -0
- package/packages/core/playbooks/creative/comfyui/scripts/check_deps.py +437 -0
- package/packages/core/playbooks/creative/comfyui/scripts/comfyui_setup.sh +286 -0
- package/packages/core/playbooks/creative/comfyui/scripts/extract_schema.py +315 -0
- package/packages/core/playbooks/creative/comfyui/scripts/fetch_logs.py +157 -0
- package/packages/core/playbooks/creative/comfyui/scripts/hardware_check.py +497 -0
- package/packages/core/playbooks/creative/comfyui/scripts/health_check.py +223 -0
- package/packages/core/playbooks/creative/comfyui/scripts/run_batch.py +243 -0
- package/packages/core/playbooks/creative/comfyui/scripts/run_workflow.py +796 -0
- package/packages/core/playbooks/creative/comfyui/scripts/ws_monitor.py +267 -0
- package/packages/core/playbooks/creative/comfyui/tests/README.md +50 -0
- package/packages/core/playbooks/creative/comfyui/tests/conftest.py +64 -0
- package/packages/core/playbooks/creative/comfyui/tests/pytest.ini +5 -0
- package/packages/core/playbooks/creative/comfyui/tests/test_check_deps.py +68 -0
- package/packages/core/playbooks/creative/comfyui/tests/test_cloud_integration.py +95 -0
- package/packages/core/playbooks/creative/comfyui/tests/test_common.py +443 -0
- package/packages/core/playbooks/creative/comfyui/tests/test_extract_schema.py +184 -0
- package/packages/core/playbooks/creative/comfyui/tests/test_run_workflow.py +210 -0
- package/packages/core/playbooks/creative/comfyui/workflows/README.md +86 -0
- package/packages/core/playbooks/creative/comfyui/workflows/animatediff_video.json +64 -0
- package/packages/core/playbooks/creative/comfyui/workflows/flux_dev_txt2img.json +78 -0
- package/packages/core/playbooks/creative/comfyui/workflows/sd15_txt2img.json +49 -0
- package/packages/core/playbooks/creative/comfyui/workflows/sdxl_img2img.json +54 -0
- package/packages/core/playbooks/creative/comfyui/workflows/sdxl_inpaint.json +59 -0
- package/packages/core/playbooks/creative/comfyui/workflows/sdxl_txt2img.json +49 -0
- package/packages/core/playbooks/creative/comfyui/workflows/upscale_4x.json +27 -0
- package/packages/core/playbooks/creative/comfyui/workflows/wan_video_t2v.json +69 -0
- package/packages/core/playbooks/creative/design-md/SKILL.md +199 -0
- package/packages/core/playbooks/creative/design-md/templates/starter.md +99 -0
- package/packages/core/playbooks/creative/excalidraw/SKILL.md +199 -0
- package/packages/core/playbooks/creative/excalidraw/references/colors.md +44 -0
- package/packages/core/playbooks/creative/excalidraw/references/dark-mode.md +68 -0
- package/packages/core/playbooks/creative/excalidraw/references/examples.md +141 -0
- package/packages/core/playbooks/creative/excalidraw/scripts/upload.py +133 -0
- package/packages/core/playbooks/creative/humanizer/LICENSE +21 -0
- package/packages/core/playbooks/creative/humanizer/SKILL.md +578 -0
- package/packages/core/playbooks/creative/manim-video/README.md +23 -0
- package/packages/core/playbooks/creative/manim-video/SKILL.md +269 -0
- package/packages/core/playbooks/creative/manim-video/references/animation-design-thinking.md +161 -0
- package/packages/core/playbooks/creative/manim-video/references/animations.md +282 -0
- package/packages/core/playbooks/creative/manim-video/references/camera-and-3d.md +135 -0
- package/packages/core/playbooks/creative/manim-video/references/decorations.md +202 -0
- package/packages/core/playbooks/creative/manim-video/references/equations.md +216 -0
- package/packages/core/playbooks/creative/manim-video/references/graphs-and-data.md +163 -0
- package/packages/core/playbooks/creative/manim-video/references/mobjects.md +333 -0
- package/packages/core/playbooks/creative/manim-video/references/paper-explainer.md +255 -0
- package/packages/core/playbooks/creative/manim-video/references/production-quality.md +190 -0
- package/packages/core/playbooks/creative/manim-video/references/rendering.md +185 -0
- package/packages/core/playbooks/creative/manim-video/references/scene-planning.md +118 -0
- package/packages/core/playbooks/creative/manim-video/references/troubleshooting.md +135 -0
- package/packages/core/playbooks/creative/manim-video/references/updaters-and-trackers.md +260 -0
- package/packages/core/playbooks/creative/manim-video/references/visual-design.md +124 -0
- package/packages/core/playbooks/creative/manim-video/scripts/setup.sh +14 -0
- package/packages/core/playbooks/creative/p5js/README.md +64 -0
- package/packages/core/playbooks/creative/p5js/SKILL.md +556 -0
- package/packages/core/playbooks/creative/p5js/references/animation.md +439 -0
- package/packages/core/playbooks/creative/p5js/references/color-systems.md +352 -0
- package/packages/core/playbooks/creative/p5js/references/core-api.md +410 -0
- package/packages/core/playbooks/creative/p5js/references/export-pipeline.md +566 -0
- package/packages/core/playbooks/creative/p5js/references/interaction.md +398 -0
- package/packages/core/playbooks/creative/p5js/references/shapes-and-geometry.md +300 -0
- package/packages/core/playbooks/creative/p5js/references/troubleshooting.md +532 -0
- package/packages/core/playbooks/creative/p5js/references/typography.md +302 -0
- package/packages/core/playbooks/creative/p5js/references/visual-effects.md +895 -0
- package/packages/core/playbooks/creative/p5js/references/webgl-and-3d.md +423 -0
- package/packages/core/playbooks/creative/p5js/scripts/export-frames.js +179 -0
- package/packages/core/playbooks/creative/p5js/scripts/render.sh +108 -0
- package/packages/core/playbooks/creative/p5js/scripts/serve.sh +28 -0
- package/packages/core/playbooks/creative/p5js/scripts/setup.sh +87 -0
- package/packages/core/playbooks/creative/p5js/templates/viewer.html +395 -0
- package/packages/core/playbooks/creative/popular-web-designs/SKILL.md +214 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/airbnb.md +259 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/airtable.md +102 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/apple.md +326 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/bmw.md +193 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/cal.md +272 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/claude.md +325 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/clay.md +317 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/clickhouse.md +294 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/cohere.md +279 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/coinbase.md +142 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/composio.md +320 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/cursor.md +322 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/elevenlabs.md +278 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/expo.md +294 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/figma.md +233 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/framer.md +259 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/hashicorp.md +291 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/ibm.md +345 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/intercom.md +159 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/kraken.md +138 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/linear.app.md +380 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/lovable.md +311 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/minimax.md +270 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/mintlify.md +339 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/miro.md +121 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/mistral.ai.md +274 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/mongodb.md +279 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/notion.md +322 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/nvidia.md +306 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/ollama.md +280 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/opencode.ai.md +294 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/pinterest.md +243 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/posthog.md +269 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/raycast.md +281 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/replicate.md +274 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/resend.md +316 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/revolut.md +198 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/runwayml.md +257 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/sanity.md +370 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/sentry.md +275 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/spacex.md +207 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/spotify.md +259 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/stripe.md +335 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/supabase.md +268 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/superhuman.md +265 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/together.ai.md +276 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/uber.md +308 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/vercel.md +323 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/voltagent.md +336 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/warp.md +266 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/webflow.md +105 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/wise.md +186 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/x.ai.md +270 -0
- package/packages/core/playbooks/creative/popular-web-designs/templates/zapier.md +341 -0
- package/packages/core/playbooks/creative/pretext/SKILL.md +220 -0
- package/packages/core/playbooks/creative/pretext/references/patterns.md +258 -0
- package/packages/core/playbooks/creative/pretext/templates/donut-orbit.html +1468 -0
- package/packages/core/playbooks/creative/pretext/templates/hello-orb-flow.html +95 -0
- package/packages/core/playbooks/creative/sketch/SKILL.md +218 -0
- package/packages/core/playbooks/creative/songwriting-and-ai-music/SKILL.md +287 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/SKILL.md +356 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/3d-scene.md +275 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/animation.md +221 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/audio-reactive.md +175 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/dat-scripting.md +352 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/external-data.md +322 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/geometry-comp.md +121 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/glsl.md +151 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/layout-compositor.md +131 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/mcp-tools.md +382 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/midi-osc.md +211 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/network-patterns.md +966 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/operator-tips.md +106 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/operators.md +239 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/panel-ui.md +281 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/particles.md +245 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/pitfalls.md +704 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/postfx.md +183 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/projection-mapping.md +211 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/python-api.md +463 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/replicator.md +198 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/references/troubleshooting.md +244 -0
- package/packages/core/playbooks/creative/touchdesigner-mcp/scripts/setup.sh +115 -0
- package/packages/core/playbooks/data-science/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/data-science/jupyter-live-kernel/SKILL.md +167 -0
- package/packages/core/playbooks/dogfood/SKILL.md +162 -0
- package/packages/core/playbooks/dogfood/references/issue-taxonomy.md +109 -0
- package/packages/core/playbooks/dogfood/templates/dogfood-report-template.md +86 -0
- package/packages/core/playbooks/email/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/github/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/github/codebase-inspection/SKILL.md +116 -0
- package/packages/core/playbooks/github/github-auth/SKILL.md +247 -0
- package/packages/core/playbooks/github/github-auth/scripts/gh-env.sh +66 -0
- package/packages/core/playbooks/github/github-code-review/SKILL.md +481 -0
- package/packages/core/playbooks/github/github-code-review/references/review-output-template.md +74 -0
- package/packages/core/playbooks/github/github-issues/SKILL.md +370 -0
- package/packages/core/playbooks/github/github-issues/templates/bug-report.md +35 -0
- package/packages/core/playbooks/github/github-issues/templates/feature-request.md +31 -0
- package/packages/core/playbooks/github/github-pr-workflow/SKILL.md +367 -0
- package/packages/core/playbooks/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/packages/core/playbooks/github/github-pr-workflow/references/conventional-commits.md +71 -0
- package/packages/core/playbooks/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/packages/core/playbooks/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/packages/core/playbooks/github/github-repo-management/SKILL.md +516 -0
- package/packages/core/playbooks/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
- package/packages/core/playbooks/index-cache/anthropics_skills_skills_.json +1 -0
- package/packages/core/playbooks/index-cache/claude_marketplace_anthropics_skills.json +1 -0
- package/packages/core/playbooks/index-cache/lobehub_index.json +1 -0
- package/packages/core/playbooks/index-cache/openai_skills_skills_.json +1 -0
- package/packages/core/playbooks/media/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/media/gif-search/SKILL.md +91 -0
- package/packages/core/playbooks/media/heartmula/SKILL.md +171 -0
- package/packages/core/playbooks/media/songsee/SKILL.md +83 -0
- package/packages/core/playbooks/media/youtube-content/SKILL.md +76 -0
- package/packages/core/playbooks/media/youtube-content/references/output-formats.md +56 -0
- package/packages/core/playbooks/media/youtube-content/scripts/fetch_transcript.py +124 -0
- package/packages/core/playbooks/mlops/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/mlops/evaluation/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/SKILL.md +498 -0
- package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/api-evaluation.md +490 -0
- package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/benchmark-guide.md +488 -0
- package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/custom-tasks.md +602 -0
- package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/distributed-eval.md +519 -0
- package/packages/core/playbooks/mlops/evaluation/weights-and-biases/SKILL.md +594 -0
- package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
- package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
- package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/sweeps.md +847 -0
- package/packages/core/playbooks/mlops/huggingface-hub/SKILL.md +81 -0
- package/packages/core/playbooks/mlops/inference/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/SKILL.md +249 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/advanced-usage.md +504 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/hub-discovery.md +168 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/optimization.md +89 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/quantization.md +243 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/server.md +150 -0
- package/packages/core/playbooks/mlops/inference/llama-cpp/references/troubleshooting.md +442 -0
- package/packages/core/playbooks/mlops/inference/vllm/SKILL.md +372 -0
- package/packages/core/playbooks/mlops/inference/vllm/references/optimization.md +226 -0
- package/packages/core/playbooks/mlops/inference/vllm/references/quantization.md +284 -0
- package/packages/core/playbooks/mlops/inference/vllm/references/server-deployment.md +255 -0
- package/packages/core/playbooks/mlops/inference/vllm/references/troubleshooting.md +447 -0
- package/packages/core/playbooks/mlops/models/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/mlops/models/audiocraft/SKILL.md +568 -0
- package/packages/core/playbooks/mlops/models/audiocraft/references/advanced-usage.md +666 -0
- package/packages/core/playbooks/mlops/models/audiocraft/references/troubleshooting.md +504 -0
- package/packages/core/playbooks/mlops/models/segment-anything/SKILL.md +506 -0
- package/packages/core/playbooks/mlops/models/segment-anything/references/advanced-usage.md +589 -0
- package/packages/core/playbooks/mlops/models/segment-anything/references/troubleshooting.md +484 -0
- package/packages/core/playbooks/note-taking/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/note-taking/obsidian/SKILL.md +61 -0
- package/packages/core/playbooks/productivity/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/productivity/airtable/SKILL.md +229 -0
- package/packages/core/playbooks/productivity/maps/SKILL.md +195 -0
- package/packages/core/playbooks/productivity/maps/scripts/maps_client.py +1297 -0
- package/packages/core/playbooks/productivity/nano-pdf/SKILL.md +52 -0
- package/packages/core/playbooks/productivity/notion/SKILL.md +448 -0
- package/packages/core/playbooks/productivity/notion/references/block-types.md +112 -0
- package/packages/core/playbooks/productivity/ocr-and-documents/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/productivity/ocr-and-documents/SKILL.md +172 -0
- package/packages/core/playbooks/productivity/ocr-and-documents/scripts/extract_marker.py +87 -0
- package/packages/core/playbooks/productivity/ocr-and-documents/scripts/extract_pymupdf.py +98 -0
- package/packages/core/playbooks/productivity/petdex/SKILL.md +89 -0
- package/packages/core/playbooks/productivity/powerpoint/LICENSE.txt +30 -0
- package/packages/core/playbooks/productivity/powerpoint/SKILL.md +237 -0
- package/packages/core/playbooks/productivity/powerpoint/editing.md +205 -0
- package/packages/core/playbooks/productivity/powerpoint/pptxgenjs.md +420 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/__init__.py +0 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/add_slide.py +195 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/clean.py +286 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/pack.py +159 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/packages/core/playbooks/productivity/teams-meeting-pipeline/SKILL.md +116 -0
- package/packages/core/playbooks/research/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/research/arxiv/SKILL.md +282 -0
- package/packages/core/playbooks/research/arxiv/scripts/search_arxiv.py +114 -0
- package/packages/core/playbooks/research/blogwatcher/SKILL.md +137 -0
- package/packages/core/playbooks/research/llm-wiki/SKILL.md +507 -0
- package/packages/core/playbooks/research/polymarket/SKILL.md +77 -0
- package/packages/core/playbooks/research/polymarket/references/api-endpoints.md +220 -0
- package/packages/core/playbooks/research/polymarket/scripts/polymarket.py +284 -0
- package/packages/core/playbooks/research/research-paper-writing/SKILL.md +2377 -0
- package/packages/core/playbooks/research/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/packages/core/playbooks/research/research-paper-writing/references/checklists.md +434 -0
- package/packages/core/playbooks/research/research-paper-writing/references/citation-workflow.md +564 -0
- package/packages/core/playbooks/research/research-paper-writing/references/experiment-patterns.md +728 -0
- package/packages/core/playbooks/research/research-paper-writing/references/human-evaluation.md +476 -0
- package/packages/core/playbooks/research/research-paper-writing/references/paper-types.md +481 -0
- package/packages/core/playbooks/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/packages/core/playbooks/research/research-paper-writing/references/sources.md +191 -0
- package/packages/core/playbooks/research/research-paper-writing/references/writing-guide.md +474 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/README.md +251 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/README.md +534 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/README.md +50 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl.sty +312 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/custom.bib +70 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/acl/formatting.md +326 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/README.md +3 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
- package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/packages/core/playbooks/smart-home/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/smart-home/openhue/SKILL.md +109 -0
- package/packages/core/playbooks/social-media/DESCRIPTION.md +3 -0
- package/packages/core/playbooks/social-media/social-fetch/social-fetch.md +62 -0
- package/packages/core/playbooks/social-media/xurl/SKILL.md +432 -0
- package/packages/core/playbooks/software-development/node-inspect-debugger/SKILL.md +319 -0
- package/packages/core/playbooks/software-development/nyxora-agent-skill-authoring/SKILL.md +196 -0
- package/packages/core/playbooks/software-development/plan/SKILL.md +338 -0
- package/packages/core/playbooks/software-development/python-debugpy/SKILL.md +375 -0
- package/packages/core/playbooks/software-development/requesting-code-review/SKILL.md +280 -0
- package/packages/core/playbooks/software-development/simplify-code/SKILL.md +212 -0
- package/packages/core/playbooks/software-development/spike/SKILL.md +197 -0
- package/packages/core/playbooks/software-development/systematic-debugging/SKILL.md +411 -0
- package/packages/core/playbooks/software-development/test-driven-development/SKILL.md +362 -0
- package/packages/core/playbooks/web3/binance-trading.md +119 -0
- package/packages/core/playbooks/web3/foundry-deployment.md +42 -0
- package/packages/core/playbooks/web3/mexc-trading.md +122 -0
- package/packages/core/playbooks/web3/onchainkit/assets/templates/basic-app/.env.local.example +20 -0
- package/packages/core/playbooks/web3/smart-contract-audit.md +44 -0
- package/packages/core/playbooks/yuanbao/SKILL.md +108 -0
- package/packages/core/src/agent/osAgent.ts +250 -26
- package/packages/core/src/agent/promptBuilder.ts +33 -14
- package/packages/core/src/agent/reasoning.ts +104 -39
- package/packages/core/src/agent/web3Agent.ts +195 -22
- package/packages/core/src/channels/telegram.ts +46 -15
- package/packages/core/src/channels/whatsappAdapter.ts +6 -4
- package/packages/core/src/config/parser.d.ts +83 -0
- package/packages/core/src/config/parser.js +290 -0
- package/packages/core/src/config/parser.ts +2 -1
- package/packages/core/src/config/paths.d.ts +2 -0
- package/packages/core/src/config/paths.js +68 -0
- package/packages/core/src/gateway/server.ts +1 -1
- package/packages/core/src/gateway/setup.ts +10 -3
- package/packages/core/src/plugin/PluginManager.ts +15 -1
- package/packages/core/src/system/plugins/SystemWorkspacePlugin.ts +5 -0
- package/packages/core/src/system/skills/analyzeImage.ts +14 -21
- package/packages/core/src/system/skills/generateImage.ts +66 -0
- package/packages/core/src/system/skills/searchWeb.ts +47 -1
- package/packages/core/src/utils/contextSummarizer.ts +33 -35
- package/packages/core/src/utils/historySanitizer.ts +20 -2
- package/packages/core/src/utils/safeLogger.d.ts +4 -0
- package/packages/core/src/utils/safeLogger.js +59 -0
- package/packages/core/src/utils/skillManager.ts +1 -0
- package/packages/core/src/web3/aggregator/providers/ArbitrumBridgeProvider.ts +60 -13
- package/packages/core/src/web3/aggregator/providers/KyberSwapProvider.ts +1 -1
- package/packages/core/src/web3/aggregator/providers/LifiProvider.ts +1 -1
- package/packages/core/src/web3/aggregator/providers/OneInchProvider.ts +1 -1
- package/packages/core/src/web3/aggregator/providers/OpenOceanProvider.ts +1 -1
- package/packages/core/src/web3/aggregator/providers/RelayProvider.ts +1 -1
- package/packages/core/src/web3/aggregator/providers/ZeroXProvider.ts +1 -1
- package/packages/core/src/web3/config.d.ts +3 -0
- package/packages/core/src/web3/config.js +20 -0
- package/packages/core/src/web3/skills/bridgeToken.ts +1 -1
- package/packages/core/src/web3/skills/checkRegistryStatus.d.ts +21 -0
- package/packages/core/src/web3/skills/checkRegistryStatus.js +92 -0
- package/packages/core/src/web3/skills/checkSecurity.ts +2 -0
- package/packages/core/src/web3/skills/marketAnalysis.ts +23 -9
- package/packages/core/src/web3/utils/chains.d.ts +1596 -0
- package/packages/core/src/web3/utils/chains.js +36 -0
- package/packages/core/src/web3/utils/chains.ts +4 -1
- package/packages/core/src/web3/utils/riskIntelligence.ts +12 -4
- package/packages/core/src/web3/utils/rpcEngine.d.ts +4 -0
- package/packages/core/src/web3/utils/rpcEngine.js +138 -0
- package/packages/core/src/web3/utils/rpcEngine.ts +6 -0
- package/packages/core/src/web3/utils/tokens.ts +6 -0
- package/packages/core/src/web3/utils/vaultClient.d.ts +2 -0
- package/packages/core/src/web3/utils/vaultClient.js +122 -0
- package/packages/dashboard/dist/assets/index-p3yL9asH.js +26 -0
- package/packages/dashboard/dist/index.html +1 -1
- package/packages/dashboard/dist/robinhood.png +0 -0
- package/packages/dashboard/dist/robinhood.svg +0 -0
- package/packages/dashboard/package.json +3 -3
- package/packages/mcp-server/package.json +2 -1
- package/packages/ml-engine/routers/__pycache__/market.cpython-313.pyc +0 -0
- package/packages/ml-engine/routers/market.py +218 -99
- package/packages/policy/package.json +19 -4
- package/packages/policy/src/engine.ts +288 -0
- package/packages/policy/src/index.ts +1 -0
- package/packages/policy/src/server.ts +9 -278
- package/packages/signer/package.json +4 -3
- package/packages/signer/src/NyxoraSigner.ts +22 -2
- package/packages/dashboard/dist/assets/index-Dq64NWt0.js +0 -26
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,49 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepashangelog.com/en/1.0.0/),
|
|
6
6
|
|
|
7
|
+
## [26.7.10]
|
|
8
|
+
### Web3 Integrations
|
|
9
|
+
- **Robinhood Chain Support**: Officially integrated `Robinhood Chain` (Mainnet) and `Robinhood Testnet` support natively via `viem` `v2.55.0` upgrade. Added seamless RPC mappings, updated the dashboard network selectors with official SVG branding, and ensured high-frequency trading capabilities in the Signer remain stable.
|
|
10
|
+
|
|
11
|
+
### Core Architecture & Routing
|
|
12
|
+
- **Deterministic Intent Fast-Path**: Bypassed the LLM semantic router for short confirmation phrases. Messages containing global confirmation keywords (e.g., "yes", "sure", "proceed") now deterministically inherit the strict contextual boundary (`os` or `web3`) of the Assistant's previous permission request, completely eradicating routing hallucinations.
|
|
13
|
+
- **Global Codebase Standardization**: Refactored hardcoded regional slang from the routing logic into a comprehensive, professional English-first `CONFIRM_WORDS` array, natively supporting global users while retaining common localized confirmations as secondary fallbacks.
|
|
14
|
+
|
|
15
|
+
### Fallback Execution Engine
|
|
16
|
+
- **Native `<execute_bash>` Support**: Enhanced the `osAgent` and `web3Agent` Fallback Parsers to autonomously intercept and parse `<execute_bash>` and `<execute>` XML tags. This restores full execution capability for open-weight models that instinctively utilize these tags instead of strict JSON tool calls.
|
|
17
|
+
- **Display Sanitization Hardening**: Appended `execute_bash` and `execute` to the automated UI Sanitizer `tagsToRemove` registry. Raw bash execution blocks hallucinated by the LLM are now stripped at the edge layer before streaming to Telegram or the Dashboard.
|
|
18
|
+
|
|
19
|
+
### Web3 Signer SDK & Execution Guardrails
|
|
20
|
+
- **Receipt Waiter Integration (Anti-False-Positive)**: Remediated a severe "Fire-and-Forget" architectural bug in `NyxoraSigner.ts` where broadcasted transactions were immediately reported as successful to the LLM regardless of actual on-chain finality. The Signer now strictly executes a `waitForTransactionReceipt` hook (capped at a 20-second timeout).
|
|
21
|
+
- **Revert Detection**: If a transaction reverts on-chain (e.g., due to strict MEV slippage or gas exhaustion), the Signer violently rejects the promise with `reverted`, preventing the AI from falsely declaring success.
|
|
22
|
+
- **Pending Timeout Grace**: If the blockchain experiences congestion and fails to confirm within the 20-second window, the system falls back gracefully by returning `"Transaction broadcasted (Pending receipt)"` to ensure the 30-second Policy Engine HTTP timeout is never triggered, allowing the AI to report accurate pending status.
|
|
23
|
+
|
|
24
|
+
## [26.7.9]
|
|
25
|
+
### Features & Architecture
|
|
26
|
+
|
|
27
|
+
- **Deep Market Analysis Upgrade**: Significantly enhanced the Python ML Engine (`market.py`) to compute a comprehensive suite of advanced technical indicators including MACD, Bollinger Bands, EMA-20, ATR-14, and OBV using live OHLCV data.
|
|
28
|
+
- **Smart Trend Classification**: The ML Engine now runs deterministic trend scoring (`STRONG_BULLISH` to `STRONG_BEARISH`) and generates an AI narrative summary of the market structure to prevent LLM hallucination and provide highly accurate context.
|
|
29
|
+
- **Anti-Blocker Data Pipeline**: Bypassed Indonesian ISP blocks (e.g., internetsehat/ICON+) that previously blocked major crypto exchange APIs (Binance, Bybit, KuCoin, OKX) by routing historical candle data through `data-api.binance.vision`.
|
|
30
|
+
|
|
31
|
+
### Refactor — Dependency & NPM Warning Cleanup
|
|
32
|
+
|
|
33
|
+
- **Removed Unused & Problematic Dependencies**: Completely uninstalled `@google/genai`, `baileys`, and `@matrix-org/matrix-sdk-crypto-nodejs` from the workspace. This fully eliminates the annoying `npm warn allow-scripts` warnings that users previously encountered when running `npm install -g nyxora` or standard `npm install`.
|
|
34
|
+
- **Migrated Image Analysis SDK**: Refactored `analyzeImage.ts` (Dynamic Require) to use `@google/generative-ai` (which has no install scripts) instead of the newer `@google/genai` (which triggers NPM security warnings), maintaining full Gemini 2.5 Flash compatibility.
|
|
35
|
+
|
|
36
|
+
### Bug Fix — Playbooks Missing for Global npm Users
|
|
37
|
+
|
|
38
|
+
- **Playbooks Not Distributed to Global Users (Critical Fix)**: Resolved a packaging omission where `packages/core/playbooks/` (containing 70 bundled SKILL.md playbooks) was missing from the `files[]` array in `package.json`. Global users running `npm install -g nyxora` never received any playbooks, causing `search_playbook` to always return "No playbooks available." and the system prompt to never list available skills. Fixed by adding `"packages/core/playbooks"` to the `files[]` field.
|
|
39
|
+
|
|
40
|
+
### Bug Fix — "No response generated." Crash on Complex Multi-Step Prompts
|
|
41
|
+
|
|
42
|
+
- **ContextSummarizer Redundant 4x LLM Calls (Critical Fix)**: Fixed a severe loop bug where `compressHistory()` was called once per nudge iteration (up to 4x per request) instead of once per session turn. The compressed result was never persisted back to the logger, so every iteration re-fetched the full uncompressed history and triggered another full LLM summarization call. Added a per-session in-memory cache keyed by text message count: if no new user/assistant messages have arrived, the cached compressed result is reused immediately — eliminating the redundant LLM calls entirely.
|
|
43
|
+
- **TaskPlanner Context Bloat**: Refactored the TaskPlanner to inject its execution plan as a `role: 'system'` logger entry instead of prepending it to the user input string. Previously, the plan was concatenated into the user message body (`planInjection + "\n\nUSER REQUEST: " + input`), which inflated the user message size stored in logger and compounded context bloat on every subsequent turn. Also capped generated plans at 120 words to prevent runaway context consumption.
|
|
44
|
+
- **Nudge Messages Now Actionable**: Replaced the generic `"[SYSTEM NUDGE] You did not output any tool calls..."` message with a structured, actionable prompt that includes: the original user task (truncated to 200 chars), the list of relevant available tools, and explicit instruction to either call a tool or output a final text answer. Applies to both OS Agent and Web3 Agent.
|
|
45
|
+
- **Dead-End Fallback Replaced**: Replaced `"No response generated."` (which leaves the user with no actionable path) with `"⚠️ I encountered an issue processing your request. This can happen with very complex multi-step tasks. Please try rephrasing or breaking the request into smaller steps."` in all 4 abort paths across `osAgent.ts` and `web3Agent.ts`.
|
|
46
|
+
- **Thinking-Prefill Continuation (Critical Fix)**: Ported the core silent-stop recovery technique used by the Hermes agent framework. When a reasoning model (e.g. Gemini 2.5 Pro with `reasoning_effort: high`) produces internal thinking content but no visible text or tool calls, Nyxora now appends the assistant's reasoning turn as-is and continues the loop — allowing the model to see its own reasoning on the next turn and naturally produce a tool call or text response. This is a fundamentally different approach from system nudges (which restart the reasoning chain from scratch). Prefill is attempted up to 2 times before falling back to the nudge path. Applies to both OS Agent and Web3 Agent.
|
|
47
|
+
- **Anti-Silent-Stop System Prompt Rule**: Added `CRITICAL RULE 6` to the OS agent system prompt explicitly forbidding silent stops: after reasoning is complete, the model MUST produce either tool calls or a visible text answer. Ending a turn with only internal thinking is explicitly stated as not acceptable.
|
|
48
|
+
- **MAX_TURNS Raised (OS Agent)**: Increased the stream loop iteration cap from 10 to 15 to give complex multi-step tasks (e.g. write file → send to Telegram) sufficient room to complete without hitting the ceiling.
|
|
49
|
+
|
|
7
50
|
## [26.7.8]
|
|
8
51
|
### Bug Fixes — Global Compatibility & Dashboard Crash
|
|
9
52
|
|
package/README.md
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
**Your Personal Web3 Assistant.**
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
[](#)
|
|
6
|
+
[](https://debank.com/profile/0xe5c21f46993c67cfe04fcf1579486d390be7b535)
|
|
7
|
+
|
|
8
|
+
[](#)
|
|
9
|
+
[](https://opensource.org/licenses/MIT)
|
|
10
|
+
[](#️-advanced-security-threat-model)
|
|
11
|
+
[](#️-advanced-security-threat-model)
|
|
12
|
+
[](#️-advanced-security-threat-model)
|
|
13
|
+
[](https://makeapullrequest.com)
|
|
13
14
|
|
|
14
15
|
Nyxora is a **secure, non-custodial runtime infrastructure for autonomous onchain agents** built with a robust Monorepo architecture (Node.js & React). Designed for autonomous workflows with a premium Utility-Centric dark-themed UI and strict client-side key isolation.
|
|
15
16
|
|
package/SUPPORT.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Support Nyxora Protocol
|
|
2
|
+
|
|
3
|
+
Nyxora is an open-source initiative built on the belief that powerful, zero-trust Web3 AI infrastructure should be accessible to everyone. We dedicate countless hours to research, continuous development, and maintaining this ecosystem to ensure it remains secure and cutting-edge.
|
|
4
|
+
|
|
5
|
+
If Nyxora has brought value to you, your projects, or your organization, consider supporting our ongoing development. While completely optional, your contribution plays a vital role in helping us cover infrastructure costs, fund security audits, and dedicate more time to shipping new features.
|
|
6
|
+
|
|
7
|
+
### How to Contribute
|
|
8
|
+
|
|
9
|
+
We gratefully accept community support via any EVM-compatible network (Ethereum, Arbitrum, Optimism, Polygon, Binance Smart Chain, etc.).
|
|
10
|
+
|
|
11
|
+
**EVM Address:**
|
|
12
|
+
`0xE5c21F46993C67CFe04FCF1579486D390Be7B535`
|
|
13
|
+
|
|
14
|
+
> 🔗 **[View & Donate via DeBank](https://debank.com/profile/0xe5c21f46993c67cfe04fcf1579486d390be7b535)**
|
|
15
|
+
|
|
16
|
+
*Every contribution, no matter the size, is deeply appreciated and directly fuels the future of autonomous Web3 AI.*
|
|
17
|
+
|
|
18
|
+
Thank you for being an amazing part of the Nyxora journey! 🌌
|
|
@@ -19,8 +19,8 @@ const picocolors_1 = __importDefault(require("picocolors"));
|
|
|
19
19
|
registry_1.pluginManager.registerHook({
|
|
20
20
|
name: 'ReasoningGate',
|
|
21
21
|
beforeToolCall: async (toolName, args, context) => {
|
|
22
|
-
// FIX: Use actual Nyxora tool names (not legacy names)
|
|
23
|
-
const toolsRequiringReasoning = ['
|
|
22
|
+
// FIX: Use actual Nyxora tool names (not legacy names). Removed run_terminal_command to prevent infinite loops.
|
|
23
|
+
const toolsRequiringReasoning = ['write_local_file', 'edit_local_file', 'execute_script'];
|
|
24
24
|
if (toolsRequiringReasoning.includes(toolName)) {
|
|
25
25
|
const responseMessage = context.responseMessage || {};
|
|
26
26
|
const hasThinkingTag = /<(think|thought|thinking|reasoning|analysis|reflection)>[\s\S]*?<\/\1>/i.test(responseMessage.content || '');
|
|
@@ -37,8 +37,8 @@ registry_1.pluginManager.registerHook({
|
|
|
37
37
|
name: 'Web3FastReturn',
|
|
38
38
|
afterToolCall: async (toolName, args, result, context) => {
|
|
39
39
|
// FIX: Only financial Web3 transactions need fast-return (to show approval popup ASAP).
|
|
40
|
-
// send_telegram_file
|
|
41
|
-
const fastReturnTools = ['transfer_token', 'transfer_native', 'swap_token', 'bridge_token', 'mint_nft', 'custom_tx', 'revoke_approval', 'supply_aave', 'deposit_yield_vault', 'provide_liquidity_v3'];
|
|
40
|
+
// FIX: Re-added send_telegram_file so the agent stops "typing" after file is successfully uploaded.
|
|
41
|
+
const fastReturnTools = ['transfer_token', 'transfer_native', 'swap_token', 'bridge_token', 'mint_nft', 'custom_tx', 'revoke_approval', 'supply_aave', 'deposit_yield_vault', 'provide_liquidity_v3', 'send_telegram_file'];
|
|
42
42
|
if (fastReturnTools.includes(toolName)) {
|
|
43
43
|
return { terminate: true };
|
|
44
44
|
}
|
|
@@ -142,7 +142,7 @@ CRITICAL INSTRUCTIONS:
|
|
|
142
142
|
const currentHistory = exports.logger.getHistory(sessionId);
|
|
143
143
|
// P6: Compress history if conversation is too long
|
|
144
144
|
const historyToUse = (0, contextSummarizer_1.needsCompression)(currentHistory)
|
|
145
|
-
? await (0, contextSummarizer_1.compressHistory)(currentHistory)
|
|
145
|
+
? await (0, contextSummarizer_1.compressHistory)(currentHistory, sessionId)
|
|
146
146
|
: currentHistory;
|
|
147
147
|
const sanitizedHistory = sanitizeHistoryForLLM(historyToUse, activeTools, config.llm.provider);
|
|
148
148
|
// P1: Inject scratchpad into system prompt for turns > 1
|
|
@@ -171,27 +171,146 @@ CRITICAL INSTRUCTIONS:
|
|
|
171
171
|
}
|
|
172
172
|
tracker_1.Tracker.addEvent('llm.response', { provider: config.llm.provider, tool_calls: responseMessage.tool_calls?.length || 0 });
|
|
173
173
|
// P1: Capture <think> blocks for scratchpad, get clean content
|
|
174
|
-
|
|
174
|
+
let cleanedContent = scratchpad.capture(responseMessage.content || '', turnCount);
|
|
175
175
|
exports.logger.addEntry({
|
|
176
176
|
role: 'assistant',
|
|
177
177
|
content: cleanedContent || '',
|
|
178
178
|
tool_calls: responseMessage.tool_calls,
|
|
179
179
|
}, sessionId);
|
|
180
|
+
// --- LLM FALLBACK COMMAND PARSER (Minimax/Open-weight fix) ---
|
|
181
|
+
if ((!responseMessage.tool_calls || responseMessage.tool_calls.length === 0) && responseMessage.content) {
|
|
182
|
+
const fallbacks = [];
|
|
183
|
+
// 1. Slash commands (/swap amount="100")
|
|
184
|
+
const regex = /^\/([a-zA-Z0-9_]+)\s+(.*)$/gm;
|
|
185
|
+
let match;
|
|
186
|
+
while ((match = regex.exec(responseMessage.content)) !== null) {
|
|
187
|
+
const toolName = match[1];
|
|
188
|
+
let argsStr = match[2];
|
|
189
|
+
const argsObj = {};
|
|
190
|
+
const kvRegex = /([a-zA-Z0-9_]+)=(".*?"|'.*?'|[^\s]+)/g;
|
|
191
|
+
let kvMatch;
|
|
192
|
+
while ((kvMatch = kvRegex.exec(argsStr)) !== null) {
|
|
193
|
+
let key = kvMatch[1];
|
|
194
|
+
let val = kvMatch[2].replace(/^["']|["']$/g, '');
|
|
195
|
+
argsObj[key] = val;
|
|
196
|
+
}
|
|
197
|
+
// Map generic names if needed
|
|
198
|
+
let mappedToolName = toolName;
|
|
199
|
+
if (toolName === 'transfer' && argsObj.mode === 'bridge')
|
|
200
|
+
mappedToolName = 'bridge_token';
|
|
201
|
+
if (toolName === 'swap')
|
|
202
|
+
mappedToolName = 'swap_token';
|
|
203
|
+
fallbacks.push({
|
|
204
|
+
id: 'call_fallback_' + Math.random().toString(36).substr(2, 9),
|
|
205
|
+
type: 'function',
|
|
206
|
+
function: {
|
|
207
|
+
name: mappedToolName,
|
|
208
|
+
arguments: JSON.stringify(argsObj)
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
// 2. Markdown bash blocks (```bash ... ```)
|
|
213
|
+
const mdRegex = /```(?:bash|sh|zsh)?\n([\s\S]*?)```/g;
|
|
214
|
+
let mdMatch;
|
|
215
|
+
while ((mdMatch = mdRegex.exec(responseMessage.content)) !== null) {
|
|
216
|
+
const bashCmd = mdMatch[1].trim();
|
|
217
|
+
if (bashCmd) {
|
|
218
|
+
fallbacks.push({
|
|
219
|
+
id: 'call_fallback_' + Math.random().toString(36).substr(2, 9),
|
|
220
|
+
type: 'function',
|
|
221
|
+
function: {
|
|
222
|
+
name: 'run_terminal_command',
|
|
223
|
+
arguments: JSON.stringify({ command: bashCmd })
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// 3. <tool_code> JSON arrays
|
|
229
|
+
const toolCodeRegex = /<tool_code>([\s\S]*?)<\/tool_code>/g;
|
|
230
|
+
let toolCodeMatch;
|
|
231
|
+
while ((toolCodeMatch = toolCodeRegex.exec(responseMessage.content)) !== null) {
|
|
232
|
+
try {
|
|
233
|
+
const jsonStr = toolCodeMatch[1].trim();
|
|
234
|
+
const parsedArray = JSON.parse(jsonStr);
|
|
235
|
+
if (Array.isArray(parsedArray)) {
|
|
236
|
+
for (const item of parsedArray) {
|
|
237
|
+
if (item.function_name && item.tool_args) {
|
|
238
|
+
fallbacks.push({
|
|
239
|
+
id: 'call_fallback_' + Math.random().toString(36).substr(2, 9),
|
|
240
|
+
type: 'function',
|
|
241
|
+
function: {
|
|
242
|
+
name: item.function_name,
|
|
243
|
+
arguments: typeof item.tool_args === 'string' ? item.tool_args : JSON.stringify(item.tool_args)
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch (e) {
|
|
251
|
+
// Ignore parse errors, maybe it's not JSON
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// 4. <execute_bash> or <execute> blocks
|
|
255
|
+
const executeRegex = /<(?:execute_bash|execute)>([\s\S]*?)<\/(?:execute_bash|execute)>/g;
|
|
256
|
+
let executeMatch;
|
|
257
|
+
while ((executeMatch = executeRegex.exec(responseMessage.content)) !== null) {
|
|
258
|
+
const bashCmd = executeMatch[1].trim();
|
|
259
|
+
if (bashCmd) {
|
|
260
|
+
fallbacks.push({
|
|
261
|
+
id: 'call_fallback_' + Math.random().toString(36).substr(2, 9),
|
|
262
|
+
type: 'function',
|
|
263
|
+
function: {
|
|
264
|
+
name: 'run_terminal_command',
|
|
265
|
+
arguments: JSON.stringify({ command: bashCmd })
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (fallbacks.length > 0) {
|
|
271
|
+
responseMessage.tool_calls = fallbacks;
|
|
272
|
+
responseMessage.content = responseMessage.content.replace(/^\/[a-zA-Z0-9_]+\s+.*$/gm, '').replace(/```(?:bash|sh|zsh)?\n([\s\S]*?)```/g, '').replace(/<tool_code>([\s\S]*?)<\/tool_code>/g, '').replace(/<(?:execute_bash|execute)>([\s\S]*?)<\/(?:execute_bash|execute)>/g, '').trim();
|
|
273
|
+
console.log(picocolors_1.default.cyan(`[Fallback Parser] Intercepted ${fallbacks.length} raw text commands and converted to tool_calls.`));
|
|
274
|
+
// Update logger entry with the intercepted tool calls
|
|
275
|
+
exports.logger.addEntry({
|
|
276
|
+
role: 'assistant',
|
|
277
|
+
content: responseMessage.content || "",
|
|
278
|
+
tool_calls: responseMessage.tool_calls,
|
|
279
|
+
}, sessionId);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// -----------------------------------------------------
|
|
283
|
+
// --- DISPLAY SANITIZATION ---
|
|
284
|
+
// Remove commonly leaked XML tags (reasoning & tool calls) to prevent UI clutter
|
|
285
|
+
if (responseMessage.content) {
|
|
286
|
+
const tagsToRemove = ['tool_code', 'tool_call', 'tool_calls', 'function_call', 'function_calls', 'execute', 'execute_bash', 'think', 'thought', 'reasoning'];
|
|
287
|
+
tagsToRemove.forEach(tag => {
|
|
288
|
+
// Remove complete tags and their contents
|
|
289
|
+
const regex = new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?<\\/${tag}>\\s*`, 'gi');
|
|
290
|
+
responseMessage.content = responseMessage.content.replace(regex, '');
|
|
291
|
+
// Remove any orphaned closing tags
|
|
292
|
+
const orphanRegex = new RegExp(`<\\/${tag}>\\s*`, 'gi');
|
|
293
|
+
responseMessage.content = responseMessage.content.replace(orphanRegex, '');
|
|
294
|
+
});
|
|
295
|
+
responseMessage.content = responseMessage.content.trim();
|
|
296
|
+
cleanedContent = responseMessage.content;
|
|
297
|
+
}
|
|
298
|
+
// -----------------------------------------------------
|
|
180
299
|
if (!responseMessage.tool_calls || responseMessage.tool_calls.length === 0) {
|
|
181
300
|
// --- CRITIC PASS REMOVED ---
|
|
182
301
|
// The new PromptBuilder handles robust reasoning. Post-generation critic
|
|
183
302
|
// causes aggressive loops and UI artifacts.
|
|
184
303
|
triggerBackgroundReview(sessionId);
|
|
185
|
-
return cleanedContent || '
|
|
304
|
+
return cleanedContent || '⚠️ I encountered an issue processing your request. This can happen with very complex multi-step tasks. Please try rephrasing or breaking the request into smaller steps.';
|
|
186
305
|
}
|
|
187
306
|
let canFastReturnAll = true;
|
|
188
307
|
let accumulatedResults = [];
|
|
189
308
|
// Enabled fastReturnTools to eliminate 2nd LLM latency for transaction popups
|
|
190
|
-
// FIX:
|
|
309
|
+
// FIX: Re-added send_telegram_file to prevent "typing" loop after file upload.
|
|
191
310
|
const fastReturnTools = [
|
|
192
311
|
'transfer_token', 'transfer_native', 'swap_token', 'bridge_token',
|
|
193
312
|
'mint_nft', 'custom_tx', 'revoke_approval', 'supply_aave',
|
|
194
|
-
'deposit_yield_vault', 'provide_liquidity_v3'
|
|
313
|
+
'deposit_yield_vault', 'provide_liquidity_v3', 'send_telegram_file'
|
|
195
314
|
];
|
|
196
315
|
for (const _toolCall of responseMessage.tool_calls) {
|
|
197
316
|
const toolCall = _toolCall;
|
|
@@ -307,7 +426,7 @@ CRITICAL INSTRUCTIONS:
|
|
|
307
426
|
// V2 Optimization: Zero-LLM Fast Return for transaction tools
|
|
308
427
|
if (canFastReturnAll && accumulatedResults.length > 0) {
|
|
309
428
|
const finalContent = accumulatedResults.join('\n\n---\n\n');
|
|
310
|
-
exports.logger.addEntry({ role: '
|
|
429
|
+
exports.logger.addEntry({ role: 'user', content: `[System Notification: The tool executed successfully and returned the following result directly to the user]\n${finalContent}` }, sessionId);
|
|
311
430
|
triggerBackgroundReview(sessionId);
|
|
312
431
|
return finalContent;
|
|
313
432
|
}
|
|
@@ -373,13 +492,18 @@ CRITICAL INSTRUCTIONS:
|
|
|
373
492
|
const { sanitizeHistoryForLLM } = require('../utils/historySanitizer');
|
|
374
493
|
try {
|
|
375
494
|
let turnCount = 0;
|
|
376
|
-
|
|
495
|
+
let nudgeCount = 0;
|
|
496
|
+
const MAX_TURNS = 15; // Increased from 10 — complex tasks need more turns
|
|
497
|
+
let thinkingPrefillRetries = 0; // Prefill-continuation retries for think-only silent stops
|
|
377
498
|
let fullResponse = '';
|
|
378
499
|
let criticHasFiredStream = false; // Critic Pass hanya aktif 1x per request
|
|
379
500
|
while (turnCount < MAX_TURNS) {
|
|
380
501
|
turnCount++;
|
|
381
502
|
const currentHistory = exports.logger.getHistory(sessionId);
|
|
382
|
-
const
|
|
503
|
+
const historyToUse = (0, contextSummarizer_1.needsCompression)(currentHistory)
|
|
504
|
+
? await (0, contextSummarizer_1.compressHistory)(currentHistory, sessionId)
|
|
505
|
+
: currentHistory;
|
|
506
|
+
const sanitizedHistory = sanitizeHistoryForLLM(historyToUse, activeTools, config.llm.provider);
|
|
383
507
|
// FIX: Use cached system prompt — no longer rebuilt every turn
|
|
384
508
|
const messages = [
|
|
385
509
|
{ role: 'system', content: cachedSystemPromptStream },
|
|
@@ -388,11 +512,9 @@ CRITICAL INSTRUCTIONS:
|
|
|
388
512
|
let streamedContent = '';
|
|
389
513
|
const response = await (0, llmUtils_1.executeWithRetry)(async (client) => {
|
|
390
514
|
streamedContent = '';
|
|
391
|
-
// RC#1 FIX:
|
|
392
|
-
//
|
|
393
|
-
|
|
394
|
-
if (turnCount === 1)
|
|
395
|
-
onChunk('[CLEAR_STREAM]');
|
|
515
|
+
// RC#1 FIX: Always clear the buffer at the start of the stream turn.
|
|
516
|
+
// This ensures the client UI doesn't append duplicate preambles across multi-turn executions.
|
|
517
|
+
onChunk('[CLEAR_STREAM]');
|
|
396
518
|
return await client.stream({ model: config.llm.model, temperature: config.llm.temperature, messages, tools: activeTools, reasoning_effort: (!config.llm.reasoning_effort || config.llm.reasoning_effort === 'none') ? undefined : config.llm.reasoning_effort }, (chunk) => {
|
|
397
519
|
streamedContent += chunk;
|
|
398
520
|
onChunk(chunk);
|
|
@@ -411,11 +533,82 @@ CRITICAL INSTRUCTIONS:
|
|
|
411
533
|
tool_calls: responseMessage.tool_calls,
|
|
412
534
|
}, sessionId);
|
|
413
535
|
if (!responseMessage.tool_calls || responseMessage.tool_calls.length === 0) {
|
|
414
|
-
let finalContent = responseMessage.content || '
|
|
536
|
+
let finalContent = responseMessage.content || '';
|
|
415
537
|
finalContent = finalContent.replace(/<(think|thought|thinking|reasoning|analysis|reflection)[\s\S]*?<\/\1>\n?/gi, '').trim();
|
|
416
538
|
finalContent = finalContent.replace(/^\s*(?:\*\*)?(?:think|thought|thinking|reasoning|analysis|reflection)(?:\*\*)?\s*?\n[\s\S]*?\n\n/i, '').trim();
|
|
417
|
-
//
|
|
418
|
-
|
|
539
|
+
// Support global languages: English, Indonesian, Spanish, French, German filler words
|
|
540
|
+
const isConversationalFiller = finalContent.length > 0 && finalContent.length < 250 && /(wait|checking|executing|processing|give me a moment|let me check|one moment|hold on|tunggu|sebentar|lagi proses|lanjut cek|gue cek|aku cek|un momento|attendez|bitte warten)[\s\.\!a-z]*$/i.test(finalContent.trim());
|
|
541
|
+
if (finalContent === '' || isConversationalFiller) {
|
|
542
|
+
// Detect think-only response: model reasoned but produced no tool calls or visible text.
|
|
543
|
+
const hasNativeReasoning = !!responseMessage.reasoning_content;
|
|
544
|
+
const hasThinkTagInStream = /<(think|thought|thinking|reasoning)[\s\S]*?<\//i.test(streamedContent);
|
|
545
|
+
const isThinkOnlyResponse = hasNativeReasoning || hasThinkTagInStream;
|
|
546
|
+
// ── THINKING-PREFILL CONTINUATION ──
|
|
547
|
+
// If model produced reasoning but no visible output, append the assistant message as-is
|
|
548
|
+
// so the model sees its own reasoning on the next turn and continues naturally.
|
|
549
|
+
// This avoids restarting the reasoning chain from scratch (which is what nudges do).
|
|
550
|
+
if (isThinkOnlyResponse && thinkingPrefillRetries < 2) {
|
|
551
|
+
thinkingPrefillRetries++;
|
|
552
|
+
console.warn(`[OsAgentStream] ⚠️ Think-only silent stop — prefilling to continue (${thinkingPrefillRetries}/2)...`);
|
|
553
|
+
// The assistant message is already in logger from the addEntry above.
|
|
554
|
+
// The model will see its own reasoning and produce a tool call or text next turn.
|
|
555
|
+
continue;
|
|
556
|
+
}
|
|
557
|
+
// ── NUDGE FALLBACK (after prefill exhaustion or truly empty) ──
|
|
558
|
+
if (nudgeCount < 3) {
|
|
559
|
+
nudgeCount++;
|
|
560
|
+
const recentUserMsg = exports.logger.getHistory(sessionId)
|
|
561
|
+
.filter((m) => m.role === 'user').slice(-1)[0]?.content || 'the user request';
|
|
562
|
+
let nudgeContent;
|
|
563
|
+
if (isThinkOnlyResponse) {
|
|
564
|
+
console.warn(`[OsAgentStream] ⚠️ Think-only prefill exhausted. System nudge (${nudgeCount}/3)...`);
|
|
565
|
+
nudgeContent = `[SYSTEM NUDGE ${nudgeCount}/3 — SILENT STOP DETECTED]
|
|
566
|
+
You completed your internal reasoning but produced NO output (no tool call, no text).
|
|
567
|
+
This is a silent stop — it is not acceptable.
|
|
568
|
+
|
|
569
|
+
Task: "${recentUserMsg.substring(0, 200)}"
|
|
570
|
+
|
|
571
|
+
You MUST act RIGHT NOW. Do one of these:
|
|
572
|
+
A) Call the first required tool immediately (e.g., write_local_file, run_terminal_command, send_telegram_file)
|
|
573
|
+
B) Output a final text answer
|
|
574
|
+
|
|
575
|
+
Do NOT think again. Execute step 1 of the task NOW.`;
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
console.warn(`[OsAgentStream] ⚠️ Empty or filler response. System nudge (${nudgeCount}/3)...`);
|
|
579
|
+
nudgeContent = `[SYSTEM NUDGE ${nudgeCount}/3] Your last response was empty or contained conversational filler without tool calls. You MUST take action now.
|
|
580
|
+
|
|
581
|
+
Task: "${recentUserMsg.substring(0, 200)}"
|
|
582
|
+
|
|
583
|
+
Available tools: write_local_file, run_terminal_command, send_telegram_file, search_web and others.
|
|
584
|
+
You MUST either:
|
|
585
|
+
A) Call one or more tools, OR
|
|
586
|
+
B) Output a complete final text answer
|
|
587
|
+
|
|
588
|
+
Do NOT output filler text like "Wait, I will check". Act now.`;
|
|
589
|
+
}
|
|
590
|
+
exports.logger.addEntry({
|
|
591
|
+
role: 'system',
|
|
592
|
+
content: nudgeContent
|
|
593
|
+
}, sessionId);
|
|
594
|
+
continue;
|
|
595
|
+
}
|
|
596
|
+
else {
|
|
597
|
+
console.error('[OsAgentStream] ❌ LLM failed to recover after prefill + 3 nudges. Aborting.');
|
|
598
|
+
// Last-resort recovery: surface reasoning_content if available
|
|
599
|
+
const reasoningContent = responseMessage.reasoning_content || '';
|
|
600
|
+
if (reasoningContent && reasoningContent.length > 50) {
|
|
601
|
+
console.warn('[OsAgentStream] Using reasoning_content as fallback response.');
|
|
602
|
+
finalContent = reasoningContent.replace(/<(think|thought|thinking)[\s\S]*?<\/\1>/gi, '').trim()
|
|
603
|
+
|| '⚠️ I encountered an issue processing your request. This can happen with very complex multi-step tasks. Please try rephrasing or breaking the request into smaller steps.';
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
finalContent = '⚠️ I encountered an issue processing your request. This can happen with very complex multi-step tasks. Please try rephrasing or breaking the request into smaller steps.';
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
// Reset prefill counter on successful response
|
|
611
|
+
thinkingPrefillRetries = 0;
|
|
419
612
|
fullResponse = finalContent;
|
|
420
613
|
triggerBackgroundReview(sessionId);
|
|
421
614
|
break;
|
|
@@ -425,10 +618,20 @@ CRITICAL INSTRUCTIONS:
|
|
|
425
618
|
// LLM often generates "thinking out loud" text before calling a tool (e.g. "Let me check...").
|
|
426
619
|
// This text should NOT be shown to users. [TOOL_CALL_DETECTED] resets the buffer to a
|
|
427
620
|
// clean progress indicator, hiding the planning text without losing the message handle.
|
|
428
|
-
onChunk('[TOOL_CALL_DETECTED]');
|
|
621
|
+
await onChunk('[TOOL_CALL_DETECTED]');
|
|
429
622
|
let shouldFastReturn = false;
|
|
430
623
|
const accumulatedResults = [];
|
|
431
|
-
|
|
624
|
+
// Deduplicate identical tool calls to prevent double execution bugs
|
|
625
|
+
const uniqueToolCalls = [];
|
|
626
|
+
const seenToolCalls = new Set();
|
|
627
|
+
for (const tc of responseMessage.tool_calls) {
|
|
628
|
+
const sig = `${tc.function.name}:${tc.function.arguments}`;
|
|
629
|
+
if (!seenToolCalls.has(sig)) {
|
|
630
|
+
seenToolCalls.add(sig);
|
|
631
|
+
uniqueToolCalls.push(tc);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
const promises = uniqueToolCalls.map(async (_toolCall) => {
|
|
432
635
|
const toolCall = _toolCall;
|
|
433
636
|
const toolName = toolCall.function.name;
|
|
434
637
|
let result = '';
|
|
@@ -436,7 +639,7 @@ CRITICAL INSTRUCTIONS:
|
|
|
436
639
|
const context = { sessionId, toolCallId: toolCall.id, responseMessage };
|
|
437
640
|
console.log(picocolors_1.default.yellow(`[⚡ Tool Execution] AI is calling ${toolName}...`));
|
|
438
641
|
if (onProgress)
|
|
439
|
-
onProgress(
|
|
642
|
+
onProgress(`⚡ Running tool: ${toolName}...`);
|
|
440
643
|
try {
|
|
441
644
|
let argStr = toolCall.function.arguments;
|
|
442
645
|
if (argStr && !argStr.trim().endsWith('}'))
|
|
@@ -464,7 +667,7 @@ CRITICAL INSTRUCTIONS:
|
|
|
464
667
|
const pluginResult = await registry_1.pluginManager.executeTool(toolName, args, context, (partialResult) => {
|
|
465
668
|
// Partial Streaming callback
|
|
466
669
|
if (onProgress)
|
|
467
|
-
onProgress(
|
|
670
|
+
onProgress(`⏳ [${toolName}] ${partialResult}...`);
|
|
468
671
|
});
|
|
469
672
|
result = pluginResult !== null ? pluginResult : `Error: Tool ${toolName} is not implemented.`;
|
|
470
673
|
if (typeof result === 'string' && (result.includes('[Security Blocked]') || result.startsWith('Error:'))) {
|
|
@@ -489,11 +692,15 @@ CRITICAL INSTRUCTIONS:
|
|
|
489
692
|
});
|
|
490
693
|
const results = await Promise.all(promises);
|
|
491
694
|
results.forEach(r => accumulatedResults.push(r.result));
|
|
695
|
+
await onChunk('[TOOL_CALL_FINISHED]');
|
|
492
696
|
if (shouldFastReturn && accumulatedResults.length > 0) {
|
|
493
697
|
const finalContent = accumulatedResults.join('\n\n---\n\n');
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
698
|
+
const cleanContent = finalContent.replace(/\[SILENT_FAST_RETURN\] /g, '');
|
|
699
|
+
exports.logger.addEntry({ role: 'assistant', content: cleanContent }, sessionId);
|
|
700
|
+
if (!finalContent.includes('[SILENT_FAST_RETURN]')) {
|
|
701
|
+
await onChunk(finalContent);
|
|
702
|
+
}
|
|
703
|
+
fullResponse = cleanContent;
|
|
497
704
|
triggerBackgroundReview(sessionId);
|
|
498
705
|
break;
|
|
499
706
|
}
|
|
@@ -86,7 +86,9 @@ This tool runs in a NON-INTERACTIVE shell (no TTY). Therefore:
|
|
|
86
86
|
- If a command fails with "sudo: a password is required" or similar, DO NOT promise to retry without actually retrying.
|
|
87
87
|
- Instead, try running the command WITHOUT sudo if possible (e.g. for user-space tools).
|
|
88
88
|
- If sudo is truly required and unavailable, clearly tell the user EXACTLY what command to run manually in their terminal, with a copy-paste ready command. Do not just say it failed without providing a solution.
|
|
89
|
-
- NEVER promise to retry ("let me try again", "I'll run it again", etc.) without immediately making another tool_call in the same response
|
|
89
|
+
- NEVER promise to retry ("let me try again", "I'll run it again", etc.) without immediately making another tool_call in the same response.
|
|
90
|
+
|
|
91
|
+
CRITICAL RULE 6: NO SILENT STOPS. After your internal reasoning/thinking is complete, you MUST produce output: either one or more tool calls OR a visible text answer. Ending your turn with ONLY thinking content and no tool calls or text is strictly forbidden. If you have finished thinking, the NEXT thing you output must be a concrete action (tool call) or a final answer.`;
|
|
90
92
|
}
|
|
91
93
|
return identity;
|
|
92
94
|
}
|
|
@@ -102,6 +104,7 @@ CRITICAL: You MUST use your tools to take action — do not describe what you wo
|
|
|
102
104
|
When you say you will perform an action, you MUST immediately make the corresponding tool call in the SAME response.
|
|
103
105
|
Never end your turn with a promise of future action — execute it now.
|
|
104
106
|
Every response should either (a) contain tool calls that make progress, or (b) deliver a final result to the user. Responses that only describe intentions without acting are NOT acceptable.
|
|
107
|
+
IF YOU NEED TO USE MULTIPLE TOOLS IN SEQUENCE, DO NOT OUTPUT CONVERSATIONAL FILLER TEXT BETWEEN TOOL CALLS (e.g., "Wait, I will check your portfolio now"). JUST OUTPUT THE NEXT TOOL CALL IMMEDIATELY.
|
|
105
108
|
</tool_enforcement>
|
|
106
109
|
|
|
107
110
|
<prerequisite_checks>
|
|
@@ -143,13 +146,27 @@ CRITICAL: NEVER fabricate blockchain data, transaction history, or wallet addres
|
|
|
143
146
|
If a tool parameter is required and you don't have it, ALWAYS check if there is a helper tool to fetch it.
|
|
144
147
|
If you still cannot find it, ask the user clearly. DO NOT invent fake data, fake hashes, or fake file names.
|
|
145
148
|
</anti_hallucination>
|
|
149
|
+
<conversational_discipline>
|
|
150
|
+
CRITICAL: NEVER simulate a multi-turn conversation internally.
|
|
151
|
+
NEVER ask the user a question and then immediately answer it yourself in the same response.
|
|
152
|
+
If you ask the user a question, you MUST stop generating text and wait for their response.
|
|
153
|
+
NEVER use '---' as a separator to mimic the system prompt structure in your final output.
|
|
154
|
+
</conversational_discipline>
|
|
146
155
|
|
|
147
156
|
<privacy_and_capabilities>
|
|
148
157
|
CRITICAL: You are running LOCALLY on the user's machine as a privileged agent. You HAVE explicit authorization to read personal emails, files, and private data when requested by the user, via your tools.
|
|
149
158
|
NEVER refuse a request by citing "privacy policies", "security restrictions", or claiming you cannot access personal data.
|
|
150
159
|
NEVER claim that your previous tool outputs were "simulations" or "examples". Your tools provide real, live data.
|
|
151
160
|
If a tool successfully returns private data, present it to the user. Do not apologize for accessing it.
|
|
152
|
-
</privacy_and_capabilities
|
|
161
|
+
</privacy_and_capabilities>
|
|
162
|
+
|
|
163
|
+
<tool_selection_accuracy>
|
|
164
|
+
CRITICAL: You must read the tool descriptions and their required parameters CAREFULLY before calling any tool.
|
|
165
|
+
- Choose the MOST SPECIFIC tool available for the task. Do not use a generic tool (like run_terminal_command) if a dedicated tool exists for that exact purpose.
|
|
166
|
+
- Ensure all required arguments are provided EXACTLY as specified in the schema.
|
|
167
|
+
- Double-check the types and formats of your arguments.
|
|
168
|
+
- If a tool fails due to incorrect arguments or schemas, analyze the error message and correct your parameters in the next attempt. Do not blindly repeat the same mistake.
|
|
169
|
+
</tool_selection_accuracy>`;
|
|
153
170
|
}
|
|
154
171
|
buildModelSpecificSteering(modelFamily) {
|
|
155
172
|
if (modelFamily === 'google') {
|
|
@@ -203,7 +220,7 @@ NEVER answer the following using only your internal memory — ALWAYS use the re
|
|
|
203
220
|
- Arithmetic, math, calculations
|
|
204
221
|
- System State: OS version, RAM, processes
|
|
205
222
|
- File contents, file sizes
|
|
206
|
-
- Real-world current events
|
|
223
|
+
- Real-world current events, factual queries, or sports scores (ESPECIALLY for events in 2024, 2025, or 2026). Do NOT rely on your training data.
|
|
207
224
|
</mandatory_tool_use>
|
|
208
225
|
|
|
209
226
|
<web_search_accuracy>
|
|
@@ -214,20 +231,22 @@ When using the search_web tool to look up news, current events, or factual data:
|
|
|
214
231
|
</web_search_accuracy>
|
|
215
232
|
|
|
216
233
|
<act_dont_ask_os>
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
Only report failure AFTER actually attempting the tool call and receiving an error.
|
|
234
|
+
For harmless commands (e.g. ls, cat, checking system info), CALL the tool directly without asking for confirmation.
|
|
235
|
+
CRITICAL: For ANY command that modifies the system (e.g., sudo, apt-get, install, rm), you MUST ask the user for explicit permission FIRST.
|
|
236
|
+
When asking for permission, simply ask: "Do you want me to run [command]?" and STOP.
|
|
237
|
+
Once the user replies "yes", you MUST immediately emit the tool call to execute the command. Do NOT just reply with text confirming it.
|
|
222
238
|
</act_dont_ask_os>
|
|
223
239
|
|
|
224
240
|
<anti_hallucination_execution>
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
241
|
+
Use the native JSON tool call format provided by the API. If your model architecture requires it, you may use <tool_code> JSON arrays.
|
|
242
|
+
NEVER claim you have executed a tool or are running it in the background if you haven't actually emitted the tool call payload. Writing text describing execution is a lie.
|
|
243
|
+
</anti_hallucination_execution>
|
|
244
|
+
|
|
245
|
+
<search_hallucination_prevention>
|
|
246
|
+
CRITICAL: Do NOT claim you "checked various sources", "dug deeper", or "checked the official site" unless you ACTUALLY emitted a tool call to search_web.
|
|
247
|
+
If the user corrects you on a fact, YOU MUST EMIT THE search_web TOOL CALL IMMEDIATELY. Do not apologize and fabricate a new answer from memory.
|
|
248
|
+
If the user asks for ANY schedule, news, sports update, or current events (2024-2026), YOU MUST CALL THE search_web TOOL. Do NOT attempt to answer from your training data.
|
|
249
|
+
</search_hallucination_prevention>`;
|
|
231
250
|
}
|
|
232
251
|
}
|
|
233
252
|
buildComputerUseGuidance() {
|