@fraziym/axoniz 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +76 -0
- package/dist/agents/definition.d.ts +15 -0
- package/dist/agents/definition.d.ts.map +1 -0
- package/dist/agents/definition.js +41 -0
- package/dist/agents/definition.js.map +1 -0
- package/dist/agents/index.d.ts +12 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +11 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.d.ts +17 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +23 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/specialized.d.ts +31 -0
- package/dist/agents/specialized.d.ts.map +1 -0
- package/dist/agents/specialized.js +75 -0
- package/dist/agents/specialized.js.map +1 -0
- package/dist/awareness/index.d.ts +14 -0
- package/dist/awareness/index.d.ts.map +1 -0
- package/dist/awareness/index.js +22 -0
- package/dist/awareness/index.js.map +1 -0
- package/dist/awareness/service.d.ts +180 -0
- package/dist/awareness/service.d.ts.map +1 -0
- package/dist/awareness/service.js +789 -0
- package/dist/awareness/service.js.map +1 -0
- package/dist/cli/entry.d.ts +13 -0
- package/dist/cli/entry.d.ts.map +1 -0
- package/dist/cli/entry.js +35 -0
- package/dist/cli/entry.js.map +1 -0
- package/dist/comms/telegram.d.ts +41 -0
- package/dist/comms/telegram.d.ts.map +1 -0
- package/dist/comms/telegram.js +332 -0
- package/dist/comms/telegram.js.map +1 -0
- package/dist/core/agent.d.ts +252 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1399 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/auth.d.ts +23 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +113 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/authority.d.ts +118 -0
- package/dist/core/authority.d.ts.map +1 -0
- package/dist/core/authority.js +402 -0
- package/dist/core/authority.js.map +1 -0
- package/dist/core/backend/async_queue.d.ts +17 -0
- package/dist/core/backend/async_queue.d.ts.map +1 -0
- package/dist/core/backend/async_queue.js +66 -0
- package/dist/core/backend/async_queue.js.map +1 -0
- package/dist/core/backend/index.d.ts +24 -0
- package/dist/core/backend/index.d.ts.map +1 -0
- package/dist/core/backend/index.js +128 -0
- package/dist/core/backend/index.js.map +1 -0
- package/dist/core/backend/llama_server.d.ts +39 -0
- package/dist/core/backend/llama_server.d.ts.map +1 -0
- package/dist/core/backend/llama_server.js +182 -0
- package/dist/core/backend/llama_server.js.map +1 -0
- package/dist/core/backend/llamacpp.d.ts +40 -0
- package/dist/core/backend/llamacpp.d.ts.map +1 -0
- package/dist/core/backend/llamacpp.js +200 -0
- package/dist/core/backend/llamacpp.js.map +1 -0
- package/dist/core/backend/lmstudio.d.ts +53 -0
- package/dist/core/backend/lmstudio.d.ts.map +1 -0
- package/dist/core/backend/lmstudio.js +274 -0
- package/dist/core/backend/lmstudio.js.map +1 -0
- package/dist/core/backend/ollama.d.ts +25 -0
- package/dist/core/backend/ollama.d.ts.map +1 -0
- package/dist/core/backend/ollama.js +86 -0
- package/dist/core/backend/ollama.js.map +1 -0
- package/dist/core/backend/openai.d.ts +27 -0
- package/dist/core/backend/openai.d.ts.map +1 -0
- package/dist/core/backend/openai.js +84 -0
- package/dist/core/backend/openai.js.map +1 -0
- package/dist/core/backend/types.d.ts +73 -0
- package/dist/core/backend/types.d.ts.map +1 -0
- package/dist/core/backend/types.js +137 -0
- package/dist/core/backend/types.js.map +1 -0
- package/dist/core/chat_store.d.ts +77 -0
- package/dist/core/chat_store.d.ts.map +1 -0
- package/dist/core/chat_store.js +332 -0
- package/dist/core/chat_store.js.map +1 -0
- package/dist/core/cli.d.ts +82 -0
- package/dist/core/cli.d.ts.map +1 -0
- package/dist/core/cli.js +602 -0
- package/dist/core/cli.js.map +1 -0
- package/dist/core/config.d.ts +127 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +295 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/debug.d.ts +8 -0
- package/dist/core/debug.d.ts.map +1 -0
- package/dist/core/debug.js +8 -0
- package/dist/core/debug.js.map +1 -0
- package/dist/core/downloader.d.ts +31 -0
- package/dist/core/downloader.d.ts.map +1 -0
- package/dist/core/downloader.js +180 -0
- package/dist/core/downloader.js.map +1 -0
- package/dist/core/errors.d.ts +80 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +134 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/extras.d.ts +160 -0
- package/dist/core/extras.d.ts.map +1 -0
- package/dist/core/extras.js +553 -0
- package/dist/core/extras.js.map +1 -0
- package/dist/core/health.d.ts +27 -0
- package/dist/core/health.d.ts.map +1 -0
- package/dist/core/health.js +96 -0
- package/dist/core/health.js.map +1 -0
- package/dist/core/history.d.ts +50 -0
- package/dist/core/history.d.ts.map +1 -0
- package/dist/core/history.js +276 -0
- package/dist/core/history.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +6 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/intelligence/ast_index.d.ts +255 -0
- package/dist/core/intelligence/ast_index.d.ts.map +1 -0
- package/dist/core/intelligence/ast_index.js +1369 -0
- package/dist/core/intelligence/ast_index.js.map +1 -0
- package/dist/core/intelligence/confidence.d.ts +113 -0
- package/dist/core/intelligence/confidence.d.ts.map +1 -0
- package/dist/core/intelligence/confidence.js +298 -0
- package/dist/core/intelligence/confidence.js.map +1 -0
- package/dist/core/intelligence/context_compressor.d.ts +80 -0
- package/dist/core/intelligence/context_compressor.d.ts.map +1 -0
- package/dist/core/intelligence/context_compressor.js +245 -0
- package/dist/core/intelligence/context_compressor.js.map +1 -0
- package/dist/core/intelligence/daemon.d.ts +247 -0
- package/dist/core/intelligence/daemon.d.ts.map +1 -0
- package/dist/core/intelligence/daemon.js +842 -0
- package/dist/core/intelligence/daemon.js.map +1 -0
- package/dist/core/intelligence/index.d.ts +60 -0
- package/dist/core/intelligence/index.d.ts.map +1 -0
- package/dist/core/intelligence/index.js +101 -0
- package/dist/core/intelligence/index.js.map +1 -0
- package/dist/core/intelligence/predictor.d.ts +246 -0
- package/dist/core/intelligence/predictor.d.ts.map +1 -0
- package/dist/core/intelligence/predictor.js +590 -0
- package/dist/core/intelligence/predictor.js.map +1 -0
- package/dist/core/intelligence/reflex.d.ts +84 -0
- package/dist/core/intelligence/reflex.d.ts.map +1 -0
- package/dist/core/intelligence/reflex.js +344 -0
- package/dist/core/intelligence/reflex.js.map +1 -0
- package/dist/core/intelligence/self_correction.d.ts +121 -0
- package/dist/core/intelligence/self_correction.d.ts.map +1 -0
- package/dist/core/intelligence/self_correction.js +327 -0
- package/dist/core/intelligence/self_correction.js.map +1 -0
- package/dist/core/intelligence/skill_distiller.d.ts +100 -0
- package/dist/core/intelligence/skill_distiller.d.ts.map +1 -0
- package/dist/core/intelligence/skill_distiller.js +246 -0
- package/dist/core/intelligence/skill_distiller.js.map +1 -0
- package/dist/core/intelligence/swarm.d.ts +330 -0
- package/dist/core/intelligence/swarm.d.ts.map +1 -0
- package/dist/core/intelligence/swarm.js +1064 -0
- package/dist/core/intelligence/swarm.js.map +1 -0
- package/dist/core/intelligence/trajectory.d.ts +107 -0
- package/dist/core/intelligence/trajectory.d.ts.map +1 -0
- package/dist/core/intelligence/trajectory.js +330 -0
- package/dist/core/intelligence/trajectory.js.map +1 -0
- package/dist/core/logger.d.ts +111 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +640 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/loop.d.ts +123 -0
- package/dist/core/loop.d.ts.map +1 -0
- package/dist/core/loop.js +423 -0
- package/dist/core/loop.js.map +1 -0
- package/dist/core/memory.d.ts +81 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +328 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/metrics.d.ts +29 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +109 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/models.d.ts +51 -0
- package/dist/core/models.d.ts.map +1 -0
- package/dist/core/models.js +146 -0
- package/dist/core/models.js.map +1 -0
- package/dist/core/optimizer.d.ts +34 -0
- package/dist/core/optimizer.d.ts.map +1 -0
- package/dist/core/optimizer.js +131 -0
- package/dist/core/optimizer.js.map +1 -0
- package/dist/core/persona.d.ts +35 -0
- package/dist/core/persona.d.ts.map +1 -0
- package/dist/core/persona.js +126 -0
- package/dist/core/persona.js.map +1 -0
- package/dist/core/rate_limit.d.ts +23 -0
- package/dist/core/rate_limit.d.ts.map +1 -0
- package/dist/core/rate_limit.js +62 -0
- package/dist/core/rate_limit.js.map +1 -0
- package/dist/core/runner.d.ts +63 -0
- package/dist/core/runner.d.ts.map +1 -0
- package/dist/core/runner.js +671 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/core/stream_parser.d.ts +43 -0
- package/dist/core/stream_parser.d.ts.map +1 -0
- package/dist/core/stream_parser.js +140 -0
- package/dist/core/stream_parser.js.map +1 -0
- package/dist/core/tool_schemas.d.ts +26 -0
- package/dist/core/tool_schemas.d.ts.map +1 -0
- package/dist/core/tool_schemas.js +124 -0
- package/dist/core/tool_schemas.js.map +1 -0
- package/dist/core/which.d.ts +2 -0
- package/dist/core/which.d.ts.map +1 -0
- package/dist/core/which.js +35 -0
- package/dist/core/which.js.map +1 -0
- package/dist/goals/index.d.ts +9 -0
- package/dist/goals/index.d.ts.map +1 -0
- package/dist/goals/index.js +17 -0
- package/dist/goals/index.js.map +1 -0
- package/dist/goals/service.d.ts +115 -0
- package/dist/goals/service.d.ts.map +1 -0
- package/dist/goals/service.js +415 -0
- package/dist/goals/service.js.map +1 -0
- package/dist/goals/types.d.ts +47 -0
- package/dist/goals/types.d.ts.map +1 -0
- package/dist/goals/types.js +66 -0
- package/dist/goals/types.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/autonomous_startup.d.ts +51 -0
- package/dist/integrations/autonomous_startup.d.ts.map +1 -0
- package/dist/integrations/autonomous_startup.js +419 -0
- package/dist/integrations/autonomous_startup.js.map +1 -0
- package/dist/integrations/goose.d.ts +105 -0
- package/dist/integrations/goose.d.ts.map +1 -0
- package/dist/integrations/goose.js +408 -0
- package/dist/integrations/goose.js.map +1 -0
- package/dist/integrations/index.d.ts +21 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +17 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/mcp.d.ts +73 -0
- package/dist/integrations/mcp.d.ts.map +1 -0
- package/dist/integrations/mcp.js +307 -0
- package/dist/integrations/mcp.js.map +1 -0
- package/dist/integrations/mempalace.d.ts +18 -0
- package/dist/integrations/mempalace.d.ts.map +1 -0
- package/dist/integrations/mempalace.js +25 -0
- package/dist/integrations/mempalace.js.map +1 -0
- package/dist/integrations/multi_agent.d.ts +82 -0
- package/dist/integrations/multi_agent.d.ts.map +1 -0
- package/dist/integrations/multi_agent.js +280 -0
- package/dist/integrations/multi_agent.js.map +1 -0
- package/dist/integrations/unified_memory.d.ts +415 -0
- package/dist/integrations/unified_memory.d.ts.map +1 -0
- package/dist/integrations/unified_memory.js +1489 -0
- package/dist/integrations/unified_memory.js.map +1 -0
- package/dist/roles/beru.yaml +48 -0
- package/dist/sidecar/client.d.ts +63 -0
- package/dist/sidecar/client.d.ts.map +1 -0
- package/dist/sidecar/client.js +222 -0
- package/dist/sidecar/client.js.map +1 -0
- package/dist/sidecar/index.d.ts +7 -0
- package/dist/sidecar/index.d.ts.map +1 -0
- package/dist/sidecar/index.js +6 -0
- package/dist/sidecar/index.js.map +1 -0
- package/dist/startup.d.ts +22 -0
- package/dist/startup.d.ts.map +1 -0
- package/dist/startup.js +194 -0
- package/dist/startup.js.map +1 -0
- package/dist/tools/_internal.d.ts +90 -0
- package/dist/tools/_internal.d.ts.map +1 -0
- package/dist/tools/_internal.js +375 -0
- package/dist/tools/_internal.js.map +1 -0
- package/dist/tools/_smoke.d.ts +2 -0
- package/dist/tools/_smoke.d.ts.map +1 -0
- package/dist/tools/_smoke.js +203 -0
- package/dist/tools/_smoke.js.map +1 -0
- package/dist/tools/axodex_tools.d.ts +51 -0
- package/dist/tools/axodex_tools.d.ts.map +1 -0
- package/dist/tools/axodex_tools.js +181 -0
- package/dist/tools/axodex_tools.js.map +1 -0
- package/dist/tools/code_tools.d.ts +33 -0
- package/dist/tools/code_tools.d.ts.map +1 -0
- package/dist/tools/code_tools.js +191 -0
- package/dist/tools/code_tools.js.map +1 -0
- package/dist/tools/computer_tools.d.ts +59 -0
- package/dist/tools/computer_tools.d.ts.map +1 -0
- package/dist/tools/computer_tools.js +348 -0
- package/dist/tools/computer_tools.js.map +1 -0
- package/dist/tools/file_tools.d.ts +51 -0
- package/dist/tools/file_tools.d.ts.map +1 -0
- package/dist/tools/file_tools.js +424 -0
- package/dist/tools/file_tools.js.map +1 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/shell_tools.d.ts +39 -0
- package/dist/tools/shell_tools.d.ts.map +1 -0
- package/dist/tools/shell_tools.js +163 -0
- package/dist/tools/shell_tools.js.map +1 -0
- package/dist/tools/web_tools.d.ts +31 -0
- package/dist/tools/web_tools.d.ts.map +1 -0
- package/dist/tools/web_tools.js +117 -0
- package/dist/tools/web_tools.js.map +1 -0
- package/dist/voice/index.d.ts +41 -0
- package/dist/voice/index.d.ts.map +1 -0
- package/dist/voice/index.js +58 -0
- package/dist/voice/index.js.map +1 -0
- package/dist/voice/light_daemon.d.ts +197 -0
- package/dist/voice/light_daemon.d.ts.map +1 -0
- package/dist/voice/light_daemon.js +746 -0
- package/dist/voice/light_daemon.js.map +1 -0
- package/dist/voice/setup.d.ts +63 -0
- package/dist/voice/setup.d.ts.map +1 -0
- package/dist/voice/setup.js +443 -0
- package/dist/voice/setup.js.map +1 -0
- package/dist/voice/stt.d.ts +148 -0
- package/dist/voice/stt.d.ts.map +1 -0
- package/dist/voice/stt.js +361 -0
- package/dist/voice/stt.js.map +1 -0
- package/dist/voice/tts.d.ts +168 -0
- package/dist/voice/tts.d.ts.map +1 -0
- package/dist/voice/tts.js +698 -0
- package/dist/voice/tts.js.map +1 -0
- package/dist/voice/voice_loop.d.ts +101 -0
- package/dist/voice/voice_loop.d.ts.map +1 -0
- package/dist/voice/voice_loop.js +463 -0
- package/dist/voice/voice_loop.js.map +1 -0
- package/dist/voice/wake_word.d.ts +153 -0
- package/dist/voice/wake_word.d.ts.map +1 -0
- package/dist/voice/wake_word.js +458 -0
- package/dist/voice/wake_word.js.map +1 -0
- package/dist/voice/wav.d.ts +99 -0
- package/dist/voice/wav.d.ts.map +1 -0
- package/dist/voice/wav.js +306 -0
- package/dist/voice/wav.js.map +1 -0
- package/dist/web/broker.d.ts +33 -0
- package/dist/web/broker.d.ts.map +1 -0
- package/dist/web/broker.js +58 -0
- package/dist/web/broker.js.map +1 -0
- package/dist/web/open_browser.d.ts +2 -0
- package/dist/web/open_browser.d.ts.map +1 -0
- package/dist/web/open_browser.js +42 -0
- package/dist/web/open_browser.js.map +1 -0
- package/dist/web/server.d.ts +54 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +831 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/static/app.js +4121 -0
- package/dist/web/static/index.html +2281 -0
- package/dist/web/static/js/MODULE_SUMMARY.md +124 -0
- package/dist/web/static/js/a11y.js +165 -0
- package/dist/web/static/js/admin.js +2145 -0
- package/dist/web/static/js/assistant.js +475 -0
- package/dist/web/static/js/calendar/reminders.js +114 -0
- package/dist/web/static/js/calendar/utils.js +166 -0
- package/dist/web/static/js/calendar.js +3348 -0
- package/dist/web/static/js/censor.js +356 -0
- package/dist/web/static/js/chat.js +4546 -0
- package/dist/web/static/js/chatRenderer.js +2294 -0
- package/dist/web/static/js/chatStream.js +276 -0
- package/dist/web/static/js/codeRunner.js +398 -0
- package/dist/web/static/js/color/hex.js +14 -0
- package/dist/web/static/js/colorPicker.js +453 -0
- package/dist/web/static/js/compare/icons.js +77 -0
- package/dist/web/static/js/compare/index.js +1482 -0
- package/dist/web/static/js/compare/models.js +104 -0
- package/dist/web/static/js/compare/panes.js +817 -0
- package/dist/web/static/js/compare/probe.js +78 -0
- package/dist/web/static/js/compare/scoreboard.js +223 -0
- package/dist/web/static/js/compare/selector.js +1335 -0
- package/dist/web/static/js/compare/state.js +58 -0
- package/dist/web/static/js/compare/stream.js +695 -0
- package/dist/web/static/js/compare/vote.js +254 -0
- package/dist/web/static/js/cookbook-diagnosis.js +694 -0
- package/dist/web/static/js/cookbook-hwfit.js +1888 -0
- package/dist/web/static/js/cookbook.js +2093 -0
- package/dist/web/static/js/cookbookDownload.js +633 -0
- package/dist/web/static/js/cookbookProgressSignal.js +29 -0
- package/dist/web/static/js/cookbookRunning.js +3506 -0
- package/dist/web/static/js/cookbookServe.js +2128 -0
- package/dist/web/static/js/document.js +9731 -0
- package/dist/web/static/js/documentLibrary.js +3376 -0
- package/dist/web/static/js/dragSort.js +265 -0
- package/dist/web/static/js/editor/ai-inpaint.js +374 -0
- package/dist/web/static/js/editor/ai-models.js +273 -0
- package/dist/web/static/js/editor/ai-rembg.js +230 -0
- package/dist/web/static/js/editor/ai-tool-runner.js +147 -0
- package/dist/web/static/js/editor/ai-tools-misc.js +216 -0
- package/dist/web/static/js/editor/build/controls.js +366 -0
- package/dist/web/static/js/editor/build/popups.js +112 -0
- package/dist/web/static/js/editor/build/right-panel.js +200 -0
- package/dist/web/static/js/editor/build/toolbar.js +73 -0
- package/dist/web/static/js/editor/build/topbar.js +131 -0
- package/dist/web/static/js/editor/build/transform-popup.js +109 -0
- package/dist/web/static/js/editor/canvas-coords.js +21 -0
- package/dist/web/static/js/editor/canvas-events.js +197 -0
- package/dist/web/static/js/editor/canvas-transforms.js +132 -0
- package/dist/web/static/js/editor/checkerboard.js +24 -0
- package/dist/web/static/js/editor/clipboard-and-drop.js +133 -0
- package/dist/web/static/js/editor/composite-helpers.js +83 -0
- package/dist/web/static/js/editor/filters/blur.js +118 -0
- package/dist/web/static/js/editor/filters/edge-feather.js +70 -0
- package/dist/web/static/js/editor/fx/adj-popup.js +677 -0
- package/dist/web/static/js/editor/fx/filter-string.js +38 -0
- package/dist/web/static/js/editor/fx/histogram.js +67 -0
- package/dist/web/static/js/editor/fx/pixel-pass.js +249 -0
- package/dist/web/static/js/editor/harmonize-masks.js +116 -0
- package/dist/web/static/js/editor/history-panel.js +176 -0
- package/dist/web/static/js/editor/keyboard-shortcuts.js +271 -0
- package/dist/web/static/js/editor/layer-helpers.js +131 -0
- package/dist/web/static/js/editor/layer-panel.js +600 -0
- package/dist/web/static/js/editor/mask-utils.js +91 -0
- package/dist/web/static/js/editor/shortcuts-popover.js +149 -0
- package/dist/web/static/js/editor/slider-ux.js +191 -0
- package/dist/web/static/js/editor/snap.js +107 -0
- package/dist/web/static/js/editor/state.js +257 -0
- package/dist/web/static/js/editor/stroke-pipeline.js +162 -0
- package/dist/web/static/js/editor/stroke-tool-sliders.js +64 -0
- package/dist/web/static/js/editor/tools/clone.js +81 -0
- package/dist/web/static/js/editor/tools/crop.js +137 -0
- package/dist/web/static/js/editor/tools/flood-fill.js +72 -0
- package/dist/web/static/js/editor/tools/lasso-mask.js +171 -0
- package/dist/web/static/js/editor/tools/lasso.js +65 -0
- package/dist/web/static/js/editor/tools/move.js +79 -0
- package/dist/web/static/js/editor/tools/stroke.js +123 -0
- package/dist/web/static/js/editor/tools/transform-drag.js +174 -0
- package/dist/web/static/js/editor/tools/transform-handles.js +271 -0
- package/dist/web/static/js/editor/tools/transform-session.js +381 -0
- package/dist/web/static/js/editor/tools/wand.js +46 -0
- package/dist/web/static/js/editor/wire-import.js +148 -0
- package/dist/web/static/js/editor/wire-inpaint-controls.js +164 -0
- package/dist/web/static/js/editor/wire-merge-buttons.js +103 -0
- package/dist/web/static/js/editor/wire-selection-controls.js +170 -0
- package/dist/web/static/js/editor/wire-topbar-menus.js +174 -0
- package/dist/web/static/js/editor/wire-topbar-overflow.js +49 -0
- package/dist/web/static/js/editor/wire-topbar.js +188 -0
- package/dist/web/static/js/emailInbox.js +1245 -0
- package/dist/web/static/js/emailLibrary/replyRecipients.js +27 -0
- package/dist/web/static/js/emailLibrary/signatureFold.js +339 -0
- package/dist/web/static/js/emailLibrary/state.js +34 -0
- package/dist/web/static/js/emailLibrary/utils.js +202 -0
- package/dist/web/static/js/emailLibrary.js +5217 -0
- package/dist/web/static/js/emojiPicker.js +311 -0
- package/dist/web/static/js/escMenuStack.js +102 -0
- package/dist/web/static/js/fileHandler.js +295 -0
- package/dist/web/static/js/gallery.js +2835 -0
- package/dist/web/static/js/galleryEditor.js +3798 -0
- package/dist/web/static/js/group.js +955 -0
- package/dist/web/static/js/init.js +405 -0
- package/dist/web/static/js/keyboard-shortcuts.js +292 -0
- package/dist/web/static/js/langIcons.js +187 -0
- package/dist/web/static/js/markdown/tableRow.js +19 -0
- package/dist/web/static/js/markdown.js +806 -0
- package/dist/web/static/js/memory.js +1418 -0
- package/dist/web/static/js/modalManager.js +1552 -0
- package/dist/web/static/js/modalSnap.js +782 -0
- package/dist/web/static/js/model/matchKey.js +19 -0
- package/dist/web/static/js/modelPicker.js +695 -0
- package/dist/web/static/js/modelSort.js +33 -0
- package/dist/web/static/js/models.js +642 -0
- package/dist/web/static/js/notes.js +5054 -0
- package/dist/web/static/js/package.json +1 -0
- package/dist/web/static/js/platform.js +47 -0
- package/dist/web/static/js/presets.js +1110 -0
- package/dist/web/static/js/providers.js +93 -0
- package/dist/web/static/js/rag.js +177 -0
- package/dist/web/static/js/research/jobs.js +335 -0
- package/dist/web/static/js/research/panel.js +1233 -0
- package/dist/web/static/js/researchSynapse.js +225 -0
- package/dist/web/static/js/search-chat.js +201 -0
- package/dist/web/static/js/search.js +52 -0
- package/dist/web/static/js/section-management.js +260 -0
- package/dist/web/static/js/sessions.js +3108 -0
- package/dist/web/static/js/settings.js +4991 -0
- package/dist/web/static/js/sidebar-layout.js +573 -0
- package/dist/web/static/js/signature.js +504 -0
- package/dist/web/static/js/skills.js +1908 -0
- package/dist/web/static/js/slashAutocomplete.js +267 -0
- package/dist/web/static/js/slashCommands.js +6099 -0
- package/dist/web/static/js/spinner.js +406 -0
- package/dist/web/static/js/storage.js +123 -0
- package/dist/web/static/js/tasks.js +2699 -0
- package/dist/web/static/js/theme.js +2086 -0
- package/dist/web/static/js/tileManager.js +386 -0
- package/dist/web/static/js/tourAutoplay.js +133 -0
- package/dist/web/static/js/tourHints.js +179 -0
- package/dist/web/static/js/tts-ai.js +521 -0
- package/dist/web/static/js/ui.js +1288 -0
- package/dist/web/static/js/util/ordinal.js +13 -0
- package/dist/web/static/js/voiceRecorder.js +283 -0
- package/dist/web/static/js/windowDrag.js +326 -0
- package/dist/web/static/js/windowResize.js +233 -0
- package/dist/web/static/landing.html +824 -0
- package/dist/web/static/lib/docx.umd.min.js +20116 -0
- package/dist/web/static/lib/highlight.min.js +1213 -0
- package/dist/web/static/lib/html2pdf.bundle.min.js +3 -0
- package/dist/web/static/lib/mammoth.browser.min.js +21 -0
- package/dist/web/static/lib/qrcode.min.js +8 -0
- package/dist/web/static/lib/xlsx.full.min.js +24 -0
- package/dist/web/static/login.html +582 -0
- package/dist/web/static/manifest.json +15 -0
- package/dist/web/static/style.css +35733 -0
- package/dist/web/static/sw.js +144 -0
- package/dist/workflows/engine.d.ts +162 -0
- package/dist/workflows/engine.d.ts.map +1 -0
- package/dist/workflows/engine.js +625 -0
- package/dist/workflows/engine.js.map +1 -0
- package/dist/workflows/index.d.ts +8 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +14 -0
- package/dist/workflows/index.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AXONIZ ShadowGuard — The Reflex Engine.
|
|
3
|
+
* High-speed, low-memory intent detection and autonomous response.
|
|
4
|
+
* Acts like a 'Shadow Guard' that protects and serves instantly.
|
|
5
|
+
*
|
|
6
|
+
* Port notes (Python → Node):
|
|
7
|
+
* - `threading.Thread(target=self.brain.load, daemon=True)` → `void
|
|
8
|
+
* this.brain.load()` (Node is single-threaded; the load is I/O-ish).
|
|
9
|
+
* - `transformers.pipeline("text-generation", ...)` → NOT AVAILABLE. See
|
|
10
|
+
* `ReflexBrain.load()` for the documented degradation: the heuristic reflex
|
|
11
|
+
* table is the working path, exactly as in Python when the pipeline failed
|
|
12
|
+
* to load.
|
|
13
|
+
* - `pyautogui` / `ctypes.windll` / `webbrowser` → `node:child_process` +
|
|
14
|
+
* the `open` package (best effort, always unref'd and swallowed on error).
|
|
15
|
+
* - `axoniz.core.optimizer.get_hardware_profile()` → `systeminformation`,
|
|
16
|
+
* fetched once in the background and cached, so `process()` can stay
|
|
17
|
+
* SYNCHRONOUS like the Python original.
|
|
18
|
+
* - `process()` keeps its synchronous signature: every reflex action returns
|
|
19
|
+
* a string immediately.
|
|
20
|
+
*/
|
|
21
|
+
/** The `transformers` text-generation pipeline signature `classify()` calls. */
|
|
22
|
+
export type ReflexPipeline = (prompt: string, options: Record<string, unknown>) => unknown;
|
|
23
|
+
/** A tiny brain for semantic intent classification. */
|
|
24
|
+
export declare class ReflexBrain {
|
|
25
|
+
model_path: string;
|
|
26
|
+
_pipeline: ReflexPipeline | null;
|
|
27
|
+
_intent_map: Record<string, string[]>;
|
|
28
|
+
constructor(model_path: string);
|
|
29
|
+
/**
|
|
30
|
+
* FIDELITY LOSS: Python built a HuggingFace `transformers` text-generation
|
|
31
|
+
* pipeline here. No inference dependency for a transformers model directory is
|
|
32
|
+
* available in the Node dependency set, so this is a documented no-op that
|
|
33
|
+
* keeps the public API and the *behaviour* Python exhibited when loading
|
|
34
|
+
* failed: `_pipeline` stays null and `classify()` returns null, leaving the
|
|
35
|
+
* heuristic reflex table as the sole working path. An external caller may
|
|
36
|
+
* still inject a `_pipeline` to re-enable semantic classification.
|
|
37
|
+
*/
|
|
38
|
+
load(): Promise<void>;
|
|
39
|
+
classify(text: string): string | null;
|
|
40
|
+
/** Async door for callers that can await a future inference backend. */
|
|
41
|
+
classify_async(text: string): Promise<string | null>;
|
|
42
|
+
/** camelCase alias. */
|
|
43
|
+
classifyAsync(text: string): Promise<string | null>;
|
|
44
|
+
}
|
|
45
|
+
export interface ReflexComputerTools {
|
|
46
|
+
screen_capture?(filename: string): unknown;
|
|
47
|
+
key_press?(keys: string): unknown;
|
|
48
|
+
}
|
|
49
|
+
/** The subset of the Agent surface the reflex layer touches. */
|
|
50
|
+
export interface ReflexAgent {
|
|
51
|
+
health?: unknown;
|
|
52
|
+
computer_tools?: ReflexComputerTools;
|
|
53
|
+
computerTools?: ReflexComputerTools;
|
|
54
|
+
}
|
|
55
|
+
interface HardwareProfile {
|
|
56
|
+
cpu_count: number;
|
|
57
|
+
total_ram_gb: number;
|
|
58
|
+
has_gpu: boolean;
|
|
59
|
+
}
|
|
60
|
+
type ReflexAction = (match: RegExpExecArray | null) => string;
|
|
61
|
+
export declare class ShadowGuardReflex {
|
|
62
|
+
agent: ReflexAgent | null;
|
|
63
|
+
brain: ReflexBrain | null;
|
|
64
|
+
reflexes: Array<[RegExp, ReflexAction]>;
|
|
65
|
+
_hw: HardwareProfile | null;
|
|
66
|
+
constructor(agent?: ReflexAgent | null);
|
|
67
|
+
/** Process text and return a response if a reflex was triggered. */
|
|
68
|
+
process(text: string): string | null;
|
|
69
|
+
_open_browser(match: RegExpExecArray | null): string;
|
|
70
|
+
_open_editor(match: RegExpExecArray | null): string;
|
|
71
|
+
_screenshot(match: RegExpExecArray | null): string;
|
|
72
|
+
/** Python's `datetime.now().strftime('%I:%M %p')`. */
|
|
73
|
+
_get_time(match: RegExpExecArray | null): string;
|
|
74
|
+
/** Python's `datetime.now().strftime('%A, %B %d, %Y')`. */
|
|
75
|
+
_get_date(match: RegExpExecArray | null): string;
|
|
76
|
+
_minimize_all(match: RegExpExecArray | null): string;
|
|
77
|
+
_lock_pc(match: RegExpExecArray | null): string;
|
|
78
|
+
_web_search(match: RegExpExecArray | null): string;
|
|
79
|
+
_check_hardware(match: RegExpExecArray | null): string;
|
|
80
|
+
/** Background replacement for `optimizer.get_hardware_profile()`. */
|
|
81
|
+
_refresh_hardware(): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=reflex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflex.d.ts","sourceRoot":"","sources":["../../../src/core/intelligence/reflex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAYH,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;AAE3F,uDAAuD;AACvD,qBAAa,WAAW;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAQ;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMnC;IAEF,YAAY,UAAU,EAAE,MAAM,EAE7B;IAED;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBpC;IAED,wEAAwE;IAClE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEzD;IAED,uBAAuB;IACvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAElD;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,MAAM,CAAC;AAE9D,qBAAa,iBAAiB;IAC5B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAQ;IACjC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACxC,GAAG,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEnC,YAAY,KAAK,GAAE,WAAW,GAAG,IAAW,EAgD3C;IAED,oEAAoE;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBnC;IAID,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAkBnD;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CASlD;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAUjD;IAED,sDAAsD;IACtD,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAS/C;IAED,2DAA2D;IAC3D,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAM/C;IAED,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CA2BnD;IAED,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAe9C;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAQjD;IAED,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAYrD;IAED,qEAAqE;IAC/D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYvC;CACF"}
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AXONIZ ShadowGuard — The Reflex Engine.
|
|
3
|
+
* High-speed, low-memory intent detection and autonomous response.
|
|
4
|
+
* Acts like a 'Shadow Guard' that protects and serves instantly.
|
|
5
|
+
*
|
|
6
|
+
* Port notes (Python → Node):
|
|
7
|
+
* - `threading.Thread(target=self.brain.load, daemon=True)` → `void
|
|
8
|
+
* this.brain.load()` (Node is single-threaded; the load is I/O-ish).
|
|
9
|
+
* - `transformers.pipeline("text-generation", ...)` → NOT AVAILABLE. See
|
|
10
|
+
* `ReflexBrain.load()` for the documented degradation: the heuristic reflex
|
|
11
|
+
* table is the working path, exactly as in Python when the pipeline failed
|
|
12
|
+
* to load.
|
|
13
|
+
* - `pyautogui` / `ctypes.windll` / `webbrowser` → `node:child_process` +
|
|
14
|
+
* the `open` package (best effort, always unref'd and swallowed on error).
|
|
15
|
+
* - `axoniz.core.optimizer.get_hardware_profile()` → `systeminformation`,
|
|
16
|
+
* fetched once in the background and cached, so `process()` can stay
|
|
17
|
+
* SYNCHRONOUS like the Python original.
|
|
18
|
+
* - `process()` keeps its synchronous signature: every reflex action returns
|
|
19
|
+
* a string immediately.
|
|
20
|
+
*/
|
|
21
|
+
import { spawn } from "node:child_process";
|
|
22
|
+
import fs from "node:fs";
|
|
23
|
+
import { debug, info, warn } from "../debug.js";
|
|
24
|
+
/** A tiny brain for semantic intent classification. */
|
|
25
|
+
export class ReflexBrain {
|
|
26
|
+
model_path;
|
|
27
|
+
_pipeline = null;
|
|
28
|
+
_intent_map = {
|
|
29
|
+
browser: ["open browser", "start chrome", "google search"],
|
|
30
|
+
editor: ["open vscode", "start coding", "edit files"],
|
|
31
|
+
screenshot: ["take screenshot", "capture screen"],
|
|
32
|
+
system: ["lock pc", "check ram", "hardware status"],
|
|
33
|
+
time: ["what time", "today's date"],
|
|
34
|
+
};
|
|
35
|
+
constructor(model_path) {
|
|
36
|
+
this.model_path = model_path;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* FIDELITY LOSS: Python built a HuggingFace `transformers` text-generation
|
|
40
|
+
* pipeline here. No inference dependency for a transformers model directory is
|
|
41
|
+
* available in the Node dependency set, so this is a documented no-op that
|
|
42
|
+
* keeps the public API and the *behaviour* Python exhibited when loading
|
|
43
|
+
* failed: `_pipeline` stays null and `classify()` returns null, leaving the
|
|
44
|
+
* heuristic reflex table as the sole working path. An external caller may
|
|
45
|
+
* still inject a `_pipeline` to re-enable semantic classification.
|
|
46
|
+
*/
|
|
47
|
+
async load() {
|
|
48
|
+
if (this._pipeline)
|
|
49
|
+
return;
|
|
50
|
+
if (!fs.existsSync(this.model_path)) {
|
|
51
|
+
warn(`[ShadowGuard] Reflex Brain path not found: ${this.model_path}`);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
info(`[ShadowGuard] Loading Reflex Brain: ${this.model_path}`);
|
|
55
|
+
this._pipeline = null;
|
|
56
|
+
}
|
|
57
|
+
classify(text) {
|
|
58
|
+
if (!this._pipeline)
|
|
59
|
+
return null;
|
|
60
|
+
// Simple semantic mapping
|
|
61
|
+
const prompt = `User: ${text}\nIntent:`;
|
|
62
|
+
try {
|
|
63
|
+
const out = this._pipeline(prompt, { max_new_tokens: 5, do_sample: false });
|
|
64
|
+
const first = (Array.isArray(out) ? out[0] : out);
|
|
65
|
+
const generated = String(first?.["generated_text"] ?? "");
|
|
66
|
+
const gen = generated.slice(prompt.length).toLowerCase().trim();
|
|
67
|
+
for (const [intent, keywords] of Object.entries(this._intent_map)) {
|
|
68
|
+
if (keywords.some((k) => gen.includes(k)) || gen.includes(intent)) {
|
|
69
|
+
return intent;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
/* classification is best effort */
|
|
75
|
+
}
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
/** Async door for callers that can await a future inference backend. */
|
|
79
|
+
async classify_async(text) {
|
|
80
|
+
return this.classify(text);
|
|
81
|
+
}
|
|
82
|
+
/** camelCase alias. */
|
|
83
|
+
classifyAsync(text) {
|
|
84
|
+
return this.classify_async(text);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export class ShadowGuardReflex {
|
|
88
|
+
agent;
|
|
89
|
+
brain = null;
|
|
90
|
+
reflexes;
|
|
91
|
+
_hw = null;
|
|
92
|
+
constructor(agent = null) {
|
|
93
|
+
this.agent = agent;
|
|
94
|
+
// Load from optional environment variable, no hardcoded path
|
|
95
|
+
const reflex_model = process.env.AXONIZ_REFLEX_MODEL;
|
|
96
|
+
if (reflex_model && fs.existsSync(reflex_model)) {
|
|
97
|
+
this.brain = new ReflexBrain(reflex_model);
|
|
98
|
+
// Python: threading.Thread(target=self.brain.load, daemon=True).start()
|
|
99
|
+
void this.brain.load();
|
|
100
|
+
}
|
|
101
|
+
// Heuristic fallback patterns
|
|
102
|
+
this.reflexes = [
|
|
103
|
+
[
|
|
104
|
+
/\b(open|start|launch)\b.*?\b(chrome|browser|google)\b/,
|
|
105
|
+
_named((m) => this._open_browser(m), "_open_browser"),
|
|
106
|
+
],
|
|
107
|
+
[
|
|
108
|
+
/\b(open|start|launch)\b.*?\b(vscode|code|editor)\b/,
|
|
109
|
+
_named((m) => this._open_editor(m), "_open_editor"),
|
|
110
|
+
],
|
|
111
|
+
[
|
|
112
|
+
/\b(take|grab|make)\b.*?\b(screenshot|picture|screen)\b/,
|
|
113
|
+
_named((m) => this._screenshot(m), "_screenshot"),
|
|
114
|
+
],
|
|
115
|
+
[/\b(what|tell me)\b.*?\b(time|clock)\b/, _named((m) => this._get_time(m), "_get_time")],
|
|
116
|
+
[/\b(what|tell me)\b.*?\b(date|today)\b/, _named((m) => this._get_date(m), "_get_date")],
|
|
117
|
+
[
|
|
118
|
+
/\b(minimize|hide)\b.*?\b(all|windows)\b/,
|
|
119
|
+
_named((m) => this._minimize_all(m), "_minimize_all"),
|
|
120
|
+
],
|
|
121
|
+
[/\b(lock)\b.*?\b(computer|pc|screen)\b/, _named((m) => this._lock_pc(m), "_lock_pc")],
|
|
122
|
+
[
|
|
123
|
+
/\b(search|find)\b.*?\b(for|on web)\b\s+(.*)/,
|
|
124
|
+
_named((m) => this._web_search(m), "_web_search"),
|
|
125
|
+
],
|
|
126
|
+
[
|
|
127
|
+
/\b(how much|check)\b.*?\b(ram|memory|cpu|hardware)\b/,
|
|
128
|
+
_named((m) => this._check_hardware(m), "_check_hardware"),
|
|
129
|
+
],
|
|
130
|
+
];
|
|
131
|
+
// Python read the hardware profile synchronously from the optimizer; the
|
|
132
|
+
// Node equivalent (`systeminformation`) is async, so it is cached in the
|
|
133
|
+
// background while `process()`/`_check_hardware()` stay synchronous.
|
|
134
|
+
if (this.agent) {
|
|
135
|
+
void this._refresh_hardware();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** Process text and return a response if a reflex was triggered. */
|
|
139
|
+
process(text) {
|
|
140
|
+
const low = text.toLowerCase().trim();
|
|
141
|
+
// 1. AI-Powered semantic check (Reflex Brain)
|
|
142
|
+
if (this.brain) {
|
|
143
|
+
const intent = this.brain.classify(low);
|
|
144
|
+
if (intent) {
|
|
145
|
+
info(`[ShadowGuard] AI Intent detected: ${intent}`);
|
|
146
|
+
if (intent === "browser")
|
|
147
|
+
return this._open_browser(null);
|
|
148
|
+
if (intent === "editor")
|
|
149
|
+
return this._open_editor(null);
|
|
150
|
+
if (intent === "screenshot")
|
|
151
|
+
return this._screenshot(null);
|
|
152
|
+
if (intent === "system")
|
|
153
|
+
return this._check_hardware(null);
|
|
154
|
+
if (intent === "time")
|
|
155
|
+
return this._get_time(null);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// 2. Heuristic fallback patterns
|
|
159
|
+
for (const [pattern, action] of this.reflexes) {
|
|
160
|
+
const match = pattern.exec(low);
|
|
161
|
+
if (match) {
|
|
162
|
+
info(`[ShadowGuard] Reflex triggered: ${action.name}`);
|
|
163
|
+
return action(match);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
/* ── Reflex Actions ──────────────────────────────────────────────────────── */
|
|
169
|
+
_open_browser(match) {
|
|
170
|
+
void match;
|
|
171
|
+
try {
|
|
172
|
+
if (process.platform === "win32") {
|
|
173
|
+
const child = spawn("cmd", ["/c", "start", "chrome"], {
|
|
174
|
+
shell: true,
|
|
175
|
+
detached: true,
|
|
176
|
+
stdio: "ignore",
|
|
177
|
+
});
|
|
178
|
+
child.unref();
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
const child = spawn("open", ["-a", "Google Chrome"], { detached: true, stdio: "ignore" });
|
|
182
|
+
child.unref();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (e) {
|
|
186
|
+
debug(`[ShadowGuard] open browser failed: ${errText(e)}`);
|
|
187
|
+
}
|
|
188
|
+
return "Opening Chrome, my liege.";
|
|
189
|
+
}
|
|
190
|
+
_open_editor(match) {
|
|
191
|
+
void match;
|
|
192
|
+
try {
|
|
193
|
+
const child = spawn("code", ["."], { shell: true, detached: true, stdio: "ignore" });
|
|
194
|
+
child.unref();
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
debug(`[ShadowGuard] open editor failed: ${errText(e)}`);
|
|
198
|
+
}
|
|
199
|
+
return "VS Code is launching in the current workspace.";
|
|
200
|
+
}
|
|
201
|
+
_screenshot(match) {
|
|
202
|
+
void match;
|
|
203
|
+
const ct = this.agent?.computer_tools ?? this.agent?.computerTools;
|
|
204
|
+
if (this.agent && ct && typeof ct.screen_capture === "function") {
|
|
205
|
+
const res = String(ct.screen_capture("reflex_capture.png") ?? "");
|
|
206
|
+
if (res.includes("[OK]")) {
|
|
207
|
+
return "Screenshot captured and saved to workspace.";
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return "I've captured the screen for you.";
|
|
211
|
+
}
|
|
212
|
+
/** Python's `datetime.now().strftime('%I:%M %p')`. */
|
|
213
|
+
_get_time(match) {
|
|
214
|
+
void match;
|
|
215
|
+
const d = new Date();
|
|
216
|
+
let h = d.getHours() % 12;
|
|
217
|
+
if (h === 0)
|
|
218
|
+
h = 12;
|
|
219
|
+
const hh = String(h).padStart(2, "0");
|
|
220
|
+
const mm = String(d.getMinutes()).padStart(2, "0");
|
|
221
|
+
const ap = d.getHours() < 12 ? "AM" : "PM";
|
|
222
|
+
return `It is currently ${hh}:${mm} ${ap}.`;
|
|
223
|
+
}
|
|
224
|
+
/** Python's `datetime.now().strftime('%A, %B %d, %Y')`. */
|
|
225
|
+
_get_date(match) {
|
|
226
|
+
void match;
|
|
227
|
+
const d = new Date();
|
|
228
|
+
const weekday = _WEEKDAYS[d.getDay()] ?? "";
|
|
229
|
+
const month = _MONTHS[d.getMonth()] ?? "";
|
|
230
|
+
return `Today is ${weekday}, ${month} ${String(d.getDate()).padStart(2, "0")}, ${d.getFullYear()}.`;
|
|
231
|
+
}
|
|
232
|
+
_minimize_all(match) {
|
|
233
|
+
void match;
|
|
234
|
+
if (process.platform === "win32") {
|
|
235
|
+
// Minimize the active window via the shell COM object (ctypes.windll is
|
|
236
|
+
// not available in Node).
|
|
237
|
+
try {
|
|
238
|
+
const child = spawn("powershell", ["-NoProfile", "-Command", "(New-Object -ComObject Shell.Application).MinimizeAll()"], { detached: true, stdio: "ignore" });
|
|
239
|
+
child.unref();
|
|
240
|
+
}
|
|
241
|
+
catch (e) {
|
|
242
|
+
debug(`[ShadowGuard] minimize failed: ${errText(e)}`);
|
|
243
|
+
}
|
|
244
|
+
// For all windows, win+d is better but requires the computer tools
|
|
245
|
+
const ct = this.agent?.computer_tools ?? this.agent?.computerTools;
|
|
246
|
+
if (this.agent && ct && typeof ct.key_press === "function") {
|
|
247
|
+
try {
|
|
248
|
+
ct.key_press("winleft+d");
|
|
249
|
+
}
|
|
250
|
+
catch (e) {
|
|
251
|
+
debug(`[ShadowGuard] key_press failed: ${errText(e)}`);
|
|
252
|
+
}
|
|
253
|
+
return "All windows minimized.";
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return "Minimizing workspace.";
|
|
257
|
+
}
|
|
258
|
+
_lock_pc(match) {
|
|
259
|
+
void match;
|
|
260
|
+
if (process.platform === "win32") {
|
|
261
|
+
try {
|
|
262
|
+
const child = spawn("rundll32.exe", ["user32.dll,LockWorkStation"], {
|
|
263
|
+
detached: true,
|
|
264
|
+
stdio: "ignore",
|
|
265
|
+
});
|
|
266
|
+
child.unref();
|
|
267
|
+
}
|
|
268
|
+
catch (e) {
|
|
269
|
+
debug(`[ShadowGuard] lock failed: ${errText(e)}`);
|
|
270
|
+
}
|
|
271
|
+
return "System locked.";
|
|
272
|
+
}
|
|
273
|
+
return "I cannot lock this OS yet.";
|
|
274
|
+
}
|
|
275
|
+
_web_search(match) {
|
|
276
|
+
// Python: `match.group(3) if match.lastindex >= 3 else "nothing"`
|
|
277
|
+
const query = match && match[3] !== undefined ? match[3] : "nothing";
|
|
278
|
+
const url = `https://www.google.com/search?q=${query}`;
|
|
279
|
+
void import("open")
|
|
280
|
+
.then((m) => m.default(url))
|
|
281
|
+
.catch(() => undefined);
|
|
282
|
+
return `Searching the web for ${query}.`;
|
|
283
|
+
}
|
|
284
|
+
_check_hardware(match) {
|
|
285
|
+
void match;
|
|
286
|
+
if (this.agent && this.agent.health !== undefined) {
|
|
287
|
+
if (this._hw) {
|
|
288
|
+
const hw = this._hw;
|
|
289
|
+
return `You have ${hw.cpu_count} CPU cores and ${hw.total_ram_gb}GB of RAM. ${hw.has_gpu ? "GPU detected." : "No GPU found."}`;
|
|
290
|
+
}
|
|
291
|
+
return "Hardware check failed, but the system is running stable.";
|
|
292
|
+
}
|
|
293
|
+
return "System resources are within optimal bounds.";
|
|
294
|
+
}
|
|
295
|
+
/** Background replacement for `optimizer.get_hardware_profile()`. */
|
|
296
|
+
async _refresh_hardware() {
|
|
297
|
+
try {
|
|
298
|
+
const si = await import("systeminformation");
|
|
299
|
+
const [cpu, mem, gfx] = await Promise.all([si.cpu(), si.mem(), si.graphics()]);
|
|
300
|
+
this._hw = {
|
|
301
|
+
cpu_count: Number(cpu.processors ?? cpu.cores ?? 0),
|
|
302
|
+
total_ram_gb: Math.round(Number(mem.total ?? 0) / 1024 ** 3),
|
|
303
|
+
has_gpu: Array.isArray(gfx.controllers) && gfx.controllers.length > 0,
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
catch (e) {
|
|
307
|
+
debug(`[ShadowGuard] Hardware probe failed: ${errText(e)}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/* ── helpers ──────────────────────────────────────────────────────────────── */
|
|
312
|
+
const _WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
313
|
+
const _MONTHS = [
|
|
314
|
+
"January",
|
|
315
|
+
"February",
|
|
316
|
+
"March",
|
|
317
|
+
"April",
|
|
318
|
+
"May",
|
|
319
|
+
"June",
|
|
320
|
+
"July",
|
|
321
|
+
"August",
|
|
322
|
+
"September",
|
|
323
|
+
"October",
|
|
324
|
+
"November",
|
|
325
|
+
"December",
|
|
326
|
+
];
|
|
327
|
+
/** Give a wrapper the Python action's `__name__` so logs stay identical. */
|
|
328
|
+
function _named(fn, name) {
|
|
329
|
+
try {
|
|
330
|
+
Object.defineProperty(fn, "name", { value: name, configurable: true });
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
/* frozen function objects are fine — the log just loses the name */
|
|
334
|
+
}
|
|
335
|
+
return fn;
|
|
336
|
+
}
|
|
337
|
+
function errText(e) {
|
|
338
|
+
if (e instanceof Error)
|
|
339
|
+
return e.message || e.name;
|
|
340
|
+
if (typeof e === "string")
|
|
341
|
+
return e;
|
|
342
|
+
return String(e);
|
|
343
|
+
}
|
|
344
|
+
//# sourceMappingURL=reflex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflex.js","sourceRoot":"","sources":["../../../src/core/intelligence/reflex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* axoniz.core.intelligence.self_correction
|
|
3
|
+
* ==========================================
|
|
4
|
+
* Live Self-Correction Engine — Phase 1 of the AXONIZ dominance plan.
|
|
5
|
+
*
|
|
6
|
+
* After each tool result, the agent analyzes whether:
|
|
7
|
+
* 1. The result indicates an error
|
|
8
|
+
* 2. The action actually achieved its goal
|
|
9
|
+
* 3. The result is suspicious or unexpected
|
|
10
|
+
*
|
|
11
|
+
* If something went wrong, it:
|
|
12
|
+
* - Detects the error type
|
|
13
|
+
* - Generates a corrective action
|
|
14
|
+
* - Signals the agent to replan instead of blindly continuing
|
|
15
|
+
*
|
|
16
|
+
* Port notes (Python → Node):
|
|
17
|
+
* - `enum.Enum` → TypeScript string enums with identical `.value`s, so
|
|
18
|
+
* `ErrorType.LOOP_DETECTED === "loop_detected"` just like Python's
|
|
19
|
+
* `class ErrorType(str, Enum)` mixin.
|
|
20
|
+
* - Python's `Tuple[ErrorType, str]` returns are arrays that additionally
|
|
21
|
+
* expose `error_type` / `explanation` properties, so both tuple unpacking
|
|
22
|
+
* (`const [t, e] = classify_error(...)`) and attribute access work.
|
|
23
|
+
*/
|
|
24
|
+
export declare enum APIFailoverReason {
|
|
25
|
+
AUTH = "auth",
|
|
26
|
+
BILLING = "billing",
|
|
27
|
+
RATE_LIMIT = "rate_limit",
|
|
28
|
+
OVERLOADED = "overloaded",
|
|
29
|
+
SERVER_ERROR = "server_error",
|
|
30
|
+
TIMEOUT = "timeout",
|
|
31
|
+
CONTEXT_OVERFLOW = "context_overflow",
|
|
32
|
+
MODEL_NOT_FOUND = "model_not_found",
|
|
33
|
+
FORMAT_ERROR = "format_error",
|
|
34
|
+
UNKNOWN = "unknown"
|
|
35
|
+
}
|
|
36
|
+
/** Classify an API error to determine recovery strategy. */
|
|
37
|
+
export declare function classify_api_error(error: unknown): APIFailoverReason;
|
|
38
|
+
export declare const classifyApiError: typeof classify_api_error;
|
|
39
|
+
export declare enum ErrorType {
|
|
40
|
+
NONE = "none",
|
|
41
|
+
FILE_NOT_FOUND = "file_not_found",
|
|
42
|
+
PERMISSION = "permission_denied",
|
|
43
|
+
SYNTAX = "syntax_error",
|
|
44
|
+
IMPORT = "import_error",
|
|
45
|
+
RUNTIME = "runtime_error",
|
|
46
|
+
NETWORK = "network_error",
|
|
47
|
+
TOOL_UNKNOWN = "tool_unknown",
|
|
48
|
+
LOOP_DETECTED = "loop_detected",
|
|
49
|
+
TIMEOUT = "timeout",
|
|
50
|
+
EMPTY_RESULT = "empty_result",
|
|
51
|
+
UNEXPECTED = "unexpected"
|
|
52
|
+
}
|
|
53
|
+
/** `(ErrorType, explanation)` — an array that also carries both fields by name. */
|
|
54
|
+
export type ErrorClassification = [ErrorType, string] & {
|
|
55
|
+
error_type: ErrorType;
|
|
56
|
+
explanation: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Classify what kind of error (if any) is in a tool result.
|
|
60
|
+
* Returns (ErrorType, explanation).
|
|
61
|
+
*/
|
|
62
|
+
export declare function classify_error(result: string): ErrorClassification;
|
|
63
|
+
export declare const classifyError: typeof classify_error;
|
|
64
|
+
export interface ErrorHistoryEntry {
|
|
65
|
+
step: number;
|
|
66
|
+
tool: string;
|
|
67
|
+
error_type: ErrorType;
|
|
68
|
+
explanation: string;
|
|
69
|
+
}
|
|
70
|
+
/** Shape of what `SelfCorrector.analyze()` returns (Python dict keys preserved). */
|
|
71
|
+
export interface CorrectionAnalysis {
|
|
72
|
+
error_type: ErrorType;
|
|
73
|
+
has_error: boolean;
|
|
74
|
+
explanation: string;
|
|
75
|
+
corrections: string[];
|
|
76
|
+
should_replan: boolean;
|
|
77
|
+
severity: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Analyzes tool results in real-time and generates corrective guidance
|
|
81
|
+
* when something goes wrong.
|
|
82
|
+
*
|
|
83
|
+
* The agent calls analyze() after every tool execution. If an error is
|
|
84
|
+
* detected, it receives a correction dict telling it what to do next.
|
|
85
|
+
*/
|
|
86
|
+
export declare class SelfCorrector {
|
|
87
|
+
_corrections_made: number;
|
|
88
|
+
_max: number;
|
|
89
|
+
_error_history: ErrorHistoryEntry[];
|
|
90
|
+
constructor(max_corrections_per_session?: number);
|
|
91
|
+
get correctionsMade(): number;
|
|
92
|
+
get errorHistory(): ErrorHistoryEntry[];
|
|
93
|
+
/**
|
|
94
|
+
* Analyze a tool result.
|
|
95
|
+
* Returns:
|
|
96
|
+
* {
|
|
97
|
+
* "error_type": ErrorType,
|
|
98
|
+
* "has_error": bool,
|
|
99
|
+
* "explanation": str,
|
|
100
|
+
* "corrections": list[str], # what to do next
|
|
101
|
+
* "should_replan": bool, # should the agent change strategy?
|
|
102
|
+
* "severity": str, # "low" / "medium" / "high" / "critical"
|
|
103
|
+
* }
|
|
104
|
+
*/
|
|
105
|
+
analyze(tool_name: string, args: Record<string, unknown>, result: string, step_num?: number): CorrectionAnalysis;
|
|
106
|
+
/** camelCase alias. */
|
|
107
|
+
analyzeResult(tool_name: string, args: Record<string, unknown>, result: string, step_num?: number): CorrectionAnalysis;
|
|
108
|
+
/**
|
|
109
|
+
* Build a message the agent injects into the conversation
|
|
110
|
+
* to guide its next action.
|
|
111
|
+
*/
|
|
112
|
+
build_correction_message(analysis: CorrectionAnalysis, tool_name: string): string;
|
|
113
|
+
/** camelCase alias. */
|
|
114
|
+
buildCorrectionMessage(analysis: CorrectionAnalysis, tool_name: string): string;
|
|
115
|
+
/** Summary of all errors corrected in this session. */
|
|
116
|
+
session_summary(): string;
|
|
117
|
+
/** camelCase alias. */
|
|
118
|
+
sessionSummary(): string;
|
|
119
|
+
reset(): void;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=self_correction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self_correction.d.ts","sourceRoot":"","sources":["../../../src/core/intelligence/self_correction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,OAAO,YAAY;CACpB;AAQD,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAuBpE;AAED,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAInD,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,UAAU,sBAAsB;IAChC,MAAM,iBAAiB;IACvB,MAAM,iBAAiB;IACvB,OAAO,kBAAkB;IACzB,OAAO,kBAAkB;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;CAC1B;AA0CD,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IACtD,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAwBlE;AAOD,eAAO,MAAM,aAAa,uBAAiB,CAAC;AAwD5C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,iBAAiB,SAAK;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,iBAAiB,EAAE,CAAM;IAEzC,YAAY,2BAA2B,SAAK,EAE3C;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAEtC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,SAAI,GACX,kBAAkB,CA+CpB;IAED,uBAAuB;IACvB,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,SAAI,GACX,kBAAkB,CAEpB;IAED;;;OAGG;IACH,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBhF;IAED,uBAAuB;IACvB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;IAED,uDAAuD;IACvD,eAAe,IAAI,MAAM,CASxB;IAED,uBAAuB;IACvB,cAAc,IAAI,MAAM,CAEvB;IAED,KAAK,IAAI,IAAI,CAGZ;CACF"}
|