diff --git a/docs/public/docs.json b/docs/public/docs.json index 9c92f2fad..214d4ffea 100644 --- a/docs/public/docs.json +++ b/docs/public/docs.json @@ -235,7 +235,6 @@ "group": "Run Internals", "icon": "microchip", "pages": [ - "GET /api/v1/runs/{id}/checkpoint", "GET /api/v1/runs/{id}/stages", "GET /api/v1/runs/{id}/settings" ] diff --git a/docs/public/reference/user-configuration.mdx b/docs/public/reference/user-configuration.mdx index e70436ea4..9a55a34d1 100644 --- a/docs/public/reference/user-configuration.mdx +++ b/docs/public/reference/user-configuration.mdx @@ -192,12 +192,12 @@ Define or override an LLM provider. The keys are the lithos provider record. |---|---|---|---| | `display_name` | string | required for new providers | Human-readable provider name. | | `adapter` | string | `"http"` | lithos adapter id: `http` or `bedrock`. Any other id names a custom adapter the application registered. | -| `codecs` | array | `["openai-chat"]` | Wire codecs the host speaks, in preference order: `openai-chat`, `openai-responses`, `anthropic-messages`, `gemini-generate`, or `bedrock-converse`. A Chat Completions host needs no line. | +| `codecs` | `array` | `["openai-chat"]` | Wire codecs the host speaks, in preference order: `openai-chat`, `openai-responses`, `anthropic-messages`, `gemini-generate`, or `bedrock-converse`. A Chat Completions host needs no line. | | `base_url` | string | required for new providers | Provider API base URL. The `openai-chat` codec appends `/v1/chat/completions` unless the URL already ends in a version segment. | | `auth` | table | required for new providers | Auth scheme: `{ type = "bearer" }`, `{ type = "header", name = "x-api-key" }`, `{ type = "headers" }`, `{ type = "none" }`, or `{ type = "aws" }`. | | `enabled` | boolean | `true` | Set `false` to hide a provider from Fabro. `bedrock`, `bedrock-openai`, `litellm`, `modal`, and `ollama` ship disabled. | | `priority` | integer | `0` | Higher-priority ready providers win unqualified model and default selection. | -| `aliases` | array | `[]` | Additional provider names accepted by model routing and fallback config. | +| `aliases` | `array` | `[]` | Additional provider names accepted by model routing and fallback config. | | `default_model` | string | None | The provider's default model id. | | `allow_passthrough` | boolean | `false` | Whether `provider/model` selectors may name models the catalog does not list. | | `api_key_url` | string | None | Where an operator obtains an API key. Shown by `fabro provider login` and the install flow. | @@ -224,7 +224,7 @@ aliases. `api_model` is the string sent to the provider and defaults to the id. | Key | Type / values | Default | Description | |---|---|---|---| | `display_name` | string | required for new models | Human-readable model name. | -| `aliases` | array | `[]` | Additional selectors. Aliases may repeat across providers. | +| `aliases` | `array` | `[]` | Additional selectors. Aliases may repeat across providers. | | `api_model` | string | model id | Wire model identifier sent to this provider. | | `limits` | `{ context_tokens, max_output_tokens }` | None | Token limits. | | `capabilities` | table | unknown | Per-capability `true`, `false`, or `"unknown"`: `text`, `images`, `audio`, `documents`, `tools`, `reasoning`, `caching`, `cache_routing`, `sampling`, plus `tool_choice = { required, named }`, `response_format = { json_object, json_schema }`, `reasoning_effort = { minimal, low, medium, high, xhigh, max }`, and `speed = { fast, balanced, economical }`. | @@ -324,7 +324,7 @@ name = "claude-sonnet-4-5" | Key | Type / values | Default | Description | |---|---|---|---| -| `fallbacks` | table> | {} | Model-keyed fallback chains. Each value is an ordered list of bare
providers, bare model IDs or aliases, or provider-qualified
`provider:selector` values. A qualified selector may be a model ID,
alias, or provider API ID. Legacy `provider/model` values remain
accepted. Each list supports the `...` splice marker at layering time.
Fabro selects one chain from the original requested model. A fallback
target never activates another model's chain.

Model keys stay unresolved in this sparse layer because `fabro
validate` is offline and has no server model catalog. | +| `fallbacks` | `table>` | {} | Model-keyed fallback chains. Each value is an ordered list of bare
providers, bare model IDs or aliases, or provider-qualified
`provider:selector` values. A qualified selector may be a model ID,
alias, or provider API ID. Legacy `provider/model` values remain
accepted. Each list supports the `...` splice marker at layering time.
Fabro selects one chain from the original requested model. A fallback
target never activates another model's chain.

Model keys stay unresolved in this sparse layer because `fabro
validate` is offline and has no server model catalog. | | `name` | string | None | Model name for workflow runs. | | `provider` | string | None | Provider name for workflow model selection. | @@ -399,7 +399,7 @@ tool_timeout = "90s" | Key | Type / values | Default | Description | |---|---|---|---| | `type` | `"stdio"` \| `"http"` \| `"sandbox"` | None | MCP transport type. | -| `command` | array | None | Command and arguments for `stdio` or `sandbox` transports. | +| `command` | `array` | None | Command and arguments for `stdio` or `sandbox` transports. | | `script` | string | None | Shell script alternative to `command` for process-launching transports. A `stdio` script runs on the host through `sh -c`; a `sandbox` script is evaluated inside the sandbox by non-login Bash. | | `url` | string | None | Remote MCP URL for `http` transport. | | `port` | integer | None | Sandbox port for `sandbox` transport. | diff --git a/lib/foundation/fabro-dev/src/commands/docs_options_reference.rs b/lib/foundation/fabro-dev/src/commands/docs_options_reference.rs index 9136a261d..b657a0586 100644 --- a/lib/foundation/fabro-dev/src/commands/docs_options_reference.rs +++ b/lib/foundation/fabro-dev/src/commands/docs_options_reference.rs @@ -184,9 +184,17 @@ fn field_type(field: &OptionField) -> String { .collect::>() .join(", ") } else { - field - .value_type - .map_or_else(|| "inferred".to_string(), markdown_cell) + field.value_type.map_or_else( + || "inferred".to_string(), + |value_type| { + // MDX reads a bare `<` as the start of a JSX tag. + if value_type.contains('<') { + format!("`{}`", markdown_cell(value_type)) + } else { + markdown_cell(value_type) + } + }, + ) } } @@ -269,12 +277,12 @@ Define or override an LLM provider. The keys are the lithos provider record. |---|---|---|---| | `display_name` | string | required for new providers | Human-readable provider name. | | `adapter` | string | `"http"` | lithos adapter id: `http` or `bedrock`. Any other id names a custom adapter the application registered. | -| `codecs` | array | `["openai-chat"]` | Wire codecs the host speaks, in preference order: `openai-chat`, `openai-responses`, `anthropic-messages`, `gemini-generate`, or `bedrock-converse`. A Chat Completions host needs no line. | +| `codecs` | `array` | `["openai-chat"]` | Wire codecs the host speaks, in preference order: `openai-chat`, `openai-responses`, `anthropic-messages`, `gemini-generate`, or `bedrock-converse`. A Chat Completions host needs no line. | | `base_url` | string | required for new providers | Provider API base URL. The `openai-chat` codec appends `/v1/chat/completions` unless the URL already ends in a version segment. | | `auth` | table | required for new providers | Auth scheme: `{ type = "bearer" }`, `{ type = "header", name = "x-api-key" }`, `{ type = "headers" }`, `{ type = "none" }`, or `{ type = "aws" }`. | | `enabled` | boolean | `true` | Set `false` to hide a provider from Fabro. `bedrock`, `bedrock-openai`, `litellm`, `modal`, and `ollama` ship disabled. | | `priority` | integer | `0` | Higher-priority ready providers win unqualified model and default selection. | -| `aliases` | array | `[]` | Additional provider names accepted by model routing and fallback config. | +| `aliases` | `array` | `[]` | Additional provider names accepted by model routing and fallback config. | | `default_model` | string | None | The provider's default model id. | | `allow_passthrough` | boolean | `false` | Whether `provider/model` selectors may name models the catalog does not list. | | `api_key_url` | string | None | Where an operator obtains an API key. Shown by `fabro provider login` and the install flow. | @@ -301,7 +309,7 @@ aliases. `api_model` is the string sent to the provider and defaults to the id. | Key | Type / values | Default | Description | |---|---|---|---| | `display_name` | string | required for new models | Human-readable model name. | -| `aliases` | array | `[]` | Additional selectors. Aliases may repeat across providers. | +| `aliases` | `array` | `[]` | Additional selectors. Aliases may repeat across providers. | | `api_model` | string | model id | Wire model identifier sent to this provider. | | `limits` | `{ context_tokens, max_output_tokens }` | None | Token limits. | | `capabilities` | table | unknown | Per-capability `true`, `false`, or `"unknown"`: `text`, `images`, `audio`, `documents`, `tools`, `reasoning`, `caching`, `cache_routing`, `sampling`, plus `tool_choice = { required, named }`, `response_format = { json_object, json_schema }`, `reasoning_effort = { minimal, low, medium, high, xhigh, max }`, and `speed = { fast, balanced, economical }`. | @@ -341,7 +349,7 @@ tool_timeout = "90s" | Key | Type / values | Default | Description | |---|---|---|---| | `type` | `"stdio"` \| `"http"` \| `"sandbox"` | None | MCP transport type. | -| `command` | array | None | Command and arguments for `stdio` or `sandbox` transports. | +| `command` | `array` | None | Command and arguments for `stdio` or `sandbox` transports. | | `script` | string | None | Shell script alternative to `command` for process-launching transports. A `stdio` script runs on the host through `sh -c`; a `sandbox` script is evaluated inside the sandbox by non-login Bash. | | `url` | string | None | Remote MCP URL for `http` transport. | | `port` | integer | None | Sandbox port for `sandbox` transport. |