@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,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared response types and the universal backend interface.
|
|
3
|
+
* Port of the response types and `Backend` ABC from axoniz/core/backend.py.
|
|
4
|
+
*/
|
|
5
|
+
import { debug } from "../debug.js";
|
|
6
|
+
export function textResponse(text) {
|
|
7
|
+
return { kind: "text", text };
|
|
8
|
+
}
|
|
9
|
+
export function toolCallResponse(calls) {
|
|
10
|
+
return { kind: "tool_calls", calls };
|
|
11
|
+
}
|
|
12
|
+
export function isToolCallResponse(r) {
|
|
13
|
+
return r.kind === "tool_calls";
|
|
14
|
+
}
|
|
15
|
+
/** Universal interface every backend must implement. */
|
|
16
|
+
export class Backend {
|
|
17
|
+
/** Tool schemas offered to the backend (JSON-schema function definitions). */
|
|
18
|
+
tools = [];
|
|
19
|
+
/** Load/warm the model. Returns 'ok' or an error string. */
|
|
20
|
+
load() {
|
|
21
|
+
return Promise.resolve("ok");
|
|
22
|
+
}
|
|
23
|
+
isLoaded() {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
unload() {
|
|
27
|
+
/* no-op */
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/* ── Shared HTTP helpers (replacing urllib) ───────────────────────────────── */
|
|
31
|
+
export class HttpStatusError extends Error {
|
|
32
|
+
status;
|
|
33
|
+
body;
|
|
34
|
+
constructor(status, body) {
|
|
35
|
+
super(`HTTP ${status}: ${body.slice(0, 400)}`);
|
|
36
|
+
this.status = status;
|
|
37
|
+
this.body = body;
|
|
38
|
+
this.name = "HttpStatusError";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function httpPost(url, payload, headers = {}, timeoutMs = 600_000) {
|
|
42
|
+
const h = { "Content-Type": "application/json", ...headers };
|
|
43
|
+
let res;
|
|
44
|
+
try {
|
|
45
|
+
res = await fetch(url, {
|
|
46
|
+
method: "POST",
|
|
47
|
+
headers: h,
|
|
48
|
+
body: JSON.stringify(payload),
|
|
49
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
throw new ConnectionError(`Cannot connect to ${url}: ${errMsg(e)}`);
|
|
54
|
+
}
|
|
55
|
+
const body = await res.text();
|
|
56
|
+
if (!res.ok)
|
|
57
|
+
throw new HttpStatusError(res.status, body);
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(body);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
throw new Error(`Invalid JSON from ${url}: ${errMsg(e)}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/** Stream an HTTP POST body as decoded text lines (SSE / NDJSON friendly). */
|
|
66
|
+
export async function* httpStreamLines(url, payload, headers = {}, timeoutMs = 300_000, signal) {
|
|
67
|
+
const h = {
|
|
68
|
+
"Content-Type": "application/json",
|
|
69
|
+
Accept: "text/event-stream",
|
|
70
|
+
...headers,
|
|
71
|
+
};
|
|
72
|
+
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
73
|
+
const combined = signal ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal;
|
|
74
|
+
let res;
|
|
75
|
+
try {
|
|
76
|
+
res = await fetch(url, {
|
|
77
|
+
method: "POST",
|
|
78
|
+
headers: h,
|
|
79
|
+
body: JSON.stringify(payload),
|
|
80
|
+
signal: combined,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
throw new ConnectionError(`Stream failed: ${errMsg(e)}`);
|
|
85
|
+
}
|
|
86
|
+
if (!res.ok) {
|
|
87
|
+
const body = await res.text().catch(() => "");
|
|
88
|
+
throw new HttpStatusError(res.status, body);
|
|
89
|
+
}
|
|
90
|
+
if (!res.body)
|
|
91
|
+
throw new ConnectionError("Stream failed: empty response body");
|
|
92
|
+
const decoder = new TextDecoder("utf-8", { fatal: false });
|
|
93
|
+
let buffer = "";
|
|
94
|
+
for await (const chunk of res.body) {
|
|
95
|
+
buffer += decoder.decode(chunk, { stream: true });
|
|
96
|
+
let idx;
|
|
97
|
+
while ((idx = buffer.indexOf("\n")) >= 0) {
|
|
98
|
+
const line = buffer.slice(0, idx).replace(/\r$/, "");
|
|
99
|
+
buffer = buffer.slice(idx + 1);
|
|
100
|
+
if (line.trim())
|
|
101
|
+
yield line;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
buffer += decoder.decode();
|
|
105
|
+
if (buffer.trim())
|
|
106
|
+
yield buffer.trim();
|
|
107
|
+
}
|
|
108
|
+
export class ConnectionError extends Error {
|
|
109
|
+
constructor(message) {
|
|
110
|
+
super(message);
|
|
111
|
+
this.name = "ConnectionError";
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export function errMsg(e) {
|
|
115
|
+
return e instanceof Error ? e.message : String(e);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Parse an OpenAI-style SSE `data:` line into a token delta.
|
|
119
|
+
* Returns null for non-data lines, `[DONE]`, or unparseable chunks.
|
|
120
|
+
*/
|
|
121
|
+
export function parseSseDelta(line) {
|
|
122
|
+
const trimmed = line.trim();
|
|
123
|
+
if (!trimmed.startsWith("data: "))
|
|
124
|
+
return null;
|
|
125
|
+
const payload = trimmed.slice(6).trim();
|
|
126
|
+
if (payload === "[DONE]")
|
|
127
|
+
return null;
|
|
128
|
+
try {
|
|
129
|
+
const chunk = JSON.parse(payload);
|
|
130
|
+
return chunk.choices?.[0]?.delta?.content ?? chunk.choices?.[0]?.message?.content ?? null;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export { debug };
|
|
137
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/backend/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export declare const CHATS_DIR: string;
|
|
2
|
+
export declare const INDEX_PATH: string;
|
|
3
|
+
export interface ChatMessageRecord {
|
|
4
|
+
role: string;
|
|
5
|
+
content: string;
|
|
6
|
+
ts: string;
|
|
7
|
+
tool_calls?: unknown[];
|
|
8
|
+
steps?: number;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface ChatRecord {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
model: string;
|
|
15
|
+
created: string;
|
|
16
|
+
updated: string;
|
|
17
|
+
mode: string;
|
|
18
|
+
messages: ChatMessageRecord[];
|
|
19
|
+
pinned: boolean;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
export interface ChatIndexEntry {
|
|
23
|
+
id: string;
|
|
24
|
+
title: string;
|
|
25
|
+
model: string;
|
|
26
|
+
created: string;
|
|
27
|
+
updated: string;
|
|
28
|
+
mode: string;
|
|
29
|
+
msg_count: number;
|
|
30
|
+
pinned: boolean;
|
|
31
|
+
_match?: string;
|
|
32
|
+
[key: string]: unknown;
|
|
33
|
+
}
|
|
34
|
+
/** Create a new empty chat and persist it. */
|
|
35
|
+
export declare function createChat(title?: string, model?: string, mode?: string): ChatRecord;
|
|
36
|
+
/** Load a chat by id. Returns null if not found. */
|
|
37
|
+
export declare function loadChat(chatId: string): ChatRecord | null;
|
|
38
|
+
/** Write the full chat to disk and update the index. */
|
|
39
|
+
export declare function saveChat(chat: ChatRecord): void;
|
|
40
|
+
/**
|
|
41
|
+
* Append one message to an existing chat and save.
|
|
42
|
+
* Returns the updated chat, or null if not found.
|
|
43
|
+
*/
|
|
44
|
+
export declare function appendMessage(chatId: string, role: string, content: string, toolCalls?: unknown[], steps?: number, model?: string): ChatRecord | null;
|
|
45
|
+
/** Delete the chat file and remove it from the index. */
|
|
46
|
+
export declare function deleteChat(chatId: string): boolean;
|
|
47
|
+
export declare function renameChat(chatId: string, newTitle: string): boolean;
|
|
48
|
+
export declare function pinChat(chatId: string, pinned?: boolean): boolean;
|
|
49
|
+
/** Delete every chat file. Returns the count deleted. */
|
|
50
|
+
export declare function clearAllChats(): number;
|
|
51
|
+
/** Return index entries, newest first with pinned chats first. */
|
|
52
|
+
export declare function listChats(limit?: number, offset?: number): ChatIndexEntry[];
|
|
53
|
+
/**
|
|
54
|
+
* Simple full-text search across chat titles and message content.
|
|
55
|
+
* Searches index titles first (fast), then scans files for the query in messages.
|
|
56
|
+
*/
|
|
57
|
+
export declare function searchChats(query: string, limit?: number): ChatIndexEntry[];
|
|
58
|
+
/** Export a chat as a Markdown string. */
|
|
59
|
+
export declare function exportChatMarkdown(chatId: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Non-blocking background writer.
|
|
62
|
+
* Batches rapid consecutive saves and flushes at most every 0.5 s, giving the
|
|
63
|
+
* feel of instant saving without blocking the main loop.
|
|
64
|
+
*/
|
|
65
|
+
export declare class AsyncChatWriter {
|
|
66
|
+
private pending;
|
|
67
|
+
private timer;
|
|
68
|
+
private stopped;
|
|
69
|
+
queue(chat: ChatRecord): void;
|
|
70
|
+
/** Flush every queued chat immediately. */
|
|
71
|
+
flush(): void;
|
|
72
|
+
stop(): void;
|
|
73
|
+
}
|
|
74
|
+
/** Queue a chat for async background save. Use this from the server. */
|
|
75
|
+
export declare function queueSave(chat: ChatRecord): void;
|
|
76
|
+
export declare function flushChatWrites(): void;
|
|
77
|
+
//# sourceMappingURL=chat_store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat_store.d.ts","sourceRoot":"","sources":["../../src/core/chat_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AXONIZ-ZERO · Chat Store
|
|
3
|
+
* Saves every conversation as a proper JSON file in ~/.axoniz/chats/
|
|
4
|
+
* Format mirrors how ChatGPT stores conversations — each chat is one file:
|
|
5
|
+
*
|
|
6
|
+
* ~/.axoniz/chats/<id>.json
|
|
7
|
+
* { id, title, model, created, updated, mode, messages: [...], pinned }
|
|
8
|
+
*
|
|
9
|
+
* Index file for fast listing:
|
|
10
|
+
* ~/.axoniz/chats/index.json — array of {id, title, model, created, updated, msg_count}
|
|
11
|
+
*
|
|
12
|
+
* Port of axoniz/core/chat_store.py.
|
|
13
|
+
*/
|
|
14
|
+
import crypto from "node:crypto";
|
|
15
|
+
import fs from "node:fs";
|
|
16
|
+
import path from "node:path";
|
|
17
|
+
import { AXONIZ_HOME } from "./config.js";
|
|
18
|
+
export const CHATS_DIR = path.join(AXONIZ_HOME, "chats");
|
|
19
|
+
export const INDEX_PATH = path.join(CHATS_DIR, "index.json");
|
|
20
|
+
fs.mkdirSync(CHATS_DIR, { recursive: true });
|
|
21
|
+
const ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789";
|
|
22
|
+
function rand(n = 6) {
|
|
23
|
+
const bytes = crypto.randomBytes(n);
|
|
24
|
+
let out = "";
|
|
25
|
+
for (let i = 0; i < n; i++)
|
|
26
|
+
out += ALPHABET[bytes[i] % ALPHABET.length];
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
/** Local ISO timestamp truncated to whole seconds (`timespec="seconds"`). */
|
|
30
|
+
function nowIso() {
|
|
31
|
+
const d = new Date();
|
|
32
|
+
const p = (n, w = 2) => String(n).padStart(w, "0");
|
|
33
|
+
return (`${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}` +
|
|
34
|
+
`T${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`);
|
|
35
|
+
}
|
|
36
|
+
function chatPath(chatId) {
|
|
37
|
+
return path.join(CHATS_DIR, `${chatId}.json`);
|
|
38
|
+
}
|
|
39
|
+
/* ── Index helpers ────────────────────────────────────────────────────────── */
|
|
40
|
+
function loadIndex() {
|
|
41
|
+
try {
|
|
42
|
+
const data = JSON.parse(fs.readFileSync(INDEX_PATH, "utf-8"));
|
|
43
|
+
return Array.isArray(data) ? data : [];
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function saveIndex(index) {
|
|
50
|
+
try {
|
|
51
|
+
fs.writeFileSync(INDEX_PATH, JSON.stringify(index, null, 2), "utf-8");
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
/* best effort */
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/** Insert or update a chat in the index, keeping it newest-first. */
|
|
58
|
+
function upsertIndex(entry) {
|
|
59
|
+
let index = loadIndex();
|
|
60
|
+
index = index.filter((e) => e.id !== entry.id);
|
|
61
|
+
index.unshift(entry);
|
|
62
|
+
saveIndex(index.slice(0, 500)); // cap at 500 entries
|
|
63
|
+
}
|
|
64
|
+
function removeFromIndex(chatId) {
|
|
65
|
+
saveIndex(loadIndex().filter((e) => e.id !== chatId));
|
|
66
|
+
}
|
|
67
|
+
/* ── Chat file CRUD ───────────────────────────────────────────────────────── */
|
|
68
|
+
function writeChat(chat) {
|
|
69
|
+
try {
|
|
70
|
+
fs.writeFileSync(chatPath(chat.id), JSON.stringify(chat, null, 2), "utf-8");
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
/* best effort */
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** Create a new empty chat and persist it. */
|
|
77
|
+
export function createChat(title = "", model = "", mode = "chat") {
|
|
78
|
+
const d = new Date();
|
|
79
|
+
const p = (n, w = 2) => String(n).padStart(w, "0");
|
|
80
|
+
const ts = `${d.getFullYear()}${p(d.getMonth() + 1)}${p(d.getDate())}` +
|
|
81
|
+
`_${p(d.getHours())}${p(d.getMinutes())}${p(d.getSeconds())}`;
|
|
82
|
+
const chatId = `chat_${ts}_${rand(6)}`;
|
|
83
|
+
const now = nowIso();
|
|
84
|
+
const chat = {
|
|
85
|
+
id: chatId,
|
|
86
|
+
title: title || "New conversation",
|
|
87
|
+
model,
|
|
88
|
+
created: now,
|
|
89
|
+
updated: now,
|
|
90
|
+
mode,
|
|
91
|
+
messages: [],
|
|
92
|
+
pinned: false,
|
|
93
|
+
};
|
|
94
|
+
writeChat(chat);
|
|
95
|
+
upsertIndex({
|
|
96
|
+
id: chatId,
|
|
97
|
+
title: chat.title,
|
|
98
|
+
model,
|
|
99
|
+
created: now,
|
|
100
|
+
updated: now,
|
|
101
|
+
mode,
|
|
102
|
+
msg_count: 0,
|
|
103
|
+
pinned: false,
|
|
104
|
+
});
|
|
105
|
+
return chat;
|
|
106
|
+
}
|
|
107
|
+
/** Load a chat by id. Returns null if not found. */
|
|
108
|
+
export function loadChat(chatId) {
|
|
109
|
+
try {
|
|
110
|
+
return JSON.parse(fs.readFileSync(chatPath(chatId), "utf-8"));
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/** Write the full chat to disk and update the index. */
|
|
117
|
+
export function saveChat(chat) {
|
|
118
|
+
chat.updated = nowIso();
|
|
119
|
+
writeChat(chat);
|
|
120
|
+
upsertIndex({
|
|
121
|
+
id: chat.id,
|
|
122
|
+
title: String(chat.title ?? ""),
|
|
123
|
+
model: String(chat.model ?? ""),
|
|
124
|
+
created: String(chat.created ?? ""),
|
|
125
|
+
updated: chat.updated,
|
|
126
|
+
mode: String(chat.mode ?? "chat"),
|
|
127
|
+
msg_count: (chat.messages ?? []).length,
|
|
128
|
+
pinned: Boolean(chat.pinned),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Append one message to an existing chat and save.
|
|
133
|
+
* Returns the updated chat, or null if not found.
|
|
134
|
+
*/
|
|
135
|
+
export function appendMessage(chatId, role, content, toolCalls, steps = 0, model = "") {
|
|
136
|
+
const chat = loadChat(chatId);
|
|
137
|
+
if (chat === null)
|
|
138
|
+
return null;
|
|
139
|
+
const msg = { role, content, ts: nowIso() };
|
|
140
|
+
if (toolCalls && toolCalls.length > 0)
|
|
141
|
+
msg.tool_calls = toolCalls;
|
|
142
|
+
if (steps)
|
|
143
|
+
msg.steps = steps;
|
|
144
|
+
if (model && !chat.model)
|
|
145
|
+
chat.model = model;
|
|
146
|
+
chat.messages.push(msg);
|
|
147
|
+
// Auto-title from the first user message.
|
|
148
|
+
if (role === "user" && (!chat.title || chat.title === "New conversation")) {
|
|
149
|
+
chat.title = content.slice(0, 72).replace(/\s+$/, "") + (content.length > 72 ? "\u2026" : "");
|
|
150
|
+
}
|
|
151
|
+
saveChat(chat);
|
|
152
|
+
return chat;
|
|
153
|
+
}
|
|
154
|
+
/** Delete the chat file and remove it from the index. */
|
|
155
|
+
export function deleteChat(chatId) {
|
|
156
|
+
try {
|
|
157
|
+
const p = chatPath(chatId);
|
|
158
|
+
if (fs.existsSync(p))
|
|
159
|
+
fs.rmSync(p);
|
|
160
|
+
removeFromIndex(chatId);
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
export function renameChat(chatId, newTitle) {
|
|
168
|
+
const chat = loadChat(chatId);
|
|
169
|
+
if (chat === null)
|
|
170
|
+
return false;
|
|
171
|
+
chat.title = newTitle.slice(0, 120);
|
|
172
|
+
saveChat(chat);
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
export function pinChat(chatId, pinned = true) {
|
|
176
|
+
const chat = loadChat(chatId);
|
|
177
|
+
if (chat === null)
|
|
178
|
+
return false;
|
|
179
|
+
chat.pinned = pinned;
|
|
180
|
+
saveChat(chat);
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
/** Delete every chat file. Returns the count deleted. */
|
|
184
|
+
export function clearAllChats() {
|
|
185
|
+
let count = 0;
|
|
186
|
+
try {
|
|
187
|
+
for (const fname of fs.readdirSync(CHATS_DIR)) {
|
|
188
|
+
if (fname.endsWith(".json") && fname !== "index.json") {
|
|
189
|
+
try {
|
|
190
|
+
fs.rmSync(path.join(CHATS_DIR, fname));
|
|
191
|
+
count += 1;
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
/* ignore */
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
saveIndex([]);
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
/* ignore */
|
|
202
|
+
}
|
|
203
|
+
return count;
|
|
204
|
+
}
|
|
205
|
+
/** Return index entries, newest first with pinned chats first. */
|
|
206
|
+
export function listChats(limit = 100, offset = 0) {
|
|
207
|
+
const index = loadIndex();
|
|
208
|
+
const pinned = index.filter((e) => e.pinned);
|
|
209
|
+
const unpinned = index.filter((e) => !e.pinned);
|
|
210
|
+
return [...pinned, ...unpinned].slice(offset, offset + limit);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Simple full-text search across chat titles and message content.
|
|
214
|
+
* Searches index titles first (fast), then scans files for the query in messages.
|
|
215
|
+
*/
|
|
216
|
+
export function searchChats(query, limit = 20) {
|
|
217
|
+
const q = query.toLowerCase().trim();
|
|
218
|
+
if (!q)
|
|
219
|
+
return listChats(limit);
|
|
220
|
+
const results = [];
|
|
221
|
+
const index = loadIndex();
|
|
222
|
+
for (const entry of index) {
|
|
223
|
+
if (String(entry.title ?? "").toLowerCase().includes(q)) {
|
|
224
|
+
results.push({ ...entry, _match: "title" });
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// Scan message content for the top 50 chats if title matches are insufficient.
|
|
228
|
+
if (results.length < limit) {
|
|
229
|
+
let scanned = 0;
|
|
230
|
+
for (const entry of index) {
|
|
231
|
+
if (scanned >= 50)
|
|
232
|
+
break;
|
|
233
|
+
if (results.some((r) => r.id === entry.id)) {
|
|
234
|
+
scanned += 1;
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
const chat = loadChat(entry.id);
|
|
238
|
+
if (chat) {
|
|
239
|
+
for (const msg of chat.messages ?? []) {
|
|
240
|
+
if (String(msg.content ?? "").toLowerCase().includes(q)) {
|
|
241
|
+
results.push({ ...entry, _match: "content" });
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
scanned += 1;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return results.slice(0, limit);
|
|
250
|
+
}
|
|
251
|
+
/** Export a chat as a Markdown string. */
|
|
252
|
+
export function exportChatMarkdown(chatId) {
|
|
253
|
+
const chat = loadChat(chatId);
|
|
254
|
+
if (!chat)
|
|
255
|
+
return "";
|
|
256
|
+
const lines = [
|
|
257
|
+
`# ${chat.title ?? "Chat Export"}\n`,
|
|
258
|
+
`**Model:** ${chat.model || "\u2014"} \n`,
|
|
259
|
+
`**Date:** ${chat.created || "\u2014"} \n`,
|
|
260
|
+
`**Mode:** ${chat.mode ?? "chat"} \n\n`,
|
|
261
|
+
"---\n\n",
|
|
262
|
+
];
|
|
263
|
+
for (const msg of chat.messages ?? []) {
|
|
264
|
+
const role = msg.role ?? "";
|
|
265
|
+
const content = msg.content ?? "";
|
|
266
|
+
const ts = msg.ts ?? "";
|
|
267
|
+
if (role === "user") {
|
|
268
|
+
lines.push(`### You \n*${ts}*\n\n${content}\n\n---\n\n`);
|
|
269
|
+
}
|
|
270
|
+
else if (role === "assistant") {
|
|
271
|
+
const tc = msg.tool_calls ?? [];
|
|
272
|
+
const steps = msg.steps ?? 0;
|
|
273
|
+
let header = "### axoniz";
|
|
274
|
+
if (steps)
|
|
275
|
+
header += ` *(agent \u00b7 ${steps} steps \u00b7 ${tc.length} tool calls)*`;
|
|
276
|
+
lines.push(`${header} \n*${ts}*\n\n${content}\n\n---\n\n`);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return lines.join("");
|
|
280
|
+
}
|
|
281
|
+
/* ── Background auto-save writer ──────────────────────────────────────────── */
|
|
282
|
+
/**
|
|
283
|
+
* Non-blocking background writer.
|
|
284
|
+
* Batches rapid consecutive saves and flushes at most every 0.5 s, giving the
|
|
285
|
+
* feel of instant saving without blocking the main loop.
|
|
286
|
+
*/
|
|
287
|
+
export class AsyncChatWriter {
|
|
288
|
+
pending = new Map();
|
|
289
|
+
timer = null;
|
|
290
|
+
stopped = false;
|
|
291
|
+
queue(chat) {
|
|
292
|
+
if (this.stopped)
|
|
293
|
+
return;
|
|
294
|
+
this.pending.set(chat.id, chat);
|
|
295
|
+
if (this.timer === null) {
|
|
296
|
+
// Debounce: coalesce bursts, but never wait longer than 500 ms.
|
|
297
|
+
this.timer = setTimeout(() => this.flush(), 500);
|
|
298
|
+
this.timer.unref?.();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/** Flush every queued chat immediately. */
|
|
302
|
+
flush() {
|
|
303
|
+
if (this.timer !== null) {
|
|
304
|
+
clearTimeout(this.timer);
|
|
305
|
+
this.timer = null;
|
|
306
|
+
}
|
|
307
|
+
const batch = [...this.pending.values()];
|
|
308
|
+
this.pending.clear();
|
|
309
|
+
for (const chat of batch) {
|
|
310
|
+
try {
|
|
311
|
+
saveChat(chat);
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
/* best effort */
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
stop() {
|
|
319
|
+
this.flush();
|
|
320
|
+
this.stopped = true;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
/* Module-level singleton writer */
|
|
324
|
+
const writer = new AsyncChatWriter();
|
|
325
|
+
/** Queue a chat for async background save. Use this from the server. */
|
|
326
|
+
export function queueSave(chat) {
|
|
327
|
+
writer.queue(chat);
|
|
328
|
+
}
|
|
329
|
+
export function flushChatWrites() {
|
|
330
|
+
writer.flush();
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=chat_store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat_store.js","sourceRoot":"","sources":["../../src/core/chat_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Agent } from "./agent.js";
|
|
2
|
+
export declare const HAS_COLOR: boolean;
|
|
3
|
+
export declare const TW: number;
|
|
4
|
+
export declare class C {
|
|
5
|
+
static R: string;
|
|
6
|
+
static B: string;
|
|
7
|
+
static D: string;
|
|
8
|
+
static W: string;
|
|
9
|
+
static GR: string;
|
|
10
|
+
static DG: string;
|
|
11
|
+
static BL: string;
|
|
12
|
+
static GB: string;
|
|
13
|
+
static YL: string;
|
|
14
|
+
static RD: string;
|
|
15
|
+
static PU: string;
|
|
16
|
+
static CY: string;
|
|
17
|
+
static AC: string;
|
|
18
|
+
static OK: string;
|
|
19
|
+
static ER: string;
|
|
20
|
+
static WN: string;
|
|
21
|
+
static TH: string;
|
|
22
|
+
static TC: string;
|
|
23
|
+
static TR: string;
|
|
24
|
+
static RESET: string;
|
|
25
|
+
static BOLD: string;
|
|
26
|
+
static GRAY: string;
|
|
27
|
+
static DGRAY: string;
|
|
28
|
+
static WHITE: string;
|
|
29
|
+
static BLUE: string;
|
|
30
|
+
static GREEN: string;
|
|
31
|
+
static YELLOW: string;
|
|
32
|
+
static RED: string;
|
|
33
|
+
static CYAN: string;
|
|
34
|
+
static PURPLE: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function printBanner(model?: string, backend?: string): void;
|
|
37
|
+
export declare function kv(key: string, val: unknown): void;
|
|
38
|
+
export declare function section(title: string): void;
|
|
39
|
+
export declare function ok(msg: string): void;
|
|
40
|
+
export declare function err(msg: string): void;
|
|
41
|
+
/** Render a response with fenced-code handling, mirroring the Python renderer. */
|
|
42
|
+
export declare function printResponse(text: string, prefix?: string): void;
|
|
43
|
+
export declare function rule(): void;
|
|
44
|
+
export declare const _rule: typeof rule;
|
|
45
|
+
export declare class Spinner {
|
|
46
|
+
private text;
|
|
47
|
+
private delay;
|
|
48
|
+
private timer;
|
|
49
|
+
private frames;
|
|
50
|
+
private i;
|
|
51
|
+
constructor(text?: string, delay?: number);
|
|
52
|
+
start(): void;
|
|
53
|
+
stop(): void;
|
|
54
|
+
}
|
|
55
|
+
export declare const SLASH_HELP: Record<string, string>;
|
|
56
|
+
export declare class CLI {
|
|
57
|
+
agent: Agent;
|
|
58
|
+
webUrl: string | null;
|
|
59
|
+
mode: "agent" | "chat" | "goal";
|
|
60
|
+
private abort;
|
|
61
|
+
private toolCalls;
|
|
62
|
+
private tokensOut;
|
|
63
|
+
private startTime;
|
|
64
|
+
constructor(agent: Agent, webUrl?: string | null);
|
|
65
|
+
private prompt;
|
|
66
|
+
runAgent(task: string): Promise<string>;
|
|
67
|
+
/** Python-compatible alias. */
|
|
68
|
+
_run_agent(task: string): Promise<string>;
|
|
69
|
+
runChat(message: string): Promise<string>;
|
|
70
|
+
_run_chat(message: string): Promise<string>;
|
|
71
|
+
runGoal(goal: string): Promise<string>;
|
|
72
|
+
_run_goal(goal: string): Promise<string>;
|
|
73
|
+
handleSlash(text: string): Promise<boolean>;
|
|
74
|
+
_handle_slash(text: string): Promise<boolean>;
|
|
75
|
+
/** Verify essential dependencies. */
|
|
76
|
+
checkEnvironment(): Promise<boolean>;
|
|
77
|
+
check_environment(): Promise<boolean>;
|
|
78
|
+
run(): Promise<void>;
|
|
79
|
+
/** Non-interactive fallback: one task per line until stdin ends. */
|
|
80
|
+
private runPiped;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAcxC,eAAO,MAAM,SAAS,SAAY,CAAC;AACnC,eAAO,MAAM,EAAE,QAAgC,CAAC;AAMhD,qBAAa,CAAC;IACZ,MAAM,CAAC,CAAC,SAAU;IAClB,MAAM,CAAC,CAAC,SAAU;IAClB,MAAM,CAAC,CAAC,SAAU;IAClB,MAAM,CAAC,CAAC,SAAW;IACnB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IACpB,MAAM,CAAC,EAAE,SAAW;IAGpB,MAAM,CAAC,KAAK,SAAU;IACtB,MAAM,CAAC,IAAI,SAAU;IACrB,MAAM,CAAC,IAAI,SAAW;IACtB,MAAM,CAAC,KAAK,SAAW;IACvB,MAAM,CAAC,KAAK,SAAW;IACvB,MAAM,CAAC,IAAI,SAAW;IACtB,MAAM,CAAC,KAAK,SAAW;IACvB,MAAM,CAAC,MAAM,SAAW;IACxB,MAAM,CAAC,GAAG,SAAW;IACrB,MAAM,CAAC,IAAI,SAAW;IACtB,MAAM,CAAC,MAAM,SAAW;CACzB;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAK,EAAE,OAAO,SAAK,GAAG,IAAI,CAI1D;AAED,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEpC;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;AASD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,IAAI,CA4D/D;AAED,wBAAgB,IAAI,IAAI,IAAI,CAE3B;AAED,eAAO,MAAM,KAAK,aAAO,CAAC;AAI1B,qBAAa,OAAO;IAMhB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IANf,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,CAAC,CAAK;IAEd,YACU,IAAI,SAAe,EACnB,KAAK,SAAM,EACjB;IAEJ,KAAK,IAAI,IAAI,CAOZ;IAED,IAAI,IAAI,IAAI,CAMX;CACF;AAID,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY7C,CAAC;AAIF,qBAAa,GAAG;IACd,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAW;IAE1C,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAc;IAE/B,YAAY,KAAK,EAAE,KAAK,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAGrD;IAED,OAAO,CAAC,MAAM;IAYR,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4D5C;IAED,+BAA+B;IAC/B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExC;IAIK,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB9C;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1C;IAIK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB3C;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvC;IAIK,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6IhD;IAED,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5C;IAID,qCAAqC;IAC/B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgBzC;IAED,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpC;IAIK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA+FzB;IAED,oEAAoE;YACtD,QAAQ;CAoBvB"}
|