@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,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* axoniz.core.intelligence.context_compressor
|
|
3
|
+
* ============================================
|
|
4
|
+
* Automatic context window compression for BERU.
|
|
5
|
+
* Ported from Hermes with refinements for the AXONIZ architecture.
|
|
6
|
+
*
|
|
7
|
+
* Summarizes earlier turns while protecting head (system prompt) and tail (recent turns).
|
|
8
|
+
* This ensures BERU can handle long-running missions without losing its mind.
|
|
9
|
+
*
|
|
10
|
+
* Port note (Python → Node): `compress()` and `_generate_summary()` are `async`.
|
|
11
|
+
* The Python versions blocked the calling thread on `agent.generate_summary()`;
|
|
12
|
+
* in the Node port that call is asynchronous, so the results arrive as a
|
|
13
|
+
* Promise. `should_compress`, `_prune_tools`, `_serialize_turns` and
|
|
14
|
+
* `_sanitize` remain synchronous.
|
|
15
|
+
*/
|
|
16
|
+
import { error, info } from "../debug.js";
|
|
17
|
+
// Constants from Hermes
|
|
18
|
+
export const SUMMARY_PREFIX = "[CONTEXT COMPACTION — REFERENCE ONLY] Earlier turns were compacted " +
|
|
19
|
+
"into the summary below. This is a handoff from a previous context " +
|
|
20
|
+
"window — treat it as background reference, NOT as active instructions. " +
|
|
21
|
+
"Do NOT answer questions or fulfill requests mentioned in this summary; " +
|
|
22
|
+
"they were already addressed. Respond ONLY to the latest user message " +
|
|
23
|
+
"that appears AFTER this summary. The current session state (files, " +
|
|
24
|
+
"config, etc.) may reflect work described here — avoid repeating it:";
|
|
25
|
+
const _MIN_SUMMARY_TOKENS = 2000;
|
|
26
|
+
const _SUMMARY_RATIO = 0.2;
|
|
27
|
+
const _SUMMARY_TOKENS_CEILING = 12_000;
|
|
28
|
+
const _PRUNED_TOOL_PLACEHOLDER = "[Old tool output cleared to save context space]";
|
|
29
|
+
const _CHARS_PER_TOKEN = 4;
|
|
30
|
+
function errText(e) {
|
|
31
|
+
if (e instanceof Error)
|
|
32
|
+
return e.message || e.name;
|
|
33
|
+
if (typeof e === "string")
|
|
34
|
+
return e;
|
|
35
|
+
return String(e);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Compresses conversation context via lossy summarization.
|
|
39
|
+
* Keeps BERU's memory efficient.
|
|
40
|
+
*/
|
|
41
|
+
export class ContextCompressor {
|
|
42
|
+
model;
|
|
43
|
+
threshold_percent;
|
|
44
|
+
protect_first_n;
|
|
45
|
+
protect_last_n;
|
|
46
|
+
context_length;
|
|
47
|
+
threshold_tokens;
|
|
48
|
+
compression_count = 0;
|
|
49
|
+
_previous_summary = null;
|
|
50
|
+
constructor(a, threshold_percent = 0.6, protect_first_n = 3, protect_last_n = 15, context_length = 128000) {
|
|
51
|
+
if (typeof a === "string") {
|
|
52
|
+
this.model = a;
|
|
53
|
+
this.threshold_percent = threshold_percent;
|
|
54
|
+
this.protect_first_n = protect_first_n;
|
|
55
|
+
this.protect_last_n = protect_last_n;
|
|
56
|
+
this.context_length = context_length;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.model = a.model;
|
|
60
|
+
this.threshold_percent = a.threshold_percent ?? 0.6;
|
|
61
|
+
this.protect_first_n = a.protect_first_n ?? 3;
|
|
62
|
+
this.protect_last_n = a.protect_last_n ?? 15;
|
|
63
|
+
this.context_length = a.context_length ?? 128000;
|
|
64
|
+
}
|
|
65
|
+
this.threshold_tokens = Math.trunc(this.context_length * this.threshold_percent);
|
|
66
|
+
}
|
|
67
|
+
get thresholdPercent() {
|
|
68
|
+
return this.threshold_percent;
|
|
69
|
+
}
|
|
70
|
+
get protectFirstN() {
|
|
71
|
+
return this.protect_first_n;
|
|
72
|
+
}
|
|
73
|
+
get protectLastN() {
|
|
74
|
+
return this.protect_last_n;
|
|
75
|
+
}
|
|
76
|
+
get contextLength() {
|
|
77
|
+
return this.context_length;
|
|
78
|
+
}
|
|
79
|
+
get thresholdTokens() {
|
|
80
|
+
return this.threshold_tokens;
|
|
81
|
+
}
|
|
82
|
+
get compressionCount() {
|
|
83
|
+
return this.compression_count;
|
|
84
|
+
}
|
|
85
|
+
should_compress(current_tokens) {
|
|
86
|
+
return current_tokens >= this.threshold_tokens;
|
|
87
|
+
}
|
|
88
|
+
/** camelCase alias. */
|
|
89
|
+
shouldCompress(current_tokens) {
|
|
90
|
+
return this.should_compress(current_tokens);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Main compression loop.
|
|
94
|
+
* agent: The Agent instance (to call LLM for summarization)
|
|
95
|
+
*/
|
|
96
|
+
async compress(messages, agent = null) {
|
|
97
|
+
const n_messages = messages.length;
|
|
98
|
+
if (n_messages <= this.protect_first_n + this.protect_last_n + 2) {
|
|
99
|
+
return messages;
|
|
100
|
+
}
|
|
101
|
+
info(`[COMPRESSOR] Triggering context compaction (count: ${this.compression_count + 1})`);
|
|
102
|
+
// 1. Prune old tool results
|
|
103
|
+
messages = this._prune_tools(messages);
|
|
104
|
+
// 2. Determine middle region
|
|
105
|
+
let start = this.protect_first_n;
|
|
106
|
+
// Align forward past tool results
|
|
107
|
+
while (start < messages.length && messages[start]?.role === "tool") {
|
|
108
|
+
start += 1;
|
|
109
|
+
}
|
|
110
|
+
let end = messages.length - this.protect_last_n;
|
|
111
|
+
// Align backward to avoid splitting tool groups
|
|
112
|
+
while (end > start && messages[end]?.role === "tool") {
|
|
113
|
+
end -= 1;
|
|
114
|
+
}
|
|
115
|
+
// If we landed on an assistant message with tool calls, include it in summary
|
|
116
|
+
// (Python kept it as the end of the summary region — a deliberate no-op.)
|
|
117
|
+
if (start >= end) {
|
|
118
|
+
return messages;
|
|
119
|
+
}
|
|
120
|
+
const turns_to_summarize = messages.slice(start, end);
|
|
121
|
+
// 3. Generate summary
|
|
122
|
+
const summary = await this._generate_summary(turns_to_summarize, agent);
|
|
123
|
+
// 4. Reconstruct messages
|
|
124
|
+
const compressed = messages.slice(0, start);
|
|
125
|
+
// Add summary message (standardize on user for summary to avoid confusion)
|
|
126
|
+
compressed.push({
|
|
127
|
+
role: "user",
|
|
128
|
+
content: `${SUMMARY_PREFIX}\n\n${summary}`,
|
|
129
|
+
});
|
|
130
|
+
// Add tail
|
|
131
|
+
compressed.push(...messages.slice(end));
|
|
132
|
+
this.compression_count += 1;
|
|
133
|
+
this._previous_summary = summary;
|
|
134
|
+
return this._sanitize(compressed);
|
|
135
|
+
}
|
|
136
|
+
/** camelCase alias (same Promise-returning method). */
|
|
137
|
+
compressContext(messages, agent = null) {
|
|
138
|
+
return this.compress(messages, agent);
|
|
139
|
+
}
|
|
140
|
+
_prune_tools(messages) {
|
|
141
|
+
const result = [];
|
|
142
|
+
// Keep tail tools intact
|
|
143
|
+
const tail_start = messages.length - this.protect_last_n;
|
|
144
|
+
for (let i = 0; i < messages.length; i++) {
|
|
145
|
+
let msg = messages[i];
|
|
146
|
+
if (i < tail_start && msg.role === "tool") {
|
|
147
|
+
const content = String(msg.content ?? "");
|
|
148
|
+
if (content.length > 500) {
|
|
149
|
+
msg = { ...msg, content: _PRUNED_TOOL_PLACEHOLDER };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
result.push(msg);
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
async _generate_summary(turns, agent) {
|
|
157
|
+
if (!agent) {
|
|
158
|
+
return "[Summary unavailable: no agent provided]";
|
|
159
|
+
}
|
|
160
|
+
const content = this._serialize_turns(turns);
|
|
161
|
+
let prompt = `You are BERU's memory management engine. \n` +
|
|
162
|
+
`Summarize the following conversation turns into a structured status report.\n` +
|
|
163
|
+
`This will be used as background context for BERU to continue the mission.\n` +
|
|
164
|
+
`\n` +
|
|
165
|
+
`CONVERSATION TURNS:\n` +
|
|
166
|
+
`${content}\n` +
|
|
167
|
+
`\n` +
|
|
168
|
+
`STRUCTURE:\n` +
|
|
169
|
+
`## Mission Goal\n` +
|
|
170
|
+
`[Current primary objective]\n` +
|
|
171
|
+
`\n` +
|
|
172
|
+
`## Progress & Done\n` +
|
|
173
|
+
`[What was achieved, which files were modified, which tools were run]\n` +
|
|
174
|
+
`\n` +
|
|
175
|
+
`## Key Facts & Decisions\n` +
|
|
176
|
+
`[Technical decisions, discovered paths, configuration values]\n` +
|
|
177
|
+
`\n` +
|
|
178
|
+
`## Remaining Work\n` +
|
|
179
|
+
`[What is left to do]\n` +
|
|
180
|
+
`\n` +
|
|
181
|
+
`Be concise but technical. Include file paths and error messages if relevant.\n` +
|
|
182
|
+
`Do NOT include preamble or greeting. Respond ONLY with the summary.\n`;
|
|
183
|
+
if (this._previous_summary) {
|
|
184
|
+
prompt = `Update the following summary with the new progress below:\n\nOLD SUMMARY:\n${this._previous_summary}\n\nNEW TURNS:\n${content}\n\n${prompt}`;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
// Call the agent's internal LLM client via its summariser entry point.
|
|
188
|
+
const fn = agent.generate_summary ?? agent.generateSummary;
|
|
189
|
+
if (!fn)
|
|
190
|
+
throw new Error("agent exposes no generate_summary");
|
|
191
|
+
const summary = await fn.call(agent, prompt);
|
|
192
|
+
return String(summary ?? "").trim();
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
error(`[COMPRESSOR] Summary generation failed: ${errText(e)}`);
|
|
196
|
+
return `[Context Lost: Summary generation failed. ${turns.length} turns removed.]`;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
_serialize_turns(turns) {
|
|
200
|
+
const parts = [];
|
|
201
|
+
for (const m of turns) {
|
|
202
|
+
const role = String(m.role ?? "").toUpperCase();
|
|
203
|
+
let content = String(m.content ?? "");
|
|
204
|
+
if (content.length > 2000) {
|
|
205
|
+
content = content.slice(0, 1000) + "... [truncated] ..." + content.slice(-500);
|
|
206
|
+
}
|
|
207
|
+
parts.push(`[${role}]: ${content}`);
|
|
208
|
+
}
|
|
209
|
+
return parts.join("\n\n");
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Ensure no orphaned tool calls/results.
|
|
213
|
+
* Only drop tool results when the backend actually uses tool_call_id
|
|
214
|
+
* (i.e. there are assistant messages with tool_calls). For llama.cpp
|
|
215
|
+
* backends that use plain text tool calling, pass all tool messages through.
|
|
216
|
+
*/
|
|
217
|
+
_sanitize(messages) {
|
|
218
|
+
// Check whether any assistant message in the list uses structured tool_calls
|
|
219
|
+
const uses_tool_call_ids = messages.some((m) => m.role === "assistant" && Boolean(m.tool_calls));
|
|
220
|
+
if (!uses_tool_call_ids) {
|
|
221
|
+
// Plain-text tool calling (llama.cpp fallback) — nothing to sanitize
|
|
222
|
+
return messages;
|
|
223
|
+
}
|
|
224
|
+
// Structured tool calling: drop tool results with no matching call ID
|
|
225
|
+
const call_ids = new Set();
|
|
226
|
+
for (const m of messages) {
|
|
227
|
+
if (m.role === "assistant" && m.tool_calls) {
|
|
228
|
+
for (const tc of m.tool_calls) {
|
|
229
|
+
call_ids.add(String(tc["id"]));
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const final = [];
|
|
234
|
+
for (const m of messages) {
|
|
235
|
+
if (m.role === "tool") {
|
|
236
|
+
if (!call_ids.has(String(m.tool_call_id))) {
|
|
237
|
+
continue; // Drop orphaned tool result
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
final.push(m);
|
|
241
|
+
}
|
|
242
|
+
return final;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=context_compressor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_compressor.js","sourceRoot":"","sources":["../../../src/core/intelligence/context_compressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* axoniz.core.intelligence.daemon
|
|
3
|
+
* =================================
|
|
4
|
+
* Phase 4 — axoniz OS Layer (Background Daemon)
|
|
5
|
+
*
|
|
6
|
+
* This is what no one has attempted in local AI.
|
|
7
|
+
* axoniz runs as a background daemon on your machine:
|
|
8
|
+
*
|
|
9
|
+
* File saved → lint and test automatically
|
|
10
|
+
* Git commit → write the changelog entry
|
|
11
|
+
* Build failed → fix it and retry while you sleep
|
|
12
|
+
* Cron schedule → daily code quality audit
|
|
13
|
+
* File watcher → catch errors before you even ask
|
|
14
|
+
*
|
|
15
|
+
* It stops being a tool you open and becomes infrastructure you run.
|
|
16
|
+
*
|
|
17
|
+
* Architecture:
|
|
18
|
+
* FileWatcher — watches workspace for changes
|
|
19
|
+
* EventQueue — deque of file events
|
|
20
|
+
* DaemonLoop — runs scheduled tasks + reacts to events
|
|
21
|
+
* TaskScheduler — interval-style task scheduling
|
|
22
|
+
*
|
|
23
|
+
* Port notes (Python → Node):
|
|
24
|
+
* - `threading.Thread(daemon=True)` loops → `setInterval` timers that are
|
|
25
|
+
* `unref()`d, so (exactly like a Python daemon thread) they never keep the
|
|
26
|
+
* process alive, and `stop()` clears them.
|
|
27
|
+
* - `queue.Queue(maxsize=500)` → `EventQueue`, a bounded wrapper around the
|
|
28
|
+
* existing `core/backend/async_queue.ts` `AsyncQueue` (reused for the async
|
|
29
|
+
* iteration side) plus a synchronous FIFO so the daemon's poll loop keeps
|
|
30
|
+
* Python's `get_nowait()` / `empty()` semantics. A full queue drops instead
|
|
31
|
+
* of blocking: blocking is impossible on the main thread, and the Python
|
|
32
|
+
* producer ran on its own thread.
|
|
33
|
+
* - `compile(source, path, "exec")` (the Python linter) → heuristic bracket /
|
|
34
|
+
* string-balance checking; Node ships no Python parser. `.js`/`.mjs`/`.cjs`
|
|
35
|
+
* files get a REAL syntax check through `node:vm`. Consequences are
|
|
36
|
+
* documented on `_pySyntaxIssue`.
|
|
37
|
+
* - `_task_vision_sentinel` used pyautogui + pytesseract (OCR). Neither has a
|
|
38
|
+
* Node equivalent in the available dependency set, so the sentinel keeps its
|
|
39
|
+
* schedule and its `AXONIZ_DISABLE_VISION` guard but cannot extract text;
|
|
40
|
+
* it warns once and performs no capture. Documented fidelity loss.
|
|
41
|
+
* - `threading.Lock` around `_pending_lint` is unnecessary on one thread and
|
|
42
|
+
* is omitted.
|
|
43
|
+
*/
|
|
44
|
+
/** Render an unknown thrown value the way Python's `str(e)` would. */
|
|
45
|
+
export declare function errText(e: unknown): string;
|
|
46
|
+
export interface FileEventInit {
|
|
47
|
+
path: string;
|
|
48
|
+
/** created / modified / deleted */
|
|
49
|
+
event: string;
|
|
50
|
+
timestamp?: number;
|
|
51
|
+
size?: number;
|
|
52
|
+
}
|
|
53
|
+
export declare class FileEvent {
|
|
54
|
+
path: string;
|
|
55
|
+
event: string;
|
|
56
|
+
timestamp: number;
|
|
57
|
+
size: number;
|
|
58
|
+
constructor(init: FileEventInit | string, event?: string, timestamp?: number, size?: number);
|
|
59
|
+
}
|
|
60
|
+
export interface ScheduledTaskInit {
|
|
61
|
+
name: string;
|
|
62
|
+
interval_sec: number;
|
|
63
|
+
callback: () => unknown;
|
|
64
|
+
last_run?: number;
|
|
65
|
+
enabled?: boolean;
|
|
66
|
+
description?: string;
|
|
67
|
+
}
|
|
68
|
+
export declare class ScheduledTask {
|
|
69
|
+
name: string;
|
|
70
|
+
interval_sec: number;
|
|
71
|
+
callback: () => unknown;
|
|
72
|
+
last_run: number;
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
description: string;
|
|
75
|
+
constructor(init: ScheduledTaskInit | string, interval_sec?: number, callback?: () => unknown, last_run?: number, enabled?: boolean, description?: string);
|
|
76
|
+
get intervalSec(): number;
|
|
77
|
+
get lastRun(): number;
|
|
78
|
+
}
|
|
79
|
+
export interface DaemonEventInit {
|
|
80
|
+
kind: string;
|
|
81
|
+
payload: Record<string, unknown>;
|
|
82
|
+
ts?: number;
|
|
83
|
+
}
|
|
84
|
+
export declare class DaemonEvent {
|
|
85
|
+
kind: string;
|
|
86
|
+
payload: Record<string, unknown>;
|
|
87
|
+
ts: number;
|
|
88
|
+
constructor(init: DaemonEventInit | string, payload?: Record<string, unknown>, ts?: number);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Bounded FIFO bridging the file watcher to the daemon loop.
|
|
92
|
+
*
|
|
93
|
+
* `AsyncQueue` (core/backend) supplies the async-iteration side; the extra
|
|
94
|
+
* synchronous buffer exists because Python's `queue.Queue` offered
|
|
95
|
+
* `get_nowait()`/`empty()` and the daemon's tick loop drains up to 20 events
|
|
96
|
+
* without awaiting.
|
|
97
|
+
*/
|
|
98
|
+
export declare class EventQueue<T> implements AsyncIterable<T> {
|
|
99
|
+
readonly maxsize: number;
|
|
100
|
+
private readonly _async;
|
|
101
|
+
private readonly _buffer;
|
|
102
|
+
constructor(maxsize?: number);
|
|
103
|
+
put(item: T): void;
|
|
104
|
+
put_nowait(item: T): void;
|
|
105
|
+
get_nowait(): T | undefined;
|
|
106
|
+
empty(): boolean;
|
|
107
|
+
get qsize(): number;
|
|
108
|
+
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
109
|
+
}
|
|
110
|
+
export interface SyntaxIssue {
|
|
111
|
+
error: string;
|
|
112
|
+
line: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Heuristic stand-in for Python's `compile(source, path, "exec")`.
|
|
116
|
+
*
|
|
117
|
+
* It catches unbalanced brackets, unterminated strings and (approximated)
|
|
118
|
+
* triple-quoted strings — the failures that dominate "file saved, does it still
|
|
119
|
+
* parse?" checks. It CANNOT detect real grammar errors (`def f(:` passes) and it
|
|
120
|
+
* can be fooled by exotic literal shapes. `.js`/`.mjs`/`.cjs` files use the real
|
|
121
|
+
* `node:vm` parser instead (`_jsSyntaxIssue`).
|
|
122
|
+
*/
|
|
123
|
+
export declare function _pySyntaxIssue(source: string): SyntaxIssue | null;
|
|
124
|
+
/** Real syntax check for JavaScript, via the V8 parser. */
|
|
125
|
+
export declare function _jsSyntaxIssue(source: string, filename?: string): SyntaxIssue | null;
|
|
126
|
+
/**
|
|
127
|
+
* Watches a workspace directory for file changes using mtime polling.
|
|
128
|
+
* No external deps (no watchdog needed).
|
|
129
|
+
* Debounces rapid changes (e.g. editor writing temp files).
|
|
130
|
+
*/
|
|
131
|
+
export declare class FileWatcher {
|
|
132
|
+
static readonly POLL_INTERVAL = 1.5;
|
|
133
|
+
static readonly DEBOUNCE_SEC = 2;
|
|
134
|
+
static readonly MAX_FILES = 2000;
|
|
135
|
+
static readonly SKIP_DIRS: Set<string>;
|
|
136
|
+
static readonly WATCH_EXTS: Set<string>;
|
|
137
|
+
workspace: string;
|
|
138
|
+
queue: EventQueue<FileEvent>;
|
|
139
|
+
_mtimes: Map<string, number>;
|
|
140
|
+
_pending: Map<string, number>;
|
|
141
|
+
_running: boolean;
|
|
142
|
+
private _timer;
|
|
143
|
+
constructor(workspace: string, queue: EventQueue<FileEvent>);
|
|
144
|
+
start(): void;
|
|
145
|
+
stop(): void;
|
|
146
|
+
private _loop;
|
|
147
|
+
_scan(emit: boolean): void;
|
|
148
|
+
_flush_debounced(): void;
|
|
149
|
+
}
|
|
150
|
+
export interface DaemonAgent {
|
|
151
|
+
git_tools?: {
|
|
152
|
+
status?(): unknown;
|
|
153
|
+
};
|
|
154
|
+
gitTools?: {
|
|
155
|
+
status?(): unknown;
|
|
156
|
+
};
|
|
157
|
+
axodex?: {
|
|
158
|
+
analyze?(): unknown;
|
|
159
|
+
status?(): unknown;
|
|
160
|
+
};
|
|
161
|
+
memory?: {
|
|
162
|
+
palace?: {
|
|
163
|
+
is_available?(): boolean;
|
|
164
|
+
isAvailable?(): boolean;
|
|
165
|
+
store?(...args: unknown[]): unknown;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/** Keyword-argument constructor form (the Python call sites use keywords). */
|
|
170
|
+
export interface AxonizDaemonInit {
|
|
171
|
+
agent: DaemonAgent;
|
|
172
|
+
workspace: string;
|
|
173
|
+
on_event?: ((event: DaemonEvent) => unknown) | null;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Background daemon that watches files, runs scheduled tasks,
|
|
177
|
+
* and reacts to events — all without user intervention.
|
|
178
|
+
*
|
|
179
|
+
* This is the OS layer. It's always running.
|
|
180
|
+
*/
|
|
181
|
+
export declare class axonizDaemon {
|
|
182
|
+
static readonly DAEMON_STATE_PATH: string;
|
|
183
|
+
agent: DaemonAgent;
|
|
184
|
+
workspace: string;
|
|
185
|
+
on_event: ((event: DaemonEvent) => unknown) | null;
|
|
186
|
+
_queue: EventQueue<FileEvent>;
|
|
187
|
+
_watcher: FileWatcher;
|
|
188
|
+
_running: boolean;
|
|
189
|
+
_event_log: DaemonEvent[];
|
|
190
|
+
_tasks: ScheduledTask[];
|
|
191
|
+
_pending_lint: Set<string>;
|
|
192
|
+
private _timer;
|
|
193
|
+
private _vision_warned;
|
|
194
|
+
constructor(agent: DaemonAgent, workspace: string, on_event?: ((event: DaemonEvent) => unknown) | null);
|
|
195
|
+
constructor(init: AxonizDaemonInit);
|
|
196
|
+
/** Start daemon in background thread. */
|
|
197
|
+
start(): void;
|
|
198
|
+
stop(): void;
|
|
199
|
+
is_running(): boolean;
|
|
200
|
+
/** camelCase alias. */
|
|
201
|
+
isRunning(): boolean;
|
|
202
|
+
/** Add a custom scheduled task. */
|
|
203
|
+
add_task(task: ScheduledTask): void;
|
|
204
|
+
/** camelCase alias. */
|
|
205
|
+
addTask(task: ScheduledTask): void;
|
|
206
|
+
remove_task(name: string): void;
|
|
207
|
+
/** camelCase alias. */
|
|
208
|
+
removeTask(name: string): void;
|
|
209
|
+
get_recent_events(n?: number): DaemonEvent[];
|
|
210
|
+
/** camelCase alias. */
|
|
211
|
+
getRecentEvents(n?: number): DaemonEvent[];
|
|
212
|
+
status(): Record<string, unknown>;
|
|
213
|
+
private _loop;
|
|
214
|
+
_drain_queue(): void;
|
|
215
|
+
/** React to a file change event. */
|
|
216
|
+
_handle_event(event: FileEvent): void;
|
|
217
|
+
private _emit;
|
|
218
|
+
/** Lint all Python files that changed recently. */
|
|
219
|
+
_task_lint_pending(): void;
|
|
220
|
+
/** Check git status and emit events for uncommitted changes. */
|
|
221
|
+
_task_git_status(): Promise<void>;
|
|
222
|
+
/** Daily code quality check — runs lint on all Python files. */
|
|
223
|
+
_task_daily_audit(): Promise<void>;
|
|
224
|
+
/** Background Axodex refresh. */
|
|
225
|
+
_task_axodex_refresh(): Promise<void>;
|
|
226
|
+
/** Proactive codebase health check and fix suggestion. */
|
|
227
|
+
_task_beru_heartbeat(): Promise<void>;
|
|
228
|
+
/**
|
|
229
|
+
* Monitor terminal/screen for errors via OCR.
|
|
230
|
+
*
|
|
231
|
+
* FIDELITY LOSS: Python used `pyautogui.screenshot()` + `pytesseract` to read
|
|
232
|
+
* the screen and look for critical fail markers. No OCR engine is available in
|
|
233
|
+
* the Node dependency set (and `screenshot-desktop` alone cannot read text), so
|
|
234
|
+
* the sentinel keeps its schedule + guard but cannot perform detection. It
|
|
235
|
+
* warns once per process and then stays silent.
|
|
236
|
+
*/
|
|
237
|
+
_task_vision_sentinel(): Promise<void>;
|
|
238
|
+
/** Persist daemon state for restart. */
|
|
239
|
+
save_state(): void;
|
|
240
|
+
/** camelCase alias. */
|
|
241
|
+
saveState(): void;
|
|
242
|
+
/** Restore task last_run times from previous session. */
|
|
243
|
+
load_state(): void;
|
|
244
|
+
/** camelCase alias. */
|
|
245
|
+
loadState(): void;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=daemon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/core/intelligence/daemon.ts"],"names":[],"mappings":"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"}
|