@managoat/fountain-sdk 6.2.0 → 6.4.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 +21 -0
- package/dist/conversation.d.ts +6 -0
- package/dist/conversation.js +9 -0
- package/dist/conversation.js.map +1 -1
- package/dist/generated/openapi.d.ts +314 -9
- package/dist/http.d.ts +1 -1
- package/dist/http.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,27 @@ server releases.
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [6.4.0] - 2026-10-02
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- `Conversation.wake()` brings a conversation's sandbox up without a prompt
|
|
19
|
+
(#2551), so the next `send` does not wait for it. It resolves to `"awake"`
|
|
20
|
+
when the sandbox was already up and `"waking"` when this call started it.
|
|
21
|
+
|
|
22
|
+
## [6.3.0] - 2026-09-30
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- The generated types carry ACP session config options (#2537, ADR 0062):
|
|
27
|
+
- `session_config` on agents, conversations, `ConversationCreateRequest`,
|
|
28
|
+
`ConversationReapplyRequest` and `PromptRequest`;
|
|
29
|
+
- the conversation's `session_config_options`;
|
|
30
|
+
- the turn's `config_selection`.
|
|
31
|
+
|
|
32
|
+
Pass `session_config` through `runRequest` or a raw request body, for
|
|
33
|
+
example `{ effort: "high", fast: true }`.
|
|
34
|
+
|
|
14
35
|
## [6.2.0] - 2026-09-26
|
|
15
36
|
|
|
16
37
|
### Added
|
package/dist/conversation.d.ts
CHANGED
|
@@ -105,6 +105,12 @@ export declare class Conversation {
|
|
|
105
105
|
* `rebuild_required`, naming the field that forced it.
|
|
106
106
|
*/
|
|
107
107
|
reapply(options?: ReapplyOptions): Promise<ConversationRecord>;
|
|
108
|
+
/**
|
|
109
|
+
* Bring the sandbox up without a prompt, so the next `send` does not wait
|
|
110
|
+
* for it. `"awake"` means it was already running; `"waking"` means this call
|
|
111
|
+
* started it, and its reattach or provision continues on the event stream.
|
|
112
|
+
*/
|
|
113
|
+
wake(): Promise<"awake" | "waking">;
|
|
108
114
|
/** Ask the agent to stop the turn it is on. The sandbox stays up. */
|
|
109
115
|
interrupt(): Promise<void>;
|
|
110
116
|
/** Tear the sandbox down. Nothing resumes after this. */
|
package/dist/conversation.js
CHANGED
|
@@ -156,6 +156,15 @@ export class Conversation {
|
|
|
156
156
|
body.model = options.model;
|
|
157
157
|
return this.http.data("POST", `/api/conversations/${this.id}/reapply`, { body });
|
|
158
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Bring the sandbox up without a prompt, so the next `send` does not wait
|
|
161
|
+
* for it. `"awake"` means it was already running; `"waking"` means this call
|
|
162
|
+
* started it, and its reattach or provision continues on the event stream.
|
|
163
|
+
*/
|
|
164
|
+
async wake() {
|
|
165
|
+
const body = await this.http.request("POST", `/api/conversations/${this.id}/wake`);
|
|
166
|
+
return body.status;
|
|
167
|
+
}
|
|
159
168
|
/** Ask the agent to stop the turn it is on. The sandbox stays up. */
|
|
160
169
|
async interrupt() {
|
|
161
170
|
await this.http.request("POST", `/api/conversations/${this.id}/interrupt`);
|
package/dist/conversation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAmB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4B9C;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACd,EAAE,CAAS;IAEH,IAAI,CAAa;IAClC,6EAA6E;IACrE,WAAW,CAAS;IAE5B,YAAY,IAAgB,EAAE,EAAU,EAAE,MAAM,GAAG,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG;QACL,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,KAAK,EAAE,sBAAsB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,sBAAsB,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,MAAqC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,OAAO,EACP,sBAAsB,IAAI,CAAC,EAAE,SAAS,EACtC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,MAAc,EAAE,UAAuB,EAAE;QAC5C,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACzD,2EAA2E;QAC3E,uDAAuD;QACvD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,IAAI,CAAC,IAAI,EACT;YACE,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,oEAAoE;gBACpE,qDAAqD;gBACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;gBACrD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC;SACF,EACD,OAAO,CACR,CAAC;QAEF,yEAAyE;QACzE,+CAA+C;QAC/C,KAAK,GAAG;aACL,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QACnE,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,QAAgB;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACrB,MAAM,EACN,sBAAsB,IAAI,CAAC,EAAE,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE,EACzE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,UAA2E,EAAE;QAE7E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAE/B,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAGjC,KAAK,EAAE,sBAAsB,IAAI,CAAC,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;aACjD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,MAAM;YACzF,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACjF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACnE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QACrF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QACnE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAyB,EAAE;QAChC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACjC,KAAK,EACL,sBAAsB,IAAI,CAAC,EAAE,SAAS,EACtC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAC5C,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE;YACvB,UAAU,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;YAC3E,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,cAAc;QAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACzE,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;gBACzD,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,CAAC;aACd,CAAC,EAAE,CAAC;gBACH,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI;oBAAE,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"conversation.js","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1353,7 +1353,7 @@ export interface paths {
|
|
|
1353
1353
|
};
|
|
1354
1354
|
/**
|
|
1355
1355
|
* List a conversation's log events
|
|
1356
|
-
* @description The read-model behind the SSE stream. Same rows, same fields, as JSON — fetching or archiving a conversation's output no longer requires an SSE parser. Oldest first, cursor-paginated: pass the previous page's `meta.next_cursor` as `after`. SSE remains the tail/follow mechanism.
|
|
1356
|
+
* @description The read-model behind the SSE stream. Same rows, same fields, as JSON — fetching or archiving a conversation's output no longer requires an SSE parser. Oldest first, cursor-paginated: pass the previous page's `meta.next_cursor` as `after`. SSE remains the tail/follow mechanism. With `order=desc` the page is the newest events instead, newest first, and `meta.next_cursor` is the page's oldest id, to pass as `before` for the page older than it; add `whole_turns=true` so no page ends inside a turn. `page.newest_cursor` of the first such page is where an SSE follow resumes (`Last-Event-ID`).
|
|
1357
1357
|
*/
|
|
1358
1358
|
get: operations["FountainWeb.ConversationController.events"];
|
|
1359
1359
|
put?: never;
|
|
@@ -1465,7 +1465,7 @@ export interface paths {
|
|
|
1465
1465
|
*
|
|
1466
1466
|
* `model` changes the model this conversation runs from its next turn (ADR 0061), continuing the same runtime session. It is refused with 422 `model_invalid` when the runtime cannot run it, and with 409 `inference_source_changed` when the conversation's credential does not serve it.
|
|
1467
1467
|
*
|
|
1468
|
-
* Refused with 409 `conversation_busy` while a turn runs, 409 `rebuild_required` when the selection would need the machine built again (the `field` says which one forced it), 503 while the machine is still being built, and 410 once the conversation has ended.
|
|
1468
|
+
* Refused with 409 `conversation_busy` while a turn runs, 409 `rebuild_required` when the selection would need the machine built again (the `field` says which one forced it; for a conversation attached to another agent's sandbox with `sandbox_id`, `shared_sandbox` while another conversation is on it and `guest` once it is alone), 503 while the machine is still being built, and 410 once the conversation has ended.
|
|
1469
1469
|
*/
|
|
1470
1470
|
post: operations["FountainWeb.ConversationController.reapply"];
|
|
1471
1471
|
delete?: never;
|
|
@@ -1599,6 +1599,28 @@ export interface paths {
|
|
|
1599
1599
|
patch?: never;
|
|
1600
1600
|
trace?: never;
|
|
1601
1601
|
};
|
|
1602
|
+
"/api/conversations/{conversation_id}/wake": {
|
|
1603
|
+
parameters: {
|
|
1604
|
+
query?: never;
|
|
1605
|
+
header?: never;
|
|
1606
|
+
path?: never;
|
|
1607
|
+
cookie?: never;
|
|
1608
|
+
};
|
|
1609
|
+
get?: never;
|
|
1610
|
+
put?: never;
|
|
1611
|
+
/**
|
|
1612
|
+
* Wake a conversation without a prompt
|
|
1613
|
+
* @description Brings the conversation's sandbox and server up without opening a turn, so the next prompt does not wait for them. A suspended sandbox is resumed; one that is gone is replaced with a fresh one, as a prompt would do. Answers once the server has started; its reattach or provision continues and reports on the event stream. A woken conversation is parked again after the usual idle period.
|
|
1614
|
+
*
|
|
1615
|
+
* `awake` means the server was already running and nothing was done. Refused as a prompt's wake is: 402 without credits, 410 once the conversation has ended, 409 `sandbox_reset_pending` while its machine is being reset, and 503 while the machine or fleet is unavailable.
|
|
1616
|
+
*/
|
|
1617
|
+
post: operations["FountainWeb.ConversationController.wake"];
|
|
1618
|
+
delete?: never;
|
|
1619
|
+
options?: never;
|
|
1620
|
+
head?: never;
|
|
1621
|
+
patch?: never;
|
|
1622
|
+
trace?: never;
|
|
1623
|
+
};
|
|
1602
1624
|
"/api/conversations/{id}": {
|
|
1603
1625
|
parameters: {
|
|
1604
1626
|
query?: never;
|
|
@@ -2398,6 +2420,26 @@ export interface paths {
|
|
|
2398
2420
|
patch: operations["FountainWeb.VaultController.update (2)"];
|
|
2399
2421
|
trace?: never;
|
|
2400
2422
|
};
|
|
2423
|
+
"/api/vaults/{id}/copy": {
|
|
2424
|
+
parameters: {
|
|
2425
|
+
query?: never;
|
|
2426
|
+
header?: never;
|
|
2427
|
+
path?: never;
|
|
2428
|
+
cookie?: never;
|
|
2429
|
+
};
|
|
2430
|
+
get?: never;
|
|
2431
|
+
put?: never;
|
|
2432
|
+
/**
|
|
2433
|
+
* Copy a vault
|
|
2434
|
+
* @description Creates a new vault holding a copy of every secret in the source vault. Values are copied server-side and re-encrypted; no value is ever returned. `name` is required; `description` and `metadata` default to the source's. Atomic: on any failure no new vault exists. A source vault the caller does not own reads as not found.
|
|
2435
|
+
*/
|
|
2436
|
+
post: operations["FountainWeb.VaultController.copy"];
|
|
2437
|
+
delete?: never;
|
|
2438
|
+
options?: never;
|
|
2439
|
+
head?: never;
|
|
2440
|
+
patch?: never;
|
|
2441
|
+
trace?: never;
|
|
2442
|
+
};
|
|
2401
2443
|
"/api/vaults/{vault_id}/secrets": {
|
|
2402
2444
|
parameters: {
|
|
2403
2445
|
query?: never;
|
|
@@ -2819,6 +2861,8 @@ export interface components {
|
|
|
2819
2861
|
* @enum {string|null}
|
|
2820
2862
|
*/
|
|
2821
2863
|
sandbox_provider?: "sprites" | "e2b" | "daytona" | "runner" | null;
|
|
2864
|
+
/** @description ACP session config options every conversation of this agent requests (ADR 0062), such as {"effort": "high"}. A conversation's own session_config overrides these keys, and a prompt's overrides both for that turn. Null or {} requests none. */
|
|
2865
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
2822
2866
|
/** @description Each entry is either inline (`{name, content}` — full SKILL.md text written to the sprite) or github (`{source, ref?, name?}` — installed on the sprite via the skills.sh CLI, optionally pinned to a tag/branch/sha via `ref`). Exactly one of `content` or `source` must be set on each entry. */
|
|
2823
2867
|
skills?: {
|
|
2824
2868
|
/** @description Full SKILL.md body for inline entries. */
|
|
@@ -2879,6 +2923,8 @@ export interface components {
|
|
|
2879
2923
|
* @enum {string|null}
|
|
2880
2924
|
*/
|
|
2881
2925
|
sandbox_provider?: "sprites" | "e2b" | "daytona" | "runner" | null;
|
|
2926
|
+
/** @description ACP session config options every conversation of this agent requests (ADR 0062), such as {"effort": "high"}. A conversation's own session_config overrides these keys, and a prompt's overrides both for that turn. Null or {} requests none. */
|
|
2927
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
2882
2928
|
/** @description Each entry is either inline (`{name, content}` — full SKILL.md text written to the sprite) or github (`{source, ref?, name?}` — installed on the sprite via the skills.sh CLI, optionally pinned to a tag/branch/sha via `ref`). Exactly one of `content` or `source` must be set on each entry. */
|
|
2883
2929
|
skills?: {
|
|
2884
2930
|
/** @description Full SKILL.md body for inline entries. */
|
|
@@ -2936,6 +2982,8 @@ export interface components {
|
|
|
2936
2982
|
* @enum {string|null}
|
|
2937
2983
|
*/
|
|
2938
2984
|
sandbox_provider?: "sprites" | "e2b" | "daytona" | "runner" | null;
|
|
2985
|
+
/** @description ACP session config options every conversation of this agent requests (ADR 0062), such as {"effort": "high"}. A conversation's own session_config overrides these keys, and a prompt's overrides both for that turn. Null or {} requests none. */
|
|
2986
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
2939
2987
|
/** @description Each entry is either inline (`{name, content}` — full SKILL.md text written to the sprite) or github (`{source, ref?, name?}` — installed on the sprite via the skills.sh CLI, optionally pinned to a tag/branch/sha via `ref`). Exactly one of `content` or `source` must be set on each entry. */
|
|
2940
2988
|
skills?: {
|
|
2941
2989
|
/** @description Full SKILL.md body for inline entries. */
|
|
@@ -3780,6 +3828,10 @@ export interface components {
|
|
|
3780
3828
|
sandbox_api_access?: "owner" | "none";
|
|
3781
3829
|
/** Format: uuid */
|
|
3782
3830
|
sandbox_id?: string | null;
|
|
3831
|
+
/** @description This conversation's ACP session config options (ADR 0062), over its agent's: a key here replaces the agent's value for that key. Set at launch or by reapply. {} follows the agent. */
|
|
3832
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
3833
|
+
/** @description The config options the adapter advertised before the latest prompt, after the model and the requested options were applied: what the current model offers and what is in force. Null until a turn reports them. */
|
|
3834
|
+
session_config_options?: components["schemas"]["SessionConfigOption"][] | null;
|
|
3783
3835
|
/** @enum {string} */
|
|
3784
3836
|
source?: "ui" | "api" | "agent";
|
|
3785
3837
|
/** @enum {string} */
|
|
@@ -3836,7 +3888,7 @@ export interface components {
|
|
|
3836
3888
|
sandbox_api_access?: "owner" | "none";
|
|
3837
3889
|
/**
|
|
3838
3890
|
* Format: uuid
|
|
3839
|
-
* @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
|
|
3891
|
+
* @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 from the same environment and vault as this launch (422 sandbox_identity_mismatch). It is normally the same agent's (422 sandbox_runtime_mismatch if the agent's runtime changed since). An agent other than the one the sandbox was built for may attach to that agent's persistent sandbox as a guest only to make a claude and codex pair: a codex agent on a claude agent's home, or a claude agent on a codex agent's, where no other agent of either runtime has run. Any other guest is 422 sandbox_identity_mismatch. Attaching a guest needs a full-scope API key; a sandbox's own token, or any key below full scope, is refused with 403 guest_attach_requires_full_scope (reason insufficient_scope), a channel rotation (fresh) of a guest included. The sandbox stays its own agent's, and a guest's reapply is refused with 409 rebuild_required: field shared_sandbox while another conversation is on the sandbox, field guest when the guest is alone there. A claude home created before guests were admitted refuses a codex guest with 409 codex_inference_conflict until it is reset. 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.
|
|
3840
3892
|
*/
|
|
3841
3893
|
sandbox_id?: string | null;
|
|
3842
3894
|
/**
|
|
@@ -3844,6 +3896,8 @@ export interface components {
|
|
|
3844
3896
|
* @enum {string|null}
|
|
3845
3897
|
*/
|
|
3846
3898
|
sandbox_mode?: "ephemeral" | "persistent" | null;
|
|
3899
|
+
/** @description ACP session config options for this conversation (ADR 0062), over the agent's, such as {"reasoning_effort": "high"}. Applied after the model on every turn. The ids and values are the adapter's own; one it does not advertise is skipped, and a value it refuses fails the turn. */
|
|
3900
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
3847
3901
|
/** @description Name the conversation's machine instead of taking a generated name. The value is the suffix of an account-scoped name: the server keeps the fountain-<account>- prefix every generated name carries, so a name you choose lands in your own namespace rather than another account's. 1 to 40 characters of letters, digits, - and _, starting with a letter or digit; a name that already carries this account's prefix is taken as it stands, so a name from an earlier launch resolves to the same machine. 422 invalid_sprite_name otherwise. Refused with 422 sprite_name_not_supported on an agent that runs on a self-hosted runner, where the name carries the runner instead. Refused with sandbox_api_access none, which requires a machine no other conversation can reach. */
|
|
3848
3902
|
sprite_name?: string;
|
|
3849
3903
|
/** @description Optional display title. The team page names a teammate with it. */
|
|
@@ -3870,7 +3924,7 @@ export interface components {
|
|
|
3870
3924
|
};
|
|
3871
3925
|
/**
|
|
3872
3926
|
* ConversationReapplyRequest
|
|
3873
|
-
* @description A selection of Agent, Environment, Vault and
|
|
3927
|
+
* @description A selection of Agent, Environment, Vault, model and session config to apply to the machine an existing conversation already runs on. An omitted field keeps its current selection. An explicit null clears the Environment override, the Vault, the model override or the session config. An empty object reapplies the current selection.
|
|
3874
3928
|
*/
|
|
3875
3929
|
ConversationReapplyRequest: {
|
|
3876
3930
|
/**
|
|
@@ -3885,6 +3939,8 @@ export interface components {
|
|
|
3885
3939
|
environment_id?: string | null;
|
|
3886
3940
|
/** @description Model to run from the next turn (ADR 0061), in canonical provider/model_id form; null returns to the selected Agent's model. Checked against the selected Agent's runtime (422 model_invalid). The conversation keeps its credential: a model that credential does not serve is 409 inference_source_changed and nothing changes. The runtime session is kept, so the next turn continues it on the new model. */
|
|
3887
3941
|
model?: string | null;
|
|
3942
|
+
/** @description ACP session config options to request from the next turn (ADR 0062), replacing the conversation's current ones; null or {} returns to the Agent's. Only the shape is checked here. The adapter decides which ids and values exist. */
|
|
3943
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
3888
3944
|
/**
|
|
3889
3945
|
* Format: uuid
|
|
3890
3946
|
* @description Vault to use; null detaches the current Vault.
|
|
@@ -3918,6 +3974,14 @@ export interface components {
|
|
|
3918
3974
|
ConversationTreeResponse: {
|
|
3919
3975
|
data: components["schemas"]["ConversationTreeNode"][];
|
|
3920
3976
|
};
|
|
3977
|
+
/** ConversationWakeResponse */
|
|
3978
|
+
ConversationWakeResponse: {
|
|
3979
|
+
/**
|
|
3980
|
+
* @description `awake` when the conversation's server was already running and nothing was done; `waking` when this request started one. Its reattach or provision stages follow on the event stream.
|
|
3981
|
+
* @enum {string}
|
|
3982
|
+
*/
|
|
3983
|
+
status: "awake" | "waking";
|
|
3984
|
+
};
|
|
3921
3985
|
/**
|
|
3922
3986
|
* CreditsCheckoutRequest
|
|
3923
3987
|
* @example {
|
|
@@ -4317,11 +4381,26 @@ export interface components {
|
|
|
4317
4381
|
LogEventListResponse: {
|
|
4318
4382
|
data: components["schemas"]["LogEvent"][];
|
|
4319
4383
|
meta: {
|
|
4384
|
+
/** @description More matching events exist past this page: newer ones for `asc`, older ones for `desc`. */
|
|
4320
4385
|
has_more: boolean;
|
|
4321
4386
|
limit: number;
|
|
4322
|
-
/** @description
|
|
4387
|
+
/** @description The page's last event id: pass as `after` (`asc`) or `before` (`desc`) to fetch the next page. null when the page is empty. */
|
|
4323
4388
|
next_cursor?: number | null;
|
|
4324
4389
|
};
|
|
4390
|
+
/** @description The window this page covers (#2531). */
|
|
4391
|
+
page?: {
|
|
4392
|
+
/** @description The largest event id on the page; on the first `order=desc` page, the `Last-Event-ID` an SSE follow resumes from. null when the page is empty. */
|
|
4393
|
+
newest_cursor: number | null;
|
|
4394
|
+
/** @description The smallest event id on the page. null when the page is empty. */
|
|
4395
|
+
oldest_cursor: number | null;
|
|
4396
|
+
/**
|
|
4397
|
+
* @description The order of `data`, as requested.
|
|
4398
|
+
* @enum {string}
|
|
4399
|
+
*/
|
|
4400
|
+
order: "asc" | "desc";
|
|
4401
|
+
/** @description `whole_turns=true` reached its ceiling inside a turn: the page's oldest turn continues on the next page. Always false otherwise. */
|
|
4402
|
+
turn_split: boolean;
|
|
4403
|
+
};
|
|
4325
4404
|
};
|
|
4326
4405
|
/**
|
|
4327
4406
|
* ManifestResource
|
|
@@ -4494,6 +4573,8 @@ export interface components {
|
|
|
4494
4573
|
/** @description Optional images to attach to this prompt. */
|
|
4495
4574
|
images?: components["schemas"]["ImageInput"][] | null;
|
|
4496
4575
|
prompt: string;
|
|
4576
|
+
/** @description ACP session config options for this turn only (ADR 0062), over the conversation's and the agent's, such as {"effort": "high", "fast": true}. The next turn goes back to the conversation's. The turn's config_selection records what was requested, applied and skipped. */
|
|
4577
|
+
session_config?: components["schemas"]["SessionConfig"];
|
|
4497
4578
|
};
|
|
4498
4579
|
/** PromptResponse */
|
|
4499
4580
|
PromptResponse: {
|
|
@@ -4580,7 +4661,7 @@ export interface components {
|
|
|
4580
4661
|
Sandbox: {
|
|
4581
4662
|
/**
|
|
4582
4663
|
* Format: uuid
|
|
4583
|
-
* @description The agent the machine was built for. With environment_id and vault_id it is the identity a conversation must match to attach (sandbox_id on create).
|
|
4664
|
+
* @description The agent the machine was built for. With environment_id and vault_id it is the identity a conversation must match to attach (sandbox_id on create); an agent of another runtime may attach to a persistent machine as a guest, which leaves this field unchanged.
|
|
4584
4665
|
*/
|
|
4585
4666
|
agent_id?: string | null;
|
|
4586
4667
|
/** @description The checkpoint Fountain took of this home the last time it parked (ADR 0023). It is scoped to this machine: it can roll the machine back, not rebuild a machine that is gone. Null for an ephemeral sandbox, a provider without checkpoints, or a home that has not parked yet. */
|
|
@@ -4666,7 +4747,7 @@ export interface components {
|
|
|
4666
4747
|
SandboxDetail: {
|
|
4667
4748
|
/**
|
|
4668
4749
|
* Format: uuid
|
|
4669
|
-
* @description The agent the machine was built for. With environment_id and vault_id it is the identity a conversation must match to attach (sandbox_id on create).
|
|
4750
|
+
* @description The agent the machine was built for. With environment_id and vault_id it is the identity a conversation must match to attach (sandbox_id on create); an agent of another runtime may attach to a persistent machine as a guest, which leaves this field unchanged.
|
|
4670
4751
|
*/
|
|
4671
4752
|
agent_id?: string | null;
|
|
4672
4753
|
/** @description The checkpoint Fountain took of this home the last time it parked (ADR 0023). It is scoped to this machine: it can roll the machine back, not rebuild a machine that is gone. Null for an ephemeral sandbox, a provider without checkpoints, or a home that has not parked yet. */
|
|
@@ -4989,6 +5070,35 @@ export interface components {
|
|
|
4989
5070
|
SecretResponse: {
|
|
4990
5071
|
data: components["schemas"]["Secret"];
|
|
4991
5072
|
};
|
|
5073
|
+
/**
|
|
5074
|
+
* SessionConfig
|
|
5075
|
+
* @description ACP session config options to request (ADR 0062): a map of the adapter's option id to a value, a string or a boolean. The ids and values are the adapter's own and are not checked against a list: claude-agent-acp offers `effort` and `fast`, codex-acp `reasoning_effort` and `fast-mode`, and which exist depends on the model. They are applied after the model and before each prompt. An id the adapter does not advertise is skipped, and a `config` stage event reports it (`done`, outcome `skipped`). A value it refuses fails the turn. `model` is refused here; use the model field. `session_config_options` on the conversation lists what the adapter offers.
|
|
5076
|
+
* @example {
|
|
5077
|
+
* "effort": "high",
|
|
5078
|
+
* "fast": true
|
|
5079
|
+
* }
|
|
5080
|
+
*/
|
|
5081
|
+
SessionConfig: {
|
|
5082
|
+
[key: string]: string | boolean;
|
|
5083
|
+
} | null;
|
|
5084
|
+
/**
|
|
5085
|
+
* SessionConfigOption
|
|
5086
|
+
* @description One config option as the adapter advertised it (ACP `SessionConfigOption`), passed through unchanged. `category` is `thought_level` for reasoning effort and `model_config` for fast mode on the pinned adapters. `options` lists a select's values, possibly in groups. `currentValue` is the value in force.
|
|
5087
|
+
*/
|
|
5088
|
+
SessionConfigOption: {
|
|
5089
|
+
category?: string | null;
|
|
5090
|
+
currentValue?: string | boolean;
|
|
5091
|
+
description?: string | null;
|
|
5092
|
+
id: string;
|
|
5093
|
+
name?: string;
|
|
5094
|
+
options?: {
|
|
5095
|
+
[key: string]: unknown;
|
|
5096
|
+
}[];
|
|
5097
|
+
/** @description `select` or `boolean`. */
|
|
5098
|
+
type?: string;
|
|
5099
|
+
} & {
|
|
5100
|
+
[key: string]: unknown;
|
|
5101
|
+
};
|
|
4992
5102
|
/**
|
|
4993
5103
|
* StreamLogEvent
|
|
4994
5104
|
* @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.
|
|
@@ -5274,6 +5384,10 @@ export interface components {
|
|
|
5274
5384
|
Turn: {
|
|
5275
5385
|
/** @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. */
|
|
5276
5386
|
client_request_id?: string | null;
|
|
5387
|
+
/** @description The ACP session config options of this turn (ADR 0062). `requested` is what the turn asked for (agent, then conversation, then prompt). `applied` maps each id the adapter took to the value it confirmed. `skipped` lists ids the adapter did not advertise. On a refusal, `status` is `failed` with `error`. Null on a turn that requested none. */
|
|
5388
|
+
config_selection?: {
|
|
5389
|
+
[key: string]: unknown;
|
|
5390
|
+
} | null;
|
|
5277
5391
|
/** Format: date-time */
|
|
5278
5392
|
ended_at?: string | null;
|
|
5279
5393
|
exit_code?: number | null;
|
|
@@ -11806,7 +11920,7 @@ export interface operations {
|
|
|
11806
11920
|
"application/json": components["schemas"]["Error"];
|
|
11807
11921
|
};
|
|
11808
11922
|
};
|
|
11809
|
-
/** @description A sandbox token labelling the conversation a resume landed on */
|
|
11923
|
+
/** @description A sandbox token labelling the conversation a resume landed on, or a key below full scope attaching another agent's conversation to a sandbox (guest_attach_requires_full_scope) */
|
|
11810
11924
|
403: {
|
|
11811
11925
|
headers: {
|
|
11812
11926
|
[name: string]: unknown;
|
|
@@ -11959,7 +12073,13 @@ export interface operations {
|
|
|
11959
12073
|
streams?: string;
|
|
11960
12074
|
/** @description Return events with an id greater than this. Defaults to 0. */
|
|
11961
12075
|
after?: number;
|
|
11962
|
-
/** @description
|
|
12076
|
+
/** @description Return events with an id less than this: the previous `order=desc` page's `meta.next_cursor`. Applies in either order; omitted means no upper bound. */
|
|
12077
|
+
before?: number;
|
|
12078
|
+
/** @description `asc` (the default) pages forward from `after`, oldest first. `desc` pages backward from `before` (or from the newest event), and `data` is newest first. */
|
|
12079
|
+
order?: "asc" | "desc";
|
|
12080
|
+
/** @description With `order=desc`, never end a page inside a turn: when the `limit`th event belongs to a turn that began earlier, the page extends past `limit` to that turn's first event, keeping any events interleaved with it, so a client renders complete turns and `before=<meta.next_cursor>` returns only earlier ones. At most 5000 events: a turn larger than that is cut there, with `page.turn_split: true`, and continues on the next page. Turn-less events (the setup before turn 1) page by `limit` alone. Refused with 422 without `order=desc`. Defaults to false. */
|
|
12081
|
+
whole_turns?: boolean;
|
|
12082
|
+
/** @description Page size, 1..1000. Defaults to 100. `whole_turns=true` can return more. */
|
|
11963
12083
|
limit?: number;
|
|
11964
12084
|
/** @description Add `blocks` to each event: its `data` parsed server-side into the structured blocks a transcript renders (text, thinking, tool_use, tool_result, init, result, error, raw) — the same parse the web UI uses, so no client re-implements a runtime's dialect. Defaults to false. */
|
|
11965
12085
|
blocks?: boolean;
|
|
@@ -12956,6 +13076,109 @@ export interface operations {
|
|
|
12956
13076
|
};
|
|
12957
13077
|
};
|
|
12958
13078
|
};
|
|
13079
|
+
"FountainWeb.ConversationController.wake": {
|
|
13080
|
+
parameters: {
|
|
13081
|
+
query?: never;
|
|
13082
|
+
header?: never;
|
|
13083
|
+
path: {
|
|
13084
|
+
conversation_id: string;
|
|
13085
|
+
};
|
|
13086
|
+
cookie?: never;
|
|
13087
|
+
};
|
|
13088
|
+
requestBody?: never;
|
|
13089
|
+
responses: {
|
|
13090
|
+
/** @description Awake or waking */
|
|
13091
|
+
200: {
|
|
13092
|
+
headers: {
|
|
13093
|
+
[name: string]: unknown;
|
|
13094
|
+
};
|
|
13095
|
+
content: {
|
|
13096
|
+
"application/json": components["schemas"]["ConversationWakeResponse"];
|
|
13097
|
+
};
|
|
13098
|
+
};
|
|
13099
|
+
/** @description Unauthorized */
|
|
13100
|
+
401: {
|
|
13101
|
+
headers: {
|
|
13102
|
+
[name: string]: unknown;
|
|
13103
|
+
};
|
|
13104
|
+
content: {
|
|
13105
|
+
"application/json": components["schemas"]["Error"];
|
|
13106
|
+
};
|
|
13107
|
+
};
|
|
13108
|
+
/** @description Insufficient credits */
|
|
13109
|
+
402: {
|
|
13110
|
+
headers: {
|
|
13111
|
+
[name: string]: unknown;
|
|
13112
|
+
};
|
|
13113
|
+
content: {
|
|
13114
|
+
"application/json": components["schemas"]["Error"];
|
|
13115
|
+
};
|
|
13116
|
+
};
|
|
13117
|
+
/** @description Forbidden */
|
|
13118
|
+
403: {
|
|
13119
|
+
headers: {
|
|
13120
|
+
[name: string]: unknown;
|
|
13121
|
+
};
|
|
13122
|
+
content: {
|
|
13123
|
+
"application/json": components["schemas"]["Error"];
|
|
13124
|
+
};
|
|
13125
|
+
};
|
|
13126
|
+
/** @description Not found */
|
|
13127
|
+
404: {
|
|
13128
|
+
headers: {
|
|
13129
|
+
[name: string]: unknown;
|
|
13130
|
+
};
|
|
13131
|
+
content: {
|
|
13132
|
+
"application/json": components["schemas"]["Error"];
|
|
13133
|
+
};
|
|
13134
|
+
};
|
|
13135
|
+
/** @description No acceptable representation */
|
|
13136
|
+
406: {
|
|
13137
|
+
headers: {
|
|
13138
|
+
[name: string]: unknown;
|
|
13139
|
+
};
|
|
13140
|
+
content: {
|
|
13141
|
+
"application/json": components["schemas"]["NegotiationError"];
|
|
13142
|
+
};
|
|
13143
|
+
};
|
|
13144
|
+
/** @description Sandbox is being reset or deleted */
|
|
13145
|
+
409: {
|
|
13146
|
+
headers: {
|
|
13147
|
+
[name: string]: unknown;
|
|
13148
|
+
};
|
|
13149
|
+
content: {
|
|
13150
|
+
"application/json": components["schemas"]["Error"];
|
|
13151
|
+
};
|
|
13152
|
+
};
|
|
13153
|
+
/** @description Conversation is terminal */
|
|
13154
|
+
410: {
|
|
13155
|
+
headers: {
|
|
13156
|
+
[name: string]: unknown;
|
|
13157
|
+
};
|
|
13158
|
+
content: {
|
|
13159
|
+
"application/json": components["schemas"]["Error"];
|
|
13160
|
+
};
|
|
13161
|
+
};
|
|
13162
|
+
/** @description Too Many Requests */
|
|
13163
|
+
429: {
|
|
13164
|
+
headers: {
|
|
13165
|
+
[name: string]: unknown;
|
|
13166
|
+
};
|
|
13167
|
+
content: {
|
|
13168
|
+
"application/json": components["schemas"]["Error"];
|
|
13169
|
+
};
|
|
13170
|
+
};
|
|
13171
|
+
/** @description Sandbox or fleet unavailable */
|
|
13172
|
+
503: {
|
|
13173
|
+
headers: {
|
|
13174
|
+
[name: string]: unknown;
|
|
13175
|
+
};
|
|
13176
|
+
content: {
|
|
13177
|
+
"application/json": components["schemas"]["Error"];
|
|
13178
|
+
};
|
|
13179
|
+
};
|
|
13180
|
+
};
|
|
13181
|
+
};
|
|
12959
13182
|
"FountainWeb.ConversationController.show": {
|
|
12960
13183
|
parameters: {
|
|
12961
13184
|
query?: never;
|
|
@@ -17492,6 +17715,88 @@ export interface operations {
|
|
|
17492
17715
|
};
|
|
17493
17716
|
};
|
|
17494
17717
|
};
|
|
17718
|
+
"FountainWeb.VaultController.copy": {
|
|
17719
|
+
parameters: {
|
|
17720
|
+
query?: never;
|
|
17721
|
+
header?: never;
|
|
17722
|
+
path: {
|
|
17723
|
+
/** @description Source vault. */
|
|
17724
|
+
id: string;
|
|
17725
|
+
};
|
|
17726
|
+
cookie?: never;
|
|
17727
|
+
};
|
|
17728
|
+
/** @description New vault attributes */
|
|
17729
|
+
requestBody?: {
|
|
17730
|
+
content: {
|
|
17731
|
+
"application/json": components["schemas"]["VaultRequest"];
|
|
17732
|
+
};
|
|
17733
|
+
};
|
|
17734
|
+
responses: {
|
|
17735
|
+
/** @description Vault */
|
|
17736
|
+
201: {
|
|
17737
|
+
headers: {
|
|
17738
|
+
[name: string]: unknown;
|
|
17739
|
+
};
|
|
17740
|
+
content: {
|
|
17741
|
+
"application/json": components["schemas"]["VaultResponse"];
|
|
17742
|
+
};
|
|
17743
|
+
};
|
|
17744
|
+
/** @description Unauthorized */
|
|
17745
|
+
401: {
|
|
17746
|
+
headers: {
|
|
17747
|
+
[name: string]: unknown;
|
|
17748
|
+
};
|
|
17749
|
+
content: {
|
|
17750
|
+
"application/json": components["schemas"]["Error"];
|
|
17751
|
+
};
|
|
17752
|
+
};
|
|
17753
|
+
/** @description Forbidden */
|
|
17754
|
+
403: {
|
|
17755
|
+
headers: {
|
|
17756
|
+
[name: string]: unknown;
|
|
17757
|
+
};
|
|
17758
|
+
content: {
|
|
17759
|
+
"application/json": components["schemas"]["Error"];
|
|
17760
|
+
};
|
|
17761
|
+
};
|
|
17762
|
+
/** @description Not found */
|
|
17763
|
+
404: {
|
|
17764
|
+
headers: {
|
|
17765
|
+
[name: string]: unknown;
|
|
17766
|
+
};
|
|
17767
|
+
content: {
|
|
17768
|
+
"application/json": components["schemas"]["Error"];
|
|
17769
|
+
};
|
|
17770
|
+
};
|
|
17771
|
+
/** @description No acceptable representation */
|
|
17772
|
+
406: {
|
|
17773
|
+
headers: {
|
|
17774
|
+
[name: string]: unknown;
|
|
17775
|
+
};
|
|
17776
|
+
content: {
|
|
17777
|
+
"application/json": components["schemas"]["NegotiationError"];
|
|
17778
|
+
};
|
|
17779
|
+
};
|
|
17780
|
+
/** @description Validation error */
|
|
17781
|
+
422: {
|
|
17782
|
+
headers: {
|
|
17783
|
+
[name: string]: unknown;
|
|
17784
|
+
};
|
|
17785
|
+
content: {
|
|
17786
|
+
"application/json": components["schemas"]["Error"];
|
|
17787
|
+
};
|
|
17788
|
+
};
|
|
17789
|
+
/** @description Too Many Requests */
|
|
17790
|
+
429: {
|
|
17791
|
+
headers: {
|
|
17792
|
+
[name: string]: unknown;
|
|
17793
|
+
};
|
|
17794
|
+
content: {
|
|
17795
|
+
"application/json": components["schemas"]["Error"];
|
|
17796
|
+
};
|
|
17797
|
+
};
|
|
17798
|
+
};
|
|
17799
|
+
};
|
|
17495
17800
|
"FountainWeb.VaultSecretController.index": {
|
|
17496
17801
|
parameters: {
|
|
17497
17802
|
query?: never;
|
package/dist/http.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export interface RequestOptions {
|
|
|
15
15
|
* this string is already what Fountain's request logs are keyed on. The
|
|
16
16
|
* version half is asserted against `package.json` by a test.
|
|
17
17
|
*/
|
|
18
|
-
export declare const USER_AGENT = "fountain-sdk-js/6.
|
|
18
|
+
export declare const USER_AGENT = "fountain-sdk-js/6.4.0";
|
|
19
19
|
export declare class HttpClient {
|
|
20
20
|
readonly config: ResolvedConfig;
|
|
21
21
|
private readonly fetchImpl;
|
package/dist/http.js
CHANGED
|
@@ -5,7 +5,7 @@ import { AuthError, ConnectionError, FountainError, errorForStatus } from "./err
|
|
|
5
5
|
* this string is already what Fountain's request logs are keyed on. The
|
|
6
6
|
* version half is asserted against `package.json` by a test.
|
|
7
7
|
*/
|
|
8
|
-
export const USER_AGENT = "fountain-sdk-js/6.
|
|
8
|
+
export const USER_AGENT = "fountain-sdk-js/6.4.0";
|
|
9
9
|
/**
|
|
10
10
|
* The thin layer everything else is built on: one bearer token, JSON in and
|
|
11
11
|
* out, and errors that say which call failed. `Fountain#api` exposes it
|
package/package.json
CHANGED