cartethyia 0.0.0-stage → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +124 -0
- package/LICENSE +674 -0
- package/README.md +79 -2
- package/dist/dashboard/assets/AccountCooldown-ChpdzxRH.js +1 -0
- package/dist/dashboard/assets/BannedPage-ClPA4nQv.js +1 -0
- package/dist/dashboard/assets/CliToolDetailPage-Bevb0yY1.js +1 -0
- package/dist/dashboard/assets/CliToolsPage-DsryPzyc.js +1 -0
- package/dist/dashboard/assets/CombosPage-B7ETkfVH.js +1 -0
- package/dist/dashboard/assets/ConsoleLogPage-CTzqdm6k.js +1 -0
- package/dist/dashboard/assets/CustomizationPage-CMxyDZej.js +1 -0
- package/dist/dashboard/assets/HealthEventsModal-CxkQ4JaG.js +1 -0
- package/dist/dashboard/assets/LoginPage-CL2GR7wU.js +1 -0
- package/dist/dashboard/assets/ModelPicker-CAiPR5Vd.js +1 -0
- package/dist/dashboard/assets/OverviewPage-b0Ggk2qb.js +1 -0
- package/dist/dashboard/assets/ProviderDetailPage-Y1Q4UPbO.js +3 -0
- package/dist/dashboard/assets/ProviderIcon-paOCq8I0.js +1 -0
- package/dist/dashboard/assets/ProvidersPage-C-GI5Qrf.js +1 -0
- package/dist/dashboard/assets/ProxyPage-d7vbm79h.js +7 -0
- package/dist/dashboard/assets/QuotaPage-BmLGXSiw.js +1 -0
- package/dist/dashboard/assets/SettingsPage-YxRml8AT.js +1 -0
- package/dist/dashboard/assets/SetupPage-BZ2NsM8f.js +1 -0
- package/dist/dashboard/assets/SortableList-Bol1ASmI.js +1 -0
- package/dist/dashboard/assets/StudioPage-txsvSOwb.js +31 -0
- package/dist/dashboard/assets/ToolIcon-K1ckcDKg.js +1 -0
- package/dist/dashboard/assets/UsagePage-D8C_HZBY.js +56 -0
- package/dist/dashboard/assets/api-keys-CjIGQhe7.js +1 -0
- package/dist/dashboard/assets/app-BDJWMThu.js +9 -0
- package/dist/dashboard/assets/app-Cjgo4-Lf.css +2 -0
- package/dist/dashboard/assets/arrow-left-CpBxkoxI.js +1 -0
- package/dist/dashboard/assets/arrow-right-Dl5yKnp8.js +1 -0
- package/dist/dashboard/assets/assert-Bwh6DJTK.js +1 -0
- package/dist/dashboard/assets/backup-file-gdKIlg8U.js +1 -0
- package/dist/dashboard/assets/badge-BwmwEOgA.js +1 -0
- package/dist/dashboard/assets/banner-BKBfKTqn.js +1 -0
- package/dist/dashboard/assets/brain-Cwed_72z.js +1 -0
- package/dist/dashboard/assets/brand/bansos_page.png +0 -0
- package/dist/dashboard/assets/brand/denia_bansos.jpg +0 -0
- package/dist/dashboard/assets/brand/favicon.jpg +0 -0
- package/dist/dashboard/assets/brand/login_register.jpg +0 -0
- package/dist/dashboard/assets/brand/og_bansos.webp +0 -0
- package/dist/dashboard/assets/brand/og_image.webp +0 -0
- package/dist/dashboard/assets/brand/sidebar_ico.jpg +0 -0
- package/dist/dashboard/assets/card-BTdbRFFg.js +1 -0
- package/dist/dashboard/assets/check-D69FzdvC.js +1 -0
- package/dist/dashboard/assets/chevron-right-BXIy5l3h.js +1 -0
- package/dist/dashboard/assets/circle-alert-CntYHV5v.js +1 -0
- package/dist/dashboard/assets/circle-check-BU3v_mFW.js +1 -0
- package/dist/dashboard/assets/cli-tools-DccaOfhX.js +1 -0
- package/dist/dashboard/assets/clipboard-button-DQmMikNQ.js +1 -0
- package/dist/dashboard/assets/cog-CdWhsajs.js +1 -0
- package/dist/dashboard/assets/copy-ngmQ9zcZ.js +1 -0
- package/dist/dashboard/assets/dialog-actions-B1axpEg7.js +1 -0
- package/dist/dashboard/assets/dialog-iocKA3jr.js +1 -0
- package/dist/dashboard/assets/download-A0SW9OCW.js +1 -0
- package/dist/dashboard/assets/download-dRFo5_Wu.js +1 -0
- package/dist/dashboard/assets/drawer-CDKOTZdY.js +1 -0
- package/dist/dashboard/assets/entry-DcX5sMzh.js +4 -0
- package/dist/dashboard/assets/entry-Dm3PpDCO.js +1 -0
- package/dist/dashboard/assets/entry-keNDZ_Wz.js +1 -0
- package/dist/dashboard/assets/eye-C_hawfH4.js +1 -0
- package/dist/dashboard/assets/eye-off-Bk5g2luF.js +1 -0
- package/dist/dashboard/assets/fingerprint-pattern-BWuHtbW4.js +1 -0
- package/dist/dashboard/assets/gauge-BbIMy7MB.js +1 -0
- package/dist/dashboard/assets/github-badge-BuAJr8oU.js +1 -0
- package/dist/dashboard/assets/image-BPaouViG.js +1 -0
- package/dist/dashboard/assets/index-By44uTGZ.js +2 -0
- package/dist/dashboard/assets/inline-DCejSLlA.js +1 -0
- package/dist/dashboard/assets/input-Bn4_kNav.js +1 -0
- package/dist/dashboard/assets/jsx-runtime-CXUMngI_.js +1 -0
- package/dist/dashboard/assets/key-round-UkavsGxp.js +1 -0
- package/dist/dashboard/assets/layers-2-glBbjl.js +1 -0
- package/dist/dashboard/assets/layout-Bv-NxqZ5.js +1 -0
- package/dist/dashboard/assets/list-row-BLA0sldD.js +1 -0
- package/dist/dashboard/assets/live-YlifPYox.js +1 -0
- package/dist/dashboard/assets/log-in-BmRjy60c.js +1 -0
- package/dist/dashboard/assets/message-circle-CCxGwRvv.js +1 -0
- package/dist/dashboard/assets/model-bans-CVvHZ-qz.js +1 -0
- package/dist/dashboard/assets/mutation-BIizFZav.js +1 -0
- package/dist/dashboard/assets/numbers-CFL4_Dqc.js +1 -0
- package/dist/dashboard/assets/pencil-768ysRAr.js +1 -0
- package/dist/dashboard/assets/plus-DIdX_g-x.js +1 -0
- package/dist/dashboard/assets/privacy-mode-CQjbZ3xk.js +1 -0
- package/dist/dashboard/assets/providers/agentrouter.svg +6 -0
- package/dist/dashboard/assets/providers/aihubmix.svg +1 -0
- package/dist/dashboard/assets/providers/alibaba-coding-plan.svg +6 -0
- package/dist/dashboard/assets/providers/alibaba.svg +1 -0
- package/dist/dashboard/assets/providers/amp.webp +0 -0
- package/dist/dashboard/assets/providers/anthropics.webp +0 -0
- package/dist/dashboard/assets/providers/antigravity.svg +20 -0
- package/dist/dashboard/assets/providers/bai.svg +6 -0
- package/dist/dashboard/assets/providers/blackbox.svg +1 -0
- package/dist/dashboard/assets/providers/cerebras.webp +0 -0
- package/dist/dashboard/assets/providers/claude-code.svg +1 -0
- package/dist/dashboard/assets/providers/claude.webp +0 -0
- package/dist/dashboard/assets/providers/cline.webp +0 -0
- package/dist/dashboard/assets/providers/codebuddy.webp +0 -0
- package/dist/dashboard/assets/providers/codex.webp +0 -0
- package/dist/dashboard/assets/providers/commandcode.webp +0 -0
- package/dist/dashboard/assets/providers/continue.webp +0 -0
- package/dist/dashboard/assets/providers/copilot.webp +0 -0
- package/dist/dashboard/assets/providers/deepseek-tui.webp +0 -0
- package/dist/dashboard/assets/providers/deepseek.webp +0 -0
- package/dist/dashboard/assets/providers/droid.webp +0 -0
- package/dist/dashboard/assets/providers/exa.svg +4 -0
- package/dist/dashboard/assets/providers/fireworks.webp +0 -0
- package/dist/dashboard/assets/providers/gemini.webp +0 -0
- package/dist/dashboard/assets/providers/github.webp +0 -0
- package/dist/dashboard/assets/providers/gmi-cloud.svg +6 -0
- package/dist/dashboard/assets/providers/grok-build.webp +0 -0
- package/dist/dashboard/assets/providers/hermes.webp +0 -0
- package/dist/dashboard/assets/providers/inferhub.svg +17 -0
- package/dist/dashboard/assets/providers/jcode.webp +0 -0
- package/dist/dashboard/assets/providers/kilocode-gateway.webp +0 -0
- package/dist/dashboard/assets/providers/kilocode.webp +0 -0
- package/dist/dashboard/assets/providers/kimchi.webp +0 -0
- package/dist/dashboard/assets/providers/kimi-code.webp +0 -0
- package/dist/dashboard/assets/providers/kiro.webp +0 -0
- package/dist/dashboard/assets/providers/mimo.webp +0 -0
- package/dist/dashboard/assets/providers/mistral.webp +0 -0
- package/dist/dashboard/assets/providers/muse.svg +6 -0
- package/dist/dashboard/assets/providers/nous-research.svg +1 -0
- package/dist/dashboard/assets/providers/nvidia.webp +0 -0
- package/dist/dashboard/assets/providers/ollama-cloud.webp +0 -0
- package/dist/dashboard/assets/providers/ollama.webp +0 -0
- package/dist/dashboard/assets/providers/openai-light.svg +1 -0
- package/dist/dashboard/assets/providers/openclaw.webp +0 -0
- package/dist/dashboard/assets/providers/opencode-go.webp +0 -0
- package/dist/dashboard/assets/providers/opencode.webp +0 -0
- package/dist/dashboard/assets/providers/openrouter.webp +0 -0
- package/dist/dashboard/assets/providers/parallel.svg +6 -0
- package/dist/dashboard/assets/providers/perplexity.webp +0 -0
- package/dist/dashboard/assets/providers/qoder.webp +0 -0
- package/dist/dashboard/assets/providers/qwen.webp +0 -0
- package/dist/dashboard/assets/providers/roo.webp +0 -0
- package/dist/dashboard/assets/providers/tokenharbor.svg +27 -0
- package/dist/dashboard/assets/providers/zai-coding-plan.svg +6 -0
- package/dist/dashboard/assets/query-keys-ROf-g1Wi.js +1 -0
- package/dist/dashboard/assets/quota-DZGyp0N5.js +1 -0
- package/dist/dashboard/assets/refresh-cw-BqJFk4sU.js +1 -0
- package/dist/dashboard/assets/rotate-ccw-CufcqITi.js +1 -0
- package/dist/dashboard/assets/route-CNSNj9Zm.js +1 -0
- package/dist/dashboard/assets/routing-jntw9-Ui.js +1 -0
- package/dist/dashboard/assets/scaling-nWE4Cx8f.js +1 -0
- package/dist/dashboard/assets/search-JOKus9rb.js +1 -0
- package/dist/dashboard/assets/select-CGUuTQmj.js +41 -0
- package/dist/dashboard/assets/settings-BAS6QbmJ.js +1 -0
- package/dist/dashboard/assets/shield-check-DVS0Foqh.js +1 -0
- package/dist/dashboard/assets/sliders-horizontal-ClG7dBeJ.js +1 -0
- package/dist/dashboard/assets/sparkles-BRaRUxAU.js +1 -0
- package/dist/dashboard/assets/stack-C1kTcOmP.js +1 -0
- package/dist/dashboard/assets/state-DHKdg-pm.js +1 -0
- package/dist/dashboard/assets/story/25817331.webp +0 -0
- package/dist/dashboard/assets/story/Shorekeeper.webp +0 -0
- package/dist/dashboard/assets/story/cartethyia-god.webp +0 -0
- package/dist/dashboard/assets/story/fleurdelys_plus.webp +0 -0
- package/dist/dashboard/assets/story/jinhsi-blossom.webp +0 -0
- package/dist/dashboard/assets/story/phrolova-a.webp +0 -0
- package/dist/dashboard/assets/story/requestdeniawokkjpg.webp +0 -0
- package/dist/dashboard/assets/story/wuthering-waves-hiyuki-aemeath-hiyuki-rover.webp +0 -0
- package/dist/dashboard/assets/stream-retry-5QnVuSSo.js +1 -0
- package/dist/dashboard/assets/switch-DIDeAiz9.js +1 -0
- package/dist/dashboard/assets/terminal-C9mZ4Ugm.js +1 -0
- package/dist/dashboard/assets/toast-DKAdP2mo.js +2 -0
- package/dist/dashboard/assets/tokens-DDxMbSRL.js +1 -0
- package/dist/dashboard/assets/trash-Cppn5c3R.js +1 -0
- package/dist/dashboard/assets/use-clipboard-B0Sy03fE.js +1 -0
- package/dist/dashboard/assets/use-presence-BSZEBx7U.js +1 -0
- package/dist/dashboard/assets/use-reduced-motion-C4B0R6Sz.js +1 -0
- package/dist/dashboard/assets/use-timeout-BwcBBRrT.js +1 -0
- package/dist/dashboard/assets/useMutation-DVmwOKU-.js +1 -0
- package/dist/dashboard/assets/wrench-B6E1oEuY.js +1 -0
- package/dist/dashboard/console-backgrounds.jpg +0 -0
- package/dist/dashboard/index.html +100 -0
- package/migrations/README.md +52 -0
- package/migrations/full-postgres/0000_baseline.sql +510 -0
- package/migrations/full-postgres/0001_allow_multiple_shared_keys_per_ip.sql +1 -0
- package/migrations/full-postgres/0002_add_gemini_wire_family.sql +29 -0
- package/migrations/full-postgres/0003_add_models_model_id_index.sql +16 -0
- package/migrations/full-postgres/0004_add_model_block_hits.sql +17 -0
- package/migrations/full-postgres/0005_add_buddy_usage_snapshots.sql +25 -0
- package/migrations/full-postgres/0006_add_buddy_task_ledger.sql +24 -0
- package/migrations/full-postgres/0007_add_telemetry_payload_capture_state.sql +17 -0
- package/migrations/full-postgres/0008_add_models_route_unique_index.sql +8 -0
- package/migrations/full-postgres/0009_rename_opencode_provider_ids.sql +232 -0
- package/migrations/full-postgres/0010_add_provider_max_inflight_per_proxy.sql +14 -0
- package/migrations/full-postgres/0011_add_pool_provider_probe.sql +21 -0
- package/migrations/full-postgres/0012_add_reported_model.sql +13 -0
- package/migrations/lite-sqlite3/0000_baseline.sql +559 -0
- package/migrations/lite-sqlite3/0001_allow_multiple_shared_keys_per_ip.sql +1 -0
- package/migrations/lite-sqlite3/0002_add_gemini_wire_family.sql +67 -0
- package/migrations/lite-sqlite3/0003_add_models_model_id_index.sql +4 -0
- package/migrations/lite-sqlite3/0004_add_model_block_hits.sql +11 -0
- package/migrations/lite-sqlite3/0005_add_buddy_usage_snapshots.sql +24 -0
- package/migrations/lite-sqlite3/0006_add_buddy_task_ledger.sql +21 -0
- package/migrations/lite-sqlite3/0007_add_telemetry_payload_capture_state.sql +12 -0
- package/migrations/lite-sqlite3/0008_add_models_route_unique_index.sql +8 -0
- package/migrations/lite-sqlite3/0009_rename_opencode_provider_ids.sql +229 -0
- package/migrations/lite-sqlite3/0010_add_provider_max_inflight_per_proxy.sql +14 -0
- package/migrations/lite-sqlite3/0011_add_pool_provider_probe.sql +27 -0
- package/migrations/lite-sqlite3/0012_add_reported_model.sql +13 -0
- package/package.json +96 -4
- package/scripts/cli/carte-launcher.cjs +4 -0
- package/scripts/cli/cli-launcher.cjs +102 -0
- package/scripts/cli/cli.ts +576 -0
- package/scripts/cli/doctor.ts +258 -0
- package/scripts/cli/setup.ts +443 -0
- package/scripts/operations/probe-egress.ts +335 -0
- package/scripts/operations/restart.ts +120 -0
- package/scripts/shared/env.ts +269 -0
- package/src/boot/app.ts +637 -0
- package/src/boot/dependencies.ts +574 -0
- package/src/boot/lifecycle.ts +244 -0
- package/src/boot/timeout.ts +48 -0
- package/src/config/cooldowns.ts +138 -0
- package/src/config/network.ts +126 -0
- package/src/config/package-paths.ts +40 -0
- package/src/config/providers.ts +70 -0
- package/src/config/runtime.ts +60 -0
- package/src/config/security.ts +58 -0
- package/src/config/spec.ts +288 -0
- package/src/config/telemetry.ts +21 -0
- package/src/config/timeouts.ts +114 -0
- package/src/console/admin/model-abuse/contracts.ts +16 -0
- package/src/console/admin/model-abuse/routes.ts +44 -0
- package/src/console/api-keys/bucket-spend.ts +45 -0
- package/src/console/api-keys/contracts.ts +391 -0
- package/src/console/api-keys/routes.ts +870 -0
- package/src/console/api-keys/share-popup-image.ts +71 -0
- package/src/console/audit/contracts.ts +77 -0
- package/src/console/audit/routes.ts +32 -0
- package/src/console/audit/store.ts +139 -0
- package/src/console/auth/access.ts +4 -0
- package/src/console/auth/audit-recorder.ts +82 -0
- package/src/console/auth/credentials.ts +53 -0
- package/src/console/auth/lockout.ts +154 -0
- package/src/console/auth/row-coercion.ts +76 -0
- package/src/console/auth/session-resolver.ts +86 -0
- package/src/console/auth/session-service.ts +175 -0
- package/src/console/auth/session.ts +536 -0
- package/src/console/auth/setup-service.ts +272 -0
- package/src/console/auth/user-store.ts +41 -0
- package/src/console/backup/9router-map.ts +172 -0
- package/src/console/backup/contracts.ts +534 -0
- package/src/console/backup/nine-router.ts +528 -0
- package/src/console/backup/routes.ts +210 -0
- package/src/console/backup/service.ts +403 -0
- package/src/console/backup/store.ts +773 -0
- package/src/console/backup/validate.ts +484 -0
- package/src/console/cli-tools/contracts.ts +746 -0
- package/src/console/cli-tools/fs-ops.ts +487 -0
- package/src/console/cli-tools/injectors/claude.ts +130 -0
- package/src/console/cli-tools/injectors/cline.ts +110 -0
- package/src/console/cli-tools/injectors/codex.ts +181 -0
- package/src/console/cli-tools/injectors/copilot.ts +108 -0
- package/src/console/cli-tools/injectors/cowork.ts +64 -0
- package/src/console/cli-tools/injectors/deepseek-tui.ts +85 -0
- package/src/console/cli-tools/injectors/driver.ts +247 -0
- package/src/console/cli-tools/injectors/droid.ts +96 -0
- package/src/console/cli-tools/injectors/grok-build.ts +70 -0
- package/src/console/cli-tools/injectors/hermes.ts +101 -0
- package/src/console/cli-tools/injectors/jcode.ts +115 -0
- package/src/console/cli-tools/injectors/kilo.ts +90 -0
- package/src/console/cli-tools/injectors/openclaw.ts +161 -0
- package/src/console/cli-tools/injectors/opencode.ts +153 -0
- package/src/console/cli-tools/routes.ts +339 -0
- package/src/console/cli-tools/secret-source.ts +101 -0
- package/src/console/cli-tools/service.ts +336 -0
- package/src/console/cli-tools/store.ts +179 -0
- package/src/console/console-router-guards.ts +111 -0
- package/src/console/console-router.ts +223 -0
- package/src/console/dashboard-assets.ts +340 -0
- package/src/console/domain-registration.ts +318 -0
- package/src/console/observability/contracts.ts +423 -0
- package/src/console/observability/live.ts +158 -0
- package/src/console/observability/logs.ts +87 -0
- package/src/console/observability/performance-contracts.ts +5 -0
- package/src/console/observability/performance.ts +23 -0
- package/src/console/observability/routes.ts +93 -0
- package/src/console/observability/sse.ts +97 -0
- package/src/console/observability/store.ts +912 -0
- package/src/console/observability/usage-dimensions.ts +19 -0
- package/src/console/observability/usage-periods.ts +13 -0
- package/src/console/providers/catalog/catalog-projections.ts +104 -0
- package/src/console/providers/catalog/contracts.ts +846 -0
- package/src/console/providers/catalog/model-operations.ts +342 -0
- package/src/console/providers/catalog/provider-operations.ts +655 -0
- package/src/console/providers/catalog/public-model-store.ts +676 -0
- package/src/console/providers/catalog/routes.ts +377 -0
- package/src/console/providers/catalog/store.ts +1521 -0
- package/src/console/providers/detail/contracts.ts +34 -0
- package/src/console/providers/detail/routes.ts +195 -0
- package/src/console/providers/detail/store.ts +159 -0
- package/src/console/providers/oauth/callback-listener.ts +328 -0
- package/src/console/providers/oauth/routes.ts +707 -0
- package/src/console/quota/account-quota-global.ts +154 -0
- package/src/console/quota/account-quota-shared.ts +39 -0
- package/src/console/quota/account-quota-tenant.ts +1096 -0
- package/src/console/quota/account-quota.ts +22 -0
- package/src/console/quota/account-test-egress.ts +182 -0
- package/src/console/quota/cache.ts +358 -0
- package/src/console/quota/quota-view.ts +190 -0
- package/src/console/quota/refresh.ts +410 -0
- package/src/console/response-compression.ts +162 -0
- package/src/console/routing/model/contracts.ts +202 -0
- package/src/console/routing/model/operations.ts +455 -0
- package/src/console/routing/model/routes.ts +136 -0
- package/src/console/routing/model/store.ts +430 -0
- package/src/console/routing/pools/contracts.ts +508 -0
- package/src/console/routing/pools/operations.ts +501 -0
- package/src/console/routing/pools/probe-result.ts +59 -0
- package/src/console/routing/pools/probe-verdict.ts +60 -0
- package/src/console/routing/pools/relay-deploy.ts +325 -0
- package/src/console/routing/pools/relay-regions.ts +97 -0
- package/src/console/routing/pools/routes.ts +164 -0
- package/src/console/routing/pools/speed-test-sizes.ts +16 -0
- package/src/console/routing/pools/store.ts +778 -0
- package/src/console/settings/contracts.ts +153 -0
- package/src/console/settings/routes.ts +30 -0
- package/src/console/settings/store.ts +152 -0
- package/src/console/share/share-router.ts +457 -0
- package/src/console/share/share-stats.ts +341 -0
- package/src/console/share/share-usage.ts +266 -0
- package/src/console/shared/cursor.ts +151 -0
- package/src/console/shared/day.ts +27 -0
- package/src/console/shared/elysia-schema.ts +19 -0
- package/src/console/shared/errors.ts +174 -0
- package/src/console/shared/ip-privacy.ts +14 -0
- package/src/console/shared/query.ts +22 -0
- package/src/console/shared/read-through-cache.ts +49 -0
- package/src/console/updates/repository-updates.ts +34 -0
- package/src/console/updates/routes.ts +17 -0
- package/src/console/updates/version-compare.ts +73 -0
- package/src/main.ts +142 -0
- package/src/network/backoff.ts +31 -0
- package/src/network/deduplication.ts +37 -0
- package/src/network/outbound-fetch.ts +302 -0
- package/src/network/pool/agent.ts +460 -0
- package/src/network/pool/byte-accounting.ts +146 -0
- package/src/network/pool/loader.ts +56 -0
- package/src/network/pool/pool-scripts.ts +110 -0
- package/src/network/pool/pool-state.ts +169 -0
- package/src/network/pool/resolver.ts +544 -0
- package/src/network/pool/selector.ts +844 -0
- package/src/network/pool-health-machine.ts +247 -0
- package/src/network/pool-health.ts +183 -0
- package/src/network/response-headers.ts +39 -0
- package/src/network/retry.ts +53 -0
- package/src/network/ssrf.ts +253 -0
- package/src/network/types.ts +55 -0
- package/src/observability/event-log.ts +267 -0
- package/src/observability/log-ring.ts +136 -0
- package/src/observability/logger.ts +178 -0
- package/src/observability/metrics.ts +395 -0
- package/src/observability/payload-capture.ts +324 -0
- package/src/observability/payload-store.ts +366 -0
- package/src/observability/performance-metrics.ts +81 -0
- package/src/observability/redaction.ts +83 -0
- package/src/observability/runtime-metrics.ts +177 -0
- package/src/observability/telemetry-buffer.ts +385 -0
- package/src/observability/telemetry-status.ts +133 -0
- package/src/observability/token-speed.ts +78 -0
- package/src/persistence/boot.ts +168 -0
- package/src/persistence/connection-url.ts +78 -0
- package/src/persistence/db-handle.ts +47 -0
- package/src/persistence/db-mode.ts +63 -0
- package/src/persistence/db-pg.ts +246 -0
- package/src/persistence/db-sqlite.ts +495 -0
- package/src/persistence/dialect.ts +148 -0
- package/src/persistence/migrate.ts +129 -0
- package/src/persistence/readiness.ts +209 -0
- package/src/persistence/redis.ts +187 -0
- package/src/persistence/schema.ts +1257 -0
- package/src/persistence/settings-revision.ts +23 -0
- package/src/persistence/sort-order.ts +85 -0
- package/src/persistence/stores/api-key-store.ts +563 -0
- package/src/persistence/stores/share-store.ts +528 -0
- package/src/persistence/stores/telemetry-store.ts +214 -0
- package/src/persistence/tenant-preferences.ts +96 -0
- package/src/persistence/tenant-scope.ts +42 -0
- package/src/persistence/ttl-cache.ts +181 -0
- package/src/persistence/usage-flush.ts +164 -0
- package/src/protocol/canonical-model.ts +658 -0
- package/src/protocol/codecs.ts +948 -0
- package/src/protocol/gateway-error.ts +231 -0
- package/src/protocol/image-clamp.ts +126 -0
- package/src/protocol/image-generation.ts +117 -0
- package/src/protocol/messages-errors.ts +91 -0
- package/src/protocol/registry.ts +202 -0
- package/src/protocol/request/chat.ts +548 -0
- package/src/protocol/request/codex.ts +696 -0
- package/src/protocol/request/gemini.ts +314 -0
- package/src/protocol/request/messages.ts +892 -0
- package/src/protocol/request/responses.ts +400 -0
- package/src/protocol/response/chat.ts +430 -0
- package/src/protocol/response/codex.ts +754 -0
- package/src/protocol/response/dsml.ts +47 -0
- package/src/protocol/response/gemini.ts +155 -0
- package/src/protocol/response/messages.ts +508 -0
- package/src/protocol/response/responses.ts +743 -0
- package/src/protocol/sse-decoder.ts +210 -0
- package/src/protocol/sse-frame.ts +36 -0
- package/src/protocol/stop-reason.ts +62 -0
- package/src/protocol/stream-error-frames.ts +78 -0
- package/src/protocol/tool-identity.ts +191 -0
- package/src/protocol/upstream/post-json.ts +34 -0
- package/src/protocol/upstream/send-claude-messages.ts +88 -0
- package/src/providers/adapters/base-adapter.ts +80 -0
- package/src/providers/adapters/compatible-adapter.ts +429 -0
- package/src/providers/authentication/jwt-validator.ts +446 -0
- package/src/providers/authentication/oauth-client.ts +253 -0
- package/src/providers/authentication/oauth-device-flow.ts +107 -0
- package/src/providers/authentication/oauth-flow-store.ts +732 -0
- package/src/providers/authentication/oauth-refresh-service.ts +643 -0
- package/src/providers/authentication/static-token-detection.ts +48 -0
- package/src/providers/bundled-discovery-providers.ts +119 -0
- package/src/providers/configured-openai-providers.ts +135 -0
- package/src/providers/configured-provider.ts +100 -0
- package/src/providers/default-registry.ts +695 -0
- package/src/providers/discovery/catalog/catalog-blob.ts +18 -0
- package/src/providers/discovery/catalog/catalog-format.ts +460 -0
- package/src/providers/discovery/discovery-types.ts +149 -0
- package/src/providers/discovery/models-dev-catalog.ts +337 -0
- package/src/providers/discovery/openai-model-discovery.ts +163 -0
- package/src/providers/discovery/probe-phases.ts +712 -0
- package/src/providers/discovery/probe-wire.ts +213 -0
- package/src/providers/discovery/probing-service.ts +1001 -0
- package/src/providers/integrations/.codegen-stamp +1 -0
- package/src/providers/integrations/agentrouter/agentrouter.ts +131 -0
- package/src/providers/integrations/aihubmix.ts +27 -0
- package/src/providers/integrations/alibabacp/alibabacp-models.ts +66 -0
- package/src/providers/integrations/alibabacp/alibabacp-oauth.ts +127 -0
- package/src/providers/integrations/alibabacp/alibabacp.ts +112 -0
- package/src/providers/integrations/anthropic.ts +171 -0
- package/src/providers/integrations/antigravity/antigravity-oauth.ts +215 -0
- package/src/providers/integrations/antigravity/antigravity-protocol.ts +788 -0
- package/src/providers/integrations/antigravity/antigravity-quota.ts +326 -0
- package/src/providers/integrations/antigravity/antigravity.ts +1012 -0
- package/src/providers/integrations/bai.ts +40 -0
- package/src/providers/integrations/buddy/buddy-catalog-shared.ts +258 -0
- package/src/providers/integrations/buddy/buddy-chat-shared.ts +914 -0
- package/src/providers/integrations/buddy/buddy-checkin.ts +546 -0
- package/src/providers/integrations/buddy/buddy-conversation-headers.ts +94 -0
- package/src/providers/integrations/buddy/buddy-discovery-shared.ts +175 -0
- package/src/providers/integrations/buddy/buddy-growth-shared.ts +578 -0
- package/src/providers/integrations/buddy/buddy-media.ts +424 -0
- package/src/providers/integrations/buddy/buddy-oauth-shared.ts +305 -0
- package/src/providers/integrations/buddy/buddy-quota-shared.ts +415 -0
- package/src/providers/integrations/buddy/buddy-usage-shared.ts +223 -0
- package/src/providers/integrations/buddy/buddy-usage-store.ts +147 -0
- package/src/providers/integrations/buddy/capabilities.ts +83 -0
- package/src/providers/integrations/buddy/codebuddy/cn-provider.ts +179 -0
- package/src/providers/integrations/buddy/codebuddy/oauth.ts +47 -0
- package/src/providers/integrations/buddy/codebuddy/provider.ts +175 -0
- package/src/providers/integrations/buddy/codebuddy/quota.ts +165 -0
- package/src/providers/integrations/buddy/codebuddy/shared.ts +73 -0
- package/src/providers/integrations/buddy/workbuddy/cn-oauth.ts +30 -0
- package/src/providers/integrations/buddy/workbuddy/cn-provider.ts +55 -0
- package/src/providers/integrations/buddy/workbuddy/oauth.ts +31 -0
- package/src/providers/integrations/buddy/workbuddy/provider.ts +204 -0
- package/src/providers/integrations/buddy/workbuddy/quota.ts +159 -0
- package/src/providers/integrations/buddy/workbuddy/shared.ts +171 -0
- package/src/providers/integrations/cerebras.ts +44 -0
- package/src/providers/integrations/claude/claude-betas.ts +255 -0
- package/src/providers/integrations/claude/claude-cch.ts +148 -0
- package/src/providers/integrations/claude/claude-compatibility.ts +208 -0
- package/src/providers/integrations/claude/claude-credentials.ts +236 -0
- package/src/providers/integrations/claude/claude-fingerprint.ts +29 -0
- package/src/providers/integrations/claude/claude-oauth.ts +228 -0
- package/src/providers/integrations/claude/claude-quota.ts +163 -0
- package/src/providers/integrations/claude/claude-slow-lane-retry.ts +100 -0
- package/src/providers/integrations/claude/claude-slow-lane.ts +522 -0
- package/src/providers/integrations/claude/claude-user-profiles.ts +380 -0
- package/src/providers/integrations/claude/claude.ts +582 -0
- package/src/providers/integrations/claude/fallback-credit.ts +237 -0
- package/src/providers/integrations/cline/cline-oauth.ts +219 -0
- package/src/providers/integrations/cline/cline-quota.ts +126 -0
- package/src/providers/integrations/cline/cline.ts +468 -0
- package/src/providers/integrations/cloudflareai/cloudflareai-models.ts +65 -0
- package/src/providers/integrations/cloudflareai/cloudflareai-oauth.ts +108 -0
- package/src/providers/integrations/cloudflareai/cloudflareai.ts +137 -0
- package/src/providers/integrations/codex/codex-device-code.ts +101 -0
- package/src/providers/integrations/codex/codex-errors.ts +174 -0
- package/src/providers/integrations/codex/codex-headers.ts +155 -0
- package/src/providers/integrations/codex/codex-identity.ts +68 -0
- package/src/providers/integrations/codex/codex-oauth.ts +275 -0
- package/src/providers/integrations/codex/codex-quota.ts +68 -0
- package/src/providers/integrations/codex/codex.ts +1214 -0
- package/src/providers/integrations/commandcode/commandcode.ts +541 -0
- package/src/providers/integrations/dashscope-models.ts +52 -0
- package/src/providers/integrations/deepseek.ts +60 -0
- package/src/providers/integrations/factory/factory-models.ts +124 -0
- package/src/providers/integrations/factory/factory-oauth.ts +238 -0
- package/src/providers/integrations/factory/factory.ts +639 -0
- package/src/providers/integrations/gemini.ts +449 -0
- package/src/providers/integrations/github/github-discovery.ts +163 -0
- package/src/providers/integrations/github/github-oauth.ts +354 -0
- package/src/providers/integrations/github/github-quota.ts +127 -0
- package/src/providers/integrations/github/github.ts +668 -0
- package/src/providers/integrations/grok/grok-install-id.ts +13 -0
- package/src/providers/integrations/grok/grok-oauth.ts +261 -0
- package/src/providers/integrations/grok/grok-quota-frame.ts +214 -0
- package/src/providers/integrations/grok/grok-quota.ts +177 -0
- package/src/providers/integrations/grok/grok-turn-index.ts +82 -0
- package/src/providers/integrations/grok/grok.ts +541 -0
- package/src/providers/integrations/hermes.ts +149 -0
- package/src/providers/integrations/inferhub.ts +581 -0
- package/src/providers/integrations/kilo/kilo-discovery.ts +139 -0
- package/src/providers/integrations/kilo/kilo-oauth.ts +188 -0
- package/src/providers/integrations/kilo/kilo.ts +146 -0
- package/src/providers/integrations/kimi/kimi-oauth.ts +245 -0
- package/src/providers/integrations/kimi/kimi-quota.ts +184 -0
- package/src/providers/integrations/kimi/kimi.ts +264 -0
- package/src/providers/integrations/kiro/aws-event-stream.ts +293 -0
- package/src/providers/integrations/kiro/kiro-catalog.ts +106 -0
- package/src/providers/integrations/kiro/kiro-discovery.ts +164 -0
- package/src/providers/integrations/kiro/kiro-machine-id.ts +107 -0
- package/src/providers/integrations/kiro/kiro-oauth.ts +1132 -0
- package/src/providers/integrations/kiro/kiro-profile.ts +66 -0
- package/src/providers/integrations/kiro/kiro-quota.ts +238 -0
- package/src/providers/integrations/kiro/kiro-request.ts +748 -0
- package/src/providers/integrations/kiro/kiro-stream.ts +358 -0
- package/src/providers/integrations/kiro/kiro.ts +661 -0
- package/src/providers/integrations/meta.ts +38 -0
- package/src/providers/integrations/mistral.ts +52 -0
- package/src/providers/integrations/muse/muse-oauth.ts +202 -0
- package/src/providers/integrations/muse/muse-quota.ts +136 -0
- package/src/providers/integrations/muse/muse.ts +177 -0
- package/src/providers/integrations/ollamacloud-quota.ts +57 -0
- package/src/providers/integrations/openai.ts +39 -0
- package/src/providers/integrations/opencode/fingerprint.ts +155 -0
- package/src/providers/integrations/opencode/provider.ts +499 -0
- package/src/providers/integrations/opencode/tool-definitions.ts +389 -0
- package/src/providers/integrations/openrouter/oauth.ts +96 -0
- package/src/providers/integrations/openrouter/provider.ts +281 -0
- package/src/providers/integrations/perplexity.ts +143 -0
- package/src/providers/integrations/qoder/qoder-oauth.ts +263 -0
- package/src/providers/integrations/qoder/qoder.ts +730 -0
- package/src/providers/integrations/shared/claude-messages.ts +155 -0
- package/src/providers/integrations/shared/connect.ts +122 -0
- package/src/providers/integrations/shared/install-id.ts +133 -0
- package/src/providers/integrations/tokenharbor.ts +94 -0
- package/src/providers/integrations/xai/xai-discovery.ts +25 -0
- package/src/providers/integrations/xai/xai-oauth.ts +246 -0
- package/src/providers/integrations/xai/xai.ts +108 -0
- package/src/providers/integrations/xiaomi-mimo/think-stream.ts +153 -0
- package/src/providers/integrations/xiaomi-mimo/xiaomi.ts +44 -0
- package/src/providers/integrations/zcode/oauth.ts +257 -0
- package/src/providers/integrations/zcode/provider.ts +77 -0
- package/src/providers/operations/account-health-service.ts +1360 -0
- package/src/providers/operations/account-reset-service.ts +666 -0
- package/src/providers/operations/byok-wire-profile.ts +148 -0
- package/src/providers/operations/cli-platform.ts +144 -0
- package/src/providers/operations/client-version-resolver.ts +253 -0
- package/src/providers/operations/client-versions.ts +607 -0
- package/src/providers/operations/custom-cli-headers.ts +72 -0
- package/src/providers/operations/gateway-user-agent.ts +15 -0
- package/src/providers/operations/model-catalog-cache.ts +84 -0
- package/src/providers/operations/model-discovery-cache.ts +34 -0
- package/src/providers/operations/oauth-refresh-lead.ts +45 -0
- package/src/providers/operations/probe-fetch.ts +15 -0
- package/src/providers/operations/provider-catalog-seeder.ts +86 -0
- package/src/providers/operations/provider-catalog-service.ts +346 -0
- package/src/providers/operations/provider-credential-service.ts +307 -0
- package/src/providers/operations/provider-version-cache.ts +30 -0
- package/src/providers/operations/reported-model.ts +119 -0
- package/src/providers/operations/session-resolution.ts +83 -0
- package/src/providers/operations/upstream-deadline.ts +62 -0
- package/src/providers/provider-capabilities.ts +33 -0
- package/src/providers/provider-contracts.ts +293 -0
- package/src/providers/provider-credential-envelope.ts +43 -0
- package/src/providers/provider-credential-resolver.ts +81 -0
- package/src/providers/provider-metadata.ts +623 -0
- package/src/providers/provider-model-definition.ts +349 -0
- package/src/providers/provider-probe.ts +120 -0
- package/src/providers/provider-reasoning.ts +181 -0
- package/src/providers/provider-registry.ts +349 -0
- package/src/providers/provider-sanitize.ts +86 -0
- package/src/providers/provider-usage.ts +482 -0
- package/src/providers/quota/quota-contracts.ts +261 -0
- package/src/providers/quota/quota-limit-windows.ts +93 -0
- package/src/providers/quota/quota-support.ts +82 -0
- package/src/providers/quota/quota-window-parser.ts +165 -0
- package/src/providers/search/search-catalog.ts +24 -0
- package/src/providers/search/search-provider.ts +168 -0
- package/src/providers/search/search-providers.ts +229 -0
- package/src/security/abuse.ts +564 -0
- package/src/security/access-control.ts +146 -0
- package/src/security/admission/buckets.ts +33 -0
- package/src/security/admission/contracts.ts +104 -0
- package/src/security/admission/in-memory-store.ts +385 -0
- package/src/security/admission/lease-sweep.ts +62 -0
- package/src/security/admission/lua.ts +182 -0
- package/src/security/admission/reasons.ts +99 -0
- package/src/security/admission/redis-store.ts +210 -0
- package/src/security/admission/service.ts +165 -0
- package/src/security/admission/ttl.ts +61 -0
- package/src/security/api-key-auth.ts +353 -0
- package/src/security/cli-client-fingerprint.ts +81 -0
- package/src/security/client-router-fingerprint.ts +218 -0
- package/src/security/credential-codec.ts +252 -0
- package/src/security/crypto.ts +89 -0
- package/src/security/csrf.ts +114 -0
- package/src/security/ip-boundary.ts +261 -0
- package/src/security/model-abuse.ts +432 -0
- package/src/security/model-access-rule.ts +106 -0
- package/src/security/outbound-headers.ts +145 -0
- package/src/transport/contracts.ts +111 -0
- package/src/transport/dispatch/attempt-finalize.ts +752 -0
- package/src/transport/dispatch/attempt-loop.ts +513 -0
- package/src/transport/dispatch/empty-stream.ts +226 -0
- package/src/transport/dispatch/generation.ts +350 -0
- package/src/transport/dispatch/leases.ts +235 -0
- package/src/transport/dispatch/proxy-request.ts +336 -0
- package/src/transport/dispatch/responses-compact.ts +199 -0
- package/src/transport/dispatch/retry-policy.ts +100 -0
- package/src/transport/dispatch/stream-bridge.ts +68 -0
- package/src/transport/dispatch/streaming/encoder.ts +350 -0
- package/src/transport/dispatch/streaming/finalize.ts +566 -0
- package/src/transport/dispatch/streaming/stream.ts +436 -0
- package/src/transport/dispatch/systemone.ts +226 -0
- package/src/transport/dispatch/token-count.ts +413 -0
- package/src/transport/dispatch/upstream.ts +100 -0
- package/src/transport/dispatch/websearch.ts +199 -0
- package/src/transport/drain-endpoint.ts +70 -0
- package/src/transport/failure-policy.ts +906 -0
- package/src/transport/guards/abuse-guard.ts +92 -0
- package/src/transport/guards/auth-guard.ts +83 -0
- package/src/transport/guards/body-policy.ts +145 -0
- package/src/transport/guards/concurrency-guard.ts +54 -0
- package/src/transport/guards/early-rejection-capture.ts +74 -0
- package/src/transport/guards/error-lifecycle.ts +419 -0
- package/src/transport/guards/headroom-guard.ts +68 -0
- package/src/transport/guards/pipeline.ts +190 -0
- package/src/transport/guards/readiness-guard.ts +28 -0
- package/src/transport/guards/request-context.ts +311 -0
- package/src/transport/pathname.ts +24 -0
- package/src/transport/request/degradation.ts +277 -0
- package/src/transport/request/inflight.ts +102 -0
- package/src/transport/request/preparer.ts +482 -0
- package/src/transport/request/rtk/compress-request.ts +159 -0
- package/src/transport/request/rtk/ponytail-prompt.ts +33 -0
- package/src/transport/request/rtk/rtk-constants.ts +93 -0
- package/src/transport/request/rtk/rtk-filters.ts +373 -0
- package/src/transport/request/state.ts +373 -0
- package/src/transport/request/tenant-preferences.ts +72 -0
- package/src/transport/request/token-estimate.ts +82 -0
- package/src/transport/routing/admission.ts +178 -0
- package/src/transport/routing/reservations.ts +53 -0
- package/src/transport/routing/round-robin.ts +50 -0
- package/src/transport/routing/route-catalog.ts +738 -0
- package/src/transport/routing/route-model.ts +465 -0
- package/src/transport/routing/router.ts +786 -0
- package/src/transport/shutdown-notice.ts +68 -0
- package/src/transport/surface/adapters.ts +169 -0
- package/src/transport/surface/chat/adapter.ts +104 -0
- package/src/transport/surface/chat/encode.ts +530 -0
- package/src/transport/surface/chat/parse.ts +353 -0
- package/src/transport/surface/completion.ts +229 -0
- package/src/transport/surface/content-parts.ts +49 -0
- package/src/transport/surface/dialects.ts +272 -0
- package/src/transport/surface/messages/adapter.ts +185 -0
- package/src/transport/surface/messages/encode.ts +273 -0
- package/src/transport/surface/messages/errors.ts +12 -0
- package/src/transport/surface/messages/parse.ts +569 -0
- package/src/transport/surface/messages/stream.ts +473 -0
- package/src/transport/surface/reasoning-summary.ts +78 -0
- package/src/transport/surface/responses/adapter.ts +60 -0
- package/src/transport/surface/responses/contracts.ts +50 -0
- package/src/transport/surface/responses/encode.ts +733 -0
- package/src/transport/surface/responses/errors.ts +28 -0
- package/src/transport/surface/responses/parse.ts +681 -0
- package/src/transport/surface/responses/wire-output.ts +93 -0
- package/src/transport/surface/stream-frame.ts +30 -0
- package/src/transport/translation/attachment-integrity.ts +248 -0
- package/src/transport/translation/cache-controls.ts +119 -0
- package/src/transport/translation/capabilities.ts +433 -0
- package/src/transport/translation/normalize.ts +27 -0
- package/src/transport/translation/quirks.ts +224 -0
- package/src/transport/translation/search.ts +15 -0
- package/src/transport/translation/thinking.ts +509 -0
- package/src/transport/translation/tool-id.ts +93 -0
- package/src/transport/translation/tool-repair.ts +288 -0
- package/src/version.ts +11 -0
- package/src/workers/account-identity-sweep.ts +157 -0
- package/src/workers/buddy-growth-tasks.ts +430 -0
- package/src/workers/daily-checkin.ts +433 -0
- package/src/workers/oauth-refresh-sweep.ts +79 -0
- package/src/workers/quota-refresh-sweep.ts +487 -0
- package/src/workers/scheduler.ts +169 -0
- package/src/workers/sweep-runner.ts +181 -0
- package/tray-assets/cartethyia.ico +0 -0
- package/tray-assets/cartethyia.png +0 -0
package/.env.example
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Required runtime settings.
|
|
2
|
+
# ---------------------------------------------------------------------------
|
|
3
|
+
# Database mode (the one choice that matters):
|
|
4
|
+
# lite = embedded database, nothing to install (default — just run it).
|
|
5
|
+
# full = external PostgreSQL via DATABASE_URL (VPS, share/selling, teams).
|
|
6
|
+
# Moving lite → full later is a JSON backup export + import, no rebuild.
|
|
7
|
+
# PORT — HTTP port the gateway/console listen on.
|
|
8
|
+
# NODE_ENV — development | production (affects logging/validation strictness).
|
|
9
|
+
# DASHBOARD_DIST — built dashboard static directory served at /console.
|
|
10
|
+
# LOG_LEVEL — pino level: debug / info / warn / error.
|
|
11
|
+
# CARTETHYIA_DB_MODE — REQUIRED, no default: lite or full. The gateway throws
|
|
12
|
+
# at boot when it is absent rather than guessing, because
|
|
13
|
+
# the two modes are different databases with separate
|
|
14
|
+
# migration sets and a silent guess would pick which one
|
|
15
|
+
# an install's data is read against. `bun setup` writes it.
|
|
16
|
+
# DATABASE_URL — required in full mode only; ignored in lite.
|
|
17
|
+
# CARTETHYIA_ENCRYPTION_KEY
|
|
18
|
+
# — required 256-bit secret that encrypts provider credentials
|
|
19
|
+
# and API keys. Generate with one of the commands below.
|
|
20
|
+
# CARTETHYIA_PUBLIC_ORIGIN
|
|
21
|
+
# — externally reachable URL for OAuth callbacks/links.
|
|
22
|
+
# CARTETHYIA_API_KEY — optional default gateway API key. Unset means none.
|
|
23
|
+
|
|
24
|
+
# lite keeps this file the zero-dependency first run: embedded SQLite in the data
|
|
25
|
+
# dir, no server to install. Switch to full for a VPS or shared workload — see the
|
|
26
|
+
# Full section of documentation/getting-started.md.
|
|
27
|
+
CARTETHYIA_DB_MODE=lite
|
|
28
|
+
PORT=12800
|
|
29
|
+
NODE_ENV=development
|
|
30
|
+
DASHBOARD_DIST=./dist/dashboard
|
|
31
|
+
LOG_LEVEL=debug
|
|
32
|
+
# DATABASE_URL=postgres://postgres:replace-with-local-password@localhost:5432/cartethyia
|
|
33
|
+
CARTETHYIA_ENCRYPTION_KEY=replace-with-cartethyia-encryption-key
|
|
34
|
+
CARTETHYIA_PUBLIC_ORIGIN=http://localhost:12800
|
|
35
|
+
|
|
36
|
+
# How to generate CARTETHYIA_ENCRYPTION_KEY (choose ONE; 32 bytes = 256 bits):
|
|
37
|
+
# macOS / Linux: openssl rand -hex 32
|
|
38
|
+
# Windows (PowerShell): [Convert]::ToBase64String((1..32 | ForEach-Object { Get-Random -Maximum 256 }))
|
|
39
|
+
# Bun / Node (any platform): bun -e "import { randomBytes } from 'node:crypto'; console.log(randomBytes(32).toString('base64'))"
|
|
40
|
+
# Paste the output as the key value. Either 64-char hex or base64 that decodes to 32 bytes is accepted.
|
|
41
|
+
# The setup/install helpers generate one automatically when the .env is created.
|
|
42
|
+
|
|
43
|
+
# Optional settings. Redis is never required: set REDIS_URL for shared
|
|
44
|
+
# coordination across instances, or leave it unset for the in-memory backend.
|
|
45
|
+
# REDIS_URL=redis://localhost:6379 # Shared Redis; omit for in-memory.
|
|
46
|
+
# CARTETHYIA_DATA_DIR= # Writable state root. Lite stores <dir>/cartethyia.sqlite; OS default otherwise.
|
|
47
|
+
# TRUSTED_PROXY_CIDRS= # Trust forwarded client-IP headers from these proxy ranges.
|
|
48
|
+
# CARTETHYIA_ALLOWED_NETWORKS= # Private CIDRs allowed for upstream connections.
|
|
49
|
+
# CARTETHYIA_TELEMETRY_PAYLOAD_DIR=./data/telemetry-payloads # Payload capture directory.
|
|
50
|
+
# CARTETHYIA_CONFIG_DIR= # npm CLI only: directory holding .env. OS default otherwise.
|
|
51
|
+
# VITE_BACKEND_URL=http://127.0.0.1:12800 # Backend URL for dashboard development.
|
|
52
|
+
|
|
53
|
+
# Defaults and overrides. Uncomment only when the built-in default is not suitable.
|
|
54
|
+
|
|
55
|
+
# Database connection and lock limits.
|
|
56
|
+
# DATABASE_POOL_MAX=20 # Maximum database connections per process.
|
|
57
|
+
# DATABASE_STATEMENT_TIMEOUT_MS=30000 # Maximum statement runtime.
|
|
58
|
+
# DATABASE_IDLE_IN_TXN_TIMEOUT_MS=60000 # Maximum idle transaction time.
|
|
59
|
+
# DATABASE_LOCK_TIMEOUT_MS=5000 # Maximum lock wait time.
|
|
60
|
+
|
|
61
|
+
# Setup, request limits, memory warning, and graceful shutdown.
|
|
62
|
+
# CARTETHYIA_SETUP_MODE=auto # Native checks by default; docker starts Compose Redis through CARTETHYIA_REDIS_URL.
|
|
63
|
+
# CARTETHYIA_SERVER_MAX_BODY_BYTES=4194304 # Maximum request body size.
|
|
64
|
+
# CARTETHYIA_SERVER_IDLE_TIMEOUT=60 # Idle connection timeout in seconds.
|
|
65
|
+
# CARTETHYIA_SHUTDOWN_DRAIN_WINDOW_MS=20000 # Time for active requests to finish.
|
|
66
|
+
# CARTETHYIA_DRAIN_TOKEN= # Enables POST /admin/drain; loopback peer plus this token. Unset disables the route.
|
|
67
|
+
# CARTETHYIA_MEMORY_LIMIT_BYTES=536870912 # Explicit memory warning limit.
|
|
68
|
+
|
|
69
|
+
# Telemetry retention, payload limits, and provider installation identity.
|
|
70
|
+
# CARTETHYIA_TELEMETRY_RETENTION_DAYS=30 # Metadata telemetry retention in days.
|
|
71
|
+
# CARTETHYIA_TELEMETRY_PAYLOAD_MAX_BYTES=33554432 # Combined full-capture limit; 32 MiB.
|
|
72
|
+
# CARTETHYIA_TELEMETRY_PAYLOAD_FILE_MAX_BYTES=268435456 # Backing file size limit.
|
|
73
|
+
# CARTETHYIA_TELEMETRY_PAYLOAD_RETENTION_MS=900000 # Payload retention time.
|
|
74
|
+
# CARTETHYIA_INSTALL_ID_DIR=./data/.cartethyia # Writable installation-id directory.
|
|
75
|
+
|
|
76
|
+
# Network and abuse policy.
|
|
77
|
+
# CARTETHYIA_ALLOW_PRIVATE_UPSTREAMS=true # Allow private upstream addresses.
|
|
78
|
+
# CARTETHYIA_MAX_REDIRECTS=3 # Maximum upstream redirects.
|
|
79
|
+
# IP_RATE_MAX_PER_WINDOW=240 # Requests per client IP in the rate window.
|
|
80
|
+
# CARTETHYIA_MODEL_STRIKE_THRESHOLD=10 # Invalid requests inside the window before an IP ban.
|
|
81
|
+
# CARTETHYIA_MODEL_STRIKE_WINDOW_MS=1800000 # Sliding window that keeps invalid requests countable.
|
|
82
|
+
# CARTETHYIA_MODEL_BAN_TTL_MS=21600000 # Invalid-model IP-ban duration.
|
|
83
|
+
|
|
84
|
+
# Upstream deadlines and fallback retry timing.
|
|
85
|
+
# CARTETHYIA_UPSTREAM_TIMEOUT_MS=120000 # Overall upstream request deadline.
|
|
86
|
+
# CARTETHYIA_STREAM_STALL_TIMEOUT_MS=360000 # Maximum stream silence.
|
|
87
|
+
# CARTETHYIA_STREAM_FIRST_CHUNK_TIMEOUT_MS=200000 # Time to first visible chunk.
|
|
88
|
+
# CARTETHYIA_FALLBACK_RETRY_BASE_MS=100 # Minimum fallback retry delay.
|
|
89
|
+
# CARTETHYIA_FALLBACK_RETRY_CAP_MS=2000 # Maximum fallback retry delay.
|
|
90
|
+
# CARTETHYIA_ROUTE_MAX_ATTEMPTS=8 # Per-request candidate dispatch attempt cap.
|
|
91
|
+
|
|
92
|
+
# Account and proxy-pool cooldowns and socket limits.
|
|
93
|
+
# CARTETHYIA_ACCOUNT_RATE_LIMIT_COOLDOWN_MS=900000 # Rate-limit cooldown.
|
|
94
|
+
# CARTETHYIA_ACCOUNT_QUOTA_COOLDOWN_MS=3600000 # Quota cooldown.
|
|
95
|
+
# CARTETHYIA_ACCOUNT_MODEL_CAPACITY_COOLDOWN_MS=120000 # Model-capacity cooldown.
|
|
96
|
+
# CARTETHYIA_ACCOUNT_TRANSIENT_COOLDOWN_MS=30000 # Temporary error cooldown.
|
|
97
|
+
# CARTETHYIA_ACCOUNT_UNCLASSIFIED_COOLDOWN_MS=60000 # Unclassified error cooldown.
|
|
98
|
+
# CARTETHYIA_ACCOUNT_COOLDOWN_ESCALATION_MAX_MS=3600000 # Ceiling an escalated fallback may reach.
|
|
99
|
+
# CARTETHYIA_ACCOUNT_AUTH_REJECTED_COOLDOWN_MS=300000 # Bare 401/403 backoff, before a named revocation.
|
|
100
|
+
# CARTETHYIA_ACCOUNT_POLICY_BLOCK_COOLDOWN_MS=300000 # Buddy policy/channel block base backoff.
|
|
101
|
+
# CARTETHYIA_ACCOUNT_DISABLED_RECOVERY_MS=86400000 # Auto-disable recovery window; 0 restores terminal.
|
|
102
|
+
# CARTETHYIA_POOL_COOLDOWN_MS=120000 # Proxy-pool failure cooldown.
|
|
103
|
+
# CARTETHYIA_PROXY_MAX_SOCKETS=100 # Maximum active proxy sockets.
|
|
104
|
+
# CARTETHYIA_PROXY_MAX_FREE_SOCKETS=20 # Maximum idle proxy sockets.
|
|
105
|
+
|
|
106
|
+
# Provider-specific overrides. Leave unset unless a different endpoint is required.
|
|
107
|
+
# CARTETHYIA_KIMI_OAUTH_HOST= # Kimi OAuth host override.
|
|
108
|
+
# CARTETHYIA_KIMI_QUOTA_BASE_URL= # Kimi quota API base URL override.
|
|
109
|
+
# CARTETHYIA_GITHUB_ENTERPRISE_DOMAIN= # Enterprise domain; empty uses github.com.
|
|
110
|
+
|
|
111
|
+
# Optional disposable test services. Keep these in this local env file; no
|
|
112
|
+
# separate test env file is needed. Backend tests require the test DB URL.
|
|
113
|
+
# CARTETHYIA_TEST_DATABASE_URL=postgres://cartethyia_test:cartethyia_test@127.0.0.1:55432/cartethyia_test
|
|
114
|
+
# CARTETHYIA_TEST_REDIS_URL=redis://127.0.0.1:6379
|
|
115
|
+
|
|
116
|
+
# Dev console admin (read by scripts/dev/*; no runtime reads these).
|
|
117
|
+
# The password signs in through the real console form against the dev database, so it
|
|
118
|
+
# is an operator credential: keep it in your shell or a local env file, never in git.
|
|
119
|
+
# Used by `bun run dev:console-auth` (an authenticated browser for a later agent-browser
|
|
120
|
+
# command) and by scripts/dev/visual-baseline.ts.
|
|
121
|
+
# CARTETHYIA_DEV_ADMIN_USER=admin
|
|
122
|
+
# CARTETHYIA_DEV_ADMIN_PASSWORD=
|
|
123
|
+
# CARTETHYIA_VISUAL_PORT=12900 # Spare port, so a gateway already on 12800 never collides.
|
|
124
|
+
# CARTETHYIA_BROWSER_AGENT= # Path to the agent-browser binary; auto-detected when unset.
|