auvrynt 1.0.2 → 1.0.5
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 -21
- package/README.md +366 -233
- package/addons/auvrynt_bridge/auvrynt_bridge.gd +500 -0
- package/addons/auvrynt_bridge/plugin.cfg +7 -0
- package/bin/auvrynt-launcher.cjs +77 -0
- package/dist/artifact-registry.js +1 -0
- package/dist/aseprite-tools.js +1 -0
- package/dist/auth/connection-registry.js +145 -0
- package/dist/auth/connection-status.js +176 -0
- package/dist/auth/oauth-provider.js +617 -0
- package/dist/auth/room-registry.js +131 -0
- package/dist/auth/session-registry.js +531 -0
- package/dist/background-lifecycle.js +1 -0
- package/dist/blender-client.js +1 -109
- package/dist/blender-tools.js +1 -930
- package/dist/browser-stability.js +1 -0
- package/dist/cli/commands/help-command.js +10 -0
- package/dist/cli/commands/init-command.js +190 -0
- package/dist/cli/commands/integration-commands.js +88 -0
- package/dist/cli/commands/serve-command.js +83 -0
- package/dist/cli/commands/setup-command.js +81 -0
- package/dist/cli/commands/status-commands.js +166 -0
- package/dist/cli/commands/tunnel-command.js +127 -0
- package/dist/cli/commands/user-config-commands.js +105 -0
- package/dist/cli/dashboard-actions.js +516 -0
- package/dist/cli/dashboard-native-actions.js +282 -0
- package/dist/cli/foreground-server.js +270 -0
- package/dist/cli/instance-control.js +21 -0
- package/dist/cli/instance-lock.js +123 -0
- package/dist/cli/integration-bootstrap.js +206 -0
- package/dist/cli/lifecycle-manager.js +493 -0
- package/dist/cli/runtime-support.js +74 -0
- package/dist/cli/serena-detected-default.js +27 -0
- package/dist/cli/tunnel-health-monitor.js +182 -0
- package/dist/cli.js +82 -739
- package/dist/config.js +1 -243
- package/dist/connection-registry.js +1 -73
- package/dist/connection-status.js +1 -139
- package/dist/control-retry.js +1 -0
- package/dist/crash-recovery.js +1 -0
- package/dist/db/client.js +16 -3
- package/dist/db/schema.js +30 -0
- package/dist/dotnet-tools.js +1 -223
- package/dist/git-worktrees.js +1 -134
- package/dist/git.js +1 -41
- package/dist/godot-animation-tilemap.js +1 -82
- package/dist/godot-csharp-build.js +1 -93
- package/dist/godot-csharp-project.js +1 -157
- package/dist/godot-csharp-runner.js +1 -146
- package/dist/godot-csharp-semantic.js +1 -161
- package/dist/godot-csharp-validate.js +1 -71
- package/dist/godot-dotnet-env.js +1 -169
- package/dist/godot-editor-bridge.js +1 -140
- package/dist/godot-gdscript.js +1 -824
- package/dist/godot-project-settings.js +1 -223
- package/dist/godot-runtime-testing.js +1 -249
- package/dist/godot-tools.js +1 -183
- package/dist/http-rate-limit.js +1 -0
- package/dist/http-server-hardening.js +1 -0
- package/dist/image-tools.js +1 -157
- package/dist/infrastructure/command-reference.js +32 -0
- package/dist/infrastructure/config.js +424 -0
- package/dist/infrastructure/context7-auth.js +55 -0
- package/dist/infrastructure/http-rate-limit.js +42 -0
- package/dist/infrastructure/http-server-hardening.js +23 -0
- package/dist/infrastructure/integration-queue.js +46 -0
- package/dist/infrastructure/logger.js +129 -0
- package/dist/infrastructure/mcp-event-store.js +103 -0
- package/dist/infrastructure/ngrok-auth-pool.js +208 -0
- package/dist/infrastructure/request-context.js +14 -0
- package/dist/infrastructure/shutdown.js +37 -0
- package/dist/infrastructure/sse-heartbeat.js +47 -0
- package/dist/infrastructure/tool-capabilities.js +67 -0
- package/dist/infrastructure/tool-result-budget.js +175 -0
- package/dist/infrastructure/user-config.js +167 -0
- package/dist/integration-discovery.js +1 -98
- package/dist/integration-queue.js +1 -0
- package/dist/integrations/agent-reach/agent-reach-tools.js +196 -0
- package/dist/integrations/agent-reach/native-channels.js +468 -0
- package/dist/integrations/aseprite/aseprite-analysis-tools.js +368 -0
- package/dist/integrations/aseprite/aseprite-editing-tools.js +647 -0
- package/dist/integrations/aseprite/aseprite-live-tools.js +297 -0
- package/dist/integrations/aseprite/aseprite-safety-tools.js +594 -0
- package/dist/integrations/aseprite/aseprite-specialized-tools.js +289 -0
- package/dist/integrations/aseprite/aseprite-tools.js +837 -0
- package/dist/integrations/blender/blender-catalog-mesh.js +593 -0
- package/dist/integrations/blender/blender-catalog-object.js +906 -0
- package/dist/integrations/blender/blender-catalog-scene.js +266 -0
- package/dist/integrations/blender/blender-catalog-select.js +581 -0
- package/dist/integrations/blender/blender-catalog-stubs.js +7512 -0
- package/dist/integrations/blender/blender-catalog.js +165 -0
- package/dist/integrations/blender/blender-client.js +105 -0
- package/dist/integrations/blender/blender-tools.js +2243 -0
- package/dist/integrations/context7/context7-tools.js +106 -0
- package/dist/integrations/dotnet/dotnet-tools.js +195 -0
- package/dist/integrations/godot/godot-animation-tilemap.js +74 -0
- package/dist/integrations/godot/godot-csharp-build.js +91 -0
- package/dist/integrations/godot/godot-csharp-project.js +155 -0
- package/dist/integrations/godot/godot-csharp-runner.js +118 -0
- package/dist/integrations/godot/godot-csharp-semantic.js +146 -0
- package/dist/integrations/godot/godot-csharp-validate.js +71 -0
- package/dist/integrations/godot/godot-dotnet-env.js +134 -0
- package/dist/integrations/godot/godot-editor-bridge.js +328 -0
- package/dist/integrations/godot/godot-gdscript.js +536 -0
- package/dist/integrations/godot/godot-project-settings.js +178 -0
- package/dist/integrations/godot/godot-runtime-testing.js +263 -0
- package/dist/integrations/godot/godot-tools.js +193 -0
- package/dist/integrations/images/image-tools.js +414 -0
- package/dist/integrations/images/png-codec.js +251 -0
- package/dist/integrations/images/view-image.js +99 -0
- package/dist/integrations/images/window-capture.js +148 -0
- package/dist/integrations/integration-discovery.js +185 -0
- package/dist/integrations/obsidian/obsidian-tools.js +205 -0
- package/dist/integrations/playwright/browser-session.js +516 -0
- package/dist/integrations/playwright/browser-stability.js +36 -0
- package/dist/integrations/playwright/playwright-runtime.js +105 -0
- package/dist/integrations/playwright/web-tools.js +504 -0
- package/dist/integrations/roblox/roblox-helpers.js +381 -0
- package/dist/integrations/roblox/roblox-studio-client.js +112 -0
- package/dist/integrations/roblox/roblox-tools.js +106 -0
- package/dist/integrations/serena/serena-manager.js +464 -0
- package/dist/integrations/serena/serena-tools.js +411 -0
- package/dist/logger.js +1 -76
- package/dist/mcp-event-store.js +1 -0
- package/dist/oauth-provider.js +1 -377
- package/dist/pi-tools.js +1 -81
- package/dist/playwright-runtime.js +1 -0
- package/dist/process/background-lifecycle.js +189 -0
- package/dist/process/control-retry.js +42 -0
- package/dist/process/crash-recovery.js +23 -0
- package/dist/process/processes.js +456 -0
- package/dist/processes.js +1 -218
- package/dist/request-context.js +1 -0
- package/dist/review-checkpoints.js +1 -142
- package/dist/room-registry.js +1 -0
- package/dist/roots.js +1 -53
- package/dist/search-discovery.js +1 -271
- package/dist/serena-manager.js +1 -443
- package/dist/serena-tools.js +1 -411
- package/dist/server/dashboard-page-styles.js +331 -0
- package/dist/server/dashboard-page.js +1509 -0
- package/dist/server/dashboard-routes.js +46 -0
- package/dist/server/dashboard.js +240 -0
- package/dist/server/http-helpers.js +30 -0
- package/dist/server/integration-profile-update.js +37 -0
- package/dist/server/mcp-policy.js +169 -0
- package/dist/server/mcp-server-factory.js +127 -0
- package/dist/server/mcp-tool-registrar.js +182 -0
- package/dist/server/openai-session-hint.js +14 -0
- package/dist/server/tool-groups.js +29 -0
- package/dist/server/tool-logging.js +33 -0
- package/dist/server/tool-registration-shared.js +59 -0
- package/dist/server/tools/aseprite-advanced-tools-registration.js +547 -0
- package/dist/server/tools/aseprite-tools-registration.js +213 -0
- package/dist/server/tools/blender-tools-registration.js +690 -0
- package/dist/server/tools/core-file-tools-registration.js +459 -0
- package/dist/server/tools/dotnet-godot-window-tools-registration.js +120 -0
- package/dist/server/tools/godot-csharp-tools-registration.js +252 -0
- package/dist/server/tools/godot-gdscript-tools-registration.js +189 -0
- package/dist/server/tools/process-project-tools-registration.js +155 -0
- package/dist/server/tools/roblox-tools-registration.js +514 -0
- package/dist/server/tools/web-image-tools-registration.js +326 -0
- package/dist/server/tools/workspace-lifecycle-tools-registration.js +130 -0
- package/dist/server/ui-assets.js +97 -0
- package/dist/server/workspace-analytics.js +92 -0
- package/dist/server.js +453 -2713
- package/dist/session-registry.js +1 -0
- package/dist/shutdown.js +1 -0
- package/dist/skills.js +1 -45
- package/dist/sse-heartbeat.js +1 -0
- package/dist/tool-capabilities.js +1 -0
- package/dist/tool-result-budget.js +1 -0
- package/dist/tools/pi-tools.js +81 -0
- package/dist/tunnels/cloudflare-tunnel.js +217 -0
- package/dist/tunnels/cloudflared-service.js +174 -0
- package/dist/tunnels/ngrok-tunnel.js +220 -0
- package/dist/tunnels/tunnel-manager.js +186 -0
- package/dist/tunnels/tunnel-types.js +1 -0
- package/dist/tunnels/tunnel-utils.js +62 -0
- package/dist/ui/.vite/manifest.json +9 -2487
- package/dist/ui/assets/heavy-payload-D42A9ceL.js +1 -0
- package/dist/ui/assets/lightweight-diff-Cv4g9Hdr.js +13 -0
- package/dist/ui/assets/review-payload-DKIg1cKF.js +1 -0
- package/dist/ui/assets/workspace-app-CeK3NhmB.css +1 -0
- package/dist/ui/assets/{workspace-app-C5QsE314.js → workspace-app-CkUXnpl4.js} +6 -6
- package/dist/ui/brand-theme.js +23 -0
- package/dist/ui/workspace-app.html +15 -15
- package/dist/user-config.js +1 -57
- package/dist/view-image.js +1 -104
- package/dist/web-tools.js +1 -200
- package/dist/window-capture.js +1 -74
- package/dist/workspace/artifact-registry.js +69 -0
- package/dist/workspace/git-worktrees.js +141 -0
- package/dist/workspace/git.js +42 -0
- package/dist/workspace/review-checkpoints.js +142 -0
- package/dist/workspace/roots.js +56 -0
- package/dist/workspace/search-discovery.js +264 -0
- package/dist/workspace/skills.js +45 -0
- package/dist/workspace/workspace-store.js +219 -0
- package/dist/workspace/workspaces.js +314 -0
- package/dist/workspace-store.js +1 -125
- package/dist/workspaces.js +1 -226
- package/docs/CREATOR_STORE_FREE_ASSETS.md +162 -0
- package/docs/DEVELOPMENT_TOOLS.md +136 -93
- package/docs/assets/auvrynt-icon.png +0 -0
- package/docs/assets/auvrynt-icon.svg +20 -0
- package/docs/chatgpt-coding-workflow.md +143 -143
- package/docs/configuration.md +156 -124
- package/docs/diagnostics.md +79 -0
- package/docs/gotchas.md +244 -202
- package/docs/multi-agent-and-long-projects.md +91 -0
- package/docs/security.md +138 -100
- package/docs/setup.md +171 -131
- package/docs/source-layout.md +60 -0
- package/extensions/auvrynt_bridge/auvrynt_bridge.lua +594 -0
- package/extensions/auvrynt_bridge/live_analysis.lua +181 -0
- package/extensions/auvrynt_bridge/live_animation.lua +134 -0
- package/extensions/auvrynt_bridge/live_commands.lua +24 -0
- package/extensions/auvrynt_bridge/live_common.lua +130 -0
- package/extensions/auvrynt_bridge/live_document.lua +78 -0
- package/extensions/auvrynt_bridge/live_drawing.lua +125 -0
- package/extensions/auvrynt_bridge/live_effects.lua +91 -0
- package/extensions/auvrynt_bridge/live_palette_template.lua +167 -0
- package/extensions/auvrynt_bridge/live_selection.lua +110 -0
- package/extensions/auvrynt_bridge/live_structure.lua +129 -0
- package/extensions/auvrynt_bridge/package.json +17 -0
- package/guides/ASEPRITE_AGENT_GUIDE.md +133 -0
- package/guides/BLENDER_AGENT_GUIDE.md +472 -0
- package/guides/GODOT_AGENT_GUIDE.md +298 -0
- package/guides/PROJECT_ROUTER.md +165 -0
- package/guides/ROBLOX_AGENT_GUIDE.md +75 -0
- package/guides/SOFTWARE_AGENT_GUIDE.md +104 -0
- package/guides/WEB_AGENT_GUIDE.md +287 -0
- package/package.json +78 -70
- package/scripts/dev-server.mjs +121 -120
- package/scripts/live-tunnel-smoke.mjs +538 -0
- package/scripts/repo-hygiene.mjs +74 -0
- package/scripts/restart-after-crash.mjs +49 -0
- package/scripts/run-tests.mjs +166 -0
- package/dist/ui/assets/abap-CLvhMVsD.js +0 -1
- package/dist/ui/assets/actionscript-3--17pq3dv.js +0 -1
- package/dist/ui/assets/ada-C5qYipkI.js +0 -1
- package/dist/ui/assets/andromeeda-vGVdxbeo.js +0 -1
- package/dist/ui/assets/angular-html-BJqQFYI6.js +0 -1
- package/dist/ui/assets/angular-ts-CMJECO0Y.js +0 -1
- package/dist/ui/assets/apache-U0d_L8uA.js +0 -1
- package/dist/ui/assets/apex-CGTLDQj6.js +0 -1
- package/dist/ui/assets/apl-DWeXpBBr.js +0 -1
- package/dist/ui/assets/applescript-CCn79oCD.js +0 -1
- package/dist/ui/assets/ara-4CJ0cIlV.js +0 -1
- package/dist/ui/assets/asciidoc-DE70LPWp.js +0 -1
- package/dist/ui/assets/asm-Cmm7eHzH.js +0 -1
- package/dist/ui/assets/astro-CLbttLOq.js +0 -1
- package/dist/ui/assets/aurora-x-CDeNXAV0.js +0 -1
- package/dist/ui/assets/awk-BWXHIvNe.js +0 -1
- package/dist/ui/assets/ayu-dark-DluEY0Gj.js +0 -1
- package/dist/ui/assets/ayu-light-C3h-C4tm.js +0 -1
- package/dist/ui/assets/ayu-mirage-Bqwy1Gya.js +0 -1
- package/dist/ui/assets/ballerina-B7ZEbQpA.js +0 -1
- package/dist/ui/assets/bat-Bo4NYOV-.js +0 -1
- package/dist/ui/assets/beancount-D-usSTwE.js +0 -1
- package/dist/ui/assets/berry-DKpUyyne.js +0 -1
- package/dist/ui/assets/bibtex-Ci_nEsc7.js +0 -1
- package/dist/ui/assets/bicep-CUHmPFLl.js +0 -1
- package/dist/ui/assets/bird2-C2hNVINV.js +0 -1
- package/dist/ui/assets/blade-BOzY0P2V.js +0 -1
- package/dist/ui/assets/bsl-BkkzgIyY.js +0 -1
- package/dist/ui/assets/c-BG-8uJvh.js +0 -1
- package/dist/ui/assets/c3-CnJL0r0V.js +0 -1
- package/dist/ui/assets/cadence-CQ2zXKGN.js +0 -1
- package/dist/ui/assets/cairo-DLTphjLi.js +0 -1
- package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
- package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
- package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
- package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
- package/dist/ui/assets/clarity-SemFz856.js +0 -1
- package/dist/ui/assets/clojure-DqKBuwfJ.js +0 -1
- package/dist/ui/assets/cmake-Bj61d0ZC.js +0 -1
- package/dist/ui/assets/cobol-I_17IuGe.js +0 -1
- package/dist/ui/assets/codeowners-C8r90Shi.js +0 -1
- package/dist/ui/assets/codeql-oeQT6MSM.js +0 -1
- package/dist/ui/assets/coffee-C0B8hmok.js +0 -1
- package/dist/ui/assets/common-lisp-Cv5bFMCO.js +0 -1
- package/dist/ui/assets/coq-BrsZFFmf.js +0 -1
- package/dist/ui/assets/cpp-DDJXt6Vs.js +0 -1
- package/dist/ui/assets/crystal-Bexqace6.js +0 -1
- package/dist/ui/assets/csharp-Ct8U2NOr.js +0 -1
- package/dist/ui/assets/css-DSQhw_9R.js +0 -1
- package/dist/ui/assets/csv-Dx-8-gkx.js +0 -1
- package/dist/ui/assets/cue-CE9AQfxI.js +0 -1
- package/dist/ui/assets/cypher-ClKdZ_lG.js +0 -1
- package/dist/ui/assets/d-qD-0Kul2.js +0 -1
- package/dist/ui/assets/dark-plus-Cs2F2srj.js +0 -1
- package/dist/ui/assets/dart-DkHntEIa.js +0 -1
- package/dist/ui/assets/dax-BkyTk9wS.js +0 -1
- package/dist/ui/assets/desktop-Dlh5hvp9.js +0 -1
- package/dist/ui/assets/diff-woXpYk--.js +0 -1
- package/dist/ui/assets/docker-IyjqRm3v.js +0 -1
- package/dist/ui/assets/dotenv-_5a1GRtc.js +0 -1
- package/dist/ui/assets/dracula-BHWKrbxM.js +0 -1
- package/dist/ui/assets/dracula-soft-5eyTD99u.js +0 -1
- package/dist/ui/assets/dream-maker-DW3nJb8Q.js +0 -1
- package/dist/ui/assets/edge-Z8YYkHOr.js +0 -1
- package/dist/ui/assets/elixir-CG9uKtAF.js +0 -1
- package/dist/ui/assets/elm-GfWG2IfT.js +0 -1
- package/dist/ui/assets/emacs-lisp-C9PiwqqW.js +0 -1
- package/dist/ui/assets/erb-xe89e73J.js +0 -1
- package/dist/ui/assets/erlang-Cphh6RMH.js +0 -1
- package/dist/ui/assets/everforest-dark-sB-x3p7T.js +0 -1
- package/dist/ui/assets/everforest-light-Df2xbC6M.js +0 -1
- package/dist/ui/assets/fennel-DQxkIbk2.js +0 -1
- package/dist/ui/assets/fish-BJitypiv.js +0 -1
- package/dist/ui/assets/fluent-C03EYrpw.js +0 -1
- package/dist/ui/assets/fortran-fixed-form-DEKoE2YW.js +0 -1
- package/dist/ui/assets/fortran-free-form-CYNrtFtB.js +0 -1
- package/dist/ui/assets/fsharp-D13ZGOAj.js +0 -1
- package/dist/ui/assets/gdresource-C0sCabJj.js +0 -1
- package/dist/ui/assets/gdscript-Cp2uCuqX.js +0 -1
- package/dist/ui/assets/gdshader-CBce3t8t.js +0 -1
- package/dist/ui/assets/genie-CV2tkWYe.js +0 -1
- package/dist/ui/assets/gherkin-DExj1W_8.js +0 -1
- package/dist/ui/assets/git-commit-BSykSTBG.js +0 -1
- package/dist/ui/assets/git-rebase-CoTL_uSE.js +0 -1
- package/dist/ui/assets/github-dark-C-LZuMrd.js +0 -1
- package/dist/ui/assets/github-dark-default-DXG-b-1a.js +0 -1
- package/dist/ui/assets/github-dark-dimmed-Bx1FflLF.js +0 -1
- package/dist/ui/assets/github-dark-high-contrast-B_tTalzw.js +0 -1
- package/dist/ui/assets/github-light-EUqPIrTm.js +0 -1
- package/dist/ui/assets/github-light-default-BXViO-2h.js +0 -1
- package/dist/ui/assets/github-light-high-contrast-B68TUdTA.js +0 -1
- package/dist/ui/assets/gleam-CSRkHgEL.js +0 -1
- package/dist/ui/assets/glimmer-js-DAn4UCSu.js +0 -1
- package/dist/ui/assets/glimmer-ts-Tjyi6Gh5.js +0 -1
- package/dist/ui/assets/glsl-CtTDZoqR.js +0 -1
- package/dist/ui/assets/gn-ilITqXS6.js +0 -1
- package/dist/ui/assets/gnuplot-7GGW24-e.js +0 -1
- package/dist/ui/assets/go-BJwz_mda.js +0 -1
- package/dist/ui/assets/graphql-D5gcC_Jk.js +0 -1
- package/dist/ui/assets/groovy-CacY0gHj.js +0 -1
- package/dist/ui/assets/gruvbox-dark-hard-C820rvS2.js +0 -1
- package/dist/ui/assets/gruvbox-dark-medium-BPjhmG05.js +0 -1
- package/dist/ui/assets/gruvbox-dark-soft-MrdJrrXF.js +0 -1
- package/dist/ui/assets/gruvbox-light-hard-BC_s9l72.js +0 -1
- package/dist/ui/assets/gruvbox-light-medium-BAWPOn9u.js +0 -1
- package/dist/ui/assets/gruvbox-light-soft-BSMLrYjP.js +0 -1
- package/dist/ui/assets/hack-BJXY27dt.js +0 -1
- package/dist/ui/assets/haml-BLfFoZf7.js +0 -1
- package/dist/ui/assets/handlebars-Dw6CWkvN.js +0 -1
- package/dist/ui/assets/haskell-D8IpX4py.js +0 -1
- package/dist/ui/assets/haxe-OTjmBuCE.js +0 -1
- package/dist/ui/assets/hcl-Dh228itO.js +0 -1
- package/dist/ui/assets/heavy-payload-Dcg0-F-S.js +0 -4
- package/dist/ui/assets/hjson-CxZEssPk.js +0 -1
- package/dist/ui/assets/hlsl-Cvrh5tZx.js +0 -1
- package/dist/ui/assets/horizon-CE9ld1lL.js +0 -1
- package/dist/ui/assets/horizon-bright-Br1oVSNq.js +0 -1
- package/dist/ui/assets/houston-CsvMBhTu.js +0 -1
- package/dist/ui/assets/html-CAcAWvoN.js +0 -1
- package/dist/ui/assets/html-derivative-8aSW2E_7.js +0 -1
- package/dist/ui/assets/http-B2YR_3V1.js +0 -1
- package/dist/ui/assets/hurl-BnDJ9Zhf.js +0 -1
- package/dist/ui/assets/hxml-B0Qn7Nwc.js +0 -1
- package/dist/ui/assets/hy-CZbG8q4J.js +0 -1
- package/dist/ui/assets/imba-DsUTQ-LC.js +0 -1
- package/dist/ui/assets/ini-B5eOa1yu.js +0 -1
- package/dist/ui/assets/java-Doxi4W8u.js +0 -1
- package/dist/ui/assets/javascript-BbRdEqti.js +0 -1
- package/dist/ui/assets/jinja-CS3Tpv_Q.js +0 -1
- package/dist/ui/assets/jison-BkPGYVHR.js +0 -1
- package/dist/ui/assets/json-BMt1m3m8.js +0 -1
- package/dist/ui/assets/json5-BR5RXkoi.js +0 -1
- package/dist/ui/assets/jsonc-CYpm1nAK.js +0 -1
- package/dist/ui/assets/jsonl-CmCQp5Yx.js +0 -1
- package/dist/ui/assets/jsonnet-CJTPZ8u_.js +0 -1
- package/dist/ui/assets/jssm-DXw9l8Rf.js +0 -1
- package/dist/ui/assets/jsx-CQKrJXXY.js +0 -1
- package/dist/ui/assets/julia-BuN7i2du.js +0 -1
- package/dist/ui/assets/just-BswEPFPu.js +0 -1
- package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
- package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +0 -1
- package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +0 -1
- package/dist/ui/assets/kdl-CsD5j6eV.js +0 -1
- package/dist/ui/assets/kotlin-DhhofPvG.js +0 -1
- package/dist/ui/assets/kusto-BUv0MjJC.js +0 -1
- package/dist/ui/assets/laserwave-C_8bwKvT.js +0 -1
- package/dist/ui/assets/latex-DU2VyFfA.js +0 -1
- package/dist/ui/assets/lean-CewbzKMR.js +0 -1
- package/dist/ui/assets/less-DVTAwKKz.js +0 -1
- package/dist/ui/assets/light-plus-DVQuIRkW.js +0 -1
- package/dist/ui/assets/liquid-Cmz1L3dq.js +0 -1
- package/dist/ui/assets/llvm-Cm23YOpf.js +0 -1
- package/dist/ui/assets/log-BNLmms1o.js +0 -1
- package/dist/ui/assets/logo-Cluzi2Zq.js +0 -1
- package/dist/ui/assets/lua-CfVXhkaJ.js +0 -1
- package/dist/ui/assets/luau-CNKltnaQ.js +0 -1
- package/dist/ui/assets/make-Dixweg8N.js +0 -1
- package/dist/ui/assets/markdown-BYOwaDjH.js +0 -1
- package/dist/ui/assets/marko-C5bfqGiA.js +0 -1
- package/dist/ui/assets/material-theme-Bm3Qr25_.js +0 -1
- package/dist/ui/assets/material-theme-darker-2IIEA8gg.js +0 -1
- package/dist/ui/assets/material-theme-lighter-uhdI0v04.js +0 -1
- package/dist/ui/assets/material-theme-ocean-CHQ94UKr.js +0 -1
- package/dist/ui/assets/material-theme-palenight-B5W6OYN7.js +0 -1
- package/dist/ui/assets/matlab-D7qyCx1q.js +0 -1
- package/dist/ui/assets/mdc-CVBXYfyq.js +0 -1
- package/dist/ui/assets/mdx-DQZ5AkYe.js +0 -1
- package/dist/ui/assets/mermaid-Bk4SNUv9.js +0 -1
- package/dist/ui/assets/min-dark-BSWPekZh.js +0 -1
- package/dist/ui/assets/min-light-DDpmG2fV.js +0 -1
- package/dist/ui/assets/mipsasm-BMqwQI7S.js +0 -1
- package/dist/ui/assets/mojo-BgCJLMeH.js +0 -1
- package/dist/ui/assets/monokai-CdkpiU2Y.js +0 -1
- package/dist/ui/assets/moonbit-CaWjb8XO.js +0 -1
- package/dist/ui/assets/move-B1IS1UjX.js +0 -1
- package/dist/ui/assets/narrat-_X_XdTYD.js +0 -1
- package/dist/ui/assets/nextflow-Bbiyy34d.js +0 -1
- package/dist/ui/assets/nextflow-groovy-Dc_ddanL.js +0 -1
- package/dist/ui/assets/nginx-CzJafxLa.js +0 -1
- package/dist/ui/assets/night-owl-DhmEMT88.js +0 -1
- package/dist/ui/assets/night-owl-light-eJ-hLW7d.js +0 -1
- package/dist/ui/assets/nim-DABKtHtM.js +0 -1
- package/dist/ui/assets/nix-IvuFDN5E.js +0 -1
- package/dist/ui/assets/nord-Cb4Vim4T.js +0 -1
- package/dist/ui/assets/nushell-DcLAeLz5.js +0 -1
- package/dist/ui/assets/objective-c-D1A_Heim.js +0 -1
- package/dist/ui/assets/objective-cpp-BsSzOQcm.js +0 -1
- package/dist/ui/assets/ocaml-O90oeIOV.js +0 -1
- package/dist/ui/assets/odin-B1RWQWA5.js +0 -1
- package/dist/ui/assets/one-dark-pro-CLwyXe_n.js +0 -1
- package/dist/ui/assets/one-light-D7Lr4KcI.js +0 -1
- package/dist/ui/assets/openscad-BUDT5pXO.js +0 -1
- package/dist/ui/assets/pascal-4ZHwLPI5.js +0 -1
- package/dist/ui/assets/perl-CBh7L3lZ.js +0 -1
- package/dist/ui/assets/php-DFbI9q5p.js +0 -1
- package/dist/ui/assets/pierre-dark-sU4Zdns8.js +0 -1
- package/dist/ui/assets/pierre-dark-soft-HXgun5vs.js +0 -1
- package/dist/ui/assets/pierre-light-DWBk51d8.js +0 -1
- package/dist/ui/assets/pierre-light-soft-CodEzPxf.js +0 -1
- package/dist/ui/assets/pkl-ot-7Btpt.js +0 -1
- package/dist/ui/assets/plastic-DQwYfKfQ.js +0 -1
- package/dist/ui/assets/plsql-DGHpHOYJ.js +0 -1
- package/dist/ui/assets/po-BiJDBrnU.js +0 -1
- package/dist/ui/assets/poimandres-DRFjx7u4.js +0 -1
- package/dist/ui/assets/polar-C7UOKdEL.js +0 -1
- package/dist/ui/assets/postcss-BXeXVLqQ.js +0 -1
- package/dist/ui/assets/powerquery-DNMTfnFr.js +0 -1
- package/dist/ui/assets/powershell-DshXNtvi.js +0 -1
- package/dist/ui/assets/prisma-BsRQq5mF.js +0 -1
- package/dist/ui/assets/prolog-iXnhIJG7.js +0 -1
- package/dist/ui/assets/proto-DB4EqR-F.js +0 -1
- package/dist/ui/assets/pug-C_PxC7gO.js +0 -1
- package/dist/ui/assets/puppet-CDv2pdJW.js +0 -1
- package/dist/ui/assets/purescript-9MfHhQsQ.js +0 -1
- package/dist/ui/assets/python-gzcpVVnB.js +0 -1
- package/dist/ui/assets/qml-DtngoFFK.js +0 -1
- package/dist/ui/assets/qmldir-DCQb3MpD.js +0 -1
- package/dist/ui/assets/qss-Fe1Jh2GI.js +0 -1
- package/dist/ui/assets/r-DohkcevW.js +0 -1
- package/dist/ui/assets/racket-DcIDlBhZ.js +0 -1
- package/dist/ui/assets/raku-B3gFvitq.js +0 -1
- package/dist/ui/assets/razor-C4t8J0_E.js +0 -1
- package/dist/ui/assets/red-CJ3rzSJv.js +0 -1
- package/dist/ui/assets/reg-CRGYupPL.js +0 -1
- package/dist/ui/assets/regexp-OGbTbjgY.js +0 -1
- package/dist/ui/assets/rel-BtDbiS_P.js +0 -1
- package/dist/ui/assets/review-payload-C5Qz60Kq.js +0 -1
- package/dist/ui/assets/riscv-Ckw8ddFX.js +0 -1
- package/dist/ui/assets/ron-VUp2lXgN.js +0 -1
- package/dist/ui/assets/rose-pine-BthvhNj6.js +0 -1
- package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
- package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +0 -1
- package/dist/ui/assets/rosmsg-CAekHB0j.js +0 -1
- package/dist/ui/assets/rst-CfBbbcvC.js +0 -1
- package/dist/ui/assets/ruby-Bw0mpxHY.js +0 -1
- package/dist/ui/assets/rust-Cfkwpbl8.js +0 -1
- package/dist/ui/assets/sas-Cs3s9JOf.js +0 -1
- package/dist/ui/assets/sass-DXrisJhu.js +0 -1
- package/dist/ui/assets/scala-DKOlJaKm.js +0 -1
- package/dist/ui/assets/scheme-DQCgrYNe.js +0 -1
- package/dist/ui/assets/scss-sRxNJS54.js +0 -1
- package/dist/ui/assets/sdbl-bTVj8UrX.js +0 -1
- package/dist/ui/assets/shaderlab-TOUzSsQk.js +0 -1
- package/dist/ui/assets/shellscript-B0X6wh0R.js +0 -1
- package/dist/ui/assets/shellsession-D2FdOioR.js +0 -1
- package/dist/ui/assets/slack-dark-DnToyrRv.js +0 -1
- package/dist/ui/assets/slack-ochin-B2OO5cIa.js +0 -1
- package/dist/ui/assets/smalltalk-B16xEiuN.js +0 -1
- package/dist/ui/assets/snazzy-light-4G7pJPwS.js +0 -1
- package/dist/ui/assets/solarized-dark-DV17i1UV.js +0 -1
- package/dist/ui/assets/solarized-light-DSh2HLQt.js +0 -1
- package/dist/ui/assets/solidity-CKzVLygQ.js +0 -1
- package/dist/ui/assets/soy-s6g9OjJ1.js +0 -1
- package/dist/ui/assets/sparql-D_iOobhT.js +0 -1
- package/dist/ui/assets/splunk-BC2Px7Mm.js +0 -1
- package/dist/ui/assets/sql-DVTnh5V-.js +0 -1
- package/dist/ui/assets/ssh-config-BgfXC-Er.js +0 -1
- package/dist/ui/assets/stata-DFIDiXF9.js +0 -1
- package/dist/ui/assets/stylus-B6D30XZt.js +0 -1
- package/dist/ui/assets/surrealql-DVfrsLyg.js +0 -1
- package/dist/ui/assets/svelte-D5GsxESq.js +0 -1
- package/dist/ui/assets/swift-DonLKvLd.js +0 -1
- package/dist/ui/assets/synthwave-84-nFMaYfgc.js +0 -1
- package/dist/ui/assets/system-verilog-DJ5XKQeo.js +0 -1
- package/dist/ui/assets/systemd-BxMlprV5.js +0 -1
- package/dist/ui/assets/talonscript-CohzipZa.js +0 -1
- package/dist/ui/assets/tasl-DMoTqEGO.js +0 -1
- package/dist/ui/assets/tcl-CZd0xW_V.js +0 -1
- package/dist/ui/assets/templ-DI-Zyqzd.js +0 -1
- package/dist/ui/assets/terraform-DswuEJGm.js +0 -1
- package/dist/ui/assets/tex-WHHmlbJI.js +0 -1
- package/dist/ui/assets/tokyo-night-oM2G3aXe.js +0 -1
- package/dist/ui/assets/toml-CcmNWLt0.js +0 -1
- package/dist/ui/assets/ts-tags-Dwpo2RFJ.js +0 -1
- package/dist/ui/assets/tsv-sltzmVWM.js +0 -1
- package/dist/ui/assets/tsx-ph_idaAW.js +0 -1
- package/dist/ui/assets/turtle-ByJddavk.js +0 -1
- package/dist/ui/assets/twig-YO17jFjR.js +0 -1
- package/dist/ui/assets/typescript-CbAxjhkl.js +0 -1
- package/dist/ui/assets/typespec-B88KGewJ.js +0 -1
- package/dist/ui/assets/typst-DI99ib-x.js +0 -1
- package/dist/ui/assets/useFileDiffInstance-B2DLX3Vg.js +0 -244
- package/dist/ui/assets/v-DETTlOr0.js +0 -1
- package/dist/ui/assets/vala-zf12oZj6.js +0 -1
- package/dist/ui/assets/vb-Djn5o6TS.js +0 -1
- package/dist/ui/assets/verilog-CiiDBU1e.js +0 -1
- package/dist/ui/assets/vesper-D5bVUKB1.js +0 -1
- package/dist/ui/assets/vhdl-BroJfC0k.js +0 -1
- package/dist/ui/assets/viml-DvXPmvsu.js +0 -1
- package/dist/ui/assets/vitesse-black-fwtXNY1n.js +0 -1
- package/dist/ui/assets/vitesse-dark-BZCL-v6S.js +0 -1
- package/dist/ui/assets/vitesse-light-VbXTXTou.js +0 -1
- package/dist/ui/assets/vue-CraHL-Ps.js +0 -1
- package/dist/ui/assets/vue-html-e9tyZNtS.js +0 -1
- package/dist/ui/assets/vue-vine-CofmxaUb.js +0 -1
- package/dist/ui/assets/vyper-CgoNMtux.js +0 -1
- package/dist/ui/assets/wasm-BnjxR4X6.js +0 -1
- package/dist/ui/assets/wasm-ByWQv1Qj.js +0 -1
- package/dist/ui/assets/wenyan-C8pVoKbM.js +0 -1
- package/dist/ui/assets/wgsl-BsKzXJz4.js +0 -1
- package/dist/ui/assets/wikitext-ClFFjSW2.js +0 -1
- package/dist/ui/assets/wit-DdvCle-K.js +0 -1
- package/dist/ui/assets/wolfram-DLL8P-h_.js +0 -1
- package/dist/ui/assets/workspace-app-8--oTbCd.css +0 -1
- package/dist/ui/assets/xml-BWSdPZHm.js +0 -1
- package/dist/ui/assets/xsl-BtCt7Hx8.js +0 -1
- package/dist/ui/assets/yaml-BZiTw7cQ.js +0 -1
- package/dist/ui/assets/zenscript-BnlCZFoB.js +0 -1
- package/dist/ui/assets/zig-CMLA9XwU.js +0 -1
- package/docs/assets/auvrynt-logo-light.png +0 -0
- package/docs/assets/auvrynt-screenshot.png +0 -0
package/docs/gotchas.md
CHANGED
|
@@ -1,215 +1,257 @@
|
|
|
1
|
-
# Troubleshooting Gotchas
|
|
2
|
-
|
|
3
|
-
This page collects the setup issues users are most likely to hit.
|
|
4
|
-
|
|
5
|
-
## `auvrynt` Command Not Found
|
|
6
|
-
|
|
7
|
-
Use `npx`:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
1
|
+
# Troubleshooting Gotchas
|
|
2
|
+
|
|
3
|
+
This page collects the setup issues users are most likely to hit.
|
|
4
|
+
|
|
5
|
+
## `auvrynt` Command Not Found
|
|
6
|
+
|
|
7
|
+
Use `npx`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
10
|
npx auvrynt init
|
|
11
11
|
npx auvrynt start
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
If you installed globally, confirm npm's global bin directory is on `PATH`.
|
|
15
|
-
|
|
16
|
-
## Unsupported Node Version
|
|
17
|
-
|
|
18
|
-
Auvrynt requires Node `>=20.12 <27`.
|
|
19
|
-
|
|
20
|
-
Check:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
node --version
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Install Node 22 LTS with your preferred version manager such as `nvm`, `fnm`, or
|
|
27
|
-
`mise`.
|
|
28
|
-
|
|
29
|
-
## `better-sqlite3` Could Not Load
|
|
30
|
-
|
|
31
|
-
This usually means native dependencies were installed under a different Node
|
|
32
|
-
runtime.
|
|
33
|
-
|
|
34
|
-
Try:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npm rebuild better-sqlite3
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Then run:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
If you installed globally, confirm npm's global bin directory is on `PATH`.
|
|
15
|
+
|
|
16
|
+
## Unsupported Node Version
|
|
17
|
+
|
|
18
|
+
Auvrynt requires Node `>=20.12 <27`.
|
|
19
|
+
|
|
20
|
+
Check:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
node --version
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Install Node 22 LTS with your preferred version manager such as `nvm`, `fnm`, or
|
|
27
|
+
`mise`.
|
|
28
|
+
|
|
29
|
+
## `better-sqlite3` Could Not Load
|
|
30
|
+
|
|
31
|
+
This usually means native dependencies were installed under a different Node
|
|
32
|
+
runtime.
|
|
33
|
+
|
|
34
|
+
Try:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm rebuild better-sqlite3
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Then run:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
43
|
npx auvrynt doctor
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Release starts run a native dependency check before launching.
|
|
47
|
-
|
|
48
|
-
## Public URL Includes `/mcp`
|
|
49
|
-
|
|
50
|
-
Use the origin for setup:
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
https://your-tunnel-host.example.com
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Use the MCP endpoint in the client:
|
|
57
|
-
|
|
58
|
-
```text
|
|
59
|
-
https://your-tunnel-host.example.com/mcp
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
If you saved the wrong value:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Release starts run a native dependency check before launching.
|
|
47
|
+
|
|
48
|
+
## Public URL Includes `/mcp`
|
|
49
|
+
|
|
50
|
+
Use the origin for setup:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
https://your-tunnel-host.example.com
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Use the MCP endpoint in the client:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
https://your-tunnel-host.example.com/mcp
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
If you saved the wrong value:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
65
|
npx auvrynt config set publicBaseUrl https://your-tunnel-host.example.com
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Tunnel URL Changed
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Tunnel URL Changed
|
|
69
|
+
|
|
70
|
+
The managed tunnel URL stays unchanged across `auvrynt add`, same-directory `auvrynt start ... --replace`, and `auvrynt restart`. An assigned Cloudflare or ngrok URL normally changes after `auvrynt restart hard` or `auvrynt stop` followed by a new start. A reserved ngrok origin configured through `auvrynt tunnel` or `AUVRYNT_NGROK_URL` remains stable as long as that reservation is available.
|
|
71
|
+
|
|
72
|
+
Auvrynt reads ngrok's structured startup logs for the URL created by the exact child process it launched. It does not query the shared `127.0.0.1:4040` inspector API, which avoids accidentally adopting a different local ngrok process when multiple agents are running.
|
|
73
|
+
|
|
74
|
+
## Custom Cloudflare Named Tunnel Is Down
|
|
75
|
+
|
|
76
|
+
For a stable custom domain, choose **Custom external URL** in `auvrynt tunnel`.
|
|
77
|
+
On Windows, Auvrynt controls the existing `cloudflared` service: `auvrynt start`
|
|
78
|
+
runs `sc.exe start cloudflared` and `auvrynt stop` runs `sc.exe stop cloudflared`.
|
|
79
|
+
`auvrynt restart` and `auvrynt restart hard` intentionally do not touch the
|
|
80
|
+
service. The Cloudflare public hostname must route to
|
|
81
|
+
`http://127.0.0.1:49321` (or the configured Auvrynt port). If the service is
|
|
82
|
+
not installed, Auvrynt reports that clearly instead of silently starting a
|
|
83
|
+
second connector.
|
|
84
|
+
|
|
85
|
+
If the public tunnel temporarily becomes unreachable while the local server is healthy, Auvrynt leaves the existing tunnel process in place so it can reconnect with the same URL. It does not silently replace the tunnel because a replacement assigned URL would no longer match the running OAuth issuer and resource configuration. Use `auvrynt restart hard` only when you intentionally accept replacement behavior or have configured a stable ngrok origin.
|
|
86
|
+
|
|
87
|
+
Managed background starts also schedule bounded crash recovery for fatal Node.js errors. The replacement server waits for the failed process to exit, reuses the same managed tunnel URL and profile arguments, and stops after five restart attempts in ten minutes to prevent a crash loop.
|
|
88
|
+
|
|
89
|
+
## Repeated 502 During Extended Use
|
|
90
|
+
|
|
91
|
+
A repeated 502 does not always mean the tunnel itself failed. It can also mean the local process was terminated, a long-running response stayed silent too long, or a tool result exceeded a connector/proxy payload limit.
|
|
92
|
+
|
|
93
|
+
Auvrynt now protects the long-use paths by:
|
|
94
|
+
|
|
95
|
+
- Sending an SSE heartbeat every 15 seconds during long MCP streams.
|
|
96
|
+
- Bounding replay history by time, count, and bytes.
|
|
97
|
+
- Truncating oversized text/metadata and omitting connector-dangerous inline binary.
|
|
98
|
+
- Saving oversized screenshots and renders locally instead of embedding large base64 responses.
|
|
99
|
+
- Force-closing stuck Chromium processes.
|
|
100
|
+
- Applying backpressure to Blender and Godot queues.
|
|
101
|
+
- Releasing closed room/workspace state and failed Serena sessions.
|
|
102
|
+
|
|
103
|
+
When Auvrynt reports that a result was truncated, retry with a narrower read range, fewer search results, or a smaller screenshot/render. Use `start_process` rather than a blocking shell request for servers or other indefinitely running commands.
|
|
104
|
+
|
|
105
|
+
## Profile Changes While Connected
|
|
106
|
+
|
|
107
|
+
`auvrynt add`, `auvrynt change`, and same-directory `auvrynt start --replace` no longer close MCP sessions. Long-lived SSE requests do not block the change. If a tool is currently executing, the local control request retries transient `409`, `429`, `502`, `503`, and `504` responses before reporting failure.
|
|
108
|
+
|
|
109
|
+
For a stable independently managed URL, use foreground mode:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
81
112
|
npx auvrynt config set publicBaseUrl https://auvrynt.example.com
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
113
|
+
npx auvrynt serve
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Host Header Or 403 Problems
|
|
117
|
+
|
|
118
|
+
Auvrynt derives allowed hosts from the configured public URL.
|
|
119
|
+
|
|
120
|
+
Run:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
91
123
|
npx auvrynt doctor
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Confirm the public URL hostname appears in allowed hosts. If you changed tunnel
|
|
95
|
-
URLs, update `publicBaseUrl`.
|
|
96
|
-
|
|
97
|
-
Use this only for intentional local debugging:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Confirm the public URL hostname appears in allowed hosts. If you changed tunnel
|
|
127
|
+
URLs, update `publicBaseUrl`.
|
|
128
|
+
|
|
129
|
+
Use this only for intentional local debugging:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
100
132
|
AUVRYNT_ALLOWED_HOSTS="*" npx auvrynt start
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## OAuth Redirect Host Rejected
|
|
104
|
-
|
|
105
|
-
By default, Auvrynt allows redirects for:
|
|
106
|
-
|
|
107
|
-
```text
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## OAuth Redirect Host Rejected
|
|
136
|
+
|
|
137
|
+
By default, Auvrynt allows redirects for:
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
grok.com
|
|
141
|
+
console.x.ai
|
|
142
|
+
chatgpt.com
|
|
143
|
+
claude.ai
|
|
144
|
+
claude.com
|
|
145
|
+
anthropic.com
|
|
146
|
+
oauth.lovable.app
|
|
147
|
+
lovable.app
|
|
148
|
+
lovable.dev
|
|
149
|
+
api.lovable.dev
|
|
150
|
+
bolt.new
|
|
151
|
+
localhost
|
|
152
|
+
127.0.0.1
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If another MCP client uses a different redirect host, configure:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
116
158
|
AUVRYNT_OAUTH_ALLOWED_REDIRECT_HOSTS="chatgpt.com,example.com" npx auvrynt start
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Owner
|
|
120
|
-
|
|
121
|
-
Make sure you are entering the Owner
|
|
122
|
-
|
|
123
|
-
```text
|
|
124
|
-
~/.auvrynt/auth.json
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
To regenerate setup:
|
|
128
|
-
|
|
129
|
-
```bash
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Owner Token Not Accepted
|
|
162
|
+
|
|
163
|
+
Make sure you are entering the Owner token from:
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
~/.auvrynt/auth.json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
To regenerate setup:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
130
172
|
npx auvrynt init --force
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## Unknown `workspaceId`
|
|
134
|
-
|
|
135
|
-
`workspaceId` values are session identifiers. If the server restarts and the
|
|
136
|
-
client receives an unknown workspace error, call `open_workspace` again for that
|
|
137
|
-
project.
|
|
138
|
-
|
|
139
|
-
Workspace session metadata is persisted, but clients should still treat
|
|
140
|
-
`open_workspace` as the way to begin a fresh working session.
|
|
141
|
-
|
|
142
|
-
## Workspace Path Rejected
|
|
143
|
-
|
|
144
|
-
The path must be inside one of the allowed roots configured during setup.
|
|
145
|
-
|
|
146
|
-
Run:
|
|
147
|
-
|
|
148
|
-
```bash
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Unknown `workspaceId`
|
|
176
|
+
|
|
177
|
+
`workspaceId` values are session identifiers. If the server restarts and the
|
|
178
|
+
client receives an unknown workspace error, call `open_workspace` again for that
|
|
179
|
+
project.
|
|
180
|
+
|
|
181
|
+
Workspace session metadata is persisted, but clients should still treat
|
|
182
|
+
`open_workspace` as the way to begin a fresh working session.
|
|
183
|
+
|
|
184
|
+
## Workspace Path Rejected
|
|
185
|
+
|
|
186
|
+
The path must be inside one of the allowed roots configured during setup.
|
|
187
|
+
|
|
188
|
+
Run:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
149
191
|
npx auvrynt config get
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
Then either open a project under an allowed root or rerun setup:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Then either open a project under an allowed root or rerun setup:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
155
197
|
npx auvrynt init --force
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Worktree Mode Fails
|
|
159
|
-
|
|
160
|
-
Worktree mode requires:
|
|
161
|
-
|
|
162
|
-
- Git installed
|
|
163
|
-
- the path is inside a Git repository
|
|
164
|
-
- the repository has at least one commit
|
|
165
|
-
- the requested `baseRef` resolves to a commit
|
|
166
|
-
|
|
167
|
-
For a new repository, create the first commit or use checkout mode.
|
|
168
|
-
|
|
169
|
-
Uncommitted source checkout changes are not copied into the managed worktree.
|
|
170
|
-
Commit, stash, or ask the model to work in checkout mode if those changes are
|
|
171
|
-
needed.
|
|
172
|
-
|
|
173
|
-
## Windows Shell Commands Fail
|
|
174
|
-
|
|
175
|
-
Auvrynt shell execution requires Bash. Native PowerShell and `cmd.exe` command
|
|
176
|
-
execution are not supported yet.
|
|
177
|
-
|
|
178
|
-
Install Git for Windows and use Git Bash, or use WSL, MSYS2, or Cygwin Bash.
|
|
179
|
-
|
|
180
|
-
Run:
|
|
181
|
-
|
|
182
|
-
```bash
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Worktree Mode Fails
|
|
201
|
+
|
|
202
|
+
Worktree mode requires:
|
|
203
|
+
|
|
204
|
+
- Git installed
|
|
205
|
+
- the path is inside a Git repository
|
|
206
|
+
- the repository has at least one commit
|
|
207
|
+
- the requested `baseRef` resolves to a commit
|
|
208
|
+
|
|
209
|
+
For a new repository, create the first commit or use checkout mode.
|
|
210
|
+
|
|
211
|
+
Uncommitted source checkout changes are not copied into the managed worktree.
|
|
212
|
+
Commit, stash, or ask the model to work in checkout mode if those changes are
|
|
213
|
+
needed.
|
|
214
|
+
|
|
215
|
+
## Windows Shell Commands Fail
|
|
216
|
+
|
|
217
|
+
Auvrynt shell execution requires Bash. Native PowerShell and `cmd.exe` command
|
|
218
|
+
execution are not supported yet.
|
|
219
|
+
|
|
220
|
+
Install Git for Windows and use Git Bash, or use WSL, MSYS2, or Cygwin Bash.
|
|
221
|
+
|
|
222
|
+
Run:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
183
225
|
npx auvrynt doctor
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Confirm Bash is detected.
|
|
187
|
-
|
|
188
|
-
## Skills Do Not Appear
|
|
189
|
-
|
|
190
|
-
Skills are enabled by default. Check:
|
|
191
|
-
|
|
192
|
-
```bash
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Confirm Bash is detected.
|
|
229
|
+
|
|
230
|
+
## Skills Do Not Appear
|
|
231
|
+
|
|
232
|
+
Skills are enabled by default. Check:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
193
235
|
AUVRYNT_SKILLS=1 npx auvrynt start
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Auvrynt looks in:
|
|
197
|
-
|
|
198
|
-
- `AUVRYNT_AGENT_DIR`, defaulting to `~/.codex`
|
|
199
|
-
- project `.pi/skills`
|
|
200
|
-
- `AUVRYNT_SKILL_PATHS`
|
|
201
|
-
|
|
202
|
-
If a skill appears in `open_workspace`, the model must read that skill's
|
|
203
|
-
`SKILL.md` before reading other files inside the skill directory.
|
|
204
|
-
|
|
205
|
-
## Review Card Does Not Appear
|
|
206
|
-
|
|
207
|
-
Per-tool widget cards are enabled by default with:
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
AUVRYNT_WIDGETS=full
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
The aggregate `show_changes` tool is only exposed with
|
|
214
|
-
`AUVRYNT_WIDGETS=changes`. Plain MCP clients may ignore ChatGPT Apps widget
|
|
215
|
-
metadata and only show text results.
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Auvrynt looks in:
|
|
239
|
+
|
|
240
|
+
- `AUVRYNT_AGENT_DIR`, defaulting to `~/.codex`
|
|
241
|
+
- project `.pi/skills`
|
|
242
|
+
- `AUVRYNT_SKILL_PATHS`
|
|
243
|
+
|
|
244
|
+
If a skill appears in `open_workspace`, the model must read that skill's
|
|
245
|
+
`SKILL.md` before reading other files inside the skill directory.
|
|
246
|
+
|
|
247
|
+
## Review Card Does Not Appear
|
|
248
|
+
|
|
249
|
+
Per-tool widget cards are enabled by default with:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
AUVRYNT_WIDGETS=full
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
The aggregate `show_changes` tool is only exposed with
|
|
256
|
+
`AUVRYNT_WIDGETS=changes`. Plain MCP clients may ignore ChatGPT Apps widget
|
|
257
|
+
metadata and only show text results.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Long Projects and Multiple MCP Agents
|
|
2
|
+
|
|
3
|
+
## Long checklist-driven projects
|
|
4
|
+
|
|
5
|
+
Auvrynt can support a long project plan stored in Markdown, including plans with 20 or more checklist items.
|
|
6
|
+
|
|
7
|
+
Recommended pattern:
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# Project Plan
|
|
11
|
+
|
|
12
|
+
## Current state
|
|
13
|
+
- Active workspace: `<workspaceId>`
|
|
14
|
+
- Last verified step: 7
|
|
15
|
+
- Current blocker: none
|
|
16
|
+
|
|
17
|
+
## Checklist
|
|
18
|
+
- [x] 1. Inspect architecture
|
|
19
|
+
- [x] 2. Add focused tests
|
|
20
|
+
- [ ] 3. Implement the next component
|
|
21
|
+
- [ ] 4. Verify the component
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The Markdown file is durable local state. It survives MCP reconnects, client restarts, and Auvrynt process restarts because it is an ordinary project file. Workspace metadata is also persisted.
|
|
25
|
+
|
|
26
|
+
Auvrynt does not independently schedule the checklist or continue executing after the model host stops sending tool calls. ChatGPT, Claude, or another MCP host remains responsible for:
|
|
27
|
+
|
|
28
|
+
- Reading the plan.
|
|
29
|
+
- Choosing the next unchecked item.
|
|
30
|
+
- Updating each item after verification.
|
|
31
|
+
- Writing a short current-state handoff before a session ends.
|
|
32
|
+
- Resuming from the file after a context reset or reconnect.
|
|
33
|
+
|
|
34
|
+
For reliable progress, update checklist lines using complete line-delimited text so similarly numbered items such as `Task 1` and `Task 10` are not ambiguous exact-edit matches.
|
|
35
|
+
|
|
36
|
+
## Room ownership
|
|
37
|
+
|
|
38
|
+
Each `open_workspace` call creates a unique workspace and room. The room records:
|
|
39
|
+
|
|
40
|
+
- OAuth client owner.
|
|
41
|
+
- Workspace ID.
|
|
42
|
+
- Lifecycle state.
|
|
43
|
+
- Session association.
|
|
44
|
+
|
|
45
|
+
Every workspace-bound tool call now checks the authenticated OAuth client against the room owner before resolving the workspace. Knowing another agent's `workspaceId` is not enough to use it.
|
|
46
|
+
|
|
47
|
+
A room is an authorization and lifecycle boundary. It is not:
|
|
48
|
+
|
|
49
|
+
- A task scheduler.
|
|
50
|
+
- A chat channel between agents.
|
|
51
|
+
- A file-locking service.
|
|
52
|
+
- A merge coordinator.
|
|
53
|
+
- A replacement for Git branches or worktrees.
|
|
54
|
+
|
|
55
|
+
## ChatGPT and Claude on different directories
|
|
56
|
+
|
|
57
|
+
This is the simplest supported multi-agent arrangement:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
ChatGPT OAuth client -> workspace A -> C:\Projects\frontend
|
|
61
|
+
Claude OAuth client -> workspace B -> C:\Projects\backend
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The two clients receive different workspace IDs, rooms, process ownership, and path roots. Cross-client use of the other workspace ID is rejected.
|
|
65
|
+
|
|
66
|
+
The directories must both be inside the configured Auvrynt allowed roots. A directory-scoped `auvrynt start` normally exposes only the directory from which it was started, so use a common allowed parent or run the agents from appropriately scoped instances when the directories are unrelated.
|
|
67
|
+
|
|
68
|
+
## Two agents on the same repository
|
|
69
|
+
|
|
70
|
+
Opening the same checkout twice creates two workspace IDs and two owner-protected rooms, but both still point at the same physical files. That protects credentials and tool access; it does not prevent edit conflicts.
|
|
71
|
+
|
|
72
|
+
For concurrent changes in the same Git repository, each agent should use an isolated worktree:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
ChatGPT -> open_workspace(path, mode="worktree") -> worktree A
|
|
76
|
+
Claude -> open_workspace(path, mode="worktree") -> worktree B
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Each agent can then commit or produce a patch independently. A human or designated integration agent should review and merge the results.
|
|
80
|
+
|
|
81
|
+
## Concurrent MCP sessions
|
|
82
|
+
|
|
83
|
+
MCP initialization uses an atomic reservation before a transport is connected, so simultaneous client reconnects cannot oversubscribe session capacity. A session executing a request is protected by an in-flight request lease, and active sessions are never evicted to make room for another initialization. When capacity is exhausted, the new initialization is rejected instead of disconnecting an established active session.
|
|
84
|
+
|
|
85
|
+
Auvrynt removes a transport from the registry as soon as it actually closes. Already disconnected or expired records may be reclaimed under capacity pressure. The defaults allow 128 sessions per OAuth client and 256 total sessions, which accommodates several ChatGPT conversations even when the host creates more than one MCP transport per visible conversation.
|
|
86
|
+
|
|
87
|
+
Godot, Blender, and Serena calls are serialized through bounded integration queues because those integrations expose shared process or editor state. Other independent tool calls may run concurrently, while request context remains isolated per MCP session. Concurrent workspace opens also reserve capacity before filesystem work, so they cannot oversubscribe the workspace registry.
|
|
88
|
+
|
|
89
|
+
## Long-duration limits
|
|
90
|
+
|
|
91
|
+
Auvrynt's server-side safeguards support long sessions through bounded replay, heartbeats, payload limits, resource cleanup, persisted workspaces, and a 12-hour disconnected-session grace period. This does not guarantee that a model host will autonomously continue for a fixed number of hours. Host context limits, account limits, client disconnects, computer sleep, network loss, and tunnel-provider outages remain external constraints.
|