refactor(api): stage 6.6 collapse settings DTOs to freeform v2 shape

Replaces the legacy flat `ServerSettings` / `RunSettings` schemas in
`docs/api-reference/fabro-api.yaml` and 20+ supporting nested type
schemas (LlmSettings, SandboxSettings, HookDefinition, WebSettings,
ApiSettings, GitSettings, McpServerEntry, etc.) with two simple
`type: object, additionalProperties: true` schemas that declare the
wire shape as the v2 `SettingsFile` tree with secret-bearing subtrees
dropped before serialization.

Regenerates the Rust progenitor and TypeScript Axios clients against
the new spec. The progenitor generates `RunSettings` / `ServerSettings`
as `#[serde(transparent)]` newtypes over `serde_json::Map<String,
Value>`; the openapi-generator emits `{ [key: string]: any; }` inlined
into the API method signatures and no longer exports named model
types.

Updates fabro-web to define local `type ServerSettings =
Record<string, unknown>` / `type RunSettings = Record<string,
unknown>` aliases since the generated client no longer exports them.
The UI only `JSON.stringify`s these payloads into a CollapsibleFile,
so the opaque shape is fine.

All 3,756 workspace tests remain green. The OpenAPI conformance test
`server_settings_keys_match_openapi_spec` still passes because
`compare_schema` short-circuits on pure-map schemas (no `properties`);
it becomes a no-op that will be removed entirely when Stage 6.3b
deletes the legacy flat `Settings` struct it still builds.

Unblocks the server handler + CLI migration in the next commits of
Stage 6.6.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-04-09 17:04:33 -04:00
parent ac5a60672f
commit 78c57d585c
68 changed files with 73 additions and 2866 deletions

View file

@ -1,4 +1,12 @@
import type { PaginationMeta, RunSettings } from "@qltysh/fabro-api-client";
import type { PaginationMeta } from "@qltysh/fabro-api-client";
/**
* Opaque settings payload returned by `/api/v1/runs/:id/settings`. Mirrors the
* v2 `SettingsFile` shape in `lib/crates/fabro-types/src/settings/tree.rs`,
* with secret-bearing subtrees dropped before serialization. Treated as a
* loose JSON object on the web side consumers only render it.
*/
export type RunSettings = Record<string, unknown>;
export interface WorkflowScheduleSummary {
expression: string;

View file

@ -4,7 +4,8 @@ import { DocumentTextIcon, MapIcon } from "@heroicons/react/24/outline";
import { CollapsibleFile } from "../components/collapsible-file";
import { apiJson } from "../api";
import { formatDurationSecs } from "../lib/format";
import type { PaginatedRunStageList, RunSettings } from "@qltysh/fabro-api-client";
import type { PaginatedRunStageList } from "@qltysh/fabro-api-client";
import type { RunSettings } from "../lib/workflow-api";
export const handle = { wide: true };

View file

@ -1,6 +1,12 @@
import { apiJson } from "../api";
import { CollapsibleFile } from "../components/collapsible-file";
import type { ServerSettings } from "@qltysh/fabro-api-client";
/**
* Opaque server settings payload returned by `/api/v1/settings`. Mirrors the
* v2 `SettingsFile` shape with secret-bearing subtrees dropped before
* serialization. The UI only renders it as JSON.
*/
type ServerSettings = Record<string, unknown>;
export function meta({}: any) {
return [{ title: "Settings — Fabro" }];

View file

@ -1,8 +1,7 @@
import { ChevronRightIcon } from "@heroicons/react/20/solid";
import { Link, Outlet, useLocation, useParams } from "react-router";
import { apiJson } from "../api";
import type { RunSettings } from "@qltysh/fabro-api-client";
import type { WorkflowDetailResponse as ApiWorkflowDetail } from "../lib/workflow-api";
import type { RunSettings, WorkflowDetailResponse as ApiWorkflowDetail } from "../lib/workflow-api";
export interface WorkflowEntry {
name: string;

View file

@ -3992,376 +3992,37 @@ components:
# ── Settings Schemas ─────────────────────────────────────────────────
RunSettings:
description: Structured run settings mirroring fabro_types::Settings.
type: object
required:
- version
- graph
properties:
version:
type: integer
description: Settings schema version.
example: 1
goal:
type: string
description: Goal description for the run.
example: Diagnose and fix CI build failures
graph:
type: string
description: Graphviz graph filename.
example: fix_build.fabro
work_dir:
type: string
description: Working directory for the run.
llm:
$ref: "#/components/schemas/LlmSettings"
setup:
$ref: "#/components/schemas/SetupSettings"
sandbox:
$ref: "#/components/schemas/SandboxSettings"
vars:
type: object
additionalProperties:
type: string
description: Variable map for template expansion.
hooks:
type: array
items:
$ref: "#/components/schemas/HookDefinition"
LlmSettings:
description: LLM provider and model settings.
type: object
properties:
model:
type: string
description: Model identifier.
example: claude-sonnet
provider:
type: string
description: Provider name.
example: anthropic
fallbacks:
type: object
additionalProperties:
type: array
items:
type: string
description: Provider fallback chains.
SetupSettings:
description: Setup commands run before the workflow.
type: object
required:
- commands
properties:
commands:
type: array
items:
type: string
description: Shell commands to execute.
timeout_ms:
type: integer
description: Timeout per command in milliseconds.
SandboxSettings:
description: Sandbox execution environment settings.
type: object
properties:
provider:
type: string
description: Sandbox provider name.
example: daytona
preserve:
type: boolean
description: Whether to preserve the sandbox after the run.
devcontainer:
type: boolean
description: Whether to use a devcontainer for the sandbox.
daytona:
$ref: "#/components/schemas/DaytonaSettings"
local:
$ref: "#/components/schemas/LocalSandboxSettings"
env:
type: object
additionalProperties:
type: string
description: Environment variables injected into the sandbox.
LocalSandboxSettings:
description: Local sandbox settings.
type: object
properties:
worktree_mode:
type: string
description: Git worktree mode for local sandbox.
enum: [always, clean, dirty, never]
default: clean
DaytonaSettings:
description: Daytona-specific sandbox settings.
type: object
properties:
auto_stop_interval:
type: integer
description: Auto-stop interval in seconds.
labels:
type: object
additionalProperties:
type: string
description: Labels applied to the sandbox.
snapshot:
$ref: "#/components/schemas/DaytonaSnapshotSettings"
network:
description: "Network access mode: \"block\", \"allow_all\", or {\"allow_list\": [...]}."
oneOf:
- type: string
enum:
- block
- allow_all
- type: object
required:
- allow_list
properties:
allow_list:
type: array
items:
type: string
description: CIDR allowlist for network access.
skip_clone:
type: boolean
default: false
description: Skip git repo detection and cloning during initialization.
DaytonaSnapshotSettings:
description: Snapshot configuration for Daytona sandboxes.
type: object
required:
- name
properties:
name:
type: string
description: Snapshot name.
cpu:
type: integer
description: CPU cores.
memory:
type: integer
description: Memory in GB.
disk:
type: integer
description: Disk in GB.
dockerfile:
type: string
description: Dockerfile content for snapshot creation.
HookDefinition:
description: |
A single hook definition. The type discriminator and variant fields are flattened into this object.
Field-to-type mapping:
- `command`: requires `command`
- `http`: requires `url`; optional `headers`, `allowed_env_vars`, `tls`
- `prompt`: requires `prompt`; optional `model`
- `agent`: requires `prompt`; optional `model`, `max_tool_rounds`
Top-level `command` without `type` is shorthand for type=command.
type: object
required:
- event
properties:
name:
type: string
description: Human-readable hook name.
event:
type: string
description: Event that triggers this hook.
enum:
- run_start
- run_complete
- stage_start
- stage_complete
command:
type: string
description: Shell command (shorthand for type=command).
type:
type: string
description: Hook execution type.
enum:
- command
- http
- prompt
- agent
url:
type: string
description: URL for HTTP hooks.
headers:
type: object
additionalProperties:
type: string
description: Headers for HTTP hooks.
allowed_env_vars:
type: array
items:
type: string
description: Environment variables allowed in HTTP hook headers.
tls:
type: string
description: TLS verification mode for HTTP hooks.
enum:
- verify
- no_verify
- "off"
prompt:
type: string
description: Prompt text for prompt/agent hooks.
model:
type: string
description: Model for prompt/agent hooks.
max_tool_rounds:
type: integer
description: Max tool rounds for agent hooks.
matcher:
type: string
description: Regex matched against node_id or handler_type.
blocking:
type: boolean
description: Whether this hook blocks execution.
timeout_ms:
type: integer
description: Timeout in milliseconds.
sandbox:
type: boolean
description: Whether hook runs in sandbox.
ServerSettings:
description: Structured server settings mirroring fabro_types::Settings.
description: |
Non-secret view of the server's effective v2 settings.
Wire shape mirrors `fabro_types::settings::SettingsFile` with the
secret-bearing subtrees dropped before serialization:
- `server.listen.*` (bind address, TLS key material)
- `server.auth.api.{jwt,mtls}` internals
- `server.artifacts.s3` / `server.slatedb.s3` credentials
- `server.integrations.github.webhooks`, Slack/Discord/Teams tokens
- Every `${env.NAME}` InterpString is serialized in its unresolved
template form, never the resolved secret value.
The top-level object keys follow the v2 schema: `_version`, `project`,
`workflow`, `run`, `cli`, `server`, `features`.
See `lib/crates/fabro-types/src/settings/tree.rs` for the full type.
type: object
properties:
version:
type: integer
description: Settings schema version.
goal:
type: string
description: Default goal description.
goal_file:
type: string
description: Path to a goal file.
graph:
type: string
description: Default Graphviz graph path.
labels:
type: object
additionalProperties:
type: string
description: Default label map.
server:
type: object
properties:
target:
type: string
description: Default server target for CLI commands.
tls:
type: object
properties:
cert:
type: string
description: Client certificate path.
key:
type: string
description: Client key path.
ca:
type: string
description: Certificate authority path.
exec:
type: object
properties:
provider:
type: string
description: Default exec provider.
model:
type: string
description: Default exec model.
permissions:
type: string
enum: [read-only, read-write, full]
description: Exec permission level.
output_format:
type: string
enum: [text, json]
description: Exec output format.
prevent_idle_sleep:
type: boolean
description: Prevent system idle sleep while running.
verbose:
type: boolean
description: Enable verbose output by default.
upgrade_check:
type: boolean
description: Whether upgrade checks are enabled.
dry_run:
type: boolean
description: Default dry-run mode.
auto_approve:
type: boolean
description: Default auto-approve mode.
no_retro:
type: boolean
description: Skip retro generation by default.
storage_dir:
type: string
description: Storage directory path.
max_concurrent_runs:
type: integer
description: Maximum concurrent runs.
web:
$ref: "#/components/schemas/WebSettings"
api:
$ref: "#/components/schemas/ApiSettings"
git:
$ref: "#/components/schemas/GitSettings"
features:
$ref: "#/components/schemas/Features"
log:
$ref: "#/components/schemas/LogSettings"
work_dir:
type: string
description: Default working directory.
llm:
$ref: "#/components/schemas/LlmSettings"
setup:
$ref: "#/components/schemas/SetupSettings"
sandbox:
$ref: "#/components/schemas/SandboxSettings"
vars:
type: object
additionalProperties:
type: string
description: Default variable map.
checkpoint:
$ref: "#/components/schemas/CheckpointSettings"
pull_request:
$ref: "#/components/schemas/PullRequestSettings"
hooks:
type: array
items:
$ref: "#/components/schemas/HookDefinition"
artifacts:
$ref: "#/components/schemas/ArtifactsSettings"
mcp_servers:
type: object
additionalProperties:
$ref: "#/components/schemas/McpServerEntry"
description: Default MCP server configurations.
github:
$ref: "#/components/schemas/GitHubSettings"
fabro:
type: object
properties:
root:
type: string
description: Project fabro root directory.
additionalProperties: true
RunSettings:
description: |
The merged, persisted v2 `[run]` subtree for a specific run, serialized
as the wrapping `SettingsFile` shape (so `settings.run.*` holds the run
config). Matches `fabro_types::settings::SettingsFile` minus secret
subtrees, identical to ServerSettings' redaction rules.
See `lib/crates/fabro-types/src/settings/run.rs` for the full type.
type: object
additionalProperties: true
SystemInfoResponse:
description: Runtime information for the active Fabro server process.
@ -4561,216 +4222,6 @@ components:
format: int64
description: Bytes used by the run scratch directory.
GitHubSettings:
description: GitHub App token injection configuration.
type: object
properties:
permissions:
type: object
additionalProperties:
type: string
description: GitHub API permissions to request (e.g. contents = write).
McpServerEntry:
description: MCP server connection entry.
type: object
properties:
type:
type: string
description: Transport type (stdio or http).
command:
type: array
items:
type: string
description: Command and arguments for stdio transport.
env:
type: object
additionalProperties:
type: string
description: Environment variables for stdio transport.
url:
type: string
description: URL for http transport.
headers:
type: object
additionalProperties:
type: string
description: HTTP headers for http transport.
startup_timeout_secs:
type: integer
description: Startup timeout in seconds.
tool_timeout_secs:
type: integer
description: Tool call timeout in seconds.
ArtifactsSettings:
description: Artifact collection configuration.
type: object
properties:
include:
type: array
items:
type: string
description: Glob patterns for files to collect as run artifacts.
LogSettings:
description: Logging configuration.
type: object
properties:
level:
type: string
description: Log level (e.g. trace, debug, info).
CheckpointSettings:
description: Checkpoint configuration for file exclusion.
type: object
properties:
exclude_globs:
type: array
items:
type: string
description: Glob patterns to exclude from checkpoints.
PullRequestSettings:
description: Pull request creation configuration.
type: object
properties:
enabled:
type: boolean
description: Whether to create a pull request after a successful run.
draft:
type: boolean
description: Whether to create the pull request as a draft.
auto_merge:
type: boolean
description: Whether to enable GitHub auto-merge on the created PR. Implies draft = false.
merge_strategy:
type: string
enum: [squash, merge, rebase]
description: Merge strategy for auto-merge.
WebSettings:
description: Web UI configuration.
type: object
properties:
enabled:
type: boolean
description: Whether the embedded web UI and browser-oriented routes are enabled.
url:
type: string
description: Web UI URL.
auth:
$ref: "#/components/schemas/AuthSettings"
AuthSettings:
description: Authentication configuration.
type: object
properties:
provider:
type: string
description: Auth provider.
enum:
- github
- insecure_disabled
allowed_usernames:
type: array
items:
type: string
description: Allowed usernames.
ApiSettings:
description: API server configuration.
type: object
properties:
base_url:
type: string
description: API base URL.
authentication_strategies:
type: array
items:
type: string
enum:
- jwt
- mtls
description: Authentication strategies.
tls:
$ref: "#/components/schemas/TlsSettings"
TlsSettings:
description: TLS certificate configuration.
type: object
required:
- cert
- key
- ca
properties:
cert:
type: string
description: Certificate file path.
key:
type: string
description: Key file path.
ca:
type: string
description: CA certificate file path.
GitSettings:
description: Git provider configuration.
type: object
properties:
provider:
type: string
description: Git provider.
enum:
- github
app_id:
type: string
description: GitHub App ID.
client_id:
type: string
description: GitHub App Client ID.
slug:
type: string
description: GitHub App slug.
author:
$ref: "#/components/schemas/GitAuthorSettings"
webhooks:
$ref: "#/components/schemas/WebhookSettings"
GitAuthorSettings:
description: Git commit author configuration.
type: object
properties:
name:
type: string
description: Author name for commits.
email:
type: string
description: Author email for commits.
WebhookSettings:
description: Webhook delivery configuration.
type: object
required:
- strategy
properties:
strategy:
type: string
description: Webhook delivery strategy.
enum:
- tailscale_funnel
Features:
description: Feature flags.
type: object
properties:
session_sandboxes:
type: boolean
description: Enable session sandboxes.
retros:
type: boolean
description: "Experimental: enable automatic retro generation after workflow runs."
# ── Discovery Schemas ────────────────────────────────────────────────
RootResponseUrls:

View file

@ -20,22 +20,18 @@ models/aggregate-billing-totals.ts
models/aggregate-billing.ts
models/api-question-option.ts
models/api-question.ts
models/api-settings.ts
models/append-event-response.ts
models/artifact-batch-upload-entry.ts
models/artifact-batch-upload-manifest.ts
models/artifact-entry.ts
models/artifact-list-response.ts
models/artifacts-settings.ts
models/assistant-stage-turn.ts
models/auth-settings.ts
models/billed-token-counts.ts
models/billing-by-model.ts
models/billing-stage-ref.ts
models/board-column.ts
models/check-run-status.ts
models/check-run.ts
models/checkpoint-settings.ts
models/code-location.ts
models/completion-content-part.ts
models/completion-message.ts
@ -44,10 +40,6 @@ models/completion-tool-choice.ts
models/completion-tool-definition.ts
models/completion-usage.ts
models/create-completion-request.ts
models/daytona-settings-network-one-of.ts
models/daytona-settings-network.ts
models/daytona-settings.ts
models/daytona-snapshot-settings.ts
models/diagnostics-check.ts
models/diagnostics-detail.ts
models/diagnostics-report.ts
@ -63,21 +55,13 @@ models/event-envelope.ts
models/execute-query-request.ts
models/execute-query-response-rows-inner-inner.ts
models/execute-query-response.ts
models/features.ts
models/file-checkpoint.ts
models/file-diff.ts
models/git-author-settings.ts
models/git-hub-settings.ts
models/git-settings.ts
models/health-response.ts
models/history-entry.ts
models/hook-definition.ts
models/index.ts
models/internal-run-status.ts
models/internal-stage-status.ts
models/llm-settings.ts
models/local-sandbox-settings.ts
models/log-settings.ts
models/manifest-args.ts
models/manifest-config.ts
models/manifest-file-entry.ts
@ -87,7 +71,6 @@ models/manifest-goal.ts
models/manifest-target.ts
models/manifest-workflow-config.ts
models/manifest-workflow.ts
models/mcp-server-entry.ts
models/model-costs.ts
models/model-features.ts
models/model-limits.ts
@ -118,7 +101,6 @@ models/preview-url-response.ts
models/prune-run-entry.ts
models/prune-runs-request.ts
models/prune-runs-response.ts
models/pull-request-settings.ts
models/question-type.ts
models/render-workflow-graph-direction.ts
models/render-workflow-graph-format.ts
@ -145,7 +127,6 @@ models/run-pull-request.ts
models/run-question.ts
models/run-reference.ts
models/run-sandbox.ts
models/run-settings.ts
models/run-stage.ts
models/run-status-record.ts
models/run-status-response.ts
@ -154,18 +135,11 @@ models/run-timings.ts
models/sandbox-file-entry.ts
models/sandbox-file-list-response.ts
models/sandbox-resources.ts
models/sandbox-settings.ts
models/save-query-request.ts
models/saved-query.ts
models/secret-list-response.ts
models/secret-metadata.ts
models/server-settings-exec.ts
models/server-settings-fabro.ts
models/server-settings-server-tls.ts
models/server-settings-server.ts
models/server-settings.ts
models/set-secret-request.ts
models/setup-settings.ts
models/ssh-access-request.ts
models/ssh-access-response.ts
models/stage-status.ts
@ -177,12 +151,9 @@ models/submit-answer-request.ts
models/system-info-response.ts
models/system-run-counts.ts
models/system-stage-turn.ts
models/tls-settings.ts
models/tool-stage-turn.ts
models/tool-use.ts
models/user-response.ts
models/web-settings.ts
models/webhook-settings.ts
models/workflow-diagnostic.ts
models/workflow-reference.ts
models/write-blob-response.ts

View file

@ -42,8 +42,6 @@ import type { RunEvent } from '../models';
// @ts-ignore
import type { RunProjection } from '../models';
// @ts-ignore
import type { RunSettings } from '../models';
// @ts-ignore
import type { WriteBlobResponse } from '../models';
// @ts-ignore
import type { WriteRunBlobRequest } from '../models';
@ -481,7 +479,7 @@ export const RunInternalsApiAxiosParamCreator = function (configuration?: Config
};
},
/**
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* @summary Put Stage Artifact
* @param {string} id Unique run identifier (ULID).
* @param {string} stageId Identifier of a stage within a run\&#39;s workflow graph, serialized as &#x60;node_id@visit&#x60;.
@ -847,7 +845,7 @@ export const RunInternalsApiFp = function(configuration?: Configuration) {
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
/**
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* @summary Put Stage Artifact
* @param {string} id Unique run identifier (ULID).
* @param {string} stageId Identifier of a stage within a run\&#39;s workflow graph, serialized as &#x60;node_id@visit&#x60;.
@ -896,7 +894,7 @@ export const RunInternalsApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async retrieveRunSettings(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RunSettings>> {
async retrieveRunSettings(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveRunSettings(id, options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['RunInternalsApi.retrieveRunSettings']?.[localVarOperationServerIndex]?.url;
@ -1028,7 +1026,7 @@ export const RunInternalsApiFactory = function (configuration?: Configuration, b
return localVarFp.listStageTurns(id, stageId, pageLimit, pageOffset, options).then((request) => request(axios, basePath));
},
/**
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* @summary Put Stage Artifact
* @param {string} id Unique run identifier (ULID).
* @param {string} stageId Identifier of a stage within a run\&#39;s workflow graph, serialized as &#x60;node_id@visit&#x60;.
@ -1068,7 +1066,7 @@ export const RunInternalsApiFactory = function (configuration?: Configuration, b
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveRunSettings(id: string, options?: RawAxiosRequestConfig): AxiosPromise<RunSettings> {
retrieveRunSettings(id: string, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }> {
return localVarFp.retrieveRunSettings(id, options).then((request) => request(axios, basePath));
},
/**
@ -1201,7 +1199,7 @@ export class RunInternalsApi extends BaseAPI {
}
/**
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* Uploads one or more artifacts for a stage. Intended for trusted internal callers. The server accepts both: - `application/octet-stream` for single-file uploads with the `filename` query parameter - strict manifest-first `multipart/form-data` uploads documented by `ArtifactBatchUploadManifest` The generated Rust client currently exposes the octet-stream variant because the OpenAPI code generator in this repo does not support multiple request media types on one operation.
* @summary Put Stage Artifact
* @param {string} id Unique run identifier (ULID).
* @param {string} stageId Identifier of a stage within a run\&#39;s workflow graph, serialized as &#x60;node_id@visit&#x60;.
@ -1260,3 +1258,4 @@ export class RunInternalsApi extends BaseAPI {
return RunInternalsApiFp(this.configuration).writeRunBlob(id, body, options).then((request) => request(this.axios, this.basePath));
}
}

View file

@ -21,8 +21,6 @@ import globalAxios from 'axios';
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';
// @ts-ignore
import type { ServerSettings } from '../models';
/**
* SettingsApi - axios parameter creator
*/
@ -80,7 +78,7 @@ export const SettingsApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async retrieveServerSettings(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServerSettings>> {
async retrieveServerSettings(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveServerSettings(options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['SettingsApi.retrieveServerSettings']?.[localVarOperationServerIndex]?.url;
@ -101,7 +99,7 @@ export const SettingsApiFactory = function (configuration?: Configuration, baseP
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveServerSettings(options?: RawAxiosRequestConfig): AxiosPromise<ServerSettings> {
retrieveServerSettings(options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }> {
return localVarFp.retrieveServerSettings(options).then((request) => request(axios, basePath));
},
};

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { TlsSettings } from './tls-configuration';
/**
* API server configuration.
*/
export interface ApiSettings {
/**
* API base URL.
*/
'base_url'?: string;
/**
* Authentication strategies.
*/
'authentication_strategies'?: Array<ApiSettingsAuthenticationStrategiesEnum>;
'tls'?: TlsSettings;
}
export const ApiSettingsAuthenticationStrategiesEnum = {
JWT: 'jwt',
MTLS: 'mtls'
} as const;
export type ApiSettingsAuthenticationStrategiesEnum = typeof ApiSettingsAuthenticationStrategiesEnum[keyof typeof ApiSettingsAuthenticationStrategiesEnum];

View file

@ -32,6 +32,10 @@ export interface ApiQuestion {
* The question text displayed to the user.
*/
'text': string;
/**
* Workflow stage identifier that produced the question.
*/
'stage': string;
'question_type': QuestionType;
/**
* Available options for selection-based questions. Empty for freeform questions.
@ -41,6 +45,14 @@ export interface ApiQuestion {
* Whether the user may provide freeform text in addition to selecting options.
*/
'allow_freeform': boolean;
/**
* Timeout for the question when configured by the workflow.
*/
'timeout_seconds'?: number;
/**
* Optional contextual text shown alongside the question.
*/
'context_display'?: string;
}

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { TlsSettings } from './tls-settings';
/**
* API server configuration.
*/
export interface ApiSettings {
/**
* API base URL.
*/
'base_url'?: string;
/**
* Authentication strategies.
*/
'authentication_strategies'?: Array<ApiSettingsAuthenticationStrategiesEnum>;
'tls'?: TlsSettings;
}
export const ApiSettingsAuthenticationStrategiesEnum = {
JWT: 'jwt',
MTLS: 'mtls'
} as const;
export type ApiSettingsAuthenticationStrategiesEnum = typeof ApiSettingsAuthenticationStrategiesEnum[keyof typeof ApiSettingsAuthenticationStrategiesEnum];

View file

@ -5,7 +5,7 @@
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
@ -39,3 +39,4 @@ export interface ArtifactBatchUploadEntry {
*/
'content_type'?: string;
}

View file

@ -5,7 +5,7 @@
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
@ -23,3 +23,4 @@ import type { ArtifactBatchUploadEntry } from './artifact-batch-upload-entry';
export interface ArtifactBatchUploadManifest {
'entries': Array<ArtifactBatchUploadEntry>;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Artifact collection configuration.
*/
export interface ArtifactsSettings {
/**
* Glob patterns for files to collect as run artifacts.
*/
'include'?: Array<string>;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Artifact collection configuration.
*/
export interface ArtifactsSettings {
/**
* Glob patterns for files to collect as run artifacts.
*/
'include'?: Array<string>;
}

View file

@ -1,38 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Authentication configuration.
*/
export interface AuthSettings {
/**
* Auth provider.
*/
'provider'?: AuthSettingsProviderEnum;
/**
* Allowed usernames.
*/
'allowed_usernames'?: Array<string>;
}
export const AuthSettingsProviderEnum = {
GITHUB: 'github',
INSECURE_DISABLED: 'insecure_disabled'
} as const;
export type AuthSettingsProviderEnum = typeof AuthSettingsProviderEnum[keyof typeof AuthSettingsProviderEnum];

View file

@ -1,38 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Authentication configuration.
*/
export interface AuthSettings {
/**
* Auth provider.
*/
'provider'?: AuthSettingsProviderEnum;
/**
* Allowed usernames.
*/
'allowed_usernames'?: Array<string>;
}
export const AuthSettingsProviderEnum = {
GITHUB: 'github',
INSECURE_DISABLED: 'insecure_disabled'
} as const;
export type AuthSettingsProviderEnum = typeof AuthSettingsProviderEnum[keyof typeof AuthSettingsProviderEnum];

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Checkpoint configuration for file exclusion.
*/
export interface CheckpointSettings {
/**
* Glob patterns to exclude from checkpoints.
*/
'exclude_globs'?: Array<string>;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Checkpoint configuration for file exclusion.
*/
export interface CheckpointSettings {
/**
* Glob patterns to exclude from checkpoints.
*/
'exclude_globs'?: Array<string>;
}

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Request body for creating a new run, either from inline Graphviz source or from a local workflow path plus resolved settings.
*/
export interface CreateRunRequest {
/**
* Graphviz DOT language source defining the workflow graph.
*/
'dot_source'?: string;
/**
* Absolute or relative path to the workflow file to load on the local machine.
*/
'workflow_path'?: string;
/**
* Working directory used to resolve the workflow path.
*/
'cwd'?: string;
/**
* JSON-serialized `fabro_types::Settings` payload resolved by the CLI.
*/
'settings_json'?: string;
/**
* Optional pre-generated run ID to use instead of allocating a new ULID.
*/
'run_id'?: string;
}

View file

@ -1,23 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface DaytonaSettingsNetworkOneOf {
/**
* CIDR allowlist for network access.
*/
'allow_list': Array<string>;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettingsNetworkOneOf } from './daytona-configuration-network-one-of';
/**
* @type DaytonaSettingsNetwork
* Network access mode: \"block\", \"allow_all\", or {\"allow_list\": [...]}.
*/
export type DaytonaSettingsNetwork = DaytonaSettingsNetworkOneOf | string;

View file

@ -1,38 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettingsNetwork } from './daytona-configuration-network';
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSnapshotSettings } from './daytona-snapshot-configuration';
/**
* Daytona-specific sandbox settings.
*/
export interface DaytonaSettings {
/**
* Auto-stop interval in seconds.
*/
'auto_stop_interval'?: number;
/**
* Labels applied to the sandbox.
*/
'labels'?: { [key: string]: string; };
'snapshot'?: DaytonaSnapshotSettings;
'network'?: DaytonaSettingsNetwork;
}

View file

@ -1,23 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface DaytonaSettingsNetworkOneOf {
/**
* CIDR allowlist for network access.
*/
'allow_list': Array<string>;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettingsNetworkOneOf } from './daytona-settings-network-one-of';
/**
* @type DaytonaSettingsNetwork
* Network access mode: \"block\", \"allow_all\", or {\"allow_list\": [...]}.
*/
export type DaytonaSettingsNetwork = DaytonaSettingsNetworkOneOf | string;

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettingsNetwork } from './daytona-settings-network';
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSnapshotSettings } from './daytona-snapshot-settings';
/**
* Daytona-specific sandbox settings.
*/
export interface DaytonaSettings {
/**
* Auto-stop interval in seconds.
*/
'auto_stop_interval'?: number;
/**
* Labels applied to the sandbox.
*/
'labels'?: { [key: string]: string; };
'snapshot'?: DaytonaSnapshotSettings;
'network'?: DaytonaSettingsNetwork;
/**
* Skip git repo detection and cloning during initialization.
*/
'skip_clone'?: boolean;
}

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Snapshot configuration for Daytona sandboxes.
*/
export interface DaytonaSnapshotSettings {
/**
* Snapshot name.
*/
'name': string;
/**
* CPU cores.
*/
'cpu'?: number;
/**
* Memory in GB.
*/
'memory'?: number;
/**
* Disk in GB.
*/
'disk'?: number;
/**
* Dockerfile content for snapshot creation.
*/
'dockerfile'?: string;
}

View file

@ -1,42 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Snapshot configuration for Daytona sandboxes.
*/
export interface DaytonaSnapshotSettings {
/**
* Snapshot name.
*/
'name': string;
/**
* CPU cores.
*/
'cpu'?: number;
/**
* Memory in GB.
*/
'memory'?: number;
/**
* Disk in GB.
*/
'disk'?: number;
/**
* Dockerfile content for snapshot creation.
*/
'dockerfile'?: string;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* exe.dev sandbox configuration.
*/
export interface ExeSettings {
/**
* VM image to use for the exe.dev sandbox.
*/
'image'?: string;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* exe.dev sandbox configuration.
*/
export interface ExeSettings {
/**
* VM image to use for the exe.dev sandbox.
*/
'image'?: string;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Feature flags.
*/
export interface Features {
/**
* Enable session sandboxes.
*/
'session_sandboxes'?: boolean;
/**
* Experimental: enable automatic retro generation after workflow runs.
*/
'retros'?: boolean;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Git commit author configuration.
*/
export interface GitAuthorSettings {
/**
* Author name for commits.
*/
'name'?: string;
/**
* Author email for commits.
*/
'email'?: string;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Git commit author configuration.
*/
export interface GitAuthorSettings {
/**
* Author name for commits.
*/
'name'?: string;
/**
* Author email for commits.
*/
'email'?: string;
}

View file

@ -1,53 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { GitAuthorSettings } from './git-author-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { WebhookSettings } from './webhook-configuration';
/**
* Git provider configuration.
*/
export interface GitSettings {
/**
* Git provider.
*/
'provider'?: GitSettingsProviderEnum;
/**
* GitHub App ID.
*/
'app_id'?: string;
/**
* GitHub App Client ID.
*/
'client_id'?: string;
/**
* GitHub App slug.
*/
'slug'?: string;
'author'?: GitAuthorSettings;
'webhooks'?: WebhookSettings;
}
export const GitSettingsProviderEnum = {
GITHUB: 'github'
} as const;
export type GitSettingsProviderEnum = typeof GitSettingsProviderEnum[keyof typeof GitSettingsProviderEnum];

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* GitHub App token injection configuration.
*/
export interface GitHubSettings {
/**
* GitHub API permissions to request (e.g. contents = write).
*/
'permissions'?: { [key: string]: string; };
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* GitHub App token injection configuration.
*/
export interface GitHubSettings {
/**
* GitHub API permissions to request (e.g. contents = write).
*/
'permissions'?: { [key: string]: string; };
}

View file

@ -1,53 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { GitAuthorSettings } from './git-author-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { WebhookSettings } from './webhook-settings';
/**
* Git provider configuration.
*/
export interface GitSettings {
/**
* Git provider.
*/
'provider'?: GitSettingsProviderEnum;
/**
* GitHub App ID.
*/
'app_id'?: string;
/**
* GitHub App Client ID.
*/
'client_id'?: string;
/**
* GitHub App slug.
*/
'slug'?: string;
'author'?: GitAuthorSettings;
'webhooks'?: WebhookSettings;
}
export const GitSettingsProviderEnum = {
GITHUB: 'github'
} as const;
export type GitSettingsProviderEnum = typeof GitSettingsProviderEnum[keyof typeof GitSettingsProviderEnum];

View file

@ -1,107 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* A single hook definition. The type discriminator and variant fields are flattened into this object. Field-to-type mapping: - `command`: requires `command` - `http`: requires `url`; optional `headers`, `allowed_env_vars`, `tls` - `prompt`: requires `prompt`; optional `model` - `agent`: requires `prompt`; optional `model`, `max_tool_rounds` Top-level `command` without `type` is shorthand for type=command.
*/
export interface HookDefinition {
/**
* Human-readable hook name.
*/
'name'?: string;
/**
* Event that triggers this hook.
*/
'event': HookDefinitionEventEnum;
/**
* Shell command (shorthand for type=command).
*/
'command'?: string;
/**
* Hook execution type.
*/
'type'?: HookDefinitionTypeEnum;
/**
* URL for HTTP hooks.
*/
'url'?: string;
/**
* Headers for HTTP hooks.
*/
'headers'?: { [key: string]: string; };
/**
* Environment variables allowed in HTTP hook headers.
*/
'allowed_env_vars'?: Array<string>;
/**
* TLS verification mode for HTTP hooks.
*/
'tls'?: HookDefinitionTlsEnum;
/**
* Prompt text for prompt/agent hooks.
*/
'prompt'?: string;
/**
* Model for prompt/agent hooks.
*/
'model'?: string;
/**
* Max tool rounds for agent hooks.
*/
'max_tool_rounds'?: number;
/**
* Regex matched against node_id or handler_type.
*/
'matcher'?: string;
/**
* Whether this hook blocks execution.
*/
'blocking'?: boolean;
/**
* Timeout in milliseconds.
*/
'timeout_ms'?: number;
/**
* Whether hook runs in sandbox.
*/
'sandbox'?: boolean;
}
export const HookDefinitionEventEnum = {
RUN_START: 'run_start',
RUN_COMPLETE: 'run_complete',
STAGE_START: 'stage_start',
STAGE_COMPLETE: 'stage_complete'
} as const;
export type HookDefinitionEventEnum = typeof HookDefinitionEventEnum[keyof typeof HookDefinitionEventEnum];
export const HookDefinitionTypeEnum = {
COMMAND: 'command',
HTTP: 'http',
PROMPT: 'prompt',
AGENT: 'agent'
} as const;
export type HookDefinitionTypeEnum = typeof HookDefinitionTypeEnum[keyof typeof HookDefinitionTypeEnum];
export const HookDefinitionTlsEnum = {
VERIFY: 'verify',
NO_VERIFY: 'no_verify',
OFF: 'off'
} as const;
export type HookDefinitionTlsEnum = typeof HookDefinitionTlsEnum[keyof typeof HookDefinitionTlsEnum];

View file

@ -2,22 +2,18 @@ export * from './aggregate-billing';
export * from './aggregate-billing-totals';
export * from './api-question';
export * from './api-question-option';
export * from './api-settings';
export * from './append-event-response';
export * from './artifact-batch-upload-entry';
export * from './artifact-batch-upload-manifest';
export * from './artifact-entry';
export * from './artifact-list-response';
export * from './artifacts-settings';
export * from './assistant-stage-turn';
export * from './auth-settings';
export * from './billed-token-counts';
export * from './billing-by-model';
export * from './billing-stage-ref';
export * from './board-column';
export * from './check-run';
export * from './check-run-status';
export * from './checkpoint-settings';
export * from './code-location';
export * from './completion-content-part';
export * from './completion-message';
@ -26,10 +22,6 @@ export * from './completion-tool-choice';
export * from './completion-tool-definition';
export * from './completion-usage';
export * from './create-completion-request';
export * from './daytona-settings';
export * from './daytona-settings-network';
export * from './daytona-settings-network-one-of';
export * from './daytona-snapshot-settings';
export * from './diagnostics-check';
export * from './diagnostics-detail';
export * from './diagnostics-report';
@ -45,20 +37,12 @@ export * from './event-envelope';
export * from './execute-query-request';
export * from './execute-query-response';
export * from './execute-query-response-rows-inner-inner';
export * from './features';
export * from './file-checkpoint';
export * from './file-diff';
export * from './git-author-settings';
export * from './git-hub-settings';
export * from './git-settings';
export * from './health-response';
export * from './history-entry';
export * from './hook-definition';
export * from './internal-run-status';
export * from './internal-stage-status';
export * from './llm-settings';
export * from './local-sandbox-settings';
export * from './log-settings';
export * from './manifest-args';
export * from './manifest-config';
export * from './manifest-file-entry';
@ -68,7 +52,6 @@ export * from './manifest-goal';
export * from './manifest-target';
export * from './manifest-workflow';
export * from './manifest-workflow-config';
export * from './mcp-server-entry';
export * from './model';
export * from './model-costs';
export * from './model-features';
@ -99,7 +82,6 @@ export * from './preview-url-response';
export * from './prune-run-entry';
export * from './prune-runs-request';
export * from './prune-runs-response';
export * from './pull-request-settings';
export * from './question-type';
export * from './render-workflow-graph-direction';
export * from './render-workflow-graph-format';
@ -126,7 +108,6 @@ export * from './run-pull-request';
export * from './run-question';
export * from './run-reference';
export * from './run-sandbox';
export * from './run-settings';
export * from './run-stage';
export * from './run-status';
export * from './run-status-record';
@ -135,18 +116,11 @@ export * from './run-timings';
export * from './sandbox-file-entry';
export * from './sandbox-file-list-response';
export * from './sandbox-resources';
export * from './sandbox-settings';
export * from './save-query-request';
export * from './saved-query';
export * from './secret-list-response';
export * from './secret-metadata';
export * from './server-settings';
export * from './server-settings-exec';
export * from './server-settings-fabro';
export * from './server-settings-server';
export * from './server-settings-server-tls';
export * from './set-secret-request';
export * from './setup-settings';
export * from './ssh-access-request';
export * from './ssh-access-response';
export * from './stage-status';
@ -158,12 +132,9 @@ export * from './submit-answer-request';
export * from './system-info-response';
export * from './system-run-counts';
export * from './system-stage-turn';
export * from './tls-settings';
export * from './tool-stage-turn';
export * from './tool-use';
export * from './user-response';
export * from './web-settings';
export * from './webhook-settings';
export * from './workflow-diagnostic';
export * from './workflow-reference';
export * from './write-blob-response';

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* LLM provider and model settings.
*/
export interface LlmSettings {
/**
* Model identifier.
*/
'model'?: string;
/**
* Provider name.
*/
'provider'?: string;
/**
* Provider fallback chains.
*/
'fallbacks'?: { [key: string]: Array<string>; };
}

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* LLM provider and model settings.
*/
export interface LlmSettings {
/**
* Model identifier.
*/
'model'?: string;
/**
* Provider name.
*/
'provider'?: string;
/**
* Provider fallback chains.
*/
'fallbacks'?: { [key: string]: Array<string>; };
}

View file

@ -1,36 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Local sandbox settings.
*/
export interface LocalSandboxSettings {
/**
* Git worktree mode for local sandbox.
*/
'worktree_mode'?: LocalSandboxSettingsWorktreeModeEnum;
}
export const LocalSandboxSettingsWorktreeModeEnum = {
ALWAYS: 'always',
CLEAN: 'clean',
DIRTY: 'dirty',
NEVER: 'never'
} as const;
export type LocalSandboxSettingsWorktreeModeEnum = typeof LocalSandboxSettingsWorktreeModeEnum[keyof typeof LocalSandboxSettingsWorktreeModeEnum];

View file

@ -1,36 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Local sandbox settings.
*/
export interface LocalSandboxSettings {
/**
* Git worktree mode for local sandbox.
*/
'worktree_mode'?: LocalSandboxSettingsWorktreeModeEnum;
}
export const LocalSandboxSettingsWorktreeModeEnum = {
ALWAYS: 'always',
CLEAN: 'clean',
DIRTY: 'dirty',
NEVER: 'never'
} as const;
export type LocalSandboxSettingsWorktreeModeEnum = typeof LocalSandboxSettingsWorktreeModeEnum[keyof typeof LocalSandboxSettingsWorktreeModeEnum];

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Logging configuration.
*/
export interface LogSettings {
/**
* Log level (e.g. trace, debug, info).
*/
'level'?: string;
}

View file

@ -1,26 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Logging configuration.
*/
export interface LogSettings {
/**
* Log level (e.g. trace, debug, info).
*/
'level'?: string;
}

View file

@ -1,50 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* MCP server connection entry.
*/
export interface McpServerEntry {
/**
* Transport type (stdio or http).
*/
'type'?: string;
/**
* Command and arguments for stdio transport.
*/
'command'?: Array<string>;
/**
* Environment variables for stdio transport.
*/
'env'?: { [key: string]: string; };
/**
* URL for http transport.
*/
'url'?: string;
/**
* HTTP headers for http transport.
*/
'headers'?: { [key: string]: string; };
/**
* Startup timeout in seconds.
*/
'startup_timeout_secs'?: number;
/**
* Tool call timeout in seconds.
*/
'tool_timeout_secs'?: number;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Pull request creation configuration.
*/
export interface PullRequestSettings {
/**
* Whether to create a pull request after a successful run.
*/
'enabled'?: boolean;
/**
* Whether to create the pull request as a draft.
*/
'draft'?: boolean;
}

View file

@ -1,47 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Pull request creation configuration.
*/
export interface PullRequestSettings {
/**
* Whether to create a pull request after a successful run.
*/
'enabled'?: boolean;
/**
* Whether to create the pull request as a draft.
*/
'draft'?: boolean;
/**
* Whether to enable GitHub auto-merge on the created PR. Implies draft = false.
*/
'auto_merge'?: boolean;
/**
* Merge strategy for auto-merge.
*/
'merge_strategy'?: PullRequestSettingsMergeStrategyEnum;
}
export const PullRequestSettingsMergeStrategyEnum = {
SQUASH: 'squash',
MERGE: 'merge',
REBASE: 'rebase'
} as const;
export type PullRequestSettingsMergeStrategyEnum = typeof PullRequestSettingsMergeStrategyEnum[keyof typeof PullRequestSettingsMergeStrategyEnum];

View file

@ -1,57 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { HookDefinition } from './hook-definition';
// May contain unused imports in some cases
// @ts-ignore
import type { LlmSettings } from './llm-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxSettings } from './sandbox-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SetupSettings } from './setup-configuration';
/**
* Structured run settings mirroring FabroSettings.
*/
export interface RunSettings {
/**
* Settings schema version.
*/
'version': number;
/**
* Goal description for the run.
*/
'goal'?: string;
/**
* DOT graph filename.
*/
'graph': string;
/**
* Working directory for the run.
*/
'work_dir'?: string;
'llm'?: LlmSettings;
'setup'?: SetupSettings;
'sandbox'?: SandboxSettings;
/**
* Variable map for template expansion.
*/
'vars'?: { [key: string]: string; };
'hooks'?: Array<HookDefinition>;
}

View file

@ -1,58 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { HookDefinition } from './hook-definition';
// May contain unused imports in some cases
// @ts-ignore
import type { LlmSettings } from './llm-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxSettings } from './sandbox-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { SetupSettings } from './setup-settings';
/**
* Structured run settings mirroring fabro_types::Settings.
*/
export interface RunSettings {
/**
* Settings schema version.
*/
'version': number;
/**
* Goal description for the run.
*/
'goal'?: string;
/**
* Graphviz graph filename.
*/
'graph': string;
/**
* Working directory for the run.
*/
'work_dir'?: string;
'llm'?: LlmSettings;
'setup'?: SetupSettings;
'sandbox'?: SandboxSettings;
/**
* Variable map for template expansion.
*/
'vars'?: { [key: string]: string; };
'hooks'?: Array<HookDefinition>;
}

View file

@ -1,54 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettings } from './daytona-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { ExeSettings } from './exe-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { LocalSandboxSettings } from './local-sandbox-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SshSettings } from './ssh-configuration';
/**
* Sandbox execution environment settings.
*/
export interface SandboxSettings {
/**
* Sandbox provider name.
*/
'provider'?: string;
/**
* Whether to preserve the sandbox after the run.
*/
'preserve'?: boolean;
/**
* Whether to use a devcontainer for the sandbox.
*/
'devcontainer'?: boolean;
'daytona'?: DaytonaSettings;
'exe'?: ExeSettings;
'ssh'?: SshSettings;
'local'?: LocalSandboxSettings;
/**
* Environment variables injected into the sandbox.
*/
'env'?: { [key: string]: string; };
}

View file

@ -1,46 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { DaytonaSettings } from './daytona-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { LocalSandboxSettings } from './local-sandbox-settings';
/**
* Sandbox execution environment settings.
*/
export interface SandboxSettings {
/**
* Sandbox provider name.
*/
'provider'?: string;
/**
* Whether to preserve the sandbox after the run.
*/
'preserve'?: boolean;
/**
* Whether to use a devcontainer for the sandbox.
*/
'devcontainer'?: boolean;
'daytona'?: DaytonaSettings;
'local'?: LocalSandboxSettings;
/**
* Environment variables injected into the sandbox.
*/
'env'?: { [key: string]: string; };
}

View file

@ -1,96 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { ApiSettings } from './api-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { ArtifactsSettings } from './artifacts-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { CheckpointSettings } from './checkpoint-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { Features } from './features';
// May contain unused imports in some cases
// @ts-ignore
import type { GitSettings } from './git-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { GitHubSettings } from './git-hub-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { HookDefinition } from './hook-definition';
// May contain unused imports in some cases
// @ts-ignore
import type { LlmSettings } from './llm-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { LogSettings } from './log-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { McpServerEntry } from './mcp-server-entry';
// May contain unused imports in some cases
// @ts-ignore
import type { PullRequestSettings } from './pull-request-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxSettings } from './sandbox-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { SetupSettings } from './setup-configuration';
// May contain unused imports in some cases
// @ts-ignore
import type { WebSettings } from './web-configuration';
/**
* Structured server settings mirroring FabroSettings.
*/
export interface ServerSettings {
/**
* Data directory path.
*/
'data_dir'?: string;
/**
* Maximum concurrent runs.
*/
'max_concurrent_runs'?: number;
'web'?: WebSettings;
'api'?: ApiSettings;
'git'?: GitSettings;
'features'?: Features;
'log'?: LogSettings;
/**
* Default working directory.
*/
'work_dir'?: string;
'llm'?: LlmSettings;
'setup'?: SetupSettings;
'sandbox'?: SandboxSettings;
/**
* Default variable map.
*/
'vars'?: { [key: string]: string; };
'checkpoint'?: CheckpointSettings;
'pull_request'?: PullRequestSettings;
'hooks'?: Array<HookDefinition>;
'artifacts'?: ArtifactsSettings;
/**
* Default MCP server configurations.
*/
'mcp_servers'?: { [key: string]: McpServerEntry; };
'github'?: GitHubSettings;
}

View file

@ -1,50 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ServerSettingsExec {
/**
* Default exec provider.
*/
'provider'?: string;
/**
* Default exec model.
*/
'model'?: string;
/**
* Exec permission level.
*/
'permissions'?: ServerSettingsExecPermissionsEnum;
/**
* Exec output format.
*/
'output_format'?: ServerSettingsExecOutputFormatEnum;
}
export const ServerSettingsExecPermissionsEnum = {
READ_ONLY: 'read-only',
READ_WRITE: 'read-write',
FULL: 'full'
} as const;
export type ServerSettingsExecPermissionsEnum = typeof ServerSettingsExecPermissionsEnum[keyof typeof ServerSettingsExecPermissionsEnum];
export const ServerSettingsExecOutputFormatEnum = {
TEXT: 'text',
JSON: 'json'
} as const;
export type ServerSettingsExecOutputFormatEnum = typeof ServerSettingsExecOutputFormatEnum[keyof typeof ServerSettingsExecOutputFormatEnum];

View file

@ -1,23 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ServerSettingsFabro {
/**
* Project fabro root directory.
*/
'root'?: string;
}

View file

@ -1,31 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ServerSettingsServerTls {
/**
* Client certificate path.
*/
'cert'?: string;
/**
* Client key path.
*/
'key'?: string;
/**
* Certificate authority path.
*/
'ca'?: string;
}

View file

@ -1,27 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { ServerSettingsServerTls } from './server-settings-server-tls';
export interface ServerSettingsServer {
/**
* Default server target for CLI commands.
*/
'target'?: string;
'tls'?: ServerSettingsServerTls;
}

View file

@ -1,153 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { ApiSettings } from './api-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { ArtifactsSettings } from './artifacts-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { CheckpointSettings } from './checkpoint-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { Features } from './features';
// May contain unused imports in some cases
// @ts-ignore
import type { GitHubSettings } from './git-hub-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { GitSettings } from './git-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { HookDefinition } from './hook-definition';
// May contain unused imports in some cases
// @ts-ignore
import type { LlmSettings } from './llm-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { LogSettings } from './log-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { McpServerEntry } from './mcp-server-entry';
// May contain unused imports in some cases
// @ts-ignore
import type { PullRequestSettings } from './pull-request-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { SandboxSettings } from './sandbox-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { ServerSettingsExec } from './server-settings-exec';
// May contain unused imports in some cases
// @ts-ignore
import type { ServerSettingsFabro } from './server-settings-fabro';
// May contain unused imports in some cases
// @ts-ignore
import type { ServerSettingsServer } from './server-settings-server';
// May contain unused imports in some cases
// @ts-ignore
import type { SetupSettings } from './setup-settings';
// May contain unused imports in some cases
// @ts-ignore
import type { WebSettings } from './web-settings';
/**
* Structured server settings mirroring fabro_types::Settings.
*/
export interface ServerSettings {
/**
* Settings schema version.
*/
'version'?: number;
/**
* Default goal description.
*/
'goal'?: string;
/**
* Path to a goal file.
*/
'goal_file'?: string;
/**
* Default Graphviz graph path.
*/
'graph'?: string;
/**
* Default label map.
*/
'labels'?: { [key: string]: string; };
'server'?: ServerSettingsServer;
'exec'?: ServerSettingsExec;
/**
* Prevent system idle sleep while running.
*/
'prevent_idle_sleep'?: boolean;
/**
* Enable verbose output by default.
*/
'verbose'?: boolean;
/**
* Whether upgrade checks are enabled.
*/
'upgrade_check'?: boolean;
/**
* Default dry-run mode.
*/
'dry_run'?: boolean;
/**
* Default auto-approve mode.
*/
'auto_approve'?: boolean;
/**
* Skip retro generation by default.
*/
'no_retro'?: boolean;
/**
* Storage directory path.
*/
'storage_dir'?: string;
/**
* Maximum concurrent runs.
*/
'max_concurrent_runs'?: number;
'web'?: WebSettings;
'api'?: ApiSettings;
'git'?: GitSettings;
'features'?: Features;
'log'?: LogSettings;
/**
* Default working directory.
*/
'work_dir'?: string;
'llm'?: LlmSettings;
'setup'?: SetupSettings;
'sandbox'?: SandboxSettings;
/**
* Default variable map.
*/
'vars'?: { [key: string]: string; };
'checkpoint'?: CheckpointSettings;
'pull_request'?: PullRequestSettings;
'hooks'?: Array<HookDefinition>;
'artifacts'?: ArtifactsSettings;
/**
* Default MCP server configurations.
*/
'mcp_servers'?: { [key: string]: McpServerEntry; };
'github'?: GitHubSettings;
'fabro'?: ServerSettingsFabro;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Setup commands run before the workflow.
*/
export interface SetupSettings {
/**
* Shell commands to execute.
*/
'commands': Array<string>;
/**
* Timeout per command in milliseconds.
*/
'timeout_ms'?: number;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Setup commands run before the workflow.
*/
export interface SetupSettings {
/**
* Shell commands to execute.
*/
'commands': Array<string>;
/**
* Timeout per command in milliseconds.
*/
'timeout_ms'?: number;
}

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* SSH sandbox configuration for user-provided hosts.
*/
export interface SshSettings {
/**
* SSH destination (e.g. user@host or an SSH alias).
*/
'destination': string;
/**
* Remote working directory.
*/
'working_directory': string;
/**
* Optional path to a custom SSH config file.
*/
'config_file'?: string;
}

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* SSH sandbox configuration for user-provided hosts.
*/
export interface SshSettings {
/**
* SSH destination (e.g. user@host or an SSH alias).
*/
'destination': string;
/**
* Remote working directory.
*/
'working_directory': string;
/**
* Optional path to a custom SSH config file.
*/
'config_file'?: string;
}

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* TLS certificate configuration.
*/
export interface TlsSettings {
/**
* Certificate file path.
*/
'cert': string;
/**
* Key file path.
*/
'key': string;
/**
* CA certificate file path.
*/
'ca': string;
}

View file

@ -1,34 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* TLS certificate configuration.
*/
export interface TlsSettings {
/**
* Certificate file path.
*/
'cert': string;
/**
* Key file path.
*/
'key': string;
/**
* CA certificate file path.
*/
'ca': string;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { AuthSettings } from './auth-configuration';
/**
* Web UI configuration.
*/
export interface WebSettings {
/**
* Web UI URL.
*/
'url'?: string;
'auth'?: AuthSettings;
}

View file

@ -1,30 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
// May contain unused imports in some cases
// @ts-ignore
import type { AuthSettings } from './auth-settings';
/**
* Web UI configuration.
*/
export interface WebSettings {
/**
* Web UI URL.
*/
'url'?: string;
'auth'?: AuthSettings;
}

View file

@ -1,33 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Webhook delivery configuration.
*/
export interface WebhookSettings {
/**
* Webhook delivery strategy.
*/
'strategy': WebhookSettingsStrategyEnum;
}
export const WebhookSettingsStrategyEnum = {
TAILSCALE_FUNNEL: 'tailscale_funnel'
} as const;
export type WebhookSettingsStrategyEnum = typeof WebhookSettingsStrategyEnum[keyof typeof WebhookSettingsStrategyEnum];

View file

@ -1,33 +0,0 @@
/* tslint:disable */
/* eslint-disable */
/**
* Fabro Run API
* HTTP API for managing Fabro workflow run executions.
*
* The version of the OpenAPI document: 0.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* Webhook delivery configuration.
*/
export interface WebhookSettings {
/**
* Webhook delivery strategy.
*/
'strategy': WebhookSettingsStrategyEnum;
}
export const WebhookSettingsStrategyEnum = {
TAILSCALE_FUNNEL: 'tailscale_funnel'
} as const;
export type WebhookSettingsStrategyEnum = typeof WebhookSettingsStrategyEnum[keyof typeof WebhookSettingsStrategyEnum];