@managoat/fountain-sdk 6.4.0 → 6.5.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 +9 -0
- package/dist/generated/openapi.d.ts +28 -8
- 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,15 @@ server releases.
|
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
## [6.5.0] - 2026-10-02
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- The generated types carry `snapshot_at` on `SandboxListing`, `SandboxFile`,
|
|
19
|
+
`SandboxDiff` and `SandboxStatus` (#2552, ADR 0063). It is set when the
|
|
20
|
+
sandbox is parked and the read was answered from the snapshot its park
|
|
21
|
+
took, and absent on a live read.
|
|
22
|
+
|
|
14
23
|
## [6.4.0] - 2026-10-02
|
|
15
24
|
|
|
16
25
|
### Added
|
|
@@ -1987,7 +1987,7 @@ export interface paths {
|
|
|
1987
1987
|
};
|
|
1988
1988
|
/**
|
|
1989
1989
|
* git diff on a sandbox
|
|
1990
|
-
* @description `git diff` of the repository containing `path` (default: the agent's working directory), redacted like a file read. `staged=true` compares the index (`--cached`); `ref` compares against a commit, branch or tag (`422 invalid_ref` for a malformed one, `404 ref_not_found` for an unknown one). A directory outside any repository is `422 not_a_repository`. Full scope.
|
|
1990
|
+
* @description `git diff` of the repository containing `path` (default: the agent's working directory), redacted like a file read. `staged=true` compares the index (`--cached`); `ref` compares against a commit, branch or tag (`422 invalid_ref` for a malformed one, `404 ref_not_found` for an unknown one). A directory outside any repository is `422 not_a_repository`. Full scope. A parked (`suspended`) sandbox is not woken: it answers from the snapshot its park took, with `snapshot_at` saying when, wherever that snapshot holds the answer — the git repositories under the working directory, their files up to 256 KiB, their listings, and the default diff and status (ADR 0063). Anything else on a parked sandbox, or a parked sandbox with no snapshot, is `409 sandbox_not_ready`.
|
|
1991
1991
|
*/
|
|
1992
1992
|
get: operations["FountainWeb.SandboxFilesController.diff"];
|
|
1993
1993
|
put?: never;
|
|
@@ -2007,7 +2007,7 @@ export interface paths {
|
|
|
2007
2007
|
};
|
|
2008
2008
|
/**
|
|
2009
2009
|
* Read a file on a sandbox
|
|
2010
|
-
* @description The bytes of one file, redacted: every value of the sandbox's environment and vault is replaced with `[REDACTED]`, as in the transcript. `content` is the text when it is valid UTF-8 (`encoding: utf-8`) and base64 otherwise (`encoding: base64`). `size` is the whole file; `truncated` says whether `content` is short of it, which happens when the file is longer than `max_bytes` and also when redaction grows what was read past that cap. Full scope.
|
|
2010
|
+
* @description The bytes of one file, redacted: every value of the sandbox's environment and vault is replaced with `[REDACTED]`, as in the transcript. `content` is the text when it is valid UTF-8 (`encoding: utf-8`) and base64 otherwise (`encoding: base64`). `size` is the whole file; `truncated` says whether `content` is short of it, which happens when the file is longer than `max_bytes` and also when redaction grows what was read past that cap. Full scope. A parked (`suspended`) sandbox is not woken: it answers from the snapshot its park took, with `snapshot_at` saying when, wherever that snapshot holds the answer — the git repositories under the working directory, their files up to 256 KiB, their listings, and the default diff and status (ADR 0063). Anything else on a parked sandbox, or a parked sandbox with no snapshot, is `409 sandbox_not_ready`.
|
|
2011
2011
|
*/
|
|
2012
2012
|
get: operations["FountainWeb.SandboxFilesController.show"];
|
|
2013
2013
|
put?: never;
|
|
@@ -2027,7 +2027,7 @@ export interface paths {
|
|
|
2027
2027
|
};
|
|
2028
2028
|
/**
|
|
2029
2029
|
* List a directory on a sandbox
|
|
2030
|
-
* @description The entries of one directory, directories first then by name. Without `path`, the agent's working directory.
|
|
2030
|
+
* @description The entries of one directory, directories first then by name. Without `path`, the agent's working directory. A sandbox being parked or destroyed is `503 sandbox_unavailable`; retry after the `Retry-After`. Full scope. A parked (`suspended`) sandbox is not woken: it answers from the snapshot its park took, with `snapshot_at` saying when, wherever that snapshot holds the answer — the git repositories under the working directory, their files up to 256 KiB, their listings, and the default diff and status (ADR 0063). Anything else on a parked sandbox, or a parked sandbox with no snapshot, is `409 sandbox_not_ready`.
|
|
2031
2031
|
*/
|
|
2032
2032
|
get: operations["FountainWeb.SandboxFilesController.index"];
|
|
2033
2033
|
put?: never;
|
|
@@ -2047,7 +2047,7 @@ export interface paths {
|
|
|
2047
2047
|
};
|
|
2048
2048
|
/**
|
|
2049
2049
|
* git status on a sandbox
|
|
2050
|
-
* @description `git status` of the repository containing `path` (default: the agent's working directory), one entry per changed path. This is the view that shows a file the agent created and never staged: `/diff` compares tracked content, so an untracked file is invisible to it whatever flags it is given. Entries cover the whole repository whatever `path` names inside it, and each entry's `path` is relative to `repo_root`. `index` and `worktree` are git's two porcelain columns read separately, so a file staged and then edited again reports a state in both; an untracked file reads `untracked` in both. `renamed_from` is set only where that side is a rename or a copy. `branch` is null on a detached HEAD. A directory outside any repository is `422 not_a_repository`. Full scope.
|
|
2050
|
+
* @description `git status` of the repository containing `path` (default: the agent's working directory), one entry per changed path. This is the view that shows a file the agent created and never staged: `/diff` compares tracked content, so an untracked file is invisible to it whatever flags it is given. Entries cover the whole repository whatever `path` names inside it, and each entry's `path` is relative to `repo_root`. `index` and `worktree` are git's two porcelain columns read separately, so a file staged and then edited again reports a state in both; an untracked file reads `untracked` in both. `renamed_from` is set only where that side is a rename or a copy. `branch` is null on a detached HEAD. A directory outside any repository is `422 not_a_repository`. Full scope. A parked (`suspended`) sandbox is not woken: it answers from the snapshot its park took, with `snapshot_at` saying when, wherever that snapshot holds the answer — the git repositories under the working directory, their files up to 256 KiB, their listings, and the default diff and status (ADR 0063). Anything else on a parked sandbox, or a parked sandbox with no snapshot, is `409 sandbox_not_ready`.
|
|
2051
2051
|
*/
|
|
2052
2052
|
get: operations["FountainWeb.SandboxFilesController.git_status"];
|
|
2053
2053
|
put?: never;
|
|
@@ -4808,6 +4808,11 @@ export interface components {
|
|
|
4808
4808
|
ref?: string | null;
|
|
4809
4809
|
/** @description The repository's top-level directory. */
|
|
4810
4810
|
repo_root: string;
|
|
4811
|
+
/**
|
|
4812
|
+
* Format: date-time
|
|
4813
|
+
* @description Present when the sandbox is parked and this answer comes from the snapshot its park took (ADR 0063): the disk as of this instant, not now. Absent on a live read.
|
|
4814
|
+
*/
|
|
4815
|
+
snapshot_at?: string | null;
|
|
4811
4816
|
/** @description True when the index was diffed (`--cached`). */
|
|
4812
4817
|
staged: boolean;
|
|
4813
4818
|
/** @description True when `diff` is not the whole diff: either it is longer than `max_bytes`, or redaction grew what was read past it. False means `diff` is everything. */
|
|
@@ -4843,6 +4848,11 @@ export interface components {
|
|
|
4843
4848
|
path: string;
|
|
4844
4849
|
/** @description The whole file, in bytes. */
|
|
4845
4850
|
size: number;
|
|
4851
|
+
/**
|
|
4852
|
+
* Format: date-time
|
|
4853
|
+
* @description Present when the sandbox is parked and this answer comes from the snapshot its park took (ADR 0063): the disk as of this instant, not now. Absent on a live read.
|
|
4854
|
+
*/
|
|
4855
|
+
snapshot_at?: string | null;
|
|
4846
4856
|
/** @description True when `content` is not the whole file: either the file is longer than `max_bytes`, or redaction grew what was read past it. False means `content` is everything. */
|
|
4847
4857
|
truncated: boolean;
|
|
4848
4858
|
};
|
|
@@ -4862,6 +4872,11 @@ export interface components {
|
|
|
4862
4872
|
entries: components["schemas"]["SandboxEntry"][];
|
|
4863
4873
|
/** @description The directory listed, absolute. */
|
|
4864
4874
|
path: string;
|
|
4875
|
+
/**
|
|
4876
|
+
* Format: date-time
|
|
4877
|
+
* @description Present when the sandbox is parked and this answer comes from the snapshot its park took (ADR 0063): the disk as of this instant, not now. Absent on a live read.
|
|
4878
|
+
*/
|
|
4879
|
+
snapshot_at?: string | null;
|
|
4865
4880
|
/** @description True when the directory holds more entries than were returned. */
|
|
4866
4881
|
truncated: boolean;
|
|
4867
4882
|
};
|
|
@@ -4918,6 +4933,11 @@ export interface components {
|
|
|
4918
4933
|
path: string;
|
|
4919
4934
|
/** @description The repository's top-level directory. */
|
|
4920
4935
|
repo_root: string;
|
|
4936
|
+
/**
|
|
4937
|
+
* Format: date-time
|
|
4938
|
+
* @description Present when the sandbox is parked and this answer comes from the snapshot its park took (ADR 0063): the disk as of this instant, not now. Absent on a live read.
|
|
4939
|
+
*/
|
|
4940
|
+
snapshot_at?: string | null;
|
|
4921
4941
|
/** @description True when the repository holds more changes than were returned. */
|
|
4922
4942
|
truncated: boolean;
|
|
4923
4943
|
/**
|
|
@@ -15142,7 +15162,7 @@ export interface operations {
|
|
|
15142
15162
|
"application/json": components["schemas"]["NegotiationError"];
|
|
15143
15163
|
};
|
|
15144
15164
|
};
|
|
15145
|
-
/** @description Sandbox is not ready */
|
|
15165
|
+
/** @description Sandbox is not ready, and a parked one's snapshot cannot answer this read */
|
|
15146
15166
|
409: {
|
|
15147
15167
|
headers: {
|
|
15148
15168
|
[name: string]: unknown;
|
|
@@ -15241,7 +15261,7 @@ export interface operations {
|
|
|
15241
15261
|
"application/json": components["schemas"]["NegotiationError"];
|
|
15242
15262
|
};
|
|
15243
15263
|
};
|
|
15244
|
-
/** @description Sandbox is not ready */
|
|
15264
|
+
/** @description Sandbox is not ready, and a parked one's snapshot cannot answer this read */
|
|
15245
15265
|
409: {
|
|
15246
15266
|
headers: {
|
|
15247
15267
|
[name: string]: unknown;
|
|
@@ -15338,7 +15358,7 @@ export interface operations {
|
|
|
15338
15358
|
"application/json": components["schemas"]["NegotiationError"];
|
|
15339
15359
|
};
|
|
15340
15360
|
};
|
|
15341
|
-
/** @description Sandbox is not ready */
|
|
15361
|
+
/** @description Sandbox is not ready, and a parked one's snapshot cannot answer this read */
|
|
15342
15362
|
409: {
|
|
15343
15363
|
headers: {
|
|
15344
15364
|
[name: string]: unknown;
|
|
@@ -15437,7 +15457,7 @@ export interface operations {
|
|
|
15437
15457
|
"application/json": components["schemas"]["NegotiationError"];
|
|
15438
15458
|
};
|
|
15439
15459
|
};
|
|
15440
|
-
/** @description Sandbox is not ready */
|
|
15460
|
+
/** @description Sandbox is not ready, and a parked one's snapshot cannot answer this read */
|
|
15441
15461
|
409: {
|
|
15442
15462
|
headers: {
|
|
15443
15463
|
[name: string]: unknown;
|
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.5.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.5.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