{"as_of":{"date":"2026-10-27","status":"documented","sources":["latest","pypi"],"method":"Public docs/tagged-source research only; no runtime, model, login or sandbox tests. source-inferred means code inspection; proposal means untested adapter design."},"runtime_version":{"tag":{"status":"documented","sources":["latest","releases"],"claim":"Latest non-prerelease release is v3.0.3; releases/latest and list agree.","value":"v3.0.3"},"published_at":{"status":"documented","sources":["latest"],"claim":"GitHub publication timestamp.","value":"2026-10-26T21:38:58Z"},"tag_target":{"status":"documented","sources":["ref"],"claim":"Tag ref points directly to commit.","value":"7bb48f213ac677f943d5c791199ed3dddf302f00"},"license":{"status":"documented","sources":["license","package"],"claim":"Tagged LICENSE and package agree.","value":"Apache-2.0"},"registry_version":{"status":"documented","sources":["pypi","package"],"claim":"PyPI latest matches package; sdist uploaded 2026-10-26T22:03:12.734724Z.","value":"3.0.3"},"install":{"status":"proposal","sources":["package","readme"],"claim":"Pin version and preinstall dependencies; Python >=3.12, GIL-enabled build.","example":"uv tool install mistral-vibe==3.0.3"}},"invocation":{"prompt":{"status":"source-inferred","sources":["cli"],"claim":"--prompt TEXT / -p TEXT or --prompt-file PATH selects headless; positional text is interactive. Bare -p reads stdin; empty prompt/file falls back to stdin. Nonempty text plus prompt-file is a usage error."},"workdir":{"status":"source-inferred","sources":["cli","paths"],"claim":"--workdir PATH (or VIBE_CWD) changes cwd; directory must exist. Relative prompt-file/output-dir resolve against invocation cwd BEFORE chdir. Edits remain on disk."},"output":{"status":"documented","sources":["cli","readme"],"claim":"--output text is default, json emits session messages at end, streaming emits NDJSON messages. Resumed text/streaming cover new run; json whole session. These are separate from export.json."},"output_dir":{"status":"documented","sources":["exportpy"],"claim":"--output-dir DIR writes export.json and root journal under session/; child journals separate. Config is redacted; warnings optional. Journals include earlier runs."},"approval":{"status":"documented","sources":["safety","schema"],"claim":"Headless uses default_agent (normally accept-edits); approval-required calls are denied without a person. --auto-approve / --yolo bypasses approval, unless admin enable_auto_approve=false disables it."},"profiles":{"status":"source-inferred","sources":["agents"],"claim":"accept-edits sets write_file/edit to always; auto-approve sets bypass_tool_permissions. Neither is an OS sandbox."},"trust":{"status":"documented","sources":["cli","work"],"claim":"--trust temporarily allows project config/agents to load. Headless has no trust confirmation; trust is not confinement."},"limits":[{"status":"source-inferred","sources":["cli","turns"],"claim":"--max-turns N stops on the (N+1)th assistant history entry; not a prepaid tool/model-call cap."},{"status":"source-inferred","sources":["lifecycle","report"],"claim":"--max-tokens N counts cumulative prompt+completion; --max-price DOLLARS uses configured rates. Both react after observed usage exceeds threshold."},{"status":"source-inferred","sources":["cli","lifecycle"],"claim":"--time-limit SECONDS stops active turn/tools and permits resume; SIGTERM uses same stop path. Run-wide deadline plus 10s shutdown grace, with 3s reserved for report."}],"exit_codes":{"status":"documented","sources":["export","exportpy","readme"],"claim":"Full normal headless mapping; nonfinished outcomes can leave useful files.","table":[{"code":0,"outcomes":["finished"],"meaning":"Agent finished."},{"code":1,"outcomes":["usage_error","config_error"],"meaning":"Could not start as requested."},{"code":2,"outcomes":["infrastructure_failure"],"meaning":"API after retries or runtime failed."},{"code":3,"outcomes":["turn_limit","token_limit","price_limit","deadline","terminated","length","refusal"],"meaning":"Stopped unfinished. length includes context window or output-token cap; cut-off answers are discarded/retried up to output_limit_retries (default 6). refusal means model declined."},{"code":4,"outcomes":["aborted"],"meaning":"Socket server aborted; see error.message."}]},"export_failures":[{"status":"documented","sources":["readme","lifecycle"],"claim":"With output-dir, all outcomes attempt export, including startup usage/config errors. Parser-rejected flags/malformed values exit 1 without export."},{"status":"source-inferred","sources":["lifecycle","export"],"claim":"SIGKILL/OOM/storage failure can prevent export. Write errors are logged without changing outcome exit code. Null/missing data is not zero spend or success."}],"setup":[{"status":"documented","sources":["install"],"claim":"Before unattended use, choose model/provider and credentials. Complete vibe --setup with a person for Mistral account browser login/plan, or supply MISTRAL_API_KEY without interactive setup. Plan limits apply."},{"status":"source-inferred","sources":["login","persist","keyresolve"],"claim":"Browser exchange returns API key; persistence uses keyring with VIBE_HOME/.env fallback. Environment credentials override keyring. Stored login reuse is API-key reuse, not OAuth refresh-token renewal."},{"status":"source-inferred","sources":["credential"],"claim":"Credential provider re-resolves keys, rejects unchanged failed key and can pick up a separately replaced key. It does not renew that key through browser authentication."},{"status":"not found","sources":["install","keys","login","persist","credential"],"claim":"No guarantee of unattended renewal of stored Mistral browser login was established.","checked_urls":["https://docs.mistral.ai/vibe/code/cli/install-setup","https://docs.mistral.ai/vibe/code/cli/api-keys-profiles","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/setup/auth/http_browser_sign_in_gateway.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/setup/auth/api_key_persistence.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/platform_auth/_api_key.py"]},{"status":"proposal","sources":["models","harnessconfig"],"claim":"Generic OpenAI-compatible provider needs endpoint/key-env/style/backend and model/active alias. Fill deployment values explicitly; template is not tested.","template":"active_model = \"worker-model\"\n[[providers]]\nname = \"worker-provider\"\napi_base = \"<operator-supplied compatible /v1 base>\"\napi_key_env_var = \"WORKER_MODEL_API_KEY\"\napi_style = \"openai\"\nbackend = \"generic\"\n[[models]]\nname = \"<operator-supplied model ID>\"\nprovider = \"worker-provider\"\nalias = \"worker-model\""},{"status":"source-inferred","sources":["schema","harnessconfig"],"claim":"Defaults include Mistral and local llamacpp. Generic wire styles: openai, reasoning, openai-responses, anthropic, vertex-anthropic. Protocol support does not certify every vendor/model."},{"status":"documented","sources":["docconfig","install"],"claim":"Docs supplies OpenRouter generic-provider example; Mistral account browser login uses Mistral plan."},{"status":"not found","sources":["keys","models","harnessconfig","login"],"claim":"No third-party consumer-subscription login adapter established; generic protocol support does not imply ChatGPT/Anthropic subscription authentication.","checked_urls":["https://docs.mistral.ai/vibe/code/cli/api-keys-profiles","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/models.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/_runtime_config.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/setup/auth/http_browser_sign_in_gateway.py"]}],"proposed_launch":{"status":"proposal","sources":["cli","headconfig","lifecycle"],"claim":"Use argv, nonempty prompt file, closed stdin, separate stdout/stderr, fresh absolute output directory and tool_policy config. Budgets illustrative. Omit trust for unreviewed project config; add --trust only after review. Avoid auto-approve for permission-based confinement.","argv":["vibe","--prompt-file","<absolute task file>","--workdir","<absolute checkout>","--agent","accept-edits","--enabled-tools","read_file","--enabled-tools","edit","--enabled-tools","write_file","--output","json","--output-dir","<fresh absolute output>","--max-turns","30","--max-tokens","200000","--max-price","5","--time-limit","1800"]},"resume":{"status":"source-inferred","sources":["cli","pre"],"claim":"Use --resume SESSION_ID plus prompt, retaining session storage; ID from export.json. Bare resume is headless usage error; run limits restart."}},"confinement":{"outside_workdir":{"status":"source-inferred","sources":["schema","permissions"],"claim":"outside_workdir=\"deny\" refuses detected outside-root file/shell calls; roots include workdir/add-dir. Per-tool override and allowlisted exceptions apply. Authorization policy, not OS isolation."},"paths":{"status":"source-inferred","sources":["paths"],"claim":"Host paths resolve relative to cwd, following symlinks. Scratchpad allowed first; absolute-path deny globs precede allow globs, then sensitive/outside checks. Typed grants supported; absolute glob prefixes get symlink-aware variants. always can still ask for sensitive files."},"permissions":{"status":"source-inferred","sources":["base","permissions","agents"],"claim":"always auto-allows, ask requires approval, never blocks. Deliberate file read/write/edit allowlist exceptions can override never; bash never is not reopened by defaults. Disabled/absent tools stay excluded; auto-approve bypasses permission logic."},"shell":{"status":"source-inferred","sources":["bash","shellpolicy","permissions"],"claim":"Bash parses parts, checks deny prefixes, options/repository guardrails and statically visible paths before allow rules. Match is equality or startswith(prefix+space), not glob. All parts must clear; unknown syntax/indirection may ask. Cannot confine arbitrary code in allowed scripts/interpreters."},"sandbox_network_switch":{"status":"not found","sources":["cli","schema","socket","sandbox","safety"],"claim":"No bundled OS isolation boundary or global network-off switch located in checked surfaces. Socket consumes external sandbox; tool/path filters are not firewall.","checked_urls":["https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/cli.rs","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/vibe_schema.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/_agent_socket.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/_sandbox.py","https://docs.mistral.ai/vibe/code/safety-approvals-permissions"]},"socket":[{"status":"documented","sources":["socketcli","readme"],"claim":"Experimental hidden Unix-only --agent-socket PATH needs -p/--prompt-file; rejects --workdir/--worktree/--add-dir/--continue/--teleport, allows --resume SESSION_ID. Without sandbox half tools run on host."},{"status":"documented","sources":["socket"],"claim":"Caller serves socket 0600 in directory 0700 throughout run. New connection per newline-framed camelCase JSON-RPC 2.0 request; serve concurrently. agent/initialize must return protocolVersion=2 within 60s."},{"status":"documented","sources":["socket","readme"],"claim":"Return both absolute workspace and python >=3.9. Implement sandbox/execute(command,cwd,timeout) via sh and sandbox/readFile(path,maxBytes) returning base64/null. Caller kills timed-out process trees. Nonzero command exit is result, not protocol error."},{"status":"documented","sources":["socket","readme"],"claim":"Server tools have direct/programmatic/both modelAccess; CLI tool filters do not filter socket-declared tools. Caller limits declarations. -32002 aborts with exit 4; sandbox failures cause infrastructure_failure."},{"status":"documented","sources":["readme"],"claim":"File/shell tools and workspace context move into sandbox. Model calls/MCP/hooks/session storage stay host-side. Sandbox project AGENTS.md/skills load, not project config/agents/tools/hooks/plugins/prompts; trust has no effect."},{"status":"documented","sources":["readme"],"claim":"Sandbox approvals match written paths, so workspace symlink may target outside while counting inside. Bound target with sandbox policy; rewind restores no sandbox files."}],"external_boundary":[{"status":"proposal","sources":["cli","paths","lifecycle","socket"],"claim":"Unprivileged container/VM: only checkout writable; runtime/config read-only; private VIBE_HOME/temp/exports. Exclude contributor home, SSH/host runtime sockets and unrelated secrets. Apply resource quotas; kill whole job after stop grace."},{"status":"proposal","sources":["socket","schema","harnessconfig"],"claim":"External deny-by-default egress, inference via controlled proxy. Feature toggles are not firewall. For networkless tools with remote inference use socket sandbox and separately confined host broker. Whole-runtime network denial requires local inference or separate transport."},{"status":"proposal","sources":["socket","socketcli","readme"],"claim":"Socket launch omits workdir; require workspace/python handshake, declare no client tools, no model secret in sandbox. Validate/remove host hooks/MCP/plugins independently. Retain prompt-file/output-dir/output/limits.","argv_template":["vibe","--prompt-file","<absolute task file>","--agent-socket","<caller socket path>","--output","streaming","--output-dir","<fresh absolute output>","--max-turns","30","--max-tokens","200000","--max-price","5","--time-limit","1800"]}]},"metering":{"schema":{"status":"documented","sources":["export","exportpy"],"claim":"schema_version=1, result flattened. Nullable data means unavailable; warnings/subagents omitted when absent.","fields":{"schema_version":"1","vibe_version":"string","outcome":"enum in exit_codes","exit_code":"derived integer","stop_reason":"interrupted|limit|length|null","error":"{message:string,code:string|null}|null","session_id":"string|null","usage":"{input_tokens:u64,output_tokens:u64,cached_input_tokens:u64,total_tokens:u64}|null","cost_usd":"number|null","steps":"u64|null","config":"redacted object|null","warnings":"optional [{message:string,source:string|null}]","journal_dir":"relative path|null","limits":"{max_turns:u32|null,max_price:number|null,max_tokens:u64|null,time_limit_s:number|null}","subagents":"optional array; fields below","started_at":"timestamp","ended_at":"timestamp"}},"root_usage":{"status":"source-inferred","sources":["report","exportpy"],"claim":"Root total_tokens=input+output. Cached input is subset of input, not extra. Root usage/cost/steps exclude children. Null is not zero."},"steps":{"status":"documented","sources":["exportpy"],"claim":"Agent model calls, excluding children and utility calls such as compaction; nullable. Not all billed inference."},"subagents":{"status":"documented","sources":["exportpy","childstats"],"claim":"Child usage/cost cover lifetime including earlier runs on resume; steps/model attribution cover this run. Missing store can yield null.","fields":["session_id","parent_session_id","root_session_id","agent_name","agent_type|null","spawn_action_id","spawn_call_id|null","status:running|idle|interrupted|failed|closed|unknown","model|null (provider model if exactly one)","usage|null (same token fields)","cost_usd|null","pricing_model|null (configured alias)","pricing_fallback:boolean","steps|null","journal_dir|null"]},"resume_baseline":{"status":"source-inferred","sources":["baseline","pre","report"],"claim":"Root baseline snapshots sessionPromptTokens/sessionCompletionTokens/sessionCachedTokens at resume readiness; subtracts each with saturation at zero. New session baseline zero. Root usage/cost are run deltas, journals whole-session."},"cost":{"status":"source-inferred","sources":["report","models"],"claim":"P=input,O=output,C=min(cached,P): cost_usd=((P-C)*input_price+C*cached_input_price+O*output_price)/1e6. Cached rate defaults to input; missing input/output rates zero. Config estimates may be stale, not invoices/subscription charges."},"child_cost":{"status":"source-inferred","sources":["childstats"],"claim":"Own model rates incl. cache; unknown model uses root rates and pricing_fallback=true. pricing_model names alias; missing usage yields null cost."},"caps":[{"status":"source-inferred","sources":["headconfig","loop","lifecycle"],"claim":"No token/price reservation sent to session; client SESSION_STATS_UPDATED triggers StopRequests with strict > threshold. Already-spent overshoot possible: soft stops, not hard provider caps."},{"status":"source-inferred","sources":["loop","children","report"],"claim":"Budget path does not sum exported child totals. Child wait handles abort, not usage aggregation. Do not treat flags as combined root+parallel-child cap."}],"ledger":[{"status":"proposal","sources":["report","exportpy","childstats"],"claim":"Fresh run: sum root plus each unique child session_id once for tokens/cost. Do not add cached tokens again or also sum journal usage events. Sum steps only as agent-loop metric."},{"status":"proposal","sources":["baseline","exportpy","childstats"],"claim":"Resumes: sum per-run root deltas, but retain child lifetime readings by session_id and add only increases. Child steps already per-run. On rate changes price token deltas explicitly rather than subtracting repriced lifetime costs."},{"status":"proposal","sources":["exportpy","report","replyusage","models"],"claim":"Mark incomplete totals for missing readings; preserve exports/prices/fallback flags. Gateway/provider budgets for enforceable allocation. Validate utility/retry/compaction coverage before settlement; disable background titles to reduce auxiliary inference."}]},"tool_policy":{"minimal_config":{"status":"proposal","sources":["schema","permissions","agents","paths","headconfig"],"claim":"Worker-owned VIBE_HOME/config.toml outside checkout. Actual catalogue name read_file, despite README read prose. File-only positive filter; no bypass. Sensitive approval requests become headless denials. Validate effective profile/admin config.","toml":"default_agent = \"accept-edits\"\noutside_workdir = \"deny\"\nenabled_tools = [\"read_file\", \"edit\", \"write_file\"]\ndisabled_tools = [\"bash*\", \"git_bash*\", \"powershell*\", \"task\", \"ask_user_question\", \"cron\", \"web_*\", \"mcp_*\", \"connector_*\"]\nenable_auto_approve = false\nenable_subagents = false\nenable_background_processes = false\nenable_mcp = false\nenable_connectors = false\nenable_telemetry = false\nenable_update_checks = false\n[session_logging]\nenabled = true\ngenerate_titles = false\n[tools.read_file]\npermission = \"always\"\n[tools.edit]\npermission = \"always\"\n[tools.write_file]\npermission = \"always\"\n[tools.bash]\npermission = \"never\"\nallowlist = []\n[tools.git_bash]\npermission = \"never\"\nallowlist = []\n[tools.powershell]\npermission = \"never\"\nallowlist = []"},"filters":{"status":"source-inferred","sources":["schema","permissions","headconfig"],"claim":"enabled_tools narrows, disabled_tools removes afterward; exact/glob/re: full-name regex. Catalogue files map to file_system.*; disabled shell sources remove process authority. Headless disables ask_user_question/cron. Programmatic wrapper does not authorize absent shell."},"toggles":{"status":"source-inferred","sources":["schema","readme"],"claim":"Subagents=false removes default-runtime delegation; MCP/connectors flags disable integrations; telemetry/update flags disable corresponding features. Not global network-off: model/startup traffic and host hooks need separate controls."},"precedence":{"status":"source-inferred","sources":["layers"],"claim":"Highest: admin, agent profile, runtime/CLI, VIBE_* env, trusted project TOML, user TOML, experiments/catalog/defaults. Agent/admin may override CLI/user restrictions; inspect effective policy."},"admin_failure":{"status":"source-inferred","sources":["admin","docconfig"],"claim":"Fetch failure keeps existing/cached admin layer, never stops client. Docs says unappliable admin config falls back local. Isolation must not rely solely on remote policy."},"bash_prefixes":{"status":"proposal","sources":["bash","schema"],"claim":"Later add bash to enabled_tools/remove disabled pattern, inside isolation. This replaces never block/default lists. Prefixes literal, no * suffix; unmatched ask denied headlessly; guardrails apply.","toml":"[tools.bash]\npermission = \"ask\"\nallowlist = [\"git status\", \"git diff\"]\ndenylist = [\"rm -rf\"]","examples":{"git status --short":"matches","git statusx":"does not match git status","git *":"not wildcard syntax here"}},"parallel":[{"status":"source-inferred","sources":["schema"],"claim":"enable_subagents=true exposes tools.subagent. max_subagents limits live children; max_concurrent_subagents simultaneous child turns; both default 32/minimum 1. Excess spawn/message fails until capacity frees, not lifetime task quota."},{"status":"proposal","sources":["schema","agents"],"claim":"Later enable with conservative limits and VIBE_HOME/agents/reviewer.toml below. Use dedicated enable_subagents flag, not merely legacy task. Retain external controls and coordinate shared writes.","config_patch":"enable_subagents = true\nmax_subagents = 4\nmax_concurrent_subagents = 2","profile":"agent_type = \"subagent\"\ndescription = \"Review assigned files without editing\"\ninstructions = \"Inspect assigned files and report findings.\"\nenabled_tools = [\"read_file\"]\n[tools.read_file]\npermission = \"always\""},{"status":"source-inferred","sources":["childpolicy","children"],"claim":"Child profiles narrow, never widen session permissions: deny beats ask beats allow. Headless waits for children left running after main turn; stops interrupt them."}]},"integration_gaps":[{"status":"conflicting","sources":["work","export"],"claim":"Docs exit table ends at 3; tag adds 4/aborted for socket. Use tagged mapping."},{"status":"conflicting","sources":["docref","models","readme"],"claim":"Docs says auto_compact_threshold=0 disables compaction, default 80% window. Tag rejects zero; README says always on, default min(256000,window-60000) constrained to model range."},{"status":"conflicting","sources":["readme","install","keys","persist","login"],"claim":"README quickstart says keys save to .env; docs/code prefer keyring, .env fallback. Browser experience needs no manually entered key but internally provisions API key."},{"status":"conflicting","sources":["readme","layers","docconfig"],"claim":"README describes project config then user fallback; tagged stack/docs merge both. Use effective merged config."},{"status":"proposal","sources":["cli","export","socket","lifecycle","exportpy"],"claim":"Useful candidate for finite scripted edits and structured outcomes/usage. Needs external confinement, credentials, policy checks and child ledger. Socket experimental, budgets soft, docs drift. This single-runtime item assigns no comparative rank or presumed first place."},{"status":"not found","sources":["exportpy","report","replyusage","keys"],"claim":"No exhaustive invoice-equivalence guarantee across utility/failed/retried calls/subscription effects established. steps omits utilities; verify billing completeness separately.","checked_urls":["https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/run_export.py","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/report.rs","https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/adapters/_reply_usage.py","https://docs.mistral.ai/vibe/code/cli/api-keys-profiles"]}],"verification_plan":[{"status":"proposal","sources":["cli","export"],"claim":"Disposable image: version 3.0.3; no TTY, closed stdin, prompt-file/workdir/finite limits. Request edit, inspect diff; parse json/streaming and export separately."},{"status":"proposal","sources":["export","lifecycle","socket"],"claim":"Controlled provider/socket fixtures exercise each outcome, parser error, export write failure, deadline/SIGTERM and process cleanup. Preserve shutdown grace before external kill; require fresh export."},{"status":"proposal","sources":["paths","permissions","layers","headconfig"],"claim":"Probe traversal/outside paths/symlinks/sensitive files/deny globs/typed grants/add-dir. Ensure denials never hang; inspect effective tools/config under agent/project/env/admin overrides."},{"status":"proposal","sources":["schema","permissions","socket","readme"],"claim":"Attempt shell/process/web/MCP/connector/subagent under minimal policy; test mounts/firewall independently and audit host hooks. Socket: validate handshake, required sandbox, concurrency and timeout tree cleanup."},{"status":"proposal","sources":["report","baseline","exportpy","childstats","replyusage"],"claim":"Deterministic usage checks cache formula/root deltas/child lifetime ledger/per-run steps, missing values/pricing fallback/overshoot; compare gateway retry/compaction/utility logs before settlement."},{"status":"proposal","sources":["login","persist","credential","keys"],"claim":"Provision browser login once or inject key; test reuse/locked keyring/revoked key/quota exhaustion. Require credential replacement on rejection, not assumed refresh. All behavior tests proposed, none run here."}],"sources":{"latest":"https://api.github.com/repos/mistralai/mistral-vibe/releases/latest","releases":"https://api.github.com/repos/mistralai/mistral-vibe/releases","ref":"https://api.github.com/repos/mistralai/mistral-vibe/git/ref/tags/v3.0.3","pypi":"https://pypi.org/pypi/mistral-vibe/json","install":"https://docs.mistral.ai/vibe/code/cli/install-setup","work":"https://docs.mistral.ai/vibe/code/cli/work-with-cli","docconfig":"https://docs.mistral.ai/vibe/code/cli/configuration","docref":"https://docs.mistral.ai/vibe/code/cli/configuration-reference","safety":"https://docs.mistral.ai/vibe/code/safety-approvals-permissions","keys":"https://docs.mistral.ai/vibe/code/cli/api-keys-profiles","readme":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/README.md","license":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/LICENSE","package":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/pyproject.toml","cli":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/cli.rs","export":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/run_export/model.rs","exportpy":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/run_export.py","lifecycle":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless_run.rs","turns":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless_run/turn_counter.rs","report":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/report.rs","baseline":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/usage.rs","pre":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/pre_turn.rs","loop":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/turn.rs","headconfig":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/config.rs","children":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/headless/subagents.rs","childstats":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/_subagent_runs.py","socket":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/_agent_socket.py","socketcli":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/cli-rust/src/agent_socket.rs","schema":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/vibe_schema.py","models":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/models.py","layers":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/default_orchestrator.py","admin":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/config/admin_config.py","agents":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/agents/models.py","childpolicy":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/_subagent_permissions.py","permissions":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/app_server/_unified_permissions.py","paths":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/tools/utils.py","bash":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/tools/builtins/bash.py","shellpolicy":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/tools/builtins/_shell_command_policy.py","base":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/tools/base.py","login":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/setup/auth/http_browser_sign_in_gateway.py","persist":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/setup/auth/api_key_persistence.py","credential":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/core/platform_auth/_api_key.py","keyresolve":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/vibe/utils/api_keys.py","harnessconfig":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/_runtime_config.py","sandbox":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/_sandbox.py","replyusage":"https://raw.githubusercontent.com/mistralai/mistral-vibe/v3.0.3/harness/runtimes/python/python/mistralai_vibe_local_harness/vibe/adapters/_reply_usage.py"}}
