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.
Files changed (549) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +9 -8
  3. package/SUPPORT.md +18 -0
  4. package/dist/packages/core/src/agent/osAgent.js +234 -27
  5. package/dist/packages/core/src/agent/promptBuilder.js +33 -14
  6. package/dist/packages/core/src/agent/reasoning.js +105 -39
  7. package/dist/packages/core/src/agent/web3Agent.js +181 -23
  8. package/dist/packages/core/src/channels/telegram.js +50 -15
  9. package/dist/packages/core/src/channels/whatsappAdapter.js +6 -37
  10. package/dist/packages/core/src/gateway/server.js +1 -1
  11. package/dist/packages/core/src/gateway/setup.js +11 -3
  12. package/dist/packages/core/src/plugin/PluginManager.js +15 -1
  13. package/dist/packages/core/src/system/plugins/SystemWorkspacePlugin.js +5 -0
  14. package/dist/packages/core/src/system/skills/analyzeImage.js +14 -21
  15. package/dist/packages/core/src/system/skills/generateImage.js +63 -0
  16. package/dist/packages/core/src/system/skills/searchWeb.js +44 -1
  17. package/dist/packages/core/src/utils/contextSummarizer.js +32 -28
  18. package/dist/packages/core/src/utils/historySanitizer.js +21 -2
  19. package/dist/packages/core/src/utils/skillManager.js +1 -0
  20. package/dist/packages/core/src/web3/aggregator/providers/ArbitrumBridgeProvider.js +58 -12
  21. package/dist/packages/core/src/web3/aggregator/providers/KyberSwapProvider.js +1 -1
  22. package/dist/packages/core/src/web3/aggregator/providers/LifiProvider.js +1 -1
  23. package/dist/packages/core/src/web3/aggregator/providers/OneInchProvider.js +1 -1
  24. package/dist/packages/core/src/web3/aggregator/providers/OpenOceanProvider.js +1 -1
  25. package/dist/packages/core/src/web3/aggregator/providers/RelayProvider.js +1 -1
  26. package/dist/packages/core/src/web3/aggregator/providers/ZeroXProvider.js +1 -1
  27. package/dist/packages/core/src/web3/skills/bridgeToken.js +1 -1
  28. package/dist/packages/core/src/web3/skills/checkSecurity.js +2 -0
  29. package/dist/packages/core/src/web3/skills/marketAnalysis.js +15 -9
  30. package/dist/packages/core/src/web3/utils/chains.js +4 -0
  31. package/dist/packages/core/src/web3/utils/riskIntelligence.js +14 -4
  32. package/dist/packages/core/src/web3/utils/rpcEngine.js +10 -0
  33. package/dist/packages/core/src/web3/utils/tokens.js +6 -0
  34. package/dist/packages/policy/src/engine.js +260 -0
  35. package/dist/packages/policy/src/index.js +17 -0
  36. package/dist/packages/policy/src/server.js +9 -248
  37. package/dist/packages/signer/src/NyxoraSigner.js +22 -1
  38. package/package.json +24 -16
  39. package/packages/core/package.json +2 -5
  40. package/packages/core/playbooks/apple/DESCRIPTION.md +2 -0
  41. package/packages/core/playbooks/apple/apple-notes/SKILL.md +90 -0
  42. package/packages/core/playbooks/apple/apple-reminders/SKILL.md +130 -0
  43. package/packages/core/playbooks/apple/findmy/SKILL.md +131 -0
  44. package/packages/core/playbooks/apple/imessage/SKILL.md +102 -0
  45. package/packages/core/playbooks/autonomous-ai-agents/DESCRIPTION.md +3 -0
  46. package/packages/core/playbooks/autonomous-ai-agents/claude-code/SKILL.md +745 -0
  47. package/packages/core/playbooks/autonomous-ai-agents/codex/SKILL.md +149 -0
  48. package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/SKILL.md +1111 -0
  49. package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/references/native-mcp.md +344 -0
  50. package/packages/core/playbooks/autonomous-ai-agents/nyxora-agent/references/webhooks.md +194 -0
  51. package/packages/core/playbooks/autonomous-ai-agents/opencode/SKILL.md +219 -0
  52. package/packages/core/playbooks/computer-use/SKILL.md +263 -0
  53. package/packages/core/playbooks/creative/DESCRIPTION.md +3 -0
  54. package/packages/core/playbooks/creative/architecture-diagram/SKILL.md +148 -0
  55. package/packages/core/playbooks/creative/architecture-diagram/templates/template.html +319 -0
  56. package/packages/core/playbooks/creative/ascii-art/SKILL.md +322 -0
  57. package/packages/core/playbooks/creative/ascii-video/README.md +290 -0
  58. package/packages/core/playbooks/creative/ascii-video/SKILL.md +241 -0
  59. package/packages/core/playbooks/creative/ascii-video/references/architecture.md +802 -0
  60. package/packages/core/playbooks/creative/ascii-video/references/composition.md +892 -0
  61. package/packages/core/playbooks/creative/ascii-video/references/effects.md +1865 -0
  62. package/packages/core/playbooks/creative/ascii-video/references/inputs.md +685 -0
  63. package/packages/core/playbooks/creative/ascii-video/references/optimization.md +688 -0
  64. package/packages/core/playbooks/creative/ascii-video/references/scenes.md +1011 -0
  65. package/packages/core/playbooks/creative/ascii-video/references/shaders.md +1385 -0
  66. package/packages/core/playbooks/creative/ascii-video/references/troubleshooting.md +367 -0
  67. package/packages/core/playbooks/creative/baoyu-infographic/PORT_NOTES.md +43 -0
  68. package/packages/core/playbooks/creative/baoyu-infographic/SKILL.md +237 -0
  69. package/packages/core/playbooks/creative/baoyu-infographic/references/analysis-framework.md +182 -0
  70. package/packages/core/playbooks/creative/baoyu-infographic/references/base-prompt.md +43 -0
  71. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/bento-grid.md +41 -0
  72. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  73. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/bridge.md +41 -0
  74. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/circular-flow.md +41 -0
  75. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/comic-strip.md +41 -0
  76. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  77. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/dashboard.md +41 -0
  78. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/dense-modules.md +72 -0
  79. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/funnel.md +41 -0
  80. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  81. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  82. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/iceberg.md +41 -0
  83. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/isometric-map.md +41 -0
  84. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/jigsaw.md +41 -0
  85. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/linear-progression.md +48 -0
  86. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/periodic-table.md +41 -0
  87. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/story-mountain.md +41 -0
  88. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  89. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/tree-branching.md +41 -0
  90. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  91. package/packages/core/playbooks/creative/baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  92. package/packages/core/playbooks/creative/baoyu-infographic/references/structured-content-template.md +244 -0
  93. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/aged-academia.md +36 -0
  94. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/bold-graphic.md +36 -0
  95. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/chalkboard.md +61 -0
  96. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/claymation.md +29 -0
  97. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  98. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/craft-handmade.md +44 -0
  99. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  100. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  101. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/ikea-manual.md +29 -0
  102. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/kawaii.md +29 -0
  103. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/knolling.md +29 -0
  104. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/lego-brick.md +29 -0
  105. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/morandi-journal.md +60 -0
  106. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/origami.md +29 -0
  107. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/pixel-art.md +29 -0
  108. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  109. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  110. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  111. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/subway-map.md +29 -0
  112. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/technical-schematic.md +36 -0
  113. package/packages/core/playbooks/creative/baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  114. package/packages/core/playbooks/creative/claude-design/SKILL.md +650 -0
  115. package/packages/core/playbooks/creative/comfyui/SKILL.md +612 -0
  116. package/packages/core/playbooks/creative/comfyui/references/official-cli.md +255 -0
  117. package/packages/core/playbooks/creative/comfyui/references/rest-api.md +312 -0
  118. package/packages/core/playbooks/creative/comfyui/references/template-integrity.md +243 -0
  119. package/packages/core/playbooks/creative/comfyui/references/workflow-format.md +226 -0
  120. package/packages/core/playbooks/creative/comfyui/scripts/_common.py +835 -0
  121. package/packages/core/playbooks/creative/comfyui/scripts/auto_fix_deps.py +225 -0
  122. package/packages/core/playbooks/creative/comfyui/scripts/check_deps.py +437 -0
  123. package/packages/core/playbooks/creative/comfyui/scripts/comfyui_setup.sh +286 -0
  124. package/packages/core/playbooks/creative/comfyui/scripts/extract_schema.py +315 -0
  125. package/packages/core/playbooks/creative/comfyui/scripts/fetch_logs.py +157 -0
  126. package/packages/core/playbooks/creative/comfyui/scripts/hardware_check.py +497 -0
  127. package/packages/core/playbooks/creative/comfyui/scripts/health_check.py +223 -0
  128. package/packages/core/playbooks/creative/comfyui/scripts/run_batch.py +243 -0
  129. package/packages/core/playbooks/creative/comfyui/scripts/run_workflow.py +796 -0
  130. package/packages/core/playbooks/creative/comfyui/scripts/ws_monitor.py +267 -0
  131. package/packages/core/playbooks/creative/comfyui/tests/README.md +50 -0
  132. package/packages/core/playbooks/creative/comfyui/tests/conftest.py +64 -0
  133. package/packages/core/playbooks/creative/comfyui/tests/pytest.ini +5 -0
  134. package/packages/core/playbooks/creative/comfyui/tests/test_check_deps.py +68 -0
  135. package/packages/core/playbooks/creative/comfyui/tests/test_cloud_integration.py +95 -0
  136. package/packages/core/playbooks/creative/comfyui/tests/test_common.py +443 -0
  137. package/packages/core/playbooks/creative/comfyui/tests/test_extract_schema.py +184 -0
  138. package/packages/core/playbooks/creative/comfyui/tests/test_run_workflow.py +210 -0
  139. package/packages/core/playbooks/creative/comfyui/workflows/README.md +86 -0
  140. package/packages/core/playbooks/creative/comfyui/workflows/animatediff_video.json +64 -0
  141. package/packages/core/playbooks/creative/comfyui/workflows/flux_dev_txt2img.json +78 -0
  142. package/packages/core/playbooks/creative/comfyui/workflows/sd15_txt2img.json +49 -0
  143. package/packages/core/playbooks/creative/comfyui/workflows/sdxl_img2img.json +54 -0
  144. package/packages/core/playbooks/creative/comfyui/workflows/sdxl_inpaint.json +59 -0
  145. package/packages/core/playbooks/creative/comfyui/workflows/sdxl_txt2img.json +49 -0
  146. package/packages/core/playbooks/creative/comfyui/workflows/upscale_4x.json +27 -0
  147. package/packages/core/playbooks/creative/comfyui/workflows/wan_video_t2v.json +69 -0
  148. package/packages/core/playbooks/creative/design-md/SKILL.md +199 -0
  149. package/packages/core/playbooks/creative/design-md/templates/starter.md +99 -0
  150. package/packages/core/playbooks/creative/excalidraw/SKILL.md +199 -0
  151. package/packages/core/playbooks/creative/excalidraw/references/colors.md +44 -0
  152. package/packages/core/playbooks/creative/excalidraw/references/dark-mode.md +68 -0
  153. package/packages/core/playbooks/creative/excalidraw/references/examples.md +141 -0
  154. package/packages/core/playbooks/creative/excalidraw/scripts/upload.py +133 -0
  155. package/packages/core/playbooks/creative/humanizer/LICENSE +21 -0
  156. package/packages/core/playbooks/creative/humanizer/SKILL.md +578 -0
  157. package/packages/core/playbooks/creative/manim-video/README.md +23 -0
  158. package/packages/core/playbooks/creative/manim-video/SKILL.md +269 -0
  159. package/packages/core/playbooks/creative/manim-video/references/animation-design-thinking.md +161 -0
  160. package/packages/core/playbooks/creative/manim-video/references/animations.md +282 -0
  161. package/packages/core/playbooks/creative/manim-video/references/camera-and-3d.md +135 -0
  162. package/packages/core/playbooks/creative/manim-video/references/decorations.md +202 -0
  163. package/packages/core/playbooks/creative/manim-video/references/equations.md +216 -0
  164. package/packages/core/playbooks/creative/manim-video/references/graphs-and-data.md +163 -0
  165. package/packages/core/playbooks/creative/manim-video/references/mobjects.md +333 -0
  166. package/packages/core/playbooks/creative/manim-video/references/paper-explainer.md +255 -0
  167. package/packages/core/playbooks/creative/manim-video/references/production-quality.md +190 -0
  168. package/packages/core/playbooks/creative/manim-video/references/rendering.md +185 -0
  169. package/packages/core/playbooks/creative/manim-video/references/scene-planning.md +118 -0
  170. package/packages/core/playbooks/creative/manim-video/references/troubleshooting.md +135 -0
  171. package/packages/core/playbooks/creative/manim-video/references/updaters-and-trackers.md +260 -0
  172. package/packages/core/playbooks/creative/manim-video/references/visual-design.md +124 -0
  173. package/packages/core/playbooks/creative/manim-video/scripts/setup.sh +14 -0
  174. package/packages/core/playbooks/creative/p5js/README.md +64 -0
  175. package/packages/core/playbooks/creative/p5js/SKILL.md +556 -0
  176. package/packages/core/playbooks/creative/p5js/references/animation.md +439 -0
  177. package/packages/core/playbooks/creative/p5js/references/color-systems.md +352 -0
  178. package/packages/core/playbooks/creative/p5js/references/core-api.md +410 -0
  179. package/packages/core/playbooks/creative/p5js/references/export-pipeline.md +566 -0
  180. package/packages/core/playbooks/creative/p5js/references/interaction.md +398 -0
  181. package/packages/core/playbooks/creative/p5js/references/shapes-and-geometry.md +300 -0
  182. package/packages/core/playbooks/creative/p5js/references/troubleshooting.md +532 -0
  183. package/packages/core/playbooks/creative/p5js/references/typography.md +302 -0
  184. package/packages/core/playbooks/creative/p5js/references/visual-effects.md +895 -0
  185. package/packages/core/playbooks/creative/p5js/references/webgl-and-3d.md +423 -0
  186. package/packages/core/playbooks/creative/p5js/scripts/export-frames.js +179 -0
  187. package/packages/core/playbooks/creative/p5js/scripts/render.sh +108 -0
  188. package/packages/core/playbooks/creative/p5js/scripts/serve.sh +28 -0
  189. package/packages/core/playbooks/creative/p5js/scripts/setup.sh +87 -0
  190. package/packages/core/playbooks/creative/p5js/templates/viewer.html +395 -0
  191. package/packages/core/playbooks/creative/popular-web-designs/SKILL.md +214 -0
  192. package/packages/core/playbooks/creative/popular-web-designs/templates/airbnb.md +259 -0
  193. package/packages/core/playbooks/creative/popular-web-designs/templates/airtable.md +102 -0
  194. package/packages/core/playbooks/creative/popular-web-designs/templates/apple.md +326 -0
  195. package/packages/core/playbooks/creative/popular-web-designs/templates/bmw.md +193 -0
  196. package/packages/core/playbooks/creative/popular-web-designs/templates/cal.md +272 -0
  197. package/packages/core/playbooks/creative/popular-web-designs/templates/claude.md +325 -0
  198. package/packages/core/playbooks/creative/popular-web-designs/templates/clay.md +317 -0
  199. package/packages/core/playbooks/creative/popular-web-designs/templates/clickhouse.md +294 -0
  200. package/packages/core/playbooks/creative/popular-web-designs/templates/cohere.md +279 -0
  201. package/packages/core/playbooks/creative/popular-web-designs/templates/coinbase.md +142 -0
  202. package/packages/core/playbooks/creative/popular-web-designs/templates/composio.md +320 -0
  203. package/packages/core/playbooks/creative/popular-web-designs/templates/cursor.md +322 -0
  204. package/packages/core/playbooks/creative/popular-web-designs/templates/elevenlabs.md +278 -0
  205. package/packages/core/playbooks/creative/popular-web-designs/templates/expo.md +294 -0
  206. package/packages/core/playbooks/creative/popular-web-designs/templates/figma.md +233 -0
  207. package/packages/core/playbooks/creative/popular-web-designs/templates/framer.md +259 -0
  208. package/packages/core/playbooks/creative/popular-web-designs/templates/hashicorp.md +291 -0
  209. package/packages/core/playbooks/creative/popular-web-designs/templates/ibm.md +345 -0
  210. package/packages/core/playbooks/creative/popular-web-designs/templates/intercom.md +159 -0
  211. package/packages/core/playbooks/creative/popular-web-designs/templates/kraken.md +138 -0
  212. package/packages/core/playbooks/creative/popular-web-designs/templates/linear.app.md +380 -0
  213. package/packages/core/playbooks/creative/popular-web-designs/templates/lovable.md +311 -0
  214. package/packages/core/playbooks/creative/popular-web-designs/templates/minimax.md +270 -0
  215. package/packages/core/playbooks/creative/popular-web-designs/templates/mintlify.md +339 -0
  216. package/packages/core/playbooks/creative/popular-web-designs/templates/miro.md +121 -0
  217. package/packages/core/playbooks/creative/popular-web-designs/templates/mistral.ai.md +274 -0
  218. package/packages/core/playbooks/creative/popular-web-designs/templates/mongodb.md +279 -0
  219. package/packages/core/playbooks/creative/popular-web-designs/templates/notion.md +322 -0
  220. package/packages/core/playbooks/creative/popular-web-designs/templates/nvidia.md +306 -0
  221. package/packages/core/playbooks/creative/popular-web-designs/templates/ollama.md +280 -0
  222. package/packages/core/playbooks/creative/popular-web-designs/templates/opencode.ai.md +294 -0
  223. package/packages/core/playbooks/creative/popular-web-designs/templates/pinterest.md +243 -0
  224. package/packages/core/playbooks/creative/popular-web-designs/templates/posthog.md +269 -0
  225. package/packages/core/playbooks/creative/popular-web-designs/templates/raycast.md +281 -0
  226. package/packages/core/playbooks/creative/popular-web-designs/templates/replicate.md +274 -0
  227. package/packages/core/playbooks/creative/popular-web-designs/templates/resend.md +316 -0
  228. package/packages/core/playbooks/creative/popular-web-designs/templates/revolut.md +198 -0
  229. package/packages/core/playbooks/creative/popular-web-designs/templates/runwayml.md +257 -0
  230. package/packages/core/playbooks/creative/popular-web-designs/templates/sanity.md +370 -0
  231. package/packages/core/playbooks/creative/popular-web-designs/templates/sentry.md +275 -0
  232. package/packages/core/playbooks/creative/popular-web-designs/templates/spacex.md +207 -0
  233. package/packages/core/playbooks/creative/popular-web-designs/templates/spotify.md +259 -0
  234. package/packages/core/playbooks/creative/popular-web-designs/templates/stripe.md +335 -0
  235. package/packages/core/playbooks/creative/popular-web-designs/templates/supabase.md +268 -0
  236. package/packages/core/playbooks/creative/popular-web-designs/templates/superhuman.md +265 -0
  237. package/packages/core/playbooks/creative/popular-web-designs/templates/together.ai.md +276 -0
  238. package/packages/core/playbooks/creative/popular-web-designs/templates/uber.md +308 -0
  239. package/packages/core/playbooks/creative/popular-web-designs/templates/vercel.md +323 -0
  240. package/packages/core/playbooks/creative/popular-web-designs/templates/voltagent.md +336 -0
  241. package/packages/core/playbooks/creative/popular-web-designs/templates/warp.md +266 -0
  242. package/packages/core/playbooks/creative/popular-web-designs/templates/webflow.md +105 -0
  243. package/packages/core/playbooks/creative/popular-web-designs/templates/wise.md +186 -0
  244. package/packages/core/playbooks/creative/popular-web-designs/templates/x.ai.md +270 -0
  245. package/packages/core/playbooks/creative/popular-web-designs/templates/zapier.md +341 -0
  246. package/packages/core/playbooks/creative/pretext/SKILL.md +220 -0
  247. package/packages/core/playbooks/creative/pretext/references/patterns.md +258 -0
  248. package/packages/core/playbooks/creative/pretext/templates/donut-orbit.html +1468 -0
  249. package/packages/core/playbooks/creative/pretext/templates/hello-orb-flow.html +95 -0
  250. package/packages/core/playbooks/creative/sketch/SKILL.md +218 -0
  251. package/packages/core/playbooks/creative/songwriting-and-ai-music/SKILL.md +287 -0
  252. package/packages/core/playbooks/creative/touchdesigner-mcp/SKILL.md +356 -0
  253. package/packages/core/playbooks/creative/touchdesigner-mcp/references/3d-scene.md +275 -0
  254. package/packages/core/playbooks/creative/touchdesigner-mcp/references/animation.md +221 -0
  255. package/packages/core/playbooks/creative/touchdesigner-mcp/references/audio-reactive.md +175 -0
  256. package/packages/core/playbooks/creative/touchdesigner-mcp/references/dat-scripting.md +352 -0
  257. package/packages/core/playbooks/creative/touchdesigner-mcp/references/external-data.md +322 -0
  258. package/packages/core/playbooks/creative/touchdesigner-mcp/references/geometry-comp.md +121 -0
  259. package/packages/core/playbooks/creative/touchdesigner-mcp/references/glsl.md +151 -0
  260. package/packages/core/playbooks/creative/touchdesigner-mcp/references/layout-compositor.md +131 -0
  261. package/packages/core/playbooks/creative/touchdesigner-mcp/references/mcp-tools.md +382 -0
  262. package/packages/core/playbooks/creative/touchdesigner-mcp/references/midi-osc.md +211 -0
  263. package/packages/core/playbooks/creative/touchdesigner-mcp/references/network-patterns.md +966 -0
  264. package/packages/core/playbooks/creative/touchdesigner-mcp/references/operator-tips.md +106 -0
  265. package/packages/core/playbooks/creative/touchdesigner-mcp/references/operators.md +239 -0
  266. package/packages/core/playbooks/creative/touchdesigner-mcp/references/panel-ui.md +281 -0
  267. package/packages/core/playbooks/creative/touchdesigner-mcp/references/particles.md +245 -0
  268. package/packages/core/playbooks/creative/touchdesigner-mcp/references/pitfalls.md +704 -0
  269. package/packages/core/playbooks/creative/touchdesigner-mcp/references/postfx.md +183 -0
  270. package/packages/core/playbooks/creative/touchdesigner-mcp/references/projection-mapping.md +211 -0
  271. package/packages/core/playbooks/creative/touchdesigner-mcp/references/python-api.md +463 -0
  272. package/packages/core/playbooks/creative/touchdesigner-mcp/references/replicator.md +198 -0
  273. package/packages/core/playbooks/creative/touchdesigner-mcp/references/troubleshooting.md +244 -0
  274. package/packages/core/playbooks/creative/touchdesigner-mcp/scripts/setup.sh +115 -0
  275. package/packages/core/playbooks/data-science/DESCRIPTION.md +3 -0
  276. package/packages/core/playbooks/data-science/jupyter-live-kernel/SKILL.md +167 -0
  277. package/packages/core/playbooks/dogfood/SKILL.md +162 -0
  278. package/packages/core/playbooks/dogfood/references/issue-taxonomy.md +109 -0
  279. package/packages/core/playbooks/dogfood/templates/dogfood-report-template.md +86 -0
  280. package/packages/core/playbooks/email/DESCRIPTION.md +3 -0
  281. package/packages/core/playbooks/github/DESCRIPTION.md +3 -0
  282. package/packages/core/playbooks/github/codebase-inspection/SKILL.md +116 -0
  283. package/packages/core/playbooks/github/github-auth/SKILL.md +247 -0
  284. package/packages/core/playbooks/github/github-auth/scripts/gh-env.sh +66 -0
  285. package/packages/core/playbooks/github/github-code-review/SKILL.md +481 -0
  286. package/packages/core/playbooks/github/github-code-review/references/review-output-template.md +74 -0
  287. package/packages/core/playbooks/github/github-issues/SKILL.md +370 -0
  288. package/packages/core/playbooks/github/github-issues/templates/bug-report.md +35 -0
  289. package/packages/core/playbooks/github/github-issues/templates/feature-request.md +31 -0
  290. package/packages/core/playbooks/github/github-pr-workflow/SKILL.md +367 -0
  291. package/packages/core/playbooks/github/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  292. package/packages/core/playbooks/github/github-pr-workflow/references/conventional-commits.md +71 -0
  293. package/packages/core/playbooks/github/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  294. package/packages/core/playbooks/github/github-pr-workflow/templates/pr-body-feature.md +33 -0
  295. package/packages/core/playbooks/github/github-repo-management/SKILL.md +516 -0
  296. package/packages/core/playbooks/github/github-repo-management/references/github-api-cheatsheet.md +161 -0
  297. package/packages/core/playbooks/index-cache/anthropics_skills_skills_.json +1 -0
  298. package/packages/core/playbooks/index-cache/claude_marketplace_anthropics_skills.json +1 -0
  299. package/packages/core/playbooks/index-cache/lobehub_index.json +1 -0
  300. package/packages/core/playbooks/index-cache/openai_skills_skills_.json +1 -0
  301. package/packages/core/playbooks/media/DESCRIPTION.md +3 -0
  302. package/packages/core/playbooks/media/gif-search/SKILL.md +91 -0
  303. package/packages/core/playbooks/media/heartmula/SKILL.md +171 -0
  304. package/packages/core/playbooks/media/songsee/SKILL.md +83 -0
  305. package/packages/core/playbooks/media/youtube-content/SKILL.md +76 -0
  306. package/packages/core/playbooks/media/youtube-content/references/output-formats.md +56 -0
  307. package/packages/core/playbooks/media/youtube-content/scripts/fetch_transcript.py +124 -0
  308. package/packages/core/playbooks/mlops/DESCRIPTION.md +3 -0
  309. package/packages/core/playbooks/mlops/evaluation/DESCRIPTION.md +3 -0
  310. package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/SKILL.md +498 -0
  311. package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/api-evaluation.md +490 -0
  312. package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/benchmark-guide.md +488 -0
  313. package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/custom-tasks.md +602 -0
  314. package/packages/core/playbooks/mlops/evaluation/lm-evaluation-harness/references/distributed-eval.md +519 -0
  315. package/packages/core/playbooks/mlops/evaluation/weights-and-biases/SKILL.md +594 -0
  316. package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/artifacts.md +584 -0
  317. package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/integrations.md +700 -0
  318. package/packages/core/playbooks/mlops/evaluation/weights-and-biases/references/sweeps.md +847 -0
  319. package/packages/core/playbooks/mlops/huggingface-hub/SKILL.md +81 -0
  320. package/packages/core/playbooks/mlops/inference/DESCRIPTION.md +3 -0
  321. package/packages/core/playbooks/mlops/inference/llama-cpp/SKILL.md +249 -0
  322. package/packages/core/playbooks/mlops/inference/llama-cpp/references/advanced-usage.md +504 -0
  323. package/packages/core/playbooks/mlops/inference/llama-cpp/references/hub-discovery.md +168 -0
  324. package/packages/core/playbooks/mlops/inference/llama-cpp/references/optimization.md +89 -0
  325. package/packages/core/playbooks/mlops/inference/llama-cpp/references/quantization.md +243 -0
  326. package/packages/core/playbooks/mlops/inference/llama-cpp/references/server.md +150 -0
  327. package/packages/core/playbooks/mlops/inference/llama-cpp/references/troubleshooting.md +442 -0
  328. package/packages/core/playbooks/mlops/inference/vllm/SKILL.md +372 -0
  329. package/packages/core/playbooks/mlops/inference/vllm/references/optimization.md +226 -0
  330. package/packages/core/playbooks/mlops/inference/vllm/references/quantization.md +284 -0
  331. package/packages/core/playbooks/mlops/inference/vllm/references/server-deployment.md +255 -0
  332. package/packages/core/playbooks/mlops/inference/vllm/references/troubleshooting.md +447 -0
  333. package/packages/core/playbooks/mlops/models/DESCRIPTION.md +3 -0
  334. package/packages/core/playbooks/mlops/models/audiocraft/SKILL.md +568 -0
  335. package/packages/core/playbooks/mlops/models/audiocraft/references/advanced-usage.md +666 -0
  336. package/packages/core/playbooks/mlops/models/audiocraft/references/troubleshooting.md +504 -0
  337. package/packages/core/playbooks/mlops/models/segment-anything/SKILL.md +506 -0
  338. package/packages/core/playbooks/mlops/models/segment-anything/references/advanced-usage.md +589 -0
  339. package/packages/core/playbooks/mlops/models/segment-anything/references/troubleshooting.md +484 -0
  340. package/packages/core/playbooks/note-taking/DESCRIPTION.md +3 -0
  341. package/packages/core/playbooks/note-taking/obsidian/SKILL.md +61 -0
  342. package/packages/core/playbooks/productivity/DESCRIPTION.md +3 -0
  343. package/packages/core/playbooks/productivity/airtable/SKILL.md +229 -0
  344. package/packages/core/playbooks/productivity/maps/SKILL.md +195 -0
  345. package/packages/core/playbooks/productivity/maps/scripts/maps_client.py +1297 -0
  346. package/packages/core/playbooks/productivity/nano-pdf/SKILL.md +52 -0
  347. package/packages/core/playbooks/productivity/notion/SKILL.md +448 -0
  348. package/packages/core/playbooks/productivity/notion/references/block-types.md +112 -0
  349. package/packages/core/playbooks/productivity/ocr-and-documents/DESCRIPTION.md +3 -0
  350. package/packages/core/playbooks/productivity/ocr-and-documents/SKILL.md +172 -0
  351. package/packages/core/playbooks/productivity/ocr-and-documents/scripts/extract_marker.py +87 -0
  352. package/packages/core/playbooks/productivity/ocr-and-documents/scripts/extract_pymupdf.py +98 -0
  353. package/packages/core/playbooks/productivity/petdex/SKILL.md +89 -0
  354. package/packages/core/playbooks/productivity/powerpoint/LICENSE.txt +30 -0
  355. package/packages/core/playbooks/productivity/powerpoint/SKILL.md +237 -0
  356. package/packages/core/playbooks/productivity/powerpoint/editing.md +205 -0
  357. package/packages/core/playbooks/productivity/powerpoint/pptxgenjs.md +420 -0
  358. package/packages/core/playbooks/productivity/powerpoint/scripts/__init__.py +0 -0
  359. package/packages/core/playbooks/productivity/powerpoint/scripts/add_slide.py +195 -0
  360. package/packages/core/playbooks/productivity/powerpoint/scripts/clean.py +286 -0
  361. package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/__init__.py +0 -0
  362. package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/merge_runs.py +199 -0
  363. package/packages/core/playbooks/productivity/powerpoint/scripts/office/helpers/simplify_redlines.py +197 -0
  364. package/packages/core/playbooks/productivity/powerpoint/scripts/office/pack.py +159 -0
  365. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  366. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  367. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  368. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  369. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  370. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  371. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  372. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  373. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  374. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  375. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  376. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  377. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  378. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  379. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  380. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  381. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  382. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  383. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  384. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  385. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  386. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  387. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  388. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  389. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  390. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  391. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  392. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-contentTypes.xsd +42 -0
  393. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-coreProperties.xsd +50 -0
  394. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-digSig.xsd +49 -0
  395. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/ecma/fourth-edition/opc-relationships.xsd +33 -0
  396. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/mce/mc.xsd +75 -0
  397. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  398. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  399. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  400. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  401. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  402. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  403. package/packages/core/playbooks/productivity/powerpoint/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  404. package/packages/core/playbooks/productivity/teams-meeting-pipeline/SKILL.md +116 -0
  405. package/packages/core/playbooks/research/DESCRIPTION.md +3 -0
  406. package/packages/core/playbooks/research/arxiv/SKILL.md +282 -0
  407. package/packages/core/playbooks/research/arxiv/scripts/search_arxiv.py +114 -0
  408. package/packages/core/playbooks/research/blogwatcher/SKILL.md +137 -0
  409. package/packages/core/playbooks/research/llm-wiki/SKILL.md +507 -0
  410. package/packages/core/playbooks/research/polymarket/SKILL.md +77 -0
  411. package/packages/core/playbooks/research/polymarket/references/api-endpoints.md +220 -0
  412. package/packages/core/playbooks/research/polymarket/scripts/polymarket.py +284 -0
  413. package/packages/core/playbooks/research/research-paper-writing/SKILL.md +2377 -0
  414. package/packages/core/playbooks/research/research-paper-writing/references/autoreason-methodology.md +394 -0
  415. package/packages/core/playbooks/research/research-paper-writing/references/checklists.md +434 -0
  416. package/packages/core/playbooks/research/research-paper-writing/references/citation-workflow.md +564 -0
  417. package/packages/core/playbooks/research/research-paper-writing/references/experiment-patterns.md +728 -0
  418. package/packages/core/playbooks/research/research-paper-writing/references/human-evaluation.md +476 -0
  419. package/packages/core/playbooks/research/research-paper-writing/references/paper-types.md +481 -0
  420. package/packages/core/playbooks/research/research-paper-writing/references/reviewer-guidelines.md +433 -0
  421. package/packages/core/playbooks/research/research-paper-writing/references/sources.md +191 -0
  422. package/packages/core/playbooks/research/research-paper-writing/references/writing-guide.md +474 -0
  423. package/packages/core/playbooks/research/research-paper-writing/templates/README.md +251 -0
  424. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/README.md +534 -0
  425. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  426. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  427. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  428. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  429. package/packages/core/playbooks/research/research-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  430. package/packages/core/playbooks/research/research-paper-writing/templates/acl/README.md +50 -0
  431. package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl.sty +312 -0
  432. package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_latex.tex +377 -0
  433. package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_lualatex.tex +101 -0
  434. package/packages/core/playbooks/research/research-paper-writing/templates/acl/acl_natbib.bst +1940 -0
  435. package/packages/core/playbooks/research/research-paper-writing/templates/acl/anthology.bib.txt +26 -0
  436. package/packages/core/playbooks/research/research-paper-writing/templates/acl/custom.bib +70 -0
  437. package/packages/core/playbooks/research/research-paper-writing/templates/acl/formatting.md +326 -0
  438. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/README.md +3 -0
  439. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  440. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  441. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  442. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  443. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  444. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  445. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/math_commands.tex +508 -0
  446. package/packages/core/playbooks/research/research-paper-writing/templates/colm2025/natbib.sty +1246 -0
  447. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  448. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  449. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  450. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  451. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  452. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  453. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/math_commands.tex +508 -0
  454. package/packages/core/playbooks/research/research-paper-writing/templates/iclr2026/natbib.sty +1246 -0
  455. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/algorithm.sty +79 -0
  456. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/algorithmic.sty +201 -0
  457. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.bib +75 -0
  458. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.pdf +0 -0
  459. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/example_paper.tex +662 -0
  460. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  461. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml2026.bst +1443 -0
  462. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml2026.sty +767 -0
  463. package/packages/core/playbooks/research/research-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  464. package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/Makefile +36 -0
  465. package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  466. package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/main.tex +38 -0
  467. package/packages/core/playbooks/research/research-paper-writing/templates/neurips2025/neurips.sty +382 -0
  468. package/packages/core/playbooks/smart-home/DESCRIPTION.md +3 -0
  469. package/packages/core/playbooks/smart-home/openhue/SKILL.md +109 -0
  470. package/packages/core/playbooks/social-media/DESCRIPTION.md +3 -0
  471. package/packages/core/playbooks/social-media/social-fetch/social-fetch.md +62 -0
  472. package/packages/core/playbooks/social-media/xurl/SKILL.md +432 -0
  473. package/packages/core/playbooks/software-development/node-inspect-debugger/SKILL.md +319 -0
  474. package/packages/core/playbooks/software-development/nyxora-agent-skill-authoring/SKILL.md +196 -0
  475. package/packages/core/playbooks/software-development/plan/SKILL.md +338 -0
  476. package/packages/core/playbooks/software-development/python-debugpy/SKILL.md +375 -0
  477. package/packages/core/playbooks/software-development/requesting-code-review/SKILL.md +280 -0
  478. package/packages/core/playbooks/software-development/simplify-code/SKILL.md +212 -0
  479. package/packages/core/playbooks/software-development/spike/SKILL.md +197 -0
  480. package/packages/core/playbooks/software-development/systematic-debugging/SKILL.md +411 -0
  481. package/packages/core/playbooks/software-development/test-driven-development/SKILL.md +362 -0
  482. package/packages/core/playbooks/web3/binance-trading.md +119 -0
  483. package/packages/core/playbooks/web3/foundry-deployment.md +42 -0
  484. package/packages/core/playbooks/web3/mexc-trading.md +122 -0
  485. package/packages/core/playbooks/web3/onchainkit/assets/templates/basic-app/.env.local.example +20 -0
  486. package/packages/core/playbooks/web3/smart-contract-audit.md +44 -0
  487. package/packages/core/playbooks/yuanbao/SKILL.md +108 -0
  488. package/packages/core/src/agent/osAgent.ts +250 -26
  489. package/packages/core/src/agent/promptBuilder.ts +33 -14
  490. package/packages/core/src/agent/reasoning.ts +104 -39
  491. package/packages/core/src/agent/web3Agent.ts +195 -22
  492. package/packages/core/src/channels/telegram.ts +46 -15
  493. package/packages/core/src/channels/whatsappAdapter.ts +6 -4
  494. package/packages/core/src/config/parser.d.ts +83 -0
  495. package/packages/core/src/config/parser.js +290 -0
  496. package/packages/core/src/config/parser.ts +2 -1
  497. package/packages/core/src/config/paths.d.ts +2 -0
  498. package/packages/core/src/config/paths.js +68 -0
  499. package/packages/core/src/gateway/server.ts +1 -1
  500. package/packages/core/src/gateway/setup.ts +10 -3
  501. package/packages/core/src/plugin/PluginManager.ts +15 -1
  502. package/packages/core/src/system/plugins/SystemWorkspacePlugin.ts +5 -0
  503. package/packages/core/src/system/skills/analyzeImage.ts +14 -21
  504. package/packages/core/src/system/skills/generateImage.ts +66 -0
  505. package/packages/core/src/system/skills/searchWeb.ts +47 -1
  506. package/packages/core/src/utils/contextSummarizer.ts +33 -35
  507. package/packages/core/src/utils/historySanitizer.ts +20 -2
  508. package/packages/core/src/utils/safeLogger.d.ts +4 -0
  509. package/packages/core/src/utils/safeLogger.js +59 -0
  510. package/packages/core/src/utils/skillManager.ts +1 -0
  511. package/packages/core/src/web3/aggregator/providers/ArbitrumBridgeProvider.ts +60 -13
  512. package/packages/core/src/web3/aggregator/providers/KyberSwapProvider.ts +1 -1
  513. package/packages/core/src/web3/aggregator/providers/LifiProvider.ts +1 -1
  514. package/packages/core/src/web3/aggregator/providers/OneInchProvider.ts +1 -1
  515. package/packages/core/src/web3/aggregator/providers/OpenOceanProvider.ts +1 -1
  516. package/packages/core/src/web3/aggregator/providers/RelayProvider.ts +1 -1
  517. package/packages/core/src/web3/aggregator/providers/ZeroXProvider.ts +1 -1
  518. package/packages/core/src/web3/config.d.ts +3 -0
  519. package/packages/core/src/web3/config.js +20 -0
  520. package/packages/core/src/web3/skills/bridgeToken.ts +1 -1
  521. package/packages/core/src/web3/skills/checkRegistryStatus.d.ts +21 -0
  522. package/packages/core/src/web3/skills/checkRegistryStatus.js +92 -0
  523. package/packages/core/src/web3/skills/checkSecurity.ts +2 -0
  524. package/packages/core/src/web3/skills/marketAnalysis.ts +23 -9
  525. package/packages/core/src/web3/utils/chains.d.ts +1596 -0
  526. package/packages/core/src/web3/utils/chains.js +36 -0
  527. package/packages/core/src/web3/utils/chains.ts +4 -1
  528. package/packages/core/src/web3/utils/riskIntelligence.ts +12 -4
  529. package/packages/core/src/web3/utils/rpcEngine.d.ts +4 -0
  530. package/packages/core/src/web3/utils/rpcEngine.js +138 -0
  531. package/packages/core/src/web3/utils/rpcEngine.ts +6 -0
  532. package/packages/core/src/web3/utils/tokens.ts +6 -0
  533. package/packages/core/src/web3/utils/vaultClient.d.ts +2 -0
  534. package/packages/core/src/web3/utils/vaultClient.js +122 -0
  535. package/packages/dashboard/dist/assets/index-p3yL9asH.js +26 -0
  536. package/packages/dashboard/dist/index.html +1 -1
  537. package/packages/dashboard/dist/robinhood.png +0 -0
  538. package/packages/dashboard/dist/robinhood.svg +0 -0
  539. package/packages/dashboard/package.json +3 -3
  540. package/packages/mcp-server/package.json +2 -1
  541. package/packages/ml-engine/routers/__pycache__/market.cpython-313.pyc +0 -0
  542. package/packages/ml-engine/routers/market.py +218 -99
  543. package/packages/policy/package.json +19 -4
  544. package/packages/policy/src/engine.ts +288 -0
  545. package/packages/policy/src/index.ts +1 -0
  546. package/packages/policy/src/server.ts +9 -278
  547. package/packages/signer/package.json +4 -3
  548. package/packages/signer/src/NyxoraSigner.ts +22 -2
  549. 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
- [![Status: Prototype](https://img.shields.io/badge/Status-Prototype-orange.svg)](#)
6
-
7
- [![MCP Supported](https://img.shields.io/badge/MCP-Supported-blue.svg)](#)
8
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
- [![Security: Defense-in-Depth](https://img.shields.io/badge/Security-Defense--in--Depth-blue.svg)](#️-advanced-security-threat-model)
10
- [![Execution: Cryptographic Approval](https://img.shields.io/badge/Execution-Cryptographic--Approval-orange.svg)](#️-advanced-security-threat-model)
11
- [![Privacy: Local-Only Keys](https://img.shields.io/badge/Privacy-Local--Only--Keys-success.svg)](#️-advanced-security-threat-model)
12
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://makeapullrequest.com)
5
+ [![Status: Alpha](https://img.shields.io/badge/Status-Alpha-orange.svg?style=for-the-badge)](#)
6
+ [![Donate on DeBank](https://img.shields.io/badge/DONATE-DEBANK-FE7E41?style=for-the-badge&logo=ethereum&logoColor=white)](https://debank.com/profile/0xe5c21f46993c67cfe04fcf1579486d390be7b535)
7
+
8
+ [![MCP Supported](https://img.shields.io/badge/MCP-Supported-blue.svg?style=for-the-badge)](#)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
10
+ [![Security: Defense-in-Depth](https://img.shields.io/badge/Security-Defense--in--Depth-blue.svg?style=for-the-badge)](#️-advanced-security-threat-model)
11
+ [![Execution: Cryptographic Approval](https://img.shields.io/badge/Execution-Cryptographic--Approval-orange.svg?style=for-the-badge)](#️-advanced-security-threat-model)
12
+ [![Privacy: Local-Only Keys](https://img.shields.io/badge/Privacy-Local--Only--Keys-success.svg?style=for-the-badge)](#️-advanced-security-threat-model)
13
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](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 = ['run_terminal_command', 'write_local_file', 'edit_local_file', 'execute_script'];
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 is NOT a financial transaction removed from this list.
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
- const cleanedContent = scratchpad.capture(responseMessage.content || '', turnCount);
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 || 'No response generated.';
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: Removed send_telegram_file not a financial transaction
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: 'assistant', content: finalContent }, sessionId);
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
- const MAX_TURNS = 10;
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 sanitizedHistory = sanitizeHistoryForLLM(currentHistory, activeTools, config.llm.provider);
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: Only clear the Telegram buffer on the FIRST turn.
392
- // On subsequent turns (after tool calls), the buffer already shows useful
393
- // progress info. Resetting it causes visible content to disappear.
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 || 'No response generated.';
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
- // --- CRITIC PASS REMOVED ---
418
- // Prevents leaking internal reasoning into the stream and confusing the user.
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
- const promises = responseMessage.tool_calls.map(async (_toolCall) => {
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(`_⚡ Running tool: ${toolName}..._`);
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(`_⏳ [${toolName}] ${partialResult}..._`);
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
- exports.logger.addEntry({ role: 'assistant', content: finalContent }, sessionId);
495
- onChunk(finalContent);
496
- fullResponse = finalContent;
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
- NEVER show a command as a markdown code block and wait. CALL the tool directly.
218
- NEVER ask "do you want me to run this?" just run it.
219
- NEVER say "you need to run this yourself" you have direct shell access.
220
- If a command requires sudo and may need a password, just run it and report what happens.
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
- CRITICAL: It is STRICTLY FORBIDDEN to write a bash/shell command in a markdown code block (e.g. \`\`\`bash ... \`\`\`) as a substitute for calling the run_terminal_command tool.
226
- Writing a code block does NOT execute anything. It is a lie to the user.
227
- If you write \`\`\`bash\nsudo apt install steam\n\`\`\` instead of calling run_terminal_command, you are hallucinating execution.
228
- The ONLY way to run a command is to emit a proper tool_call for run_terminal_command.
229
- If the tool is available, USE IT. Do not simulate or describe running it.
230
- </anti_hallucination_execution>`;
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() {