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
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
# ChatGPT Coding Workflow
|
|
2
|
-
|
|
3
|
-
Auvrynt brings a Codex-style coding-agent loop to ChatGPT and other MCP hosts:
|
|
4
|
-
inspect the repo, follow local instructions, make scoped edits, run
|
|
5
|
-
verification, and show the user what changed.
|
|
6
|
-
|
|
7
|
-
## Open One Workspace
|
|
8
|
-
|
|
9
|
-
ChatGPT should call `open_workspace` once for a project folder:
|
|
10
|
-
|
|
11
|
-
```json
|
|
12
|
-
{
|
|
13
|
-
"path": "~/work/my-project"
|
|
14
|
-
}
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
The result includes a `workspaceId`. All later file, search, edit, show-changes,
|
|
18
|
-
and shell calls should reuse that same `workspaceId`.
|
|
19
|
-
|
|
20
|
-
Do not reopen the same folder unless:
|
|
21
|
-
|
|
22
|
-
- the `workspaceId` is rejected as unknown
|
|
23
|
-
- the user switches to another folder
|
|
24
|
-
- the user switches between checkout and worktree mode
|
|
25
|
-
- the user explicitly asks to reopen
|
|
26
|
-
|
|
27
|
-
## Checkout Mode
|
|
28
|
-
|
|
29
|
-
Checkout mode is the default. Auvrynt opens the actual directory:
|
|
30
|
-
|
|
31
|
-
```json
|
|
32
|
-
{
|
|
33
|
-
"path": "~/work/my-project"
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Use this when the user wants ChatGPT to work in the current checkout.
|
|
38
|
-
|
|
39
|
-
## Worktree Mode
|
|
40
|
-
|
|
41
|
-
Use worktree mode for isolated parallel work:
|
|
42
|
-
|
|
43
|
-
```json
|
|
44
|
-
{
|
|
45
|
-
"path": "~/work/my-project",
|
|
46
|
-
"mode": "worktree"
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Managed worktrees are created under:
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
~/.auvrynt/worktrees
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Worktree mode requires a Git repository with at least one commit. It starts from
|
|
57
|
-
`HEAD` unless `baseRef` is provided.
|
|
58
|
-
|
|
59
|
-
Uncommitted source checkout changes are not copied into the managed worktree.
|
|
60
|
-
Auvrynt reports when the source checkout was dirty so the model can decide how
|
|
61
|
-
to proceed with the user.
|
|
62
|
-
|
|
63
|
-
## Project Instructions
|
|
64
|
-
|
|
65
|
-
When a workspace opens, Auvrynt loads root-level instruction files:
|
|
66
|
-
|
|
67
|
-
- `AGENTS.md`
|
|
68
|
-
- `AGENTS.MD`
|
|
69
|
-
- `CLAUDE.md`
|
|
70
|
-
- `CLAUDE.MD`
|
|
71
|
-
|
|
72
|
-
Nested instruction files are returned as `availableAgentsFiles`. The model
|
|
73
|
-
should read the relevant nested file before working under that directory.
|
|
74
|
-
|
|
75
|
-
This keeps instructions explicit and inspectable instead of silently injecting
|
|
76
|
-
new context during later tool calls.
|
|
77
|
-
|
|
78
|
-
## Skills
|
|
79
|
-
|
|
80
|
-
Skills are enabled by default for coding-agent workflows.
|
|
81
|
-
|
|
82
|
-
Auvrynt discovers skills from:
|
|
83
|
-
|
|
84
|
-
- `AUVRYNT_AGENT_DIR`, which defaults to `~/.codex`
|
|
85
|
-
- project `.pi/skills`
|
|
86
|
-
- optional paths from `AUVRYNT_SKILL_PATHS`
|
|
87
|
-
|
|
88
|
-
When `open_workspace` returns matching skills, the model should read the
|
|
89
|
-
advertised `SKILL.md` before following that skill.
|
|
90
|
-
|
|
91
|
-
Skill paths may be outside the workspace. Auvrynt only permits reading:
|
|
92
|
-
|
|
93
|
-
- advertised `SKILL.md` files
|
|
94
|
-
- files under a skill directory after that skill's `SKILL.md` has been read
|
|
95
|
-
|
|
96
|
-
Set `AUVRYNT_SKILLS=0` to hide skills from workspace output.
|
|
97
|
-
|
|
98
|
-
## Tool Names
|
|
99
|
-
|
|
100
|
-
Short names are the default:
|
|
101
|
-
|
|
102
|
-
- `open_workspace`
|
|
103
|
-
- `read`
|
|
104
|
-
- `write`
|
|
105
|
-
- `edit`
|
|
106
|
-
- `bash`
|
|
107
|
-
|
|
108
|
-
By default, Auvrynt also runs in `AUVRYNT_TOOL_MODE=minimal`, so dedicated
|
|
109
|
-
`grep`, `glob`, and `ls` tools are hidden. Use `bash` with command-line tools
|
|
110
|
-
such as `rg`, `find`, and `ls` for search and directory inspection.
|
|
111
|
-
|
|
112
|
-
Legacy names are available with `AUVRYNT_TOOL_NAMING=legacy`:
|
|
113
|
-
|
|
114
|
-
- `open_workspace`
|
|
115
|
-
- `read_file`
|
|
116
|
-
- `write_file`
|
|
117
|
-
- `edit_file`
|
|
118
|
-
- `run_shell`
|
|
119
|
-
|
|
120
|
-
Use `AUVRYNT_TOOL_MODE=full` to restore dedicated search and directory tools.
|
|
121
|
-
|
|
122
|
-
## Show Changes
|
|
123
|
-
|
|
124
|
-
By default, `AUVRYNT_WIDGETS=full`.
|
|
125
|
-
|
|
126
|
-
In that mode, Auvrynt attaches widget UI to the exposed workspace, file, edit,
|
|
127
|
-
and shell tools. The aggregate `show_changes` tool is not exposed by default.
|
|
128
|
-
|
|
129
|
-
Use `AUVRYNT_WIDGETS=off` to disable widget UI, or `AUVRYNT_WIDGETS=changes`
|
|
130
|
-
to expose the aggregate show-changes flow.
|
|
131
|
-
|
|
132
|
-
## Shell Use
|
|
133
|
-
|
|
134
|
-
The shell tool is for commands that belong in a terminal:
|
|
135
|
-
|
|
136
|
-
- tests
|
|
137
|
-
- builds
|
|
138
|
-
- git inspection
|
|
139
|
-
- package scripts
|
|
140
|
-
- environment checks
|
|
141
|
-
|
|
142
|
-
File writes should go through the edit/write tools rather than shell
|
|
143
|
-
redirection, heredocs, `tee`, `sed -i`, or generated scripts.
|
|
1
|
+
# ChatGPT Coding Workflow
|
|
2
|
+
|
|
3
|
+
Auvrynt brings a Codex-style coding-agent loop to ChatGPT and other MCP hosts:
|
|
4
|
+
inspect the repo, follow local instructions, make scoped edits, run
|
|
5
|
+
verification, and show the user what changed.
|
|
6
|
+
|
|
7
|
+
## Open One Workspace
|
|
8
|
+
|
|
9
|
+
ChatGPT should call `open_workspace` once for a project folder:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"path": "~/work/my-project"
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The result includes a `workspaceId`. All later file, search, edit, show-changes,
|
|
18
|
+
and shell calls should reuse that same `workspaceId`.
|
|
19
|
+
|
|
20
|
+
Do not reopen the same folder unless:
|
|
21
|
+
|
|
22
|
+
- the `workspaceId` is rejected as unknown
|
|
23
|
+
- the user switches to another folder
|
|
24
|
+
- the user switches between checkout and worktree mode
|
|
25
|
+
- the user explicitly asks to reopen
|
|
26
|
+
|
|
27
|
+
## Checkout Mode
|
|
28
|
+
|
|
29
|
+
Checkout mode is the default. Auvrynt opens the actual directory:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"path": "~/work/my-project"
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use this when the user wants ChatGPT to work in the current checkout.
|
|
38
|
+
|
|
39
|
+
## Worktree Mode
|
|
40
|
+
|
|
41
|
+
Use worktree mode for isolated parallel work:
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"path": "~/work/my-project",
|
|
46
|
+
"mode": "worktree"
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Managed worktrees are created under:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
~/.auvrynt/worktrees
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Worktree mode requires a Git repository with at least one commit. It starts from
|
|
57
|
+
`HEAD` unless `baseRef` is provided.
|
|
58
|
+
|
|
59
|
+
Uncommitted source checkout changes are not copied into the managed worktree.
|
|
60
|
+
Auvrynt reports when the source checkout was dirty so the model can decide how
|
|
61
|
+
to proceed with the user.
|
|
62
|
+
|
|
63
|
+
## Project Instructions
|
|
64
|
+
|
|
65
|
+
When a workspace opens, Auvrynt loads root-level instruction files:
|
|
66
|
+
|
|
67
|
+
- `AGENTS.md`
|
|
68
|
+
- `AGENTS.MD`
|
|
69
|
+
- `CLAUDE.md`
|
|
70
|
+
- `CLAUDE.MD`
|
|
71
|
+
|
|
72
|
+
Nested instruction files are returned as `availableAgentsFiles`. The model
|
|
73
|
+
should read the relevant nested file before working under that directory.
|
|
74
|
+
|
|
75
|
+
This keeps instructions explicit and inspectable instead of silently injecting
|
|
76
|
+
new context during later tool calls.
|
|
77
|
+
|
|
78
|
+
## Skills
|
|
79
|
+
|
|
80
|
+
Skills are enabled by default for coding-agent workflows.
|
|
81
|
+
|
|
82
|
+
Auvrynt discovers skills from:
|
|
83
|
+
|
|
84
|
+
- `AUVRYNT_AGENT_DIR`, which defaults to `~/.codex`
|
|
85
|
+
- project `.pi/skills`
|
|
86
|
+
- optional paths from `AUVRYNT_SKILL_PATHS`
|
|
87
|
+
|
|
88
|
+
When `open_workspace` returns matching skills, the model should read the
|
|
89
|
+
advertised `SKILL.md` before following that skill.
|
|
90
|
+
|
|
91
|
+
Skill paths may be outside the workspace. Auvrynt only permits reading:
|
|
92
|
+
|
|
93
|
+
- advertised `SKILL.md` files
|
|
94
|
+
- files under a skill directory after that skill's `SKILL.md` has been read
|
|
95
|
+
|
|
96
|
+
Set `AUVRYNT_SKILLS=0` to hide skills from workspace output.
|
|
97
|
+
|
|
98
|
+
## Tool Names
|
|
99
|
+
|
|
100
|
+
Short names are the default:
|
|
101
|
+
|
|
102
|
+
- `open_workspace`
|
|
103
|
+
- `read`
|
|
104
|
+
- `write`
|
|
105
|
+
- `edit`
|
|
106
|
+
- `bash`
|
|
107
|
+
|
|
108
|
+
By default, Auvrynt also runs in `AUVRYNT_TOOL_MODE=minimal`, so dedicated
|
|
109
|
+
`grep`, `glob`, and `ls` tools are hidden. Use `bash` with command-line tools
|
|
110
|
+
such as `rg`, `find`, and `ls` for search and directory inspection.
|
|
111
|
+
|
|
112
|
+
Legacy names are available with `AUVRYNT_TOOL_NAMING=legacy`:
|
|
113
|
+
|
|
114
|
+
- `open_workspace`
|
|
115
|
+
- `read_file`
|
|
116
|
+
- `write_file`
|
|
117
|
+
- `edit_file`
|
|
118
|
+
- `run_shell`
|
|
119
|
+
|
|
120
|
+
Use `AUVRYNT_TOOL_MODE=full` to restore dedicated search and directory tools.
|
|
121
|
+
|
|
122
|
+
## Show Changes
|
|
123
|
+
|
|
124
|
+
By default, `AUVRYNT_WIDGETS=full`.
|
|
125
|
+
|
|
126
|
+
In that mode, Auvrynt attaches widget UI to the exposed workspace, file, edit,
|
|
127
|
+
and shell tools. The aggregate `show_changes` tool is not exposed by default.
|
|
128
|
+
|
|
129
|
+
Use `AUVRYNT_WIDGETS=off` to disable widget UI, or `AUVRYNT_WIDGETS=changes`
|
|
130
|
+
to expose the aggregate show-changes flow.
|
|
131
|
+
|
|
132
|
+
## Shell Use
|
|
133
|
+
|
|
134
|
+
The shell tool is for commands that belong in a terminal:
|
|
135
|
+
|
|
136
|
+
- tests
|
|
137
|
+
- builds
|
|
138
|
+
- git inspection
|
|
139
|
+
- package scripts
|
|
140
|
+
- environment checks
|
|
141
|
+
|
|
142
|
+
File writes should go through the edit/write tools rather than shell
|
|
143
|
+
redirection, heredocs, `tee`, `sed -i`, or generated scripts.
|
package/docs/configuration.md
CHANGED
|
@@ -1,132 +1,164 @@
|
|
|
1
|
-
# Configuration Reference
|
|
2
|
-
|
|
3
|
-
Auvrynt can be configured through `auvrynt init`, persisted config files, or
|
|
4
|
-
environment variables.
|
|
5
|
-
|
|
6
|
-
The default files are:
|
|
7
|
-
|
|
8
|
-
```text
|
|
9
|
-
~/.auvrynt/config.json
|
|
10
|
-
~/.auvrynt/auth.json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Use another config directory with:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
1
|
+
# Configuration Reference
|
|
2
|
+
|
|
3
|
+
Auvrynt can be configured through `auvrynt init`, persisted config files, or
|
|
4
|
+
environment variables.
|
|
5
|
+
|
|
6
|
+
The default files are:
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
~/.auvrynt/config.json
|
|
10
|
+
~/.auvrynt/auth.json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Use another config directory with:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
16
|
AUVRYNT_CONFIG_DIR=/path/to/config npx auvrynt start
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Commands
|
|
20
|
-
|
|
21
|
-
```bash
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
22
|
npx auvrynt init
|
|
23
23
|
npx auvrynt start
|
|
24
24
|
npx auvrynt doctor
|
|
25
25
|
npx auvrynt config get
|
|
26
26
|
npx auvrynt config set publicBaseUrl https://auvrynt.example.com
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Core Environment Variables
|
|
30
|
-
|
|
31
|
-
| Variable | Purpose |
|
|
32
|
-
| --- | --- |
|
|
33
|
-
| `HOST` | Local bind host. Defaults to `127.0.0.1`. |
|
|
34
|
-
| `PORT` | Local port. Defaults to `49321`. |
|
|
35
|
-
| `AUVRYNT_ALLOWED_ROOTS` | Comma-separated local roots that workspaces may open. |
|
|
36
|
-
| `AUVRYNT_PUBLIC_BASE_URL` | Public origin
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
`
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core Environment Variables
|
|
30
|
+
|
|
31
|
+
| Variable | Purpose |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| `HOST` | Local bind host. Defaults to `127.0.0.1`. |
|
|
34
|
+
| `PORT` | Local port. Defaults to `49321`. |
|
|
35
|
+
| `AUVRYNT_ALLOWED_ROOTS` | Comma-separated local roots that workspaces may open. |
|
|
36
|
+
| `AUVRYNT_PUBLIC_BASE_URL` | Public origin used by foreground `auvrynt serve`, without `/mcp`. Non-loopback origins must use HTTPS. Managed `auvrynt start` supplies its tunnel URL automatically. |
|
|
37
|
+
| `AUVRYNT_TUNNEL_PROVIDER` | Managed background tunnel: `cloudflare` (default), `ngrok`, or `custom`. A custom provider can remain externally managed or use a Cloudflare Named Tunnel token so Auvrynt starts it. |
|
|
38
|
+
| `AUVRYNT_CLOUDFLARE_TUNNEL_TOKEN` | Optional non-Windows Cloudflare Named Tunnel token. On Windows, custom mode controls the installed `cloudflared` service with `sc.exe`; the service must already contain the Named Tunnel token. |
|
|
39
|
+
| `AUVRYNT_NGROK_AUTHTOKEN` | Optional ngrok token when ngrok is not already authenticated locally. |
|
|
40
|
+
| `AUVRYNT_NGROK_URL` | Optional stable HTTPS origin reserved on the ngrok account, such as `https://your-name.ngrok.app`. Auvrynt passes it through ngrok's `--url` option. |
|
|
41
|
+
| `AUVRYNT_ALLOWED_HOSTS` | Optional Host header allowlist override. |
|
|
42
|
+
| `AUVRYNT_OAUTH_OWNER_TOKEN` | Owner token for OAuth approval. Must be at least 16 characters. |
|
|
43
|
+
| `AUVRYNT_WORKTREE_ROOT` | Directory for managed Git worktrees. Defaults to `~/.auvrynt/worktrees`. |
|
|
44
|
+
| `AUVRYNT_STATE_DIR` | Directory for SQLite state. Defaults to `~/.local/share/auvrynt`. |
|
|
45
|
+
| `AUVRYNT_SESSION_IDLE_MS` | MCP session inactivity before automatic closure. Defaults to 12 hours; valid range is 1 minute to 7 days. Sessions with in-flight requests or tool calls are not expired. |
|
|
46
|
+
| `AUVRYNT_DISCONNECT_GRACE_MS` | Optional retention time after a session becomes disconnected. Defaults to `0`, so an idle session closes at its timeout without an additional grace period. Persistent processes started with `start_process` continue independently. |
|
|
47
|
+
| `AUVRYNT_MAX_SESSIONS` | Maximum reserved and established MCP sessions across all OAuth clients. Defaults to 999 and cannot be raised above 999. The Connectivity tab can persist any value from 1 to 999 when this environment variable is unset. |
|
|
48
|
+
| `AUVRYNT_MAX_SESSIONS_PER_CLIENT` | Maximum reserved and established MCP sessions for one OAuth client. Defaults to the global limit and cannot be raised above 999. The Connectivity tab keeps both persisted limits aligned. |
|
|
49
|
+
| `AUVRYNT_SERENA_ENABLED` | Enables the Serena runtime. When unset, startup enables Serena only if its executable or process is detected. Set to `0` to disable it completely. |
|
|
50
|
+
| `AUVRYNT_SERENA_INTEGRATION_ENABLED` | Controls whether Serena tools are advertised to MCP clients. When unset, detection decides the default. Disabling it removes Serena from active clients' tool lists and stops active Serena sessions. |
|
|
51
|
+
| `AUVRYNT_ASEPRITE_ENABLED` | Controls whether native Aseprite pixel-art tools are advertised. Defaults to enabled. |
|
|
52
|
+
| `AUVRYNT_ASEPRITE_PATH` | Optional direct path to `aseprite.exe`/`aseprite`. |
|
|
53
|
+
| `AUVRYNT_ASEPRITE_SOURCE_PATH` | Optional Aseprite source/build directory. Auvrynt checks `build/bin`, `bin`, then the source root for the executable. |
|
|
54
|
+
|
|
55
|
+
## OAuth
|
|
56
|
+
|
|
57
|
+
Auvrynt uses a single-user OAuth approval flow.
|
|
58
|
+
|
|
59
|
+
| Variable | Default |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `AUVRYNT_OAUTH_ACCESS_TOKEN_TTL_SECONDS` | `3600` |
|
|
62
|
+
| `AUVRYNT_OAUTH_REFRESH_TOKEN_TTL_SECONDS` | `2592000` |
|
|
63
|
+
| `AUVRYNT_OAUTH_SCOPES` | `auvrynt:read,auvrynt:write,auvrynt:process,auvrynt:web,auvrynt:software,auvrynt:godot,auvrynt:blender,auvrynt:aseprite,auvrynt:serena` |
|
|
64
|
+
| `AUVRYNT_OAUTH_ALLOWED_REDIRECT_HOSTS` | `grok.com,console.x.ai,chatgpt.com,claude.ai,claude.com,anthropic.com,oauth.lovable.app,lovable.app,lovable.dev,api.lovable.dev,bolt.new,clusy.io,app.clusy.io,docs.clusy.io,localhost,127.0.0.1` |
|
|
65
|
+
|
|
66
|
+
### Header-only MCP clients (Clusy and similar)
|
|
67
|
+
|
|
68
|
+
Some hosts only support **Streamable HTTP + custom headers** and never open the browser `/authorize` page. For those clients, Auvrynt accepts the **Owner token** as a Bearer access token:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
Authorization: Bearer <AUVRYNT_OWNER_TOKEN>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
That grant uses client id `auvrynt-owner-bearer` and the configured `AUVRYNT_OAUTH_SCOPES`. Prefer OAuth for Grok/Claude/ChatGPT; use Owner Bearer only for header-only hosts. Rotate the Owner token (`auvrynt token reset`) if it is ever exposed.
|
|
75
|
+
|
|
76
|
+
`auvrynt:blender-python` is intentionally **not** granted by default. Add it to `AUVRYNT_OAUTH_SCOPES` only when a trusted client must use the arbitrary Blender Python escape hatch. Auvrynt enforces scopes per tool call, not only at login.
|
|
77
|
+
|
|
78
|
+
OAuth scopes are the durable capability envelope; integration profiles are a second local execution gate. Changing profiles updates that local gate without closing MCP sessions or changing the public tunnel URL. Disabled integration tools are removed from active MCP tool lists, so agents do not keep planning calls to unavailable integrations. When the owner explicitly enables a profile, existing tokens receive only the required scopes that are already allowed by `AUVRYNT_OAUTH_SCOPES`.
|
|
79
|
+
|
|
80
|
+
MCP clients discover metadata from:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
/.well-known/oauth-protected-resource/mcp
|
|
84
|
+
/.well-known/oauth-authorization-server
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Tool Modes
|
|
88
|
+
|
|
89
|
+
`AUVRYNT_TOOL_NAMING` controls tool names.
|
|
90
|
+
|
|
91
|
+
| Value | Behavior |
|
|
92
|
+
| --- | --- |
|
|
93
|
+
| `short` | Default. Uses `read`, `edit`, `bash`, and related names. |
|
|
94
|
+
| `legacy` | Uses `read_file`, `edit_file`, `run_shell`, and related names. |
|
|
95
|
+
|
|
96
|
+
`AUVRYNT_TOOL_MODE` controls the tool surface.
|
|
97
|
+
|
|
98
|
+
| Value | Behavior |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `minimal` | Default. Disables dedicated search and list tools. Clients use the shell tool with `rg`, `grep`, `find`, `ls`, or `tree` for inspection. |
|
|
101
|
+
| `full` | Enables dedicated `grep`, `glob`, and `ls` tools. |
|
|
102
|
+
|
|
103
|
+
## Widgets
|
|
104
|
+
|
|
105
|
+
`AUVRYNT_WIDGETS` controls ChatGPT Apps iframe usage.
|
|
106
|
+
|
|
107
|
+
| Value | Behavior |
|
|
108
|
+
| --- | --- |
|
|
109
|
+
| `full` | Default. Widget UI is attached to exposed workspace, file, edit, and shell tools. |
|
|
110
|
+
| `changes` | Enables the aggregate `show_changes` tool and attaches widget UI to `open_workspace` and `show_changes`. |
|
|
111
|
+
| `off` | Disables widget UI. |
|
|
112
|
+
|
|
113
|
+
## Skills
|
|
114
|
+
|
|
115
|
+
| Variable | Purpose |
|
|
116
|
+
| --- | --- |
|
|
117
|
+
| `AUVRYNT_SKILLS` | Set to `0` to hide skills. Enabled by default. |
|
|
118
|
+
| `AUVRYNT_AGENT_DIR` | Defaults to `~/.codex`. |
|
|
119
|
+
| `AUVRYNT_SKILL_PATHS` | Optional comma-separated skill directories. |
|
|
120
|
+
|
|
121
|
+
Example:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
AUVRYNT_SKILL_PATHS="$HOME/.codex/skills,$HOME/.claude/skills" \
|
|
98
125
|
npx auvrynt start
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Logging
|
|
102
|
-
|
|
103
|
-
| Variable | Default |
|
|
104
|
-
| --- | --- |
|
|
105
|
-
| `AUVRYNT_LOG_LEVEL` | `info` |
|
|
106
|
-
| `AUVRYNT_LOG_FORMAT` | `json` |
|
|
107
|
-
| `AUVRYNT_LOG_REQUESTS` | `1` |
|
|
108
|
-
| `AUVRYNT_LOG_ASSETS` | `0` |
|
|
109
|
-
| `AUVRYNT_LOG_TOOL_CALLS` | `1` |
|
|
110
|
-
| `AUVRYNT_LOG_SHELL_COMMANDS` | `0` |
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Logging
|
|
129
|
+
|
|
130
|
+
| Variable | Default |
|
|
131
|
+
| --- | --- |
|
|
132
|
+
| `AUVRYNT_LOG_LEVEL` | `info` |
|
|
133
|
+
| `AUVRYNT_LOG_FORMAT` | `json` |
|
|
134
|
+
| `AUVRYNT_LOG_REQUESTS` | `1` |
|
|
135
|
+
| `AUVRYNT_LOG_ASSETS` | `0` |
|
|
136
|
+
| `AUVRYNT_LOG_TOOL_CALLS` | `1` |
|
|
137
|
+
| `AUVRYNT_LOG_SHELL_COMMANDS` | `0` |
|
|
138
|
+
|
|
139
|
+
Auvrynt trusts forwarded client information only from an immediate loopback proxy. This is fixed behavior rather than a runtime toggle so direct remote clients cannot opt into spoofable forwarding headers.
|
|
140
|
+
|
|
141
|
+
Plain HTTP public origins are rejected unless the hostname is loopback (`localhost`, `127.0.0.0/8`, or `::1`). Use HTTPS for every tunnel, reverse proxy, LAN hostname, and public deployment.
|
|
142
|
+
|
|
143
|
+
Run `auvrynt tunnel` to switch the managed provider interactively. With ngrok, leaving the stable URL blank uses an assigned URL; supplying `AUVRYNT_NGROK_URL` or saving the same value through the tunnel command keeps that origin across hard restarts as long as the reservation remains available. Auvrynt discovers the active ngrok URL from that process's structured startup logs rather than querying the shared `127.0.0.1:4040` inspector API, so another local ngrok process cannot be mistaken for Auvrynt's tunnel.
|
|
144
|
+
|
|
145
|
+
Set `AUVRYNT_LOG_FORMAT=pretty` for local debugging.
|
|
146
|
+
|
|
147
|
+
Set `AUVRYNT_LOG_SHELL_COMMANDS=1` only when you intentionally want command
|
|
148
|
+
previews in logs.
|
|
149
|
+
|
|
150
|
+
## Env-Only Example
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
AUVRYNT_OAUTH_OWNER_TOKEN="$(openssl rand -base64 32)" \
|
|
154
|
+
AUVRYNT_ALLOWED_ROOTS="$HOME/personal,$HOME/work" \
|
|
155
|
+
AUVRYNT_PUBLIC_BASE_URL="https://auvrynt.example.com" \
|
|
156
|
+
AUVRYNT_WORKTREE_ROOT="$HOME/.auvrynt/worktrees" \
|
|
157
|
+
AUVRYNT_TOOL_MODE="minimal" \
|
|
158
|
+
AUVRYNT_TOOL_NAMING="short" \
|
|
159
|
+
AUVRYNT_WIDGETS="full" \
|
|
128
160
|
npx auvrynt start
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
The environment assignments must be part of the same command invocation, or
|
|
132
|
-
exported first.
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
The environment assignments must be part of the same command invocation, or
|
|
164
|
+
exported first.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Diagnostics Endpoints
|
|
2
|
+
|
|
3
|
+
Auvrynt exposes two unauthenticated diagnostic HTTP endpoints for health monitoring. Detailed process and resource information is returned only to loopback clients. Requests arriving through a trusted local tunnel proxy receive minimal responses so public health checks do not disclose internal state.
|
|
4
|
+
|
|
5
|
+
Both endpoints send `Cache-Control: no-store`.
|
|
6
|
+
|
|
7
|
+
## /healthz
|
|
8
|
+
|
|
9
|
+
Simple liveness check with no database or external I/O.
|
|
10
|
+
|
|
11
|
+
### Public response (200 OK)
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"ok": true
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Loopback response (200 OK)
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"ok": true,
|
|
24
|
+
"name": "auvrynt",
|
|
25
|
+
"pid": 12345,
|
|
26
|
+
"uptimeSeconds": 3600
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## /readyz
|
|
31
|
+
|
|
32
|
+
Readiness endpoint. It returns HTTP 503 while the server is shutting down or reconfiguring.
|
|
33
|
+
|
|
34
|
+
### Public response
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"ready": true
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The same minimal shape is returned with HTTP 503 and `ready: false` when unavailable.
|
|
43
|
+
|
|
44
|
+
### Loopback response (200 OK)
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"ready": true,
|
|
49
|
+
"sessions": 1,
|
|
50
|
+
"sessionsByState": {
|
|
51
|
+
"initializing": 0,
|
|
52
|
+
"active": 1,
|
|
53
|
+
"disconnected": 0,
|
|
54
|
+
"closing": 0
|
|
55
|
+
},
|
|
56
|
+
"activeMcpRequests": 0,
|
|
57
|
+
"activeToolCalls": 0,
|
|
58
|
+
"runningProcesses": 0,
|
|
59
|
+
"eventLoopDelay": 1,
|
|
60
|
+
"memory": {
|
|
61
|
+
"rss": 123456789,
|
|
62
|
+
"heapTotal": 98765432,
|
|
63
|
+
"heapUsed": 45678901
|
|
64
|
+
},
|
|
65
|
+
"integrationQueues": {}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The detailed loopback response may include additional bounded diagnostic fields as the server evolves.
|
|
70
|
+
|
|
71
|
+
### Usage
|
|
72
|
+
|
|
73
|
+
- Use `/healthz` for load-balancer and tunnel liveness checks.
|
|
74
|
+
- Use `/readyz` to decide whether new MCP work should be accepted.
|
|
75
|
+
- Inspect `/readyz` locally when diagnosing sessions, process load, memory, integration queues, or a 502 response.
|
|
76
|
+
- Long-running MCP SSE responses emit a comment heartbeat every 15 seconds so tunnels do not treat a silent build or render as abandoned.
|
|
77
|
+
- Oversized tool results are truncated or have inline binary omitted before transmission. Request a narrower file range, fewer results, or a smaller image when the response includes an Auvrynt truncation notice.
|
|
78
|
+
- Browser screenshots and Blender/image outputs are still saved locally when they are too large to embed safely.
|
|
79
|
+
- Do not expose another proxy layer that rewrites remote requests to appear as direct loopback traffic.
|