@managoat/fountain-sdk 5.2.1 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +23 -1
- package/dist/client.d.ts +7 -0
- package/dist/client.js +10 -0
- package/dist/client.js.map +1 -1
- package/dist/conversation.d.ts +7 -0
- package/dist/conversation.js +5 -0
- package/dist/conversation.js.map +1 -1
- package/dist/generated/openapi.d.ts +167 -742
- package/dist/http.d.ts +1 -1
- package/dist/http.js +1 -1
- package/package.json +1 -1
|
@@ -592,30 +592,6 @@ export interface paths {
|
|
|
592
592
|
patch?: never;
|
|
593
593
|
trace?: never;
|
|
594
594
|
};
|
|
595
|
-
"/api/agui/{agent_id}": {
|
|
596
|
-
parameters: {
|
|
597
|
-
query?: never;
|
|
598
|
-
header?: never;
|
|
599
|
-
path?: never;
|
|
600
|
-
cookie?: never;
|
|
601
|
-
};
|
|
602
|
-
get?: never;
|
|
603
|
-
put?: never;
|
|
604
|
-
/**
|
|
605
|
-
* Run an agent over AG-UI (SSE)
|
|
606
|
-
* @description Answers a `RunAgentInput` with the AG-UI event stream: `RUN_STARTED`, the turn's output as `TEXT_MESSAGE_*` and `THINKING_*` events, then `RUN_FINISHED` or `RUN_ERROR`. Each SSE message is `data: {"type": ...}`, as the reference encoder writes it.
|
|
607
|
-
*
|
|
608
|
-
* `threadId` binds to a conversation (`agui:<threadId>`): the first run opens one, later runs prompt it. Only the newest user message is sent — the agent's memory lives in its sandbox, not in the replayed transcript.
|
|
609
|
-
*
|
|
610
|
-
* Errors before the stream opens are ordinary JSON responses (404 for an unknown agent, 402 with no credit); once it is open, failure arrives as `RUN_ERROR`.
|
|
611
|
-
*/
|
|
612
|
-
post: operations["FountainWeb.AguiController.run"];
|
|
613
|
-
delete?: never;
|
|
614
|
-
options?: never;
|
|
615
|
-
head?: never;
|
|
616
|
-
patch?: never;
|
|
617
|
-
trace?: never;
|
|
618
|
-
};
|
|
619
595
|
"/api/apply": {
|
|
620
596
|
parameters: {
|
|
621
597
|
query?: never;
|
|
@@ -1858,7 +1834,7 @@ export interface paths {
|
|
|
1858
1834
|
post?: never;
|
|
1859
1835
|
/**
|
|
1860
1836
|
* Reset a sandbox
|
|
1861
|
-
* @description Destroy a persistent sandbox — the agent's home — so the next launch on the same agent, environment and vault builds a clean machine. The conversations on it are kept, idle; each one's next prompt lands on the fresh home. Only a `persistent` sandbox that is not `terminated` or `failed` resets (`422 sandbox_not_resettable`), and not while any conversation on it is mid-turn (`409 sandbox_mid_turn`).
|
|
1837
|
+
* @description Destroy a persistent sandbox — the agent's home — so the next launch on the same agent, environment and vault builds a clean machine. The conversations on it are kept, idle; each one's next prompt lands on the fresh home. Only a `persistent` sandbox that is not `terminated` or `failed` resets (`422 sandbox_not_resettable`), and not while any conversation on it is mid-turn (`409 sandbox_mid_turn`). A reset the provider does not confirm keeps its fence and the sandbox's capacity, and answers `409 sandbox_reset_pending`; retrying it is safe.
|
|
1862
1838
|
*/
|
|
1863
1839
|
delete: operations["FountainWeb.SandboxController.delete"];
|
|
1864
1840
|
options?: never;
|
|
@@ -2170,7 +2146,7 @@ export interface paths {
|
|
|
2170
2146
|
put?: never;
|
|
2171
2147
|
/**
|
|
2172
2148
|
* Open a fresh conversation on the teammate's computer
|
|
2173
|
-
* @description Retires the teammate's current conversation — it stays in its history, past resuming — and opens a new one on the **same sandbox**: the next message starts a fresh runtime session on the same disk, files and installed tools intact. Nothing is provisioned and nothing is interrupted: 400 `conversation_busy` while a turn is running (interrupt first), 503 `provisioning` while the computer is still starting. When the computer is gone (sandbox terminated or failed, or the conversation already past resuming) a new sandbox is provisioned instead, as `POST /api/team` does. 201 with the teammate and its new conversation; the stream sends `team`. Audited as `team.conversation.rotated`.
|
|
2149
|
+
* @description Retires the teammate's current conversation — it stays in its history, past resuming — and opens a new one on the **same sandbox**: the next message starts a fresh runtime session on the same disk, files and installed tools intact. Nothing is provisioned and nothing is interrupted: 400 `conversation_busy` while a turn is running (interrupt first), 503 `provisioning` while the computer is still starting. The computer's own door is asked before the current conversation is retired, so a refusal costs the teammate nothing and the same call can be repeated: 409 `sandbox_reset_pending` while the computer is being reset or deleted, 503 `sandbox_unavailable` while an operation holds it (retry after `Retry-After`), 422 `sandbox_identity_mismatch` or `sandbox_runtime_mismatch` when the agent's environment, vault or runtime no longer matches the computer it was built for — start a new conversation instead. When the computer is gone (sandbox terminated or failed, or the conversation already past resuming) a new sandbox is provisioned instead, as `POST /api/team` does. 201 with the teammate and its new conversation; the stream sends `team`. Audited as `team.conversation.rotated`.
|
|
2174
2150
|
*/
|
|
2175
2151
|
post: operations["FountainWeb.TeamController.fresh_conversation"];
|
|
2176
2152
|
delete?: never;
|
|
@@ -2519,73 +2495,6 @@ export interface paths {
|
|
|
2519
2495
|
patch?: never;
|
|
2520
2496
|
trace?: never;
|
|
2521
2497
|
};
|
|
2522
|
-
"/v1/chat/completions": {
|
|
2523
|
-
parameters: {
|
|
2524
|
-
query?: never;
|
|
2525
|
-
header?: never;
|
|
2526
|
-
path?: never;
|
|
2527
|
-
cookie?: never;
|
|
2528
|
-
};
|
|
2529
|
-
get?: never;
|
|
2530
|
-
put?: never;
|
|
2531
|
-
/**
|
|
2532
|
-
* Chat completions, where the model is an agent (alpha)
|
|
2533
|
-
* @description **Alpha, behind the `openai_compat` flag** — 404 with code `openai_compat_not_enabled` when it is off for the account.
|
|
2534
|
-
*
|
|
2535
|
-
* OpenAI's `POST /v1/chat/completions`, answered by a Fountain agent. Point any gateway or base-URL chat client at `/v1` with an API key as the bearer token.
|
|
2536
|
-
*
|
|
2537
|
-
* The thread is the conversation: `X-Fountain-Thread` (else `user`, else `safety_identifier`) binds to channel `openai:<key>`. The first request on a key opens a conversation, later ones prompt it, and only the newest user message is sent — the agent's memory lives in its sandbox, not in the replayed transcript. A request with none is refused with 400.
|
|
2538
|
-
*
|
|
2539
|
-
* `stream: true` answers with SSE `chat.completion.chunk` events (`content` for the reply, `reasoning_content` for thinking, tool use and provisioning stages) and `data: [DONE]`; a turn that fails mid-stream sends an `error` event first. `stream: false` blocks until the turn ends.
|
|
2540
|
-
*
|
|
2541
|
-
* **Tools.** A request's `tools` are offered to the agent beside its own. When the agent calls one, the completion ends with `finish_reason: "tool_calls"` and the turn stays open; send the next request on the same thread with `role: "tool"` messages that carry the results, and the rest of the turn streams. The sandbox's own tools never come back as tool calls.
|
|
2542
|
-
*
|
|
2543
|
-
* Errors use OpenAI's `{"error": {...}}` envelope: 404 for an unknown model, 402 with no credit, 409 with `Retry-After` while the thread is already running a turn (`thread_busy`) or waiting on tool results (`tool_calls_pending`).
|
|
2544
|
-
*/
|
|
2545
|
-
post: operations["FountainWeb.OpenAIController.create_chat_completion"];
|
|
2546
|
-
delete?: never;
|
|
2547
|
-
options?: never;
|
|
2548
|
-
head?: never;
|
|
2549
|
-
patch?: never;
|
|
2550
|
-
trace?: never;
|
|
2551
|
-
};
|
|
2552
|
-
"/v1/models": {
|
|
2553
|
-
parameters: {
|
|
2554
|
-
query?: never;
|
|
2555
|
-
header?: never;
|
|
2556
|
-
path?: never;
|
|
2557
|
-
cookie?: never;
|
|
2558
|
-
};
|
|
2559
|
-
/**
|
|
2560
|
-
* The tenant's agents, as models (alpha)
|
|
2561
|
-
* @description OpenAI's `GET /v1/models`, so a base-URL client's model picker fills itself. Each agent is a model whose `id` is the agent's name.
|
|
2562
|
-
*/
|
|
2563
|
-
get: operations["FountainWeb.OpenAIController.list_models"];
|
|
2564
|
-
put?: never;
|
|
2565
|
-
post?: never;
|
|
2566
|
-
delete?: never;
|
|
2567
|
-
options?: never;
|
|
2568
|
-
head?: never;
|
|
2569
|
-
patch?: never;
|
|
2570
|
-
trace?: never;
|
|
2571
|
-
};
|
|
2572
|
-
"/v1/models/{model}": {
|
|
2573
|
-
parameters: {
|
|
2574
|
-
query?: never;
|
|
2575
|
-
header?: never;
|
|
2576
|
-
path?: never;
|
|
2577
|
-
cookie?: never;
|
|
2578
|
-
};
|
|
2579
|
-
/** One agent, as a model (alpha) */
|
|
2580
|
-
get: operations["FountainWeb.OpenAIController.show_model"];
|
|
2581
|
-
put?: never;
|
|
2582
|
-
post?: never;
|
|
2583
|
-
delete?: never;
|
|
2584
|
-
options?: never;
|
|
2585
|
-
head?: never;
|
|
2586
|
-
patch?: never;
|
|
2587
|
-
trace?: never;
|
|
2588
|
-
};
|
|
2589
2498
|
}
|
|
2590
2499
|
export type webhooks = Record<string, never>;
|
|
2591
2500
|
export interface components {
|
|
@@ -2777,13 +2686,13 @@ export interface components {
|
|
|
2777
2686
|
metadata?: {
|
|
2778
2687
|
[key: string]: unknown;
|
|
2779
2688
|
};
|
|
2780
|
-
/** @description Canonical provider/model_id (e.g. anthropic/claude-sonnet-5). The provider must match the runtime — anthropic for claude, openai for codex, google for gemini; opencode accepts any of the three. Other providers are rejected: Fountain has no credentials to export for them. The model id is not checked against a list, so a newly released model works without a Fountain release.
|
|
2689
|
+
/** @description Canonical provider/model_id (e.g. anthropic/claude-sonnet-5). The provider must match the runtime — anthropic for claude, openai for codex, google for gemini; opencode accepts any of the three. Other providers are rejected: Fountain has no credentials to export for them. The model id is not checked against a list, so a newly released model works without a Fountain release. Null on the acp runtime, which resolves no inference credential and reads no model. */
|
|
2781
2690
|
model: string | null;
|
|
2782
2691
|
name: string;
|
|
2783
2692
|
/** @description Per-tool permission policy: a map of key to verdict, plus an optional "default" key. A key is matched against the tool card's title first and then ACP's kind (execute, edit, read, fetch, …); prefer a kind, because claude titles a tool call with the command it is about to run. Unset keys fall back to the default, and an unset default is auto_allow — today's behaviour. "ask" holds the tool until a human answers it on the conversation stream, and denies if nobody does before the timeout. A runtime that never asks (opencode) refuses anything stricter than auto_allow with 422 permission_policy_unenforceable. */
|
|
2784
2693
|
permission_policy?: components["schemas"]["PermissionPolicy"] | null;
|
|
2785
2694
|
/** @enum {string} */
|
|
2786
|
-
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp"
|
|
2695
|
+
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp";
|
|
2787
2696
|
/** @description The command the acp runtime launches inside the sandbox, as a shell line resolved there (for example `chant acp`). Required when runtime is acp, and rejected on every other runtime, which resolves its own executable. A free string by design: it runs under the same isolation as an environment's setup script. */
|
|
2788
2697
|
runtime_command?: string | null;
|
|
2789
2698
|
/**
|
|
@@ -2818,7 +2727,7 @@ export interface components {
|
|
|
2818
2727
|
};
|
|
2819
2728
|
/** AgentRequest */
|
|
2820
2729
|
AgentRequest: {
|
|
2821
|
-
/** @description Environments a conversation may launch this agent under instead of its own. Same shape as allowed_vault_ids: null (default) allows any environment the tenant owns; an empty list forbids overriding; a non-empty list is an allowlist. The agent's own environment always passes. */
|
|
2730
|
+
/** @description Environments a conversation may launch this agent under instead of its own (environment_id on create). Same shape as allowed_vault_ids: null (default) allows any environment the tenant owns; an empty list forbids overriding; a non-empty list is an allowlist. The agent's own environment always passes. */
|
|
2822
2731
|
allowed_environment_ids?: string[] | null;
|
|
2823
2732
|
/** @description Credential sets a conversation may launch this agent on instead of the agent's (inference_credential_id on create). Same shape as allowed_vault_ids: null (default) allows any set the tenant owns; an empty list forbids overriding; a non-empty list is an allowlist. The agent's own set always passes. */
|
|
2824
2733
|
allowed_inference_credential_ids?: string[] | null;
|
|
@@ -2843,7 +2752,7 @@ export interface components {
|
|
|
2843
2752
|
/** @description Per-tool permission policy: a map of key to verdict, plus an optional "default" key. A key is matched against the tool card's title first and then ACP's kind (execute, edit, read, fetch, …); prefer a kind, because claude titles a tool call with the command it is about to run. Unset keys fall back to the default, and an unset default is auto_allow. "ask" holds the tool until a human answers it on the conversation stream, and denies if nobody does before the timeout. A conversation may narrow this at launch, never widen it. A runtime that never asks (opencode) refuses anything stricter than auto_allow with 422 permission_policy_unenforceable. */
|
|
2844
2753
|
permission_policy?: components["schemas"]["PermissionPolicy"] | null;
|
|
2845
2754
|
/** @enum {string} */
|
|
2846
|
-
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp"
|
|
2755
|
+
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp";
|
|
2847
2756
|
/** @description The command the acp runtime launches inside the sandbox, as a shell line resolved there (for example `chant acp`). Required when runtime is acp, and rejected on every other runtime, which resolves its own executable. A free string by design: it runs under the same isolation as an environment's setup script. */
|
|
2848
2757
|
runtime_command?: string | null;
|
|
2849
2758
|
/**
|
|
@@ -2900,7 +2809,7 @@ export interface components {
|
|
|
2900
2809
|
/** @description Per-tool permission policy: a map of key to verdict, plus an optional "default" key. A key is matched against the tool card's title first and then ACP's kind (execute, edit, read, fetch, …); prefer a kind, because claude titles a tool call with the command it is about to run. Unset keys fall back to the default, and an unset default is auto_allow. "ask" holds the tool until a human answers it on the conversation stream, and denies if nobody does before the timeout. A conversation may narrow this at launch, never widen it. A runtime that never asks (opencode) refuses anything stricter than auto_allow with 422 permission_policy_unenforceable. */
|
|
2901
2810
|
permission_policy?: components["schemas"]["PermissionPolicy"] | null;
|
|
2902
2811
|
/** @enum {string} */
|
|
2903
|
-
runtime?: "claude" | "codex" | "gemini" | "opencode" | "acp"
|
|
2812
|
+
runtime?: "claude" | "codex" | "gemini" | "opencode" | "acp";
|
|
2904
2813
|
/** @description The command the acp runtime launches inside the sandbox, as a shell line resolved there (for example `chant acp`). Required when runtime is acp, and rejected on every other runtime, which resolves its own executable. A free string by design: it runs under the same isolation as an environment's setup script. */
|
|
2905
2814
|
runtime_command?: string | null;
|
|
2906
2815
|
/**
|
|
@@ -3063,19 +2972,6 @@ export interface components {
|
|
|
3063
2972
|
next_cursor?: number | null;
|
|
3064
2973
|
};
|
|
3065
2974
|
};
|
|
3066
|
-
/**
|
|
3067
|
-
* AuthError
|
|
3068
|
-
* @description An auth failure with a stable reason code.
|
|
3069
|
-
*/
|
|
3070
|
-
AuthError: {
|
|
3071
|
-
/**
|
|
3072
|
-
* @description Reason code, e.g. `expired`, `invalid_token`, `invalid_current_password`.
|
|
3073
|
-
* @example invalid_token
|
|
3074
|
-
*/
|
|
3075
|
-
error: string;
|
|
3076
|
-
/** @description Human-readable detail. */
|
|
3077
|
-
message?: string;
|
|
3078
|
-
};
|
|
3079
2975
|
/**
|
|
3080
2976
|
* AuthMeResponse
|
|
3081
2977
|
* @description Identity of the account the bearer token belongs to.
|
|
@@ -3206,18 +3102,6 @@ export interface components {
|
|
|
3206
3102
|
} & {
|
|
3207
3103
|
[key: string]: unknown;
|
|
3208
3104
|
};
|
|
3209
|
-
/**
|
|
3210
|
-
* BrokerUnavailableError
|
|
3211
|
-
* @description The egress broker did not answer the request log call.
|
|
3212
|
-
*/
|
|
3213
|
-
BrokerUnavailableError: {
|
|
3214
|
-
/** @description Always `broker_unavailable`. */
|
|
3215
|
-
error: string;
|
|
3216
|
-
/** @description A sentence for a human. */
|
|
3217
|
-
message: string;
|
|
3218
|
-
/** @description A stable word for a client to branch on: `econnrefused`, `timeout`, `nxdomain`, `api_error_<status>`, or `unknown`. The detail is in the server log, not here. */
|
|
3219
|
-
reason: string;
|
|
3220
|
-
};
|
|
3221
3105
|
/**
|
|
3222
3106
|
* BuzzAccessUpdateRequest
|
|
3223
3107
|
* @description Change who may @-mention a hosted Buzz agent. Sets buzz-acp's inbound author gate on the identity and restarts its harness. At least one field is required. A later provider deploy from the desktop resends the desktop's record and overwrites this.
|
|
@@ -3358,75 +3242,6 @@ export interface components {
|
|
|
3358
3242
|
};
|
|
3359
3243
|
};
|
|
3360
3244
|
};
|
|
3361
|
-
/**
|
|
3362
|
-
* ChangesetError
|
|
3363
|
-
* @description Validation errors keyed by field, with each value an array of messages, beside the code every Fountain error carries.
|
|
3364
|
-
*/
|
|
3365
|
-
ChangesetError: {
|
|
3366
|
-
/** @description `validation_failed`. */
|
|
3367
|
-
error?: string;
|
|
3368
|
-
errors: {
|
|
3369
|
-
[key: string]: string[];
|
|
3370
|
-
};
|
|
3371
|
-
};
|
|
3372
|
-
/** ChatCompletion */
|
|
3373
|
-
ChatCompletion: {
|
|
3374
|
-
choices?: {
|
|
3375
|
-
/** @enum {string} */
|
|
3376
|
-
finish_reason?: "stop" | "tool_calls";
|
|
3377
|
-
index?: number;
|
|
3378
|
-
message?: {
|
|
3379
|
-
content?: string;
|
|
3380
|
-
/** @description Thinking, tool use and lifecycle stages, if any. */
|
|
3381
|
-
reasoning_content?: string;
|
|
3382
|
-
/** @enum {string} */
|
|
3383
|
-
role?: "assistant";
|
|
3384
|
-
/** @description The caller-defined tools the agent is waiting on, when `finish_reason` is `tool_calls`. */
|
|
3385
|
-
tool_calls?: Record<string, never>[];
|
|
3386
|
-
};
|
|
3387
|
-
}[];
|
|
3388
|
-
created?: number;
|
|
3389
|
-
/** @description Where the turn ran, for a caller that wants the real API next. */
|
|
3390
|
-
fountain?: {
|
|
3391
|
-
conversation_id?: string;
|
|
3392
|
-
thread?: string;
|
|
3393
|
-
turn_id?: string | null;
|
|
3394
|
-
};
|
|
3395
|
-
id?: string;
|
|
3396
|
-
/** @description The agent's name. */
|
|
3397
|
-
model?: string;
|
|
3398
|
-
/** @enum {string} */
|
|
3399
|
-
object?: "chat.completion";
|
|
3400
|
-
/** @description Always zeros: a turn is billed in seconds, not tokens. */
|
|
3401
|
-
usage?: {
|
|
3402
|
-
completion_tokens?: number;
|
|
3403
|
-
prompt_tokens?: number;
|
|
3404
|
-
total_tokens?: number;
|
|
3405
|
-
};
|
|
3406
|
-
};
|
|
3407
|
-
/**
|
|
3408
|
-
* ChatCompletionRequest
|
|
3409
|
-
* @description The OpenAI chat-completions request. `model`, `messages`, `stream`, `user`, `safety_identifier`, `tools` and `tool_choice` are read; sampling parameters, `n`, `response_format` and the rest are accepted and ignored, because the thing behind the URL is an agent, not a model.
|
|
3410
|
-
*/
|
|
3411
|
-
ChatCompletionRequest: {
|
|
3412
|
-
/** @description The chat so far. The newest `user` message becomes the prompt (its `image_url` parts must be `data:` URLs); `system`/`developer` messages become the standing role of a new conversation and are ignored afterwards. When the newest messages are `role: "tool"`, they answer the `tool_calls` the previous completion ended with and the turn resumes. */
|
|
3413
|
-
messages: Record<string, never>[];
|
|
3414
|
-
/** @description A Fountain agent: its name or its id. Unknown → 404. */
|
|
3415
|
-
model: string;
|
|
3416
|
-
/** @description The thread key when neither `X-Fountain-Thread` nor `user` is set. An OpenAI safety identifier field supported by LiteLLM. */
|
|
3417
|
-
safety_identifier?: string;
|
|
3418
|
-
/**
|
|
3419
|
-
* @description `true` streams `chat.completion.chunk` events as SSE, ending with `data: [DONE]`.
|
|
3420
|
-
* @default false
|
|
3421
|
-
*/
|
|
3422
|
-
stream: boolean;
|
|
3423
|
-
/** @description `auto` (default) or `none` (register nothing for this request). `required` and a named tool are refused with 400: Fountain cannot force an agent's next action. */
|
|
3424
|
-
tool_choice?: string;
|
|
3425
|
-
/** @description Caller-defined function tools, in OpenAI's shape. The agent sees them beside its own; when it calls one the completion ends with `finish_reason: "tool_calls"` and the turn waits for the `role: "tool"` answer on the next request. */
|
|
3426
|
-
tools?: Record<string, never>[];
|
|
3427
|
-
/** @description The thread key when `X-Fountain-Thread` is not set. */
|
|
3428
|
-
user?: string;
|
|
3429
|
-
};
|
|
3430
3245
|
/**
|
|
3431
3246
|
* ClaimableUser
|
|
3432
3247
|
* @description A claimable principal (ADR 0044): the anonymous tenant an application opens for a visitor who has no Fountain account yet. `principal_id` is the tenant every resource it builds belongs to, and it never changes — claiming attaches an owner rather than moving anything.
|
|
@@ -3705,12 +3520,12 @@ export interface components {
|
|
|
3705
3520
|
last_read_at?: string | null;
|
|
3706
3521
|
/** Format: uuid */
|
|
3707
3522
|
parent_conversation_id?: string | null;
|
|
3708
|
-
/** @description Permission requests that outlived a turn and are still waiting for an answer (#1635).
|
|
3523
|
+
/** @description Permission requests that outlived a turn and are still waiting for an answer (#1635). Only GET /api/conversations/{id} can report one; every other response carrying this schema, including the list and the create response, sends an empty array rather than querying for it. */
|
|
3709
3524
|
pending_requests?: components["schemas"]["PendingPermissionRequest"][];
|
|
3710
3525
|
/** @description The per-launch permission override this conversation was started with, or null if it had none. The policy actually in force is this merged with the agent's, taking the stricter of the two per tool. */
|
|
3711
3526
|
permission_policy?: components["schemas"]["PermissionPolicy"] | null;
|
|
3712
3527
|
/** @enum {string} */
|
|
3713
|
-
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp"
|
|
3528
|
+
runtime: "claude" | "codex" | "gemini" | "opencode" | "acp";
|
|
3714
3529
|
runtime_session_id?: string | null;
|
|
3715
3530
|
sandbox?: (components["schemas"]["Sandbox"] | (null)) | null;
|
|
3716
3531
|
/**
|
|
@@ -3741,6 +3556,8 @@ export interface components {
|
|
|
3741
3556
|
agent_id: string;
|
|
3742
3557
|
/** @description Opaque key for the external channel this conversation is bound to (for example a Buzz channel id). When set, the latest live conversation for the same agent, vault and channel is resumed (200) instead of a new one being opened (201). */
|
|
3743
3558
|
channel_id?: string | null;
|
|
3559
|
+
/** @description Your own name for the first prompt. Ignored when the request carries no `prompt`, and when `channel_id` resumes a conversation: a resume does not deliver the prompt, so send the value with it on the prompts route. Fountain stores it on the turn the prompt opens and sends it on that turn's `started` stage event, beside the `turn_id`, so a client can bind its work item to the exact turn without inferring it from turn order. Use the event to find a candidate turn and the turn itself to confirm it: the event's copy has been through event redaction, and the turn's is what you sent. It is a correlation and not an idempotency key: a second prompt with the same value opens a second turn that carries it too. Make it unique within the conversation. */
|
|
3560
|
+
client_request_id?: string | null;
|
|
3744
3561
|
/**
|
|
3745
3562
|
* Format: uuid
|
|
3746
3563
|
* @description Optional environment to provision from instead of the agent's own; the conversation stays pinned to it across wakes. Must be owned by the caller (404 otherwise) and satisfy the agent's allowed_environment_ids when that allowlist is set (422 environment_not_allowed). Part of the channel_id resume key.
|
|
@@ -3772,7 +3589,7 @@ export interface components {
|
|
|
3772
3589
|
sandbox_api_access?: "owner" | "none";
|
|
3773
3590
|
/**
|
|
3774
3591
|
* Format: uuid
|
|
3775
|
-
* @description Attach the conversation to a sandbox you already have instead of provisioning one (ADR 0023). The sandbox must be yours (404 sandbox_not_found), ready or suspended (409 sandbox_not_attachable), and built for the same agent, environment and vault as this launch (422 sandbox_identity_mismatch; 422 sandbox_runtime_mismatch if the agent's runtime changed since). The conversation opens idle on that machine; a prompt here wakes it. Several conversations then run on one disk at once, except on opencode and gemini, where a second turn is refused with 409 sandbox_at_capacity while one runs.
|
|
3592
|
+
* @description Attach the conversation to a sandbox you already have instead of provisioning one (ADR 0023). The sandbox must be yours (404 sandbox_not_found), ready or suspended (409 sandbox_not_attachable), and built for the same agent, environment and vault as this launch (422 sandbox_identity_mismatch; 422 sandbox_runtime_mismatch if the agent's runtime changed since). The conversation opens idle on that machine; a prompt here wakes it. Several conversations then run on one disk at once, except on opencode and gemini, where a second turn of the same runtime is refused with 409 sandbox_at_capacity while one runs.
|
|
3776
3593
|
*/
|
|
3777
3594
|
sandbox_id?: string | null;
|
|
3778
3595
|
/**
|
|
@@ -3847,14 +3664,6 @@ export interface components {
|
|
|
3847
3664
|
ConversationTreeResponse: {
|
|
3848
3665
|
data: components["schemas"]["ConversationTreeNode"][];
|
|
3849
3666
|
};
|
|
3850
|
-
/** CredentialSetDeletionError */
|
|
3851
|
-
CredentialSetDeletionError: {
|
|
3852
|
-
/** @enum {string} */
|
|
3853
|
-
error: "credential_set_is_default";
|
|
3854
|
-
message: string;
|
|
3855
|
-
/** @enum {string} */
|
|
3856
|
-
reason: "is_default";
|
|
3857
|
-
};
|
|
3858
3667
|
/**
|
|
3859
3668
|
* CreditsCheckoutRequest
|
|
3860
3669
|
* @example {
|
|
@@ -4042,9 +3851,30 @@ export interface components {
|
|
|
4042
3851
|
/** @description Setup exec timeout in seconds; defaults to 120. The overall provisioning deadline still applies. */
|
|
4043
3852
|
setup_timeout_seconds?: number;
|
|
4044
3853
|
};
|
|
4045
|
-
/**
|
|
3854
|
+
/**
|
|
3855
|
+
* Error
|
|
3856
|
+
* @description The one body every JSON error status carries (#2324). `error` is the code to branch on; the other keys accompany particular codes and are absent otherwise. A `406` is the exception: content negotiation fails before any controller runs and renders `NegotiationError` instead.
|
|
3857
|
+
*/
|
|
4046
3858
|
Error: {
|
|
3859
|
+
/** @description Sandboxes the account has in use, on `sandbox_quota_exceeded` (429). */
|
|
3860
|
+
active_sandboxes?: number;
|
|
3861
|
+
/**
|
|
3862
|
+
* @description The machine-readable code: `validation_failed`, `not_found`, `insufficient_credits`, `sandbox_quota_exceeded`, `expired`, `invalid_token` and the rest. On the key-authentication and scope refusals it is a sentence and `reason` carries the code.
|
|
3863
|
+
* @example validation_failed
|
|
3864
|
+
*/
|
|
4047
3865
|
error: string;
|
|
3866
|
+
/** @description Field validation messages keyed by field, beside `error: "validation_failed"`, whether the request died at the OpenAPI cast or in a changeset (#1431). */
|
|
3867
|
+
errors?: {
|
|
3868
|
+
[key: string]: string[];
|
|
3869
|
+
};
|
|
3870
|
+
/** @description The account's concurrent-sandbox cap, on `sandbox_quota_exceeded` (429). */
|
|
3871
|
+
limit?: number;
|
|
3872
|
+
/** @description A sentence for a human, when there is one. */
|
|
3873
|
+
message?: string;
|
|
3874
|
+
/** @description A second stable word. On the 401 and 403 refusals from key authentication and scope checks, `error` is prose and this is the code (`api_key_invalid`, `api_key_expired`, `insufficient_scope`). On `broker_unavailable`, `sandbox_not_resettable` and `credential_set_is_default`, `error` is the code and this narrows it (`econnrefused`, `timeout`, `is_default`, ...). */
|
|
3875
|
+
reason?: string;
|
|
3876
|
+
/** @description Where to buy credit, on `insufficient_credits` (402). */
|
|
3877
|
+
upgrade_url?: string;
|
|
4048
3878
|
};
|
|
4049
3879
|
/**
|
|
4050
3880
|
* Export
|
|
@@ -4212,20 +4042,6 @@ export interface components {
|
|
|
4212
4042
|
MessageResponse: {
|
|
4213
4043
|
message: string;
|
|
4214
4044
|
};
|
|
4215
|
-
/** Model */
|
|
4216
|
-
Model: {
|
|
4217
|
-
created?: number;
|
|
4218
|
-
fountain?: {
|
|
4219
|
-
agent_id?: string;
|
|
4220
|
-
model?: string | null;
|
|
4221
|
-
runtime?: string;
|
|
4222
|
-
};
|
|
4223
|
-
/** @description The agent's name. */
|
|
4224
|
-
id?: string;
|
|
4225
|
-
/** @enum {string} */
|
|
4226
|
-
object?: "model";
|
|
4227
|
-
owned_by?: string;
|
|
4228
|
-
};
|
|
4229
4045
|
/** NegotiationError */
|
|
4230
4046
|
NegotiationError: {
|
|
4231
4047
|
errors: {
|
|
@@ -4311,15 +4127,6 @@ export interface components {
|
|
|
4311
4127
|
completed_at?: string | null;
|
|
4312
4128
|
};
|
|
4313
4129
|
};
|
|
4314
|
-
/** OpenAIError */
|
|
4315
|
-
OpenAIError: {
|
|
4316
|
-
error?: {
|
|
4317
|
-
code?: string | null;
|
|
4318
|
-
message?: string;
|
|
4319
|
-
param?: string | null;
|
|
4320
|
-
type?: string;
|
|
4321
|
-
};
|
|
4322
|
-
};
|
|
4323
4130
|
/** PasswordChangeRequest */
|
|
4324
4131
|
PasswordChangeRequest: {
|
|
4325
4132
|
/** Format: password */
|
|
@@ -4385,12 +4192,16 @@ export interface components {
|
|
|
4385
4192
|
}) | null;
|
|
4386
4193
|
/** PromptRequest */
|
|
4387
4194
|
PromptRequest: {
|
|
4195
|
+
/** @description Your own name for this prompt. Fountain stores it on the turn the prompt opens and sends it on that turn's `started` stage event, beside the `turn_id`, so a client can bind its work item to the exact turn without inferring it from turn order. Use the event to find a candidate turn and the turn itself to confirm it: the event's copy has been through event redaction, and the turn's is what you sent. It is a correlation and not an idempotency key: a second prompt with the same value opens a second turn that carries it too. Make it unique within the conversation. */
|
|
4196
|
+
client_request_id?: string | null;
|
|
4388
4197
|
/** @description Optional images to attach to this prompt. */
|
|
4389
4198
|
images?: components["schemas"]["ImageInput"][] | null;
|
|
4390
4199
|
prompt: string;
|
|
4391
4200
|
};
|
|
4392
4201
|
/** PromptResponse */
|
|
4393
4202
|
PromptResponse: {
|
|
4203
|
+
/** @description The `client_request_id` the request carried, or null when it carried none. The response cannot name the turn: a conversation that has to be woken is answered before its turn exists. Find the turn by this value instead. */
|
|
4204
|
+
client_request_id?: string | null;
|
|
4394
4205
|
/** @example queued */
|
|
4395
4206
|
status: string;
|
|
4396
4207
|
};
|
|
@@ -4435,23 +4246,6 @@ export interface components {
|
|
|
4435
4246
|
/** Format: uri */
|
|
4436
4247
|
url: string;
|
|
4437
4248
|
};
|
|
4438
|
-
/**
|
|
4439
|
-
* RunAgentInput
|
|
4440
|
-
* @description The AG-UI run envelope, as the protocol defines it. Extra fields are accepted and ignored: only `threadId`, `runId`, `messages` and `tools` are read.
|
|
4441
|
-
*/
|
|
4442
|
-
RunAgentInput: {
|
|
4443
|
-
context?: Record<string, never>[];
|
|
4444
|
-
forwardedProps?: Record<string, never>;
|
|
4445
|
-
/** @description The thread so far. The newest `user` message becomes the prompt; `system`/`developer` messages become the standing role of a new conversation. */
|
|
4446
|
-
messages: Record<string, never>[];
|
|
4447
|
-
/** @description This run. Echoed in the events. */
|
|
4448
|
-
runId: string;
|
|
4449
|
-
state?: Record<string, never>;
|
|
4450
|
-
/** @description The host's thread. Bound to one Fountain conversation as `agui:<threadId>`. */
|
|
4451
|
-
threadId: string;
|
|
4452
|
-
/** @description The host's tools (`name`, `description`, `parameters`). Offered to the agent beside its own; a call comes back as `TOOL_CALL_*` events and the run ends, and the next run's `role: "tool"` messages answer it. */
|
|
4453
|
-
tools?: Record<string, never>[];
|
|
4454
|
-
};
|
|
4455
4249
|
/**
|
|
4456
4250
|
* Runner
|
|
4457
4251
|
* @description A self-hosted runner: a machine of yours running `fountain runner`, serving sandboxes for the `runner` provider (ADR 0022). `online` is live — whether the daemon holds a connection right now.
|
|
@@ -4561,7 +4355,7 @@ export interface components {
|
|
|
4561
4355
|
/** @description True while this conversation is running a turn on the machine. */
|
|
4562
4356
|
mid_turn: boolean;
|
|
4563
4357
|
/** @enum {string} */
|
|
4564
|
-
runtime?: "claude" | "codex" | "gemini" | "opencode" | "acp"
|
|
4358
|
+
runtime?: "claude" | "codex" | "gemini" | "opencode" | "acp";
|
|
4565
4359
|
/** @enum {string} */
|
|
4566
4360
|
status: "pending" | "running" | "idle" | "failed" | "terminated";
|
|
4567
4361
|
title?: string | null;
|
|
@@ -4896,6 +4690,53 @@ export interface components {
|
|
|
4896
4690
|
SecretResponse: {
|
|
4897
4691
|
data: components["schemas"]["Secret"];
|
|
4898
4692
|
};
|
|
4693
|
+
/**
|
|
4694
|
+
* StreamLogEvent
|
|
4695
|
+
* @description One frame of the conversation, events or team SSE log stream (#2297). Same fields as `LogEvent` minus `id` — the frame's id travels in the SSE `id:` line, never the JSON body — plus `conversation_id` and `agent_id`, which the REST log feed never sends because its URL or list item already names the conversation.
|
|
4696
|
+
*
|
|
4697
|
+
* Not every stream sends every optional field here; see each property's own description for which of `GET /api/conversations/:id/stream`, `GET /api/events/stream` and `GET /api/team/stream` include it. The events and team streams also send `StreamSignal` frames on the same connection.
|
|
4698
|
+
*/
|
|
4699
|
+
StreamLogEvent: {
|
|
4700
|
+
/**
|
|
4701
|
+
* Format: uuid
|
|
4702
|
+
* @description The teammate whose conversation this is. Sent only on `GET /api/team/stream`, to route the event to a roster row.
|
|
4703
|
+
*/
|
|
4704
|
+
agent_id?: string;
|
|
4705
|
+
/** @description Only with `?blocks=true`: `data` parsed server-side into the blocks a transcript renders. Empty for non-output events. */
|
|
4706
|
+
blocks?: components["schemas"]["Block"][];
|
|
4707
|
+
/**
|
|
4708
|
+
* Format: uuid
|
|
4709
|
+
* @description Which conversation this event belongs to. Sent on `GET /api/events/stream` and `GET /api/team/stream`; not sent on `GET /api/conversations/:id/stream`, whose URL already names the conversation.
|
|
4710
|
+
*/
|
|
4711
|
+
conversation_id?: string;
|
|
4712
|
+
/** @description Output text, or JSON-encoded metadata for stage events. */
|
|
4713
|
+
data?: string;
|
|
4714
|
+
/** @description Sent on `GET /api/events/stream`. Not sent on `GET /api/conversations/:id/stream` or `GET /api/team/stream`. */
|
|
4715
|
+
duration_ms?: number | null;
|
|
4716
|
+
/** @enum {string} */
|
|
4717
|
+
kind: "output" | "stage";
|
|
4718
|
+
/** @description Lifecycle stage name. null on an event that has no stage. */
|
|
4719
|
+
stage?: string | null;
|
|
4720
|
+
/**
|
|
4721
|
+
* @description Lifecycle state of the stage. null on an event that has no state.
|
|
4722
|
+
* @enum {string|null}
|
|
4723
|
+
*/
|
|
4724
|
+
state?: "started" | "done" | "failed" | "interrupted" | null;
|
|
4725
|
+
/** @description `stdout` / `stderr` for output events; empty for stage events. */
|
|
4726
|
+
stream?: string;
|
|
4727
|
+
/** Format: date-time */
|
|
4728
|
+
ts: string;
|
|
4729
|
+
/** Format: uuid */
|
|
4730
|
+
turn_id?: string | null;
|
|
4731
|
+
};
|
|
4732
|
+
/**
|
|
4733
|
+
* StreamSignal
|
|
4734
|
+
* @description A change-signal frame on the events or team SSE stream (#2297) — not a log event, and no `conversation_id`/`agent_id`/anything else `StreamLogEvent` declares. The event name says what changed: `conversations` on `GET /api/events/stream` (the caller's conversation list changed — created, titled, read, deleted, finished), `team` on `GET /api/team/stream` (the roster changed) and `schedule` on `GET /api/team/stream` (a team schedule was created, updated, deleted or fired). The client re-lists rather than reading anything from the body.
|
|
4735
|
+
*/
|
|
4736
|
+
StreamSignal: {
|
|
4737
|
+
/** @enum {string} */
|
|
4738
|
+
reason: "changed";
|
|
4739
|
+
};
|
|
4899
4740
|
/**
|
|
4900
4741
|
* StripeUrlResponse
|
|
4901
4742
|
* @description A Stripe-hosted URL to open in a browser. Single-use and short-lived.
|
|
@@ -5132,6 +4973,8 @@ export interface components {
|
|
|
5132
4973
|
* @description One prompt → exit_code cycle within a conversation.
|
|
5133
4974
|
*/
|
|
5134
4975
|
Turn: {
|
|
4976
|
+
/** @description The `client_request_id` of the prompt that opened this turn (#1406), or null: the caller sent none, or the turn is `autonomous`. Not unique. This is the value the caller sent, byte for byte, and it is the one to compare against: the copy on the turn's `started` stage event has been through event redaction, which rewrites any registered environment value it contains. */
|
|
4977
|
+
client_request_id?: string | null;
|
|
5135
4978
|
/** Format: date-time */
|
|
5136
4979
|
ended_at?: string | null;
|
|
5137
4980
|
exit_code?: number | null;
|
|
@@ -5184,17 +5027,6 @@ export interface components {
|
|
|
5184
5027
|
input?: number;
|
|
5185
5028
|
output?: number;
|
|
5186
5029
|
};
|
|
5187
|
-
/**
|
|
5188
|
-
* UnprocessableEntityError
|
|
5189
|
-
* @description A rejected request. Field validation failures include errors; other refusals carry an error and may include a message.
|
|
5190
|
-
*/
|
|
5191
|
-
UnprocessableEntityError: {
|
|
5192
|
-
error: string;
|
|
5193
|
-
errors?: {
|
|
5194
|
-
[key: string]: string[];
|
|
5195
|
-
};
|
|
5196
|
-
message?: string;
|
|
5197
|
-
};
|
|
5198
5030
|
/**
|
|
5199
5031
|
* UsageAccounting
|
|
5200
5032
|
* @description The adapter's accounting claim, not independently verified billing. Interpret source, version and scope together. Reported does not imply whole-conversation coverage.
|
|
@@ -6096,7 +5928,7 @@ export interface operations {
|
|
|
6096
5928
|
[name: string]: unknown;
|
|
6097
5929
|
};
|
|
6098
5930
|
content: {
|
|
6099
|
-
"application/json": components["schemas"]["
|
|
5931
|
+
"application/json": components["schemas"]["Error"];
|
|
6100
5932
|
};
|
|
6101
5933
|
};
|
|
6102
5934
|
/** @description Too Many Requests */
|
|
@@ -6928,6 +6760,15 @@ export interface operations {
|
|
|
6928
6760
|
"application/json": components["schemas"]["Error"];
|
|
6929
6761
|
};
|
|
6930
6762
|
};
|
|
6763
|
+
/** @description Another teardown holds this machine; retry */
|
|
6764
|
+
503: {
|
|
6765
|
+
headers: {
|
|
6766
|
+
[name: string]: unknown;
|
|
6767
|
+
};
|
|
6768
|
+
content: {
|
|
6769
|
+
"application/json": components["schemas"]["Error"];
|
|
6770
|
+
};
|
|
6771
|
+
};
|
|
6931
6772
|
};
|
|
6932
6773
|
};
|
|
6933
6774
|
"FountainWeb.AdminController.index_users": {
|
|
@@ -7687,7 +7528,7 @@ export interface operations {
|
|
|
7687
7528
|
[name: string]: unknown;
|
|
7688
7529
|
};
|
|
7689
7530
|
content: {
|
|
7690
|
-
"application/json": components["schemas"]["
|
|
7531
|
+
"application/json": components["schemas"]["Error"];
|
|
7691
7532
|
};
|
|
7692
7533
|
};
|
|
7693
7534
|
/** @description Too Many Requests */
|
|
@@ -7844,7 +7685,7 @@ export interface operations {
|
|
|
7844
7685
|
[name: string]: unknown;
|
|
7845
7686
|
};
|
|
7846
7687
|
content: {
|
|
7847
|
-
"application/json": components["schemas"]["
|
|
7688
|
+
"application/json": components["schemas"]["Error"];
|
|
7848
7689
|
};
|
|
7849
7690
|
};
|
|
7850
7691
|
/** @description Too Many Requests */
|
|
@@ -7999,7 +7840,7 @@ export interface operations {
|
|
|
7999
7840
|
[name: string]: unknown;
|
|
8000
7841
|
};
|
|
8001
7842
|
content: {
|
|
8002
|
-
"application/json": components["schemas"]["
|
|
7843
|
+
"application/json": components["schemas"]["Error"];
|
|
8003
7844
|
};
|
|
8004
7845
|
};
|
|
8005
7846
|
/** @description Too Many Requests */
|
|
@@ -8362,112 +8203,6 @@ export interface operations {
|
|
|
8362
8203
|
};
|
|
8363
8204
|
};
|
|
8364
8205
|
};
|
|
8365
|
-
"FountainWeb.AguiController.run": {
|
|
8366
|
-
parameters: {
|
|
8367
|
-
query?: {
|
|
8368
|
-
/** @description `off` streams the reply text only. Default `thinking`: tool use and lifecycle stages are relayed as AG-UI thinking events too, which is also what keeps a host's stall watchdog fed while a sandbox provisions. */
|
|
8369
|
-
activity?: string;
|
|
8370
|
-
};
|
|
8371
|
-
header?: never;
|
|
8372
|
-
path: {
|
|
8373
|
-
/** @description The agent to run. */
|
|
8374
|
-
agent_id: string;
|
|
8375
|
-
};
|
|
8376
|
-
cookie?: never;
|
|
8377
|
-
};
|
|
8378
|
-
/** @description AG-UI run input */
|
|
8379
|
-
requestBody?: {
|
|
8380
|
-
content: {
|
|
8381
|
-
"application/json": {
|
|
8382
|
-
context?: Record<string, never>[];
|
|
8383
|
-
forwardedProps?: Record<string, never>;
|
|
8384
|
-
/** @description The thread so far. The newest `user` message becomes the prompt; `system`/`developer` messages become the standing role of a new conversation. */
|
|
8385
|
-
messages: Record<string, never>[];
|
|
8386
|
-
/** @description This run. Echoed in the events. */
|
|
8387
|
-
runId: string;
|
|
8388
|
-
state?: Record<string, never>;
|
|
8389
|
-
/** @description The host's thread. Bound to one Fountain conversation as `agui:<threadId>`. */
|
|
8390
|
-
threadId: string;
|
|
8391
|
-
/** @description The host's tools (`name`, `description`, `parameters`). Offered to the agent beside its own; a call comes back as `TOOL_CALL_*` events and the run ends, and the next run's `role: "tool"` messages answer it. */
|
|
8392
|
-
tools?: Record<string, never>[];
|
|
8393
|
-
};
|
|
8394
|
-
};
|
|
8395
|
-
};
|
|
8396
|
-
responses: {
|
|
8397
|
-
/** @description AG-UI event stream */
|
|
8398
|
-
200: {
|
|
8399
|
-
headers: {
|
|
8400
|
-
[name: string]: unknown;
|
|
8401
|
-
};
|
|
8402
|
-
content: {
|
|
8403
|
-
"text/event-stream": string;
|
|
8404
|
-
};
|
|
8405
|
-
};
|
|
8406
|
-
/** @description Malformed run input */
|
|
8407
|
-
400: {
|
|
8408
|
-
headers: {
|
|
8409
|
-
[name: string]: unknown;
|
|
8410
|
-
};
|
|
8411
|
-
content: {
|
|
8412
|
-
"application/json": components["schemas"]["Error"];
|
|
8413
|
-
};
|
|
8414
|
-
};
|
|
8415
|
-
/** @description Unauthorized */
|
|
8416
|
-
401: {
|
|
8417
|
-
headers: {
|
|
8418
|
-
[name: string]: unknown;
|
|
8419
|
-
};
|
|
8420
|
-
content: {
|
|
8421
|
-
"application/json": components["schemas"]["Error"];
|
|
8422
|
-
};
|
|
8423
|
-
};
|
|
8424
|
-
/** @description Forbidden */
|
|
8425
|
-
403: {
|
|
8426
|
-
headers: {
|
|
8427
|
-
[name: string]: unknown;
|
|
8428
|
-
};
|
|
8429
|
-
content: {
|
|
8430
|
-
"application/json": components["schemas"]["Error"];
|
|
8431
|
-
};
|
|
8432
|
-
};
|
|
8433
|
-
/** @description No such agent */
|
|
8434
|
-
404: {
|
|
8435
|
-
headers: {
|
|
8436
|
-
[name: string]: unknown;
|
|
8437
|
-
};
|
|
8438
|
-
content: {
|
|
8439
|
-
"application/json": components["schemas"]["Error"];
|
|
8440
|
-
};
|
|
8441
|
-
};
|
|
8442
|
-
/** @description Conflicting state */
|
|
8443
|
-
409: {
|
|
8444
|
-
headers: {
|
|
8445
|
-
[name: string]: unknown;
|
|
8446
|
-
};
|
|
8447
|
-
content: {
|
|
8448
|
-
"application/json": components["schemas"]["Error"];
|
|
8449
|
-
};
|
|
8450
|
-
};
|
|
8451
|
-
/** @description Saved execution policy refused */
|
|
8452
|
-
422: {
|
|
8453
|
-
headers: {
|
|
8454
|
-
[name: string]: unknown;
|
|
8455
|
-
};
|
|
8456
|
-
content: {
|
|
8457
|
-
"application/json": components["schemas"]["Error"];
|
|
8458
|
-
};
|
|
8459
|
-
};
|
|
8460
|
-
/** @description Too Many Requests */
|
|
8461
|
-
429: {
|
|
8462
|
-
headers: {
|
|
8463
|
-
[name: string]: unknown;
|
|
8464
|
-
};
|
|
8465
|
-
content: {
|
|
8466
|
-
"application/json": components["schemas"]["Error"];
|
|
8467
|
-
};
|
|
8468
|
-
};
|
|
8469
|
-
};
|
|
8470
|
-
};
|
|
8471
8206
|
"FountainWeb.ApplyController.create": {
|
|
8472
8207
|
parameters: {
|
|
8473
8208
|
query?: never;
|
|
@@ -8524,7 +8259,7 @@ export interface operations {
|
|
|
8524
8259
|
[name: string]: unknown;
|
|
8525
8260
|
};
|
|
8526
8261
|
content: {
|
|
8527
|
-
"application/json": components["schemas"]["
|
|
8262
|
+
"application/json": components["schemas"]["Error"];
|
|
8528
8263
|
};
|
|
8529
8264
|
};
|
|
8530
8265
|
/** @description Too Many Requests */
|
|
@@ -8918,7 +8653,7 @@ export interface operations {
|
|
|
8918
8653
|
[name: string]: unknown;
|
|
8919
8654
|
};
|
|
8920
8655
|
content: {
|
|
8921
|
-
"application/json": components["schemas"]["
|
|
8656
|
+
"application/json": components["schemas"]["Error"];
|
|
8922
8657
|
};
|
|
8923
8658
|
};
|
|
8924
8659
|
/** @description No acceptable representation */
|
|
@@ -8936,7 +8671,7 @@ export interface operations {
|
|
|
8936
8671
|
[name: string]: unknown;
|
|
8937
8672
|
};
|
|
8938
8673
|
content: {
|
|
8939
|
-
"application/json": components["schemas"]["
|
|
8674
|
+
"application/json": components["schemas"]["Error"];
|
|
8940
8675
|
};
|
|
8941
8676
|
};
|
|
8942
8677
|
/** @description Too Many Requests */
|
|
@@ -8988,7 +8723,7 @@ export interface operations {
|
|
|
8988
8723
|
[name: string]: unknown;
|
|
8989
8724
|
};
|
|
8990
8725
|
content: {
|
|
8991
|
-
"application/json": components["schemas"]["
|
|
8726
|
+
"application/json": components["schemas"]["Error"];
|
|
8992
8727
|
};
|
|
8993
8728
|
};
|
|
8994
8729
|
};
|
|
@@ -9121,7 +8856,7 @@ export interface operations {
|
|
|
9121
8856
|
[name: string]: unknown;
|
|
9122
8857
|
};
|
|
9123
8858
|
content: {
|
|
9124
|
-
"application/json": components["schemas"]["
|
|
8859
|
+
"application/json": components["schemas"]["Error"];
|
|
9125
8860
|
};
|
|
9126
8861
|
};
|
|
9127
8862
|
/** @description No acceptable representation */
|
|
@@ -9139,7 +8874,7 @@ export interface operations {
|
|
|
9139
8874
|
[name: string]: unknown;
|
|
9140
8875
|
};
|
|
9141
8876
|
content: {
|
|
9142
|
-
"application/json": components["schemas"]["
|
|
8877
|
+
"application/json": components["schemas"]["Error"];
|
|
9143
8878
|
};
|
|
9144
8879
|
};
|
|
9145
8880
|
/** @description Too Many Requests */
|
|
@@ -9182,7 +8917,7 @@ export interface operations {
|
|
|
9182
8917
|
[name: string]: unknown;
|
|
9183
8918
|
};
|
|
9184
8919
|
content: {
|
|
9185
|
-
"application/json": components["schemas"]["
|
|
8920
|
+
"application/json": components["schemas"]["Error"];
|
|
9186
8921
|
};
|
|
9187
8922
|
};
|
|
9188
8923
|
/** @description No acceptable representation */
|
|
@@ -9200,7 +8935,7 @@ export interface operations {
|
|
|
9200
8935
|
[name: string]: unknown;
|
|
9201
8936
|
};
|
|
9202
8937
|
content: {
|
|
9203
|
-
"application/json": components["schemas"]["
|
|
8938
|
+
"application/json": components["schemas"]["Error"];
|
|
9204
8939
|
};
|
|
9205
8940
|
};
|
|
9206
8941
|
};
|
|
@@ -9277,7 +9012,7 @@ export interface operations {
|
|
|
9277
9012
|
[name: string]: unknown;
|
|
9278
9013
|
};
|
|
9279
9014
|
content: {
|
|
9280
|
-
"application/json": components["schemas"]["
|
|
9015
|
+
"application/json": components["schemas"]["Error"];
|
|
9281
9016
|
};
|
|
9282
9017
|
};
|
|
9283
9018
|
};
|
|
@@ -9320,7 +9055,7 @@ export interface operations {
|
|
|
9320
9055
|
[name: string]: unknown;
|
|
9321
9056
|
};
|
|
9322
9057
|
content: {
|
|
9323
|
-
"application/json": components["schemas"]["
|
|
9058
|
+
"application/json": components["schemas"]["Error"];
|
|
9324
9059
|
};
|
|
9325
9060
|
};
|
|
9326
9061
|
/** @description No acceptable representation */
|
|
@@ -9390,7 +9125,7 @@ export interface operations {
|
|
|
9390
9125
|
[name: string]: unknown;
|
|
9391
9126
|
};
|
|
9392
9127
|
content: {
|
|
9393
|
-
"application/json": components["schemas"]["
|
|
9128
|
+
"application/json": components["schemas"]["Error"];
|
|
9394
9129
|
};
|
|
9395
9130
|
};
|
|
9396
9131
|
};
|
|
@@ -11089,7 +10824,7 @@ export interface operations {
|
|
|
11089
10824
|
[name: string]: unknown;
|
|
11090
10825
|
};
|
|
11091
10826
|
content: {
|
|
11092
|
-
"application/json": components["schemas"]["
|
|
10827
|
+
"application/json": components["schemas"]["Error"];
|
|
11093
10828
|
};
|
|
11094
10829
|
};
|
|
11095
10830
|
/** @description Too Many Requests */
|
|
@@ -11168,10 +10903,7 @@ export interface operations {
|
|
|
11168
10903
|
[name: string]: unknown;
|
|
11169
10904
|
};
|
|
11170
10905
|
content: {
|
|
11171
|
-
"application/json":
|
|
11172
|
-
error?: string;
|
|
11173
|
-
upgrade_url?: string;
|
|
11174
|
-
};
|
|
10906
|
+
"application/json": components["schemas"]["Error"];
|
|
11175
10907
|
};
|
|
11176
10908
|
};
|
|
11177
10909
|
/** @description A sandbox token labelling the conversation a resume landed on */
|
|
@@ -11216,7 +10948,7 @@ export interface operations {
|
|
|
11216
10948
|
[name: string]: unknown;
|
|
11217
10949
|
};
|
|
11218
10950
|
content: {
|
|
11219
|
-
"application/json": components["schemas"]["
|
|
10951
|
+
"application/json": components["schemas"]["Error"];
|
|
11220
10952
|
};
|
|
11221
10953
|
};
|
|
11222
10954
|
/** @description Tenant concurrency cap reached */
|
|
@@ -11315,7 +11047,7 @@ export interface operations {
|
|
|
11315
11047
|
[name: string]: unknown;
|
|
11316
11048
|
};
|
|
11317
11049
|
content: {
|
|
11318
|
-
"application/json": components["schemas"]["
|
|
11050
|
+
"application/json": components["schemas"]["Error"];
|
|
11319
11051
|
};
|
|
11320
11052
|
};
|
|
11321
11053
|
};
|
|
@@ -11555,7 +11287,7 @@ export interface operations {
|
|
|
11555
11287
|
[name: string]: unknown;
|
|
11556
11288
|
};
|
|
11557
11289
|
content: {
|
|
11558
|
-
"application/json": components["schemas"]["
|
|
11290
|
+
"application/json": components["schemas"]["Error"];
|
|
11559
11291
|
};
|
|
11560
11292
|
};
|
|
11561
11293
|
/** @description Too Many Requests */
|
|
@@ -11648,6 +11380,15 @@ export interface operations {
|
|
|
11648
11380
|
"application/json": components["schemas"]["NegotiationError"];
|
|
11649
11381
|
};
|
|
11650
11382
|
};
|
|
11383
|
+
/** @description Sandbox is being reset */
|
|
11384
|
+
409: {
|
|
11385
|
+
headers: {
|
|
11386
|
+
[name: string]: unknown;
|
|
11387
|
+
};
|
|
11388
|
+
content: {
|
|
11389
|
+
"application/json": components["schemas"]["Error"];
|
|
11390
|
+
};
|
|
11391
|
+
};
|
|
11651
11392
|
/** @description Conversation is terminal */
|
|
11652
11393
|
410: {
|
|
11653
11394
|
headers: {
|
|
@@ -12003,7 +11744,7 @@ export interface operations {
|
|
|
12003
11744
|
[name: string]: unknown;
|
|
12004
11745
|
};
|
|
12005
11746
|
content: {
|
|
12006
|
-
"text/event-stream":
|
|
11747
|
+
"text/event-stream": components["schemas"]["StreamLogEvent"];
|
|
12007
11748
|
};
|
|
12008
11749
|
};
|
|
12009
11750
|
/** @description Unauthorized */
|
|
@@ -12557,7 +12298,7 @@ export interface operations {
|
|
|
12557
12298
|
[name: string]: unknown;
|
|
12558
12299
|
};
|
|
12559
12300
|
content: {
|
|
12560
|
-
"application/json": components["schemas"]["
|
|
12301
|
+
"application/json": components["schemas"]["Error"];
|
|
12561
12302
|
};
|
|
12562
12303
|
};
|
|
12563
12304
|
/** @description Too Many Requests */
|
|
@@ -12705,7 +12446,7 @@ export interface operations {
|
|
|
12705
12446
|
[name: string]: unknown;
|
|
12706
12447
|
};
|
|
12707
12448
|
content: {
|
|
12708
|
-
"application/json": components["schemas"]["
|
|
12449
|
+
"application/json": components["schemas"]["Error"];
|
|
12709
12450
|
};
|
|
12710
12451
|
};
|
|
12711
12452
|
/** @description Too Many Requests */
|
|
@@ -12920,7 +12661,7 @@ export interface operations {
|
|
|
12920
12661
|
[name: string]: unknown;
|
|
12921
12662
|
};
|
|
12922
12663
|
content: {
|
|
12923
|
-
"application/json": components["schemas"]["
|
|
12664
|
+
"application/json": components["schemas"]["Error"];
|
|
12924
12665
|
};
|
|
12925
12666
|
};
|
|
12926
12667
|
/** @description Too Many Requests */
|
|
@@ -13075,7 +12816,7 @@ export interface operations {
|
|
|
13075
12816
|
[name: string]: unknown;
|
|
13076
12817
|
};
|
|
13077
12818
|
content: {
|
|
13078
|
-
"application/json": components["schemas"]["
|
|
12819
|
+
"application/json": components["schemas"]["Error"];
|
|
13079
12820
|
};
|
|
13080
12821
|
};
|
|
13081
12822
|
/** @description Too Many Requests */
|
|
@@ -13112,7 +12853,7 @@ export interface operations {
|
|
|
13112
12853
|
[name: string]: unknown;
|
|
13113
12854
|
};
|
|
13114
12855
|
content: {
|
|
13115
|
-
"text/event-stream":
|
|
12856
|
+
"text/event-stream": components["schemas"]["StreamLogEvent"] | components["schemas"]["StreamSignal"];
|
|
13116
12857
|
};
|
|
13117
12858
|
};
|
|
13118
12859
|
/** @description Unauthorized */
|
|
@@ -14200,6 +13941,15 @@ export interface operations {
|
|
|
14200
13941
|
"application/json": components["schemas"]["Error"];
|
|
14201
13942
|
};
|
|
14202
13943
|
};
|
|
13944
|
+
/** @description Another teardown of this sandbox is running */
|
|
13945
|
+
503: {
|
|
13946
|
+
headers: {
|
|
13947
|
+
[name: string]: unknown;
|
|
13948
|
+
};
|
|
13949
|
+
content: {
|
|
13950
|
+
"application/json": components["schemas"]["Error"];
|
|
13951
|
+
};
|
|
13952
|
+
};
|
|
14203
13953
|
};
|
|
14204
13954
|
};
|
|
14205
13955
|
"FountainWeb.SandboxFilesController.diff": {
|
|
@@ -15462,7 +15212,7 @@ export interface operations {
|
|
|
15462
15212
|
[name: string]: unknown;
|
|
15463
15213
|
};
|
|
15464
15214
|
content: {
|
|
15465
|
-
"text/event-stream":
|
|
15215
|
+
"text/event-stream": components["schemas"]["StreamLogEvent"] | components["schemas"]["StreamSignal"];
|
|
15466
15216
|
};
|
|
15467
15217
|
};
|
|
15468
15218
|
/** @description Unauthorized */
|
|
@@ -15851,6 +15601,24 @@ export interface operations {
|
|
|
15851
15601
|
"application/json": components["schemas"]["NegotiationError"];
|
|
15852
15602
|
};
|
|
15853
15603
|
};
|
|
15604
|
+
/** @description The computer is being reset or deleted */
|
|
15605
|
+
409: {
|
|
15606
|
+
headers: {
|
|
15607
|
+
[name: string]: unknown;
|
|
15608
|
+
};
|
|
15609
|
+
content: {
|
|
15610
|
+
"application/json": components["schemas"]["Error"];
|
|
15611
|
+
};
|
|
15612
|
+
};
|
|
15613
|
+
/** @description The computer no longer matches the agent */
|
|
15614
|
+
422: {
|
|
15615
|
+
headers: {
|
|
15616
|
+
[name: string]: unknown;
|
|
15617
|
+
};
|
|
15618
|
+
content: {
|
|
15619
|
+
"application/json": components["schemas"]["Error"];
|
|
15620
|
+
};
|
|
15621
|
+
};
|
|
15854
15622
|
/** @description Too Many Requests */
|
|
15855
15623
|
429: {
|
|
15856
15624
|
headers: {
|
|
@@ -15860,7 +15628,7 @@ export interface operations {
|
|
|
15860
15628
|
"application/json": components["schemas"]["Error"];
|
|
15861
15629
|
};
|
|
15862
15630
|
};
|
|
15863
|
-
/** @description The computer is still starting */
|
|
15631
|
+
/** @description The computer is still starting, or an operation holds it */
|
|
15864
15632
|
503: {
|
|
15865
15633
|
headers: {
|
|
15866
15634
|
[name: string]: unknown;
|
|
@@ -15947,7 +15715,7 @@ export interface operations {
|
|
|
15947
15715
|
[name: string]: unknown;
|
|
15948
15716
|
};
|
|
15949
15717
|
content: {
|
|
15950
|
-
"application/json": components["schemas"]["
|
|
15718
|
+
"application/json": components["schemas"]["Error"];
|
|
15951
15719
|
};
|
|
15952
15720
|
};
|
|
15953
15721
|
/** @description Too Many Requests */
|
|
@@ -16505,7 +16273,7 @@ export interface operations {
|
|
|
16505
16273
|
[name: string]: unknown;
|
|
16506
16274
|
};
|
|
16507
16275
|
content: {
|
|
16508
|
-
"application/json": components["schemas"]["
|
|
16276
|
+
"application/json": components["schemas"]["Error"];
|
|
16509
16277
|
};
|
|
16510
16278
|
};
|
|
16511
16279
|
/** @description Too Many Requests */
|
|
@@ -16653,7 +16421,7 @@ export interface operations {
|
|
|
16653
16421
|
[name: string]: unknown;
|
|
16654
16422
|
};
|
|
16655
16423
|
content: {
|
|
16656
|
-
"application/json": components["schemas"]["
|
|
16424
|
+
"application/json": components["schemas"]["Error"];
|
|
16657
16425
|
};
|
|
16658
16426
|
};
|
|
16659
16427
|
/** @description Too Many Requests */
|
|
@@ -16808,7 +16576,7 @@ export interface operations {
|
|
|
16808
16576
|
[name: string]: unknown;
|
|
16809
16577
|
};
|
|
16810
16578
|
content: {
|
|
16811
|
-
"application/json": components["schemas"]["
|
|
16579
|
+
"application/json": components["schemas"]["Error"];
|
|
16812
16580
|
};
|
|
16813
16581
|
};
|
|
16814
16582
|
/** @description Too Many Requests */
|
|
@@ -16956,7 +16724,7 @@ export interface operations {
|
|
|
16956
16724
|
[name: string]: unknown;
|
|
16957
16725
|
};
|
|
16958
16726
|
content: {
|
|
16959
|
-
"application/json": components["schemas"]["
|
|
16727
|
+
"application/json": components["schemas"]["Error"];
|
|
16960
16728
|
};
|
|
16961
16729
|
};
|
|
16962
16730
|
/** @description Too Many Requests */
|
|
@@ -17106,7 +16874,7 @@ export interface operations {
|
|
|
17106
16874
|
[name: string]: unknown;
|
|
17107
16875
|
};
|
|
17108
16876
|
content: {
|
|
17109
|
-
"application/json": components["schemas"]["
|
|
16877
|
+
"application/json": components["schemas"]["Error"];
|
|
17110
16878
|
};
|
|
17111
16879
|
};
|
|
17112
16880
|
/** @description Too Many Requests */
|
|
@@ -17798,347 +17566,4 @@ export interface operations {
|
|
|
17798
17566
|
};
|
|
17799
17567
|
};
|
|
17800
17568
|
};
|
|
17801
|
-
"FountainWeb.OpenAIController.create_chat_completion": {
|
|
17802
|
-
parameters: {
|
|
17803
|
-
query?: never;
|
|
17804
|
-
header?: {
|
|
17805
|
-
/** @description The thread key. Overrides `user` and `safety_identifier`. */
|
|
17806
|
-
"x-fountain-thread"?: string;
|
|
17807
|
-
};
|
|
17808
|
-
path?: never;
|
|
17809
|
-
cookie?: never;
|
|
17810
|
-
};
|
|
17811
|
-
/** @description Chat-completions request */
|
|
17812
|
-
requestBody?: {
|
|
17813
|
-
content: {
|
|
17814
|
-
"application/json": {
|
|
17815
|
-
/** @description The chat so far. The newest `user` message becomes the prompt (its `image_url` parts must be `data:` URLs); `system`/`developer` messages become the standing role of a new conversation and are ignored afterwards. When the newest messages are `role: "tool"`, they answer the `tool_calls` the previous completion ended with and the turn resumes. */
|
|
17816
|
-
messages: Record<string, never>[];
|
|
17817
|
-
/** @description A Fountain agent: its name or its id. Unknown → 404. */
|
|
17818
|
-
model: string;
|
|
17819
|
-
/** @description The thread key when neither `X-Fountain-Thread` nor `user` is set. An OpenAI safety identifier field supported by LiteLLM. */
|
|
17820
|
-
safety_identifier?: string;
|
|
17821
|
-
/**
|
|
17822
|
-
* @description `true` streams `chat.completion.chunk` events as SSE, ending with `data: [DONE]`.
|
|
17823
|
-
* @default false
|
|
17824
|
-
*/
|
|
17825
|
-
stream?: boolean;
|
|
17826
|
-
/** @description `auto` (default) or `none` (register nothing for this request). `required` and a named tool are refused with 400: Fountain cannot force an agent's next action. */
|
|
17827
|
-
tool_choice?: string;
|
|
17828
|
-
/** @description Caller-defined function tools, in OpenAI's shape. The agent sees them beside its own; when it calls one the completion ends with `finish_reason: "tool_calls"` and the turn waits for the `role: "tool"` answer on the next request. */
|
|
17829
|
-
tools?: Record<string, never>[];
|
|
17830
|
-
/** @description The thread key when `X-Fountain-Thread` is not set. */
|
|
17831
|
-
user?: string;
|
|
17832
|
-
};
|
|
17833
|
-
};
|
|
17834
|
-
};
|
|
17835
|
-
responses: {
|
|
17836
|
-
/** @description The completion (or, with `stream: true`, its SSE stream) */
|
|
17837
|
-
200: {
|
|
17838
|
-
headers: {
|
|
17839
|
-
[name: string]: unknown;
|
|
17840
|
-
};
|
|
17841
|
-
content: {
|
|
17842
|
-
"application/json": {
|
|
17843
|
-
choices?: {
|
|
17844
|
-
/** @enum {string} */
|
|
17845
|
-
finish_reason?: "stop" | "tool_calls";
|
|
17846
|
-
index?: number;
|
|
17847
|
-
message?: {
|
|
17848
|
-
content?: string;
|
|
17849
|
-
/** @description Thinking, tool use and lifecycle stages, if any. */
|
|
17850
|
-
reasoning_content?: string;
|
|
17851
|
-
/** @enum {string} */
|
|
17852
|
-
role?: "assistant";
|
|
17853
|
-
/** @description The caller-defined tools the agent is waiting on, when `finish_reason` is `tool_calls`. */
|
|
17854
|
-
tool_calls?: Record<string, never>[];
|
|
17855
|
-
};
|
|
17856
|
-
}[];
|
|
17857
|
-
created?: number;
|
|
17858
|
-
/** @description Where the turn ran, for a caller that wants the real API next. */
|
|
17859
|
-
fountain?: {
|
|
17860
|
-
conversation_id?: string;
|
|
17861
|
-
thread?: string;
|
|
17862
|
-
turn_id?: string | null;
|
|
17863
|
-
};
|
|
17864
|
-
id?: string;
|
|
17865
|
-
/** @description The agent's name. */
|
|
17866
|
-
model?: string;
|
|
17867
|
-
/** @enum {string} */
|
|
17868
|
-
object?: "chat.completion";
|
|
17869
|
-
/** @description Always zeros: a turn is billed in seconds, not tokens. */
|
|
17870
|
-
usage?: {
|
|
17871
|
-
completion_tokens?: number;
|
|
17872
|
-
prompt_tokens?: number;
|
|
17873
|
-
total_tokens?: number;
|
|
17874
|
-
};
|
|
17875
|
-
};
|
|
17876
|
-
};
|
|
17877
|
-
};
|
|
17878
|
-
/** @description No thread key, or no user message */
|
|
17879
|
-
400: {
|
|
17880
|
-
headers: {
|
|
17881
|
-
[name: string]: unknown;
|
|
17882
|
-
};
|
|
17883
|
-
content: {
|
|
17884
|
-
"application/json": {
|
|
17885
|
-
error?: {
|
|
17886
|
-
code?: string | null;
|
|
17887
|
-
message?: string;
|
|
17888
|
-
param?: string | null;
|
|
17889
|
-
type?: string;
|
|
17890
|
-
};
|
|
17891
|
-
};
|
|
17892
|
-
};
|
|
17893
|
-
};
|
|
17894
|
-
/** @description Unauthorized */
|
|
17895
|
-
401: {
|
|
17896
|
-
headers: {
|
|
17897
|
-
[name: string]: unknown;
|
|
17898
|
-
};
|
|
17899
|
-
content: {
|
|
17900
|
-
"application/json": components["schemas"]["Error"];
|
|
17901
|
-
};
|
|
17902
|
-
};
|
|
17903
|
-
/** @description Forbidden */
|
|
17904
|
-
403: {
|
|
17905
|
-
headers: {
|
|
17906
|
-
[name: string]: unknown;
|
|
17907
|
-
};
|
|
17908
|
-
content: {
|
|
17909
|
-
"application/json": components["schemas"]["Error"];
|
|
17910
|
-
};
|
|
17911
|
-
};
|
|
17912
|
-
/** @description No such model (agent) */
|
|
17913
|
-
404: {
|
|
17914
|
-
headers: {
|
|
17915
|
-
[name: string]: unknown;
|
|
17916
|
-
};
|
|
17917
|
-
content: {
|
|
17918
|
-
"application/json": {
|
|
17919
|
-
error?: {
|
|
17920
|
-
code?: string | null;
|
|
17921
|
-
message?: string;
|
|
17922
|
-
param?: string | null;
|
|
17923
|
-
type?: string;
|
|
17924
|
-
};
|
|
17925
|
-
};
|
|
17926
|
-
};
|
|
17927
|
-
};
|
|
17928
|
-
/** @description The thread is running a turn; retry */
|
|
17929
|
-
409: {
|
|
17930
|
-
headers: {
|
|
17931
|
-
[name: string]: unknown;
|
|
17932
|
-
};
|
|
17933
|
-
content: {
|
|
17934
|
-
"application/json": {
|
|
17935
|
-
error?: {
|
|
17936
|
-
code?: string | null;
|
|
17937
|
-
message?: string;
|
|
17938
|
-
param?: string | null;
|
|
17939
|
-
type?: string;
|
|
17940
|
-
};
|
|
17941
|
-
};
|
|
17942
|
-
};
|
|
17943
|
-
};
|
|
17944
|
-
/** @description Saved execution policy refused */
|
|
17945
|
-
422: {
|
|
17946
|
-
headers: {
|
|
17947
|
-
[name: string]: unknown;
|
|
17948
|
-
};
|
|
17949
|
-
content: {
|
|
17950
|
-
"application/json": {
|
|
17951
|
-
error?: {
|
|
17952
|
-
code?: string | null;
|
|
17953
|
-
message?: string;
|
|
17954
|
-
param?: string | null;
|
|
17955
|
-
type?: string;
|
|
17956
|
-
};
|
|
17957
|
-
};
|
|
17958
|
-
};
|
|
17959
|
-
};
|
|
17960
|
-
/** @description Too Many Requests */
|
|
17961
|
-
429: {
|
|
17962
|
-
headers: {
|
|
17963
|
-
[name: string]: unknown;
|
|
17964
|
-
};
|
|
17965
|
-
content: {
|
|
17966
|
-
"application/json": components["schemas"]["Error"];
|
|
17967
|
-
};
|
|
17968
|
-
};
|
|
17969
|
-
/** @description Internal error */
|
|
17970
|
-
500: {
|
|
17971
|
-
headers: {
|
|
17972
|
-
[name: string]: unknown;
|
|
17973
|
-
};
|
|
17974
|
-
content: {
|
|
17975
|
-
"application/json": {
|
|
17976
|
-
error?: {
|
|
17977
|
-
code?: string | null;
|
|
17978
|
-
message?: string;
|
|
17979
|
-
param?: string | null;
|
|
17980
|
-
type?: string;
|
|
17981
|
-
};
|
|
17982
|
-
};
|
|
17983
|
-
};
|
|
17984
|
-
};
|
|
17985
|
-
};
|
|
17986
|
-
};
|
|
17987
|
-
"FountainWeb.OpenAIController.list_models": {
|
|
17988
|
-
parameters: {
|
|
17989
|
-
query?: never;
|
|
17990
|
-
header?: never;
|
|
17991
|
-
path?: never;
|
|
17992
|
-
cookie?: never;
|
|
17993
|
-
};
|
|
17994
|
-
requestBody?: never;
|
|
17995
|
-
responses: {
|
|
17996
|
-
/** @description Model list */
|
|
17997
|
-
200: {
|
|
17998
|
-
headers: {
|
|
17999
|
-
[name: string]: unknown;
|
|
18000
|
-
};
|
|
18001
|
-
content: {
|
|
18002
|
-
"application/json": {
|
|
18003
|
-
data?: {
|
|
18004
|
-
created?: number;
|
|
18005
|
-
fountain?: {
|
|
18006
|
-
agent_id?: string;
|
|
18007
|
-
model?: string | null;
|
|
18008
|
-
runtime?: string;
|
|
18009
|
-
};
|
|
18010
|
-
/** @description The agent's name. */
|
|
18011
|
-
id?: string;
|
|
18012
|
-
/** @enum {string} */
|
|
18013
|
-
object?: "model";
|
|
18014
|
-
owned_by?: string;
|
|
18015
|
-
}[];
|
|
18016
|
-
/** @enum {string} */
|
|
18017
|
-
object?: "list";
|
|
18018
|
-
};
|
|
18019
|
-
};
|
|
18020
|
-
};
|
|
18021
|
-
/** @description Unauthorized */
|
|
18022
|
-
401: {
|
|
18023
|
-
headers: {
|
|
18024
|
-
[name: string]: unknown;
|
|
18025
|
-
};
|
|
18026
|
-
content: {
|
|
18027
|
-
"application/json": components["schemas"]["Error"];
|
|
18028
|
-
};
|
|
18029
|
-
};
|
|
18030
|
-
/** @description Forbidden */
|
|
18031
|
-
403: {
|
|
18032
|
-
headers: {
|
|
18033
|
-
[name: string]: unknown;
|
|
18034
|
-
};
|
|
18035
|
-
content: {
|
|
18036
|
-
"application/json": components["schemas"]["Error"];
|
|
18037
|
-
};
|
|
18038
|
-
};
|
|
18039
|
-
/** @description Not found */
|
|
18040
|
-
404: {
|
|
18041
|
-
headers: {
|
|
18042
|
-
[name: string]: unknown;
|
|
18043
|
-
};
|
|
18044
|
-
content: {
|
|
18045
|
-
"application/json": {
|
|
18046
|
-
error?: {
|
|
18047
|
-
code?: string | null;
|
|
18048
|
-
message?: string;
|
|
18049
|
-
param?: string | null;
|
|
18050
|
-
type?: string;
|
|
18051
|
-
};
|
|
18052
|
-
};
|
|
18053
|
-
};
|
|
18054
|
-
};
|
|
18055
|
-
/** @description Too Many Requests */
|
|
18056
|
-
429: {
|
|
18057
|
-
headers: {
|
|
18058
|
-
[name: string]: unknown;
|
|
18059
|
-
};
|
|
18060
|
-
content: {
|
|
18061
|
-
"application/json": components["schemas"]["Error"];
|
|
18062
|
-
};
|
|
18063
|
-
};
|
|
18064
|
-
};
|
|
18065
|
-
};
|
|
18066
|
-
"FountainWeb.OpenAIController.show_model": {
|
|
18067
|
-
parameters: {
|
|
18068
|
-
query?: never;
|
|
18069
|
-
header?: never;
|
|
18070
|
-
path: {
|
|
18071
|
-
/** @description Agent name or id. */
|
|
18072
|
-
model: string;
|
|
18073
|
-
};
|
|
18074
|
-
cookie?: never;
|
|
18075
|
-
};
|
|
18076
|
-
requestBody?: never;
|
|
18077
|
-
responses: {
|
|
18078
|
-
/** @description The model */
|
|
18079
|
-
200: {
|
|
18080
|
-
headers: {
|
|
18081
|
-
[name: string]: unknown;
|
|
18082
|
-
};
|
|
18083
|
-
content: {
|
|
18084
|
-
"application/json": {
|
|
18085
|
-
created?: number;
|
|
18086
|
-
fountain?: {
|
|
18087
|
-
agent_id?: string;
|
|
18088
|
-
model?: string | null;
|
|
18089
|
-
runtime?: string;
|
|
18090
|
-
};
|
|
18091
|
-
/** @description The agent's name. */
|
|
18092
|
-
id?: string;
|
|
18093
|
-
/** @enum {string} */
|
|
18094
|
-
object?: "model";
|
|
18095
|
-
owned_by?: string;
|
|
18096
|
-
};
|
|
18097
|
-
};
|
|
18098
|
-
};
|
|
18099
|
-
/** @description Unauthorized */
|
|
18100
|
-
401: {
|
|
18101
|
-
headers: {
|
|
18102
|
-
[name: string]: unknown;
|
|
18103
|
-
};
|
|
18104
|
-
content: {
|
|
18105
|
-
"application/json": components["schemas"]["Error"];
|
|
18106
|
-
};
|
|
18107
|
-
};
|
|
18108
|
-
/** @description Forbidden */
|
|
18109
|
-
403: {
|
|
18110
|
-
headers: {
|
|
18111
|
-
[name: string]: unknown;
|
|
18112
|
-
};
|
|
18113
|
-
content: {
|
|
18114
|
-
"application/json": components["schemas"]["Error"];
|
|
18115
|
-
};
|
|
18116
|
-
};
|
|
18117
|
-
/** @description No such model (agent) */
|
|
18118
|
-
404: {
|
|
18119
|
-
headers: {
|
|
18120
|
-
[name: string]: unknown;
|
|
18121
|
-
};
|
|
18122
|
-
content: {
|
|
18123
|
-
"application/json": {
|
|
18124
|
-
error?: {
|
|
18125
|
-
code?: string | null;
|
|
18126
|
-
message?: string;
|
|
18127
|
-
param?: string | null;
|
|
18128
|
-
type?: string;
|
|
18129
|
-
};
|
|
18130
|
-
};
|
|
18131
|
-
};
|
|
18132
|
-
};
|
|
18133
|
-
/** @description Too Many Requests */
|
|
18134
|
-
429: {
|
|
18135
|
-
headers: {
|
|
18136
|
-
[name: string]: unknown;
|
|
18137
|
-
};
|
|
18138
|
-
content: {
|
|
18139
|
-
"application/json": components["schemas"]["Error"];
|
|
18140
|
-
};
|
|
18141
|
-
};
|
|
18142
|
-
};
|
|
18143
|
-
};
|
|
18144
17569
|
}
|