@anthropic-ai/sdk 0.125.0 → 0.126.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 +50 -0
- package/client.d.mts +2 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +2 -2
- package/client.d.ts.map +1 -1
- package/client.js +846 -840
- package/client.js.map +1 -1
- package/client.mjs +846 -834
- package/client.mjs.map +1 -1
- package/core/api-promise.js +71 -68
- package/core/api-promise.js.map +1 -1
- package/core/api-promise.mjs +71 -64
- package/core/api-promise.mjs.map +1 -1
- package/core/error.js +5 -2
- package/core/error.js.map +1 -1
- package/core/error.mjs +5 -2
- package/core/error.mjs.map +1 -1
- package/core/pagination.js +56 -50
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +56 -41
- package/core/pagination.mjs.map +1 -1
- package/core/streaming.js +212 -209
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +212 -209
- package/core/streaming.mjs.map +1 -1
- package/helpers/beta/mcp.js +14 -19
- package/helpers/beta/mcp.js.map +1 -1
- package/helpers/beta/mcp.mjs +14 -13
- package/helpers/beta/mcp.mjs.map +1 -1
- package/internal/constants.js +1 -1
- package/internal/constants.js.map +1 -1
- package/internal/decoders/jsonl.js +27 -24
- package/internal/decoders/jsonl.js.map +1 -1
- package/internal/decoders/jsonl.mjs +27 -24
- package/internal/decoders/jsonl.mjs.map +1 -1
- package/internal/decoders/line.js +52 -49
- package/internal/decoders/line.js.map +1 -1
- package/internal/decoders/line.mjs +52 -43
- package/internal/decoders/line.mjs.map +1 -1
- package/internal/file-store.js +256 -258
- package/internal/file-store.js.map +1 -1
- package/internal/file-store.mjs +256 -243
- package/internal/file-store.mjs.map +1 -1
- package/internal/node.browser.d.mts.map +1 -1
- package/internal/node.browser.d.ts.map +1 -1
- package/internal/node.browser.js.map +1 -1
- package/internal/node.browser.mjs +7 -7
- package/internal/node.browser.mjs.map +1 -1
- package/internal/shim-types.js +0 -6
- package/internal/shim-types.js.map +1 -1
- package/internal/shim-types.mjs +0 -6
- package/internal/shim-types.mjs.map +1 -1
- package/internal/shims.js +0 -6
- package/internal/shims.js.map +1 -1
- package/internal/shims.mjs +0 -6
- package/internal/shims.mjs.map +1 -1
- package/internal/stainless-helper-header.js +6 -6
- package/internal/stainless-helper-header.js.map +1 -1
- package/internal/utils/async-queue.js +66 -63
- package/internal/utils/async-queue.js.map +1 -1
- package/internal/utils/async-queue.mjs +66 -56
- package/internal/utils/async-queue.mjs.map +1 -1
- package/internal/utils/bytes.d.mts +1 -1
- package/internal/utils/bytes.d.mts.map +1 -1
- package/internal/utils/bytes.d.ts +1 -1
- package/internal/utils/bytes.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +593 -590
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +593 -590
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/MessageStream.js +544 -541
- package/lib/MessageStream.js.map +1 -1
- package/lib/MessageStream.mjs +544 -541
- package/lib/MessageStream.mjs.map +1 -1
- package/lib/environments/poller.js +180 -174
- package/lib/environments/poller.js.map +1 -1
- package/lib/environments/poller.mjs +180 -153
- package/lib/environments/poller.mjs.map +1 -1
- package/lib/environments/worker.js +375 -369
- package/lib/environments/worker.js.map +1 -1
- package/lib/environments/worker.mjs +374 -329
- package/lib/environments/worker.mjs.map +1 -1
- package/lib/tools/BetaToolRunner.js +316 -313
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +315 -306
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/lib/tools/SessionToolRunner.js +241 -235
- package/lib/tools/SessionToolRunner.js.map +1 -1
- package/lib/tools/SessionToolRunner.mjs +241 -192
- package/lib/tools/SessionToolRunner.mjs.map +1 -1
- package/lib/tools/ToolError.js +39 -36
- package/lib/tools/ToolError.js.map +1 -1
- package/lib/tools/ToolError.mjs +39 -13
- package/lib/tools/ToolError.mjs.map +1 -1
- package/package.json +3 -3
- package/resources/beta/agents/agents.js +135 -132
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs +135 -132
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +5 -5
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +5 -5
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +39 -36
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +39 -36
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/dreams.d.mts +2 -28
- package/resources/beta/dreams.d.mts.map +1 -1
- package/resources/beta/dreams.d.ts +2 -28
- package/resources/beta/dreams.d.ts.map +1 -1
- package/resources/beta/environments/environments.js +157 -154
- package/resources/beta/environments/environments.js.map +1 -1
- package/resources/beta/environments/environments.mjs +157 -154
- package/resources/beta/environments/environments.mjs.map +1 -1
- package/resources/beta/environments/work.js +255 -252
- package/resources/beta/environments/work.js.map +1 -1
- package/resources/beta/environments/work.mjs +255 -252
- package/resources/beta/environments/work.mjs.map +1 -1
- package/resources/beta/index.d.mts +2 -2
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +2 -2
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/memory-stores/memory-stores.js +150 -147
- package/resources/beta/memory-stores/memory-stores.js.map +1 -1
- package/resources/beta/memory-stores/memory-stores.mjs +150 -147
- package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
- package/resources/beta/messages/batches.d.mts +12 -1
- package/resources/beta/messages/batches.d.mts.map +1 -1
- package/resources/beta/messages/batches.d.ts +12 -1
- package/resources/beta/messages/batches.d.ts.map +1 -1
- package/resources/beta/messages/index.d.mts +1 -1
- package/resources/beta/messages/index.d.mts.map +1 -1
- package/resources/beta/messages/index.d.ts +1 -1
- package/resources/beta/messages/index.d.ts.map +1 -1
- package/resources/beta/messages/index.js.map +1 -1
- package/resources/beta/messages/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +238 -100
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +238 -100
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.js +113 -110
- package/resources/beta/messages/messages.js.map +1 -1
- package/resources/beta/messages/messages.mjs +113 -110
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/models.d.mts +22 -1
- package/resources/beta/models.d.mts.map +1 -1
- package/resources/beta/models.d.ts +22 -1
- package/resources/beta/models.d.ts.map +1 -1
- package/resources/beta/organization/federation/federation.js +11 -8
- package/resources/beta/organization/federation/federation.js.map +1 -1
- package/resources/beta/organization/federation/federation.mjs +11 -8
- package/resources/beta/organization/federation/federation.mjs.map +1 -1
- package/resources/beta/organization/federation/rules/rules.js +187 -184
- package/resources/beta/organization/federation/rules/rules.js.map +1 -1
- package/resources/beta/organization/federation/rules/rules.mjs +187 -184
- package/resources/beta/organization/federation/rules/rules.mjs.map +1 -1
- package/resources/beta/organization/organization.js +38 -35
- package/resources/beta/organization/organization.js.map +1 -1
- package/resources/beta/organization/organization.mjs +38 -35
- package/resources/beta/organization/organization.mjs.map +1 -1
- package/resources/beta/organization/service-accounts/service-accounts.js +163 -160
- package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -1
- package/resources/beta/organization/service-accounts/service-accounts.mjs +163 -160
- package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -1
- package/resources/beta/organization/workspaces/workspaces.d.mts +3 -3
- package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -1
- package/resources/beta/organization/workspaces/workspaces.d.ts +3 -3
- package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -1
- package/resources/beta/organization/workspaces/workspaces.js +97 -94
- package/resources/beta/organization/workspaces/workspaces.js.map +1 -1
- package/resources/beta/organization/workspaces/workspaces.mjs +97 -94
- package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -1
- package/resources/beta/sessions/events.d.mts +12 -21
- package/resources/beta/sessions/events.d.mts.map +1 -1
- package/resources/beta/sessions/events.d.ts +12 -21
- package/resources/beta/sessions/events.d.ts.map +1 -1
- package/resources/beta/sessions/events.js +118 -115
- package/resources/beta/sessions/events.js.map +1 -1
- package/resources/beta/sessions/events.mjs +118 -115
- package/resources/beta/sessions/events.mjs.map +1 -1
- package/resources/beta/sessions/resources.d.mts +0 -3
- package/resources/beta/sessions/resources.d.mts.map +1 -1
- package/resources/beta/sessions/resources.d.ts +0 -3
- package/resources/beta/sessions/resources.d.ts.map +1 -1
- package/resources/beta/sessions/sessions.d.mts +2 -2
- package/resources/beta/sessions/sessions.d.ts +2 -2
- package/resources/beta/sessions/sessions.js +161 -158
- package/resources/beta/sessions/sessions.js.map +1 -1
- package/resources/beta/sessions/sessions.mjs +161 -158
- package/resources/beta/sessions/sessions.mjs.map +1 -1
- package/resources/beta/sessions/threads/threads.js +86 -83
- package/resources/beta/sessions/threads/threads.js.map +1 -1
- package/resources/beta/sessions/threads/threads.mjs +86 -83
- package/resources/beta/sessions/threads/threads.mjs.map +1 -1
- package/resources/beta/skills/skills.js +104 -101
- package/resources/beta/skills/skills.js.map +1 -1
- package/resources/beta/skills/skills.mjs +104 -101
- package/resources/beta/skills/skills.mjs.map +1 -1
- package/resources/beta/tunnels/tunnels.js +188 -185
- package/resources/beta/tunnels/tunnels.js.map +1 -1
- package/resources/beta/tunnels/tunnels.mjs +188 -185
- package/resources/beta/tunnels/tunnels.mjs.map +1 -1
- package/resources/beta/user-profiles.d.mts +45 -0
- package/resources/beta/user-profiles.d.mts.map +1 -1
- package/resources/beta/user-profiles.d.ts +45 -0
- package/resources/beta/user-profiles.d.ts.map +1 -1
- package/resources/beta/user-profiles.js +25 -10
- package/resources/beta/user-profiles.js.map +1 -1
- package/resources/beta/user-profiles.mjs +25 -10
- package/resources/beta/user-profiles.mjs.map +1 -1
- package/resources/beta/vaults/credentials.d.mts +0 -14
- package/resources/beta/vaults/credentials.d.mts.map +1 -1
- package/resources/beta/vaults/credentials.d.ts +0 -14
- package/resources/beta/vaults/credentials.d.ts.map +1 -1
- package/resources/beta/vaults/vaults.js +156 -153
- package/resources/beta/vaults/vaults.js.map +1 -1
- package/resources/beta/vaults/vaults.mjs +156 -153
- package/resources/beta/vaults/vaults.mjs.map +1 -1
- package/resources/completions.d.mts +1 -1
- package/resources/completions.d.ts +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/messages/index.d.mts +1 -1
- package/resources/messages/index.d.mts.map +1 -1
- package/resources/messages/index.d.ts +1 -1
- package/resources/messages/index.d.ts.map +1 -1
- package/resources/messages/index.js.map +1 -1
- package/resources/messages/index.mjs.map +1 -1
- package/resources/messages/messages.d.mts +100 -63
- package/resources/messages/messages.d.mts.map +1 -1
- package/resources/messages/messages.d.ts +100 -63
- package/resources/messages/messages.d.ts.map +1 -1
- package/resources/messages/messages.js +115 -112
- package/resources/messages/messages.js.map +1 -1
- package/resources/messages/messages.mjs +115 -112
- package/resources/messages/messages.mjs.map +1 -1
- package/resources/skills/skills.js +88 -85
- package/resources/skills/skills.js.map +1 -1
- package/resources/skills/skills.mjs +88 -85
- package/resources/skills/skills.mjs.map +1 -1
- package/resources/top-level.js +0 -1
- package/resources/top-level.js.map +1 -1
- package/resources/top-level.mjs +0 -1
- package/resources/top-level.mjs.map +1 -1
- package/src/client.ts +13 -1
- package/src/internal/node.browser.ts +7 -7
- package/src/internal/utils/bytes.ts +1 -1
- package/src/resources/beta/beta.ts +24 -1
- package/src/resources/beta/dreams.ts +2 -28
- package/src/resources/beta/index.ts +11 -0
- package/src/resources/beta/messages/batches.ts +13 -1
- package/src/resources/beta/messages/index.ts +10 -0
- package/src/resources/beta/messages/messages.ts +288 -99
- package/src/resources/beta/models.ts +25 -0
- package/src/resources/beta/organization/workspaces/workspaces.ts +3 -3
- package/src/resources/beta/sessions/events.ts +12 -21
- package/src/resources/beta/sessions/resources.ts +0 -3
- package/src/resources/beta/sessions/sessions.ts +2 -2
- package/src/resources/beta/user-profiles.ts +75 -10
- package/src/resources/beta/vaults/credentials.ts +0 -14
- package/src/resources/completions.ts +1 -1
- package/src/resources/index.ts +6 -0
- package/src/resources/messages/index.ts +6 -0
- package/src/resources/messages/messages.ts +128 -62
- package/src/tsconfig.json +13 -3
- package/src/version.ts +1 -1
- package/tools/agent-toolset/fs-util.js +0 -6
- package/tools/agent-toolset/fs-util.js.map +1 -1
- package/tools/agent-toolset/fs-util.mjs +0 -6
- package/tools/agent-toolset/fs-util.mjs.map +1 -1
- package/tools/agent-toolset/memories.js +4 -4
- package/tools/agent-toolset/memories.js.map +1 -1
- package/tools/agent-toolset/memories.mjs +2 -2
- package/tools/agent-toolset/memories.mjs.map +1 -1
- package/tools/agent-toolset/node.browser.js +12 -12
- package/tools/agent-toolset/node.browser.js.map +1 -1
- package/tools/agent-toolset/node.js +142 -139
- package/tools/agent-toolset/node.js.map +1 -1
- package/tools/agent-toolset/node.mjs +132 -125
- package/tools/agent-toolset/node.mjs.map +1 -1
- package/tools/agent-toolset/skills.js +5 -5
- package/tools/agent-toolset/skills.js.map +1 -1
- package/tools/agent-toolset/sync-interval.js +3 -3
- package/tools/agent-toolset/sync-interval.js.map +1 -1
- package/tools/memory/node.browser.js +2 -2
- package/tools/memory/node.browser.js.map +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/internal/file-store.js
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* `FileStore` — one confined folder; a relative path cannot escape it.
|
|
4
|
-
*
|
|
5
|
-
* Beta scope: symlinks are refused or skipped wherever the store meets them,
|
|
6
|
-
* but there is no hardening against a process racing the store's own
|
|
7
|
-
* syscalls; fsync durability, non-POSIX hosts, and read-size caps are out of
|
|
8
|
-
* scope.
|
|
9
|
-
*/
|
|
10
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
3
|
exports.LocalFileStore = exports._internals = exports.FileStore = exports.FileStoreError = void 0;
|
|
12
4
|
exports.openFileStore = openFileStore;
|
|
@@ -22,22 +14,25 @@ const OWNER_ONLY_EXEC_MODE = 0o700;
|
|
|
22
14
|
// 0 where the platform lacks them; `open` refuses such platforms.
|
|
23
15
|
const O_NOFOLLOW = C.O_NOFOLLOW ?? 0;
|
|
24
16
|
const O_NONBLOCK = C.O_NONBLOCK ?? 0;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
17
|
+
var FileStoreError = /* @__PURE__ */ (() => {
|
|
18
|
+
/** A refused operation — input the store will not act on. OS errors propagate with their `.code`. */
|
|
19
|
+
class FileStoreError extends Error {
|
|
20
|
+
constructor(reason, relPath) {
|
|
21
|
+
super(`path ${JSON.stringify(relPath)} ${reason}`);
|
|
22
|
+
this.name = 'FileStoreError';
|
|
23
|
+
this.reason = reason;
|
|
24
|
+
this.relPath = relPath;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
FileStoreError.ESCAPES_ROOT = 'escapes the store root';
|
|
28
|
+
FileStoreError.IS_A_SYMLINK = 'is a symlink';
|
|
29
|
+
FileStoreError.NOT_A_FILE = 'is not a regular file';
|
|
30
|
+
FileStoreError.NOT_A_DIRECTORY = 'is not a directory';
|
|
31
|
+
FileStoreError.NOT_UTF8 = 'is not valid utf-8';
|
|
32
|
+
FileStoreError.MOVE_DESTINATION_EXISTS = 'already exists';
|
|
33
|
+
return FileStoreError;
|
|
34
|
+
})();
|
|
34
35
|
exports.FileStoreError = FileStoreError;
|
|
35
|
-
FileStoreError.ESCAPES_ROOT = 'escapes the store root';
|
|
36
|
-
FileStoreError.IS_A_SYMLINK = 'is a symlink';
|
|
37
|
-
FileStoreError.NOT_A_FILE = 'is not a regular file';
|
|
38
|
-
FileStoreError.NOT_A_DIRECTORY = 'is not a directory';
|
|
39
|
-
FileStoreError.NOT_UTF8 = 'is not valid utf-8';
|
|
40
|
-
FileStoreError.MOVE_DESTINATION_EXISTS = 'already exists';
|
|
41
36
|
/** Resolve `root`; creates nothing — only {@link FileStore.createRoot} makes the folder. */
|
|
42
37
|
async function openFileStore(root, opts) {
|
|
43
38
|
return FileStore.open(root, opts);
|
|
@@ -50,262 +45,265 @@ async function openFileStore(root, opts) {
|
|
|
50
45
|
function isPathLegal(p) {
|
|
51
46
|
return p.startsWith('/') && !p.split('/').includes('..');
|
|
52
47
|
}
|
|
53
|
-
|
|
54
|
-
* One confined folder of regular files.
|
|
55
|
-
*
|
|
56
|
-
* Every `relPath` is relative to the root (a leading `/` also means the root)
|
|
57
|
-
* and refused with {@link FileStoreError} when it escapes. The store holds
|
|
58
|
-
* regular files only: symlinks are refused on read and skipped by listings —
|
|
59
|
-
* {@link findSymlinks} reports them. A `relPath` resolving to the root itself
|
|
60
|
-
* is banned by this interface: `put` and `get` refuse it, `move` and `remove`
|
|
61
|
-
* do nothing. A store opened with `utf8: true` refuses binary content the
|
|
62
|
-
* same way — on `put` of such bytes and on `get` of such a file. Only
|
|
63
|
-
* {@link createRoot} makes the root: writes create directories below it,
|
|
64
|
-
* never the root itself, so a root removed while the store is open stays
|
|
65
|
-
* removed and the write fails with `ENOENT`.
|
|
66
|
-
*/
|
|
67
|
-
class FileStore {
|
|
68
|
-
/** @internal — use {@link FileStore.open} / {@link openFileStore}. */
|
|
69
|
-
constructor(root, removedOnDispose, utf8Only = false) {
|
|
70
|
-
/** `hashtree`'s advisory cache; every hit re-validates against a fresh stat. */
|
|
71
|
-
this.hashes = new Map();
|
|
72
|
-
this.rootPath = root;
|
|
73
|
-
this.removedOnDispose = removedOnDispose;
|
|
74
|
-
this.decoder = utf8Only ? new TextDecoder('utf-8', { fatal: true }) : undefined;
|
|
75
|
-
}
|
|
76
|
-
/** Resolve `root`; creates nothing — only {@link createRoot} makes the folder. */
|
|
77
|
-
static async open(root, opts) {
|
|
78
|
-
// A deployment condition, not refused caller input — hence not FileStoreError.
|
|
79
|
-
if (!platformSupported()) {
|
|
80
|
-
throw new Error('FileStore requires O_NOFOLLOW support on this platform');
|
|
81
|
-
}
|
|
82
|
-
let removedOnDispose = false;
|
|
83
|
-
try {
|
|
84
|
-
// lstat, not a follow-and-swallow existence check: following symlinks or
|
|
85
|
-
// swallowing permission errors would mark a real directory ours to
|
|
86
|
-
// delete on dispose.
|
|
87
|
-
await fsp.lstat(root);
|
|
88
|
-
}
|
|
89
|
-
catch (e) {
|
|
90
|
-
if (e.code !== 'ENOENT')
|
|
91
|
-
throw e;
|
|
92
|
-
removedOnDispose = true;
|
|
93
|
-
}
|
|
94
|
-
return new FileStore(node_1.path.resolve(root), removedOnDispose, opts?.utf8 ?? false);
|
|
95
|
-
}
|
|
96
|
-
/** Create the root directory and any missing ancestors; already existing is fine. */
|
|
97
|
-
async createRoot() {
|
|
98
|
-
await makeDirAndAncestors(this.rootPath);
|
|
99
|
-
}
|
|
100
|
-
/** The resolved root, and what {@link dispose} will do to it. */
|
|
101
|
-
root() {
|
|
102
|
-
return { path: this.rootPath, removedOnDispose: this.removedOnDispose };
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Remove the root iff `open` created it; pre-existing roots are kept.
|
|
106
|
-
*
|
|
107
|
-
* Wired to `Symbol.asyncDispose` at runtime when the host provides it, so
|
|
108
|
-
* `await using` works on engines with explicit resource management.
|
|
109
|
-
*/
|
|
110
|
-
async dispose() {
|
|
111
|
-
if (!this.removedOnDispose)
|
|
112
|
-
return;
|
|
113
|
-
await fsp.rm(this.rootPath, { recursive: true, force: true });
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Write `data` (`string` UTF-8 or bytes) atomically to the file at `relPath`.
|
|
117
|
-
*
|
|
118
|
-
* Missing directories below the root are created; a missing root is not —
|
|
119
|
-
* the write fails with `ENOENT`.
|
|
120
|
-
*/
|
|
121
|
-
async put(relPath, data, opts) {
|
|
122
|
-
// "dir/." names a directory just like a trailing "/".
|
|
123
|
-
const tail = relPath.replace(/\\/g, '/');
|
|
124
|
-
if (tail.endsWith('/') || tail.endsWith('/.') || tail === '' || tail === '.') {
|
|
125
|
-
throw new FileStoreError(FileStoreError.NOT_A_FILE, relPath);
|
|
126
|
-
}
|
|
127
|
-
const dest = this.resolveUnderRoot(relPath);
|
|
128
|
-
const payload = typeof data === 'string' ? (0, bytes_1.encodeUTF8)(data) : data;
|
|
129
|
-
this.requireUtf8(relPath, payload);
|
|
130
|
-
await makeDirsBelowRoot(this.rootPath, node_1.path.dirname(dest));
|
|
131
|
-
await replaceViaTemp(dest, payload, opts?.executable ?? false);
|
|
132
|
-
}
|
|
133
|
-
/** The file's bytes; `null` when absent. */
|
|
134
|
-
async get(relPath) {
|
|
135
|
-
const dest = this.resolveUnderRoot(relPath);
|
|
136
|
-
let handle;
|
|
137
|
-
try {
|
|
138
|
-
handle = await openRegularFile(relPath, dest);
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
if (e.code === 'ENOENT')
|
|
142
|
-
return null;
|
|
143
|
-
throw e;
|
|
144
|
-
}
|
|
145
|
-
let data;
|
|
146
|
-
try {
|
|
147
|
-
const buf = await handle.readFile();
|
|
148
|
-
data = new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
149
|
-
}
|
|
150
|
-
finally {
|
|
151
|
-
await handle.close();
|
|
152
|
-
}
|
|
153
|
-
this.requireUtf8(relPath, data);
|
|
154
|
-
return data;
|
|
155
|
-
}
|
|
156
|
-
/** The relative path of every file under the directory `under`. */
|
|
157
|
-
async ls(under = '/') {
|
|
158
|
-
const base = this.resolveUnderRoot(under);
|
|
159
|
-
return new Set((await filenamesInDir(this.rootPath, under, base)).map(([rel]) => rel));
|
|
160
|
-
}
|
|
48
|
+
var FileStore = /* @__PURE__ */ (() => {
|
|
161
49
|
/**
|
|
162
|
-
*
|
|
163
|
-
* so a caller that must know they exist asks here.
|
|
164
|
-
*/
|
|
165
|
-
async findSymlinks(under = '/') {
|
|
166
|
-
const base = this.resolveUnderRoot(under);
|
|
167
|
-
return symlinksInDir(this.rootPath, under, base);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* `{relPath: sha256Hex}` of every file under the directory `under`.
|
|
50
|
+
* One confined folder of regular files.
|
|
171
51
|
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const sha = await this.hashViaCache(rel, full, walkStartNs);
|
|
183
|
-
if (sha !== null)
|
|
184
|
-
out[rel] = sha;
|
|
185
|
-
}
|
|
186
|
-
return out;
|
|
187
|
-
}
|
|
188
|
-
/** One file's sha256; `null` when absent. Shares {@link hashtree}'s cache. */
|
|
189
|
-
async hashFile(relPath) {
|
|
190
|
-
const dest = this.resolveUnderRoot(relPath);
|
|
191
|
-
let st;
|
|
192
|
-
try {
|
|
193
|
-
st = await fsp.lstat(dest, { bigint: true });
|
|
194
|
-
}
|
|
195
|
-
catch (e) {
|
|
196
|
-
if (e.code === 'ENOENT')
|
|
197
|
-
return null;
|
|
198
|
-
throw e;
|
|
199
|
-
}
|
|
200
|
-
if (st.isSymbolicLink())
|
|
201
|
-
throw new FileStoreError(FileStoreError.IS_A_SYMLINK, relPath);
|
|
202
|
-
if (!st.isFile())
|
|
203
|
-
throw new FileStoreError(FileStoreError.NOT_A_FILE, relPath);
|
|
204
|
-
const rel = node_1.path.relative(this.rootPath, dest).split(node_1.path.sep).join('/');
|
|
205
|
-
return this.hashViaCache(rel, dest, exports._internals.nowNs());
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Rename `src` to `dst`; an existing `dst` is refused. The banned store
|
|
209
|
-
* root as either end does nothing.
|
|
52
|
+
* Every `relPath` is relative to the root (a leading `/` also means the root)
|
|
53
|
+
* and refused with {@link FileStoreError} when it escapes. The store holds
|
|
54
|
+
* regular files only: symlinks are refused on read and skipped by listings —
|
|
55
|
+
* {@link findSymlinks} reports them. A `relPath` resolving to the root itself
|
|
56
|
+
* is banned by this interface: `put` and `get` refuse it, `move` and `remove`
|
|
57
|
+
* do nothing. A store opened with `utf8: true` refuses binary content the
|
|
58
|
+
* same way — on `put` of such bytes and on `get` of such a file. Only
|
|
59
|
+
* {@link createRoot} makes the root: writes create directories below it,
|
|
60
|
+
* never the root itself, so a root removed while the store is open stays
|
|
61
|
+
* removed and the write fails with `ENOENT`.
|
|
210
62
|
*/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if (dest === this.rootPath)
|
|
228
|
-
return;
|
|
229
|
-
let st;
|
|
230
|
-
try {
|
|
231
|
-
// lstat: a dangling symlink must still be unlinked.
|
|
232
|
-
st = await fsp.lstat(dest, { bigint: true });
|
|
233
|
-
}
|
|
234
|
-
catch (e) {
|
|
235
|
-
if (e.code === 'ENOENT')
|
|
236
|
-
return;
|
|
237
|
-
throw e;
|
|
238
|
-
}
|
|
239
|
-
if (st.isDirectory()) {
|
|
240
|
-
await fsp.rm(dest, { recursive: true, force: true });
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
63
|
+
class FileStore {
|
|
64
|
+
/** @internal — use {@link FileStore.open} / {@link openFileStore}. */
|
|
65
|
+
constructor(root, removedOnDispose, utf8Only = false) {
|
|
66
|
+
/** `hashtree`'s advisory cache; every hit re-validates against a fresh stat. */
|
|
67
|
+
this.hashes = new Map();
|
|
68
|
+
this.rootPath = root;
|
|
69
|
+
this.removedOnDispose = removedOnDispose;
|
|
70
|
+
this.decoder = utf8Only ? new TextDecoder('utf-8', { fatal: true }) : undefined;
|
|
71
|
+
}
|
|
72
|
+
/** Resolve `root`; creates nothing — only {@link createRoot} makes the folder. */
|
|
73
|
+
static async open(root, opts) {
|
|
74
|
+
// A deployment condition, not refused caller input — hence not FileStoreError.
|
|
75
|
+
if (!platformSupported()) {
|
|
76
|
+
throw new Error('FileStore requires O_NOFOLLOW support on this platform');
|
|
77
|
+
}
|
|
78
|
+
let removedOnDispose = false;
|
|
243
79
|
try {
|
|
244
|
-
|
|
80
|
+
// lstat, not a follow-and-swallow existence check: following symlinks or
|
|
81
|
+
// swallowing permission errors would mark a real directory ours to
|
|
82
|
+
// delete on dispose.
|
|
83
|
+
await fsp.lstat(root);
|
|
245
84
|
}
|
|
246
85
|
catch (e) {
|
|
247
86
|
if (e.code !== 'ENOENT')
|
|
248
87
|
throw e;
|
|
88
|
+
removedOnDispose = true;
|
|
249
89
|
}
|
|
90
|
+
return new FileStore(node_1.path.resolve(root), removedOnDispose, opts?.utf8 ?? false);
|
|
91
|
+
}
|
|
92
|
+
/** Create the root directory and any missing ancestors; already existing is fine. */
|
|
93
|
+
async createRoot() {
|
|
94
|
+
await makeDirAndAncestors(this.rootPath);
|
|
95
|
+
}
|
|
96
|
+
/** The resolved root, and what {@link dispose} will do to it. */
|
|
97
|
+
root() {
|
|
98
|
+
return { path: this.rootPath, removedOnDispose: this.removedOnDispose };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Remove the root iff `open` created it; pre-existing roots are kept.
|
|
102
|
+
*
|
|
103
|
+
* Wired to `Symbol.asyncDispose` at runtime when the host provides it, so
|
|
104
|
+
* `await using` works on engines with explicit resource management.
|
|
105
|
+
*/
|
|
106
|
+
async dispose() {
|
|
107
|
+
if (!this.removedOnDispose)
|
|
108
|
+
return;
|
|
109
|
+
await fsp.rm(this.rootPath, { recursive: true, force: true });
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Write `data` (`string` UTF-8 or bytes) atomically to the file at `relPath`.
|
|
113
|
+
*
|
|
114
|
+
* Missing directories below the root are created; a missing root is not —
|
|
115
|
+
* the write fails with `ENOENT`.
|
|
116
|
+
*/
|
|
117
|
+
async put(relPath, data, opts) {
|
|
118
|
+
// "dir/." names a directory just like a trailing "/".
|
|
119
|
+
const tail = relPath.replace(/\\/g, '/');
|
|
120
|
+
if (tail.endsWith('/') || tail.endsWith('/.') || tail === '' || tail === '.') {
|
|
121
|
+
throw new FileStoreError(FileStoreError.NOT_A_FILE, relPath);
|
|
122
|
+
}
|
|
123
|
+
const dest = this.resolveUnderRoot(relPath);
|
|
124
|
+
const payload = typeof data === 'string' ? (0, bytes_1.encodeUTF8)(data) : data;
|
|
125
|
+
this.requireUtf8(relPath, payload);
|
|
126
|
+
await makeDirsBelowRoot(this.rootPath, node_1.path.dirname(dest));
|
|
127
|
+
await replaceViaTemp(dest, payload, opts?.executable ?? false);
|
|
128
|
+
}
|
|
129
|
+
/** The file's bytes; `null` when absent. */
|
|
130
|
+
async get(relPath) {
|
|
131
|
+
const dest = this.resolveUnderRoot(relPath);
|
|
132
|
+
let handle;
|
|
133
|
+
try {
|
|
134
|
+
handle = await openRegularFile(relPath, dest);
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
if (e.code === 'ENOENT')
|
|
138
|
+
return null;
|
|
139
|
+
throw e;
|
|
140
|
+
}
|
|
141
|
+
let data;
|
|
142
|
+
try {
|
|
143
|
+
const buf = await handle.readFile();
|
|
144
|
+
data = new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
await handle.close();
|
|
148
|
+
}
|
|
149
|
+
this.requireUtf8(relPath, data);
|
|
150
|
+
return data;
|
|
151
|
+
}
|
|
152
|
+
/** The relative path of every file under the directory `under`. */
|
|
153
|
+
async ls(under = '/') {
|
|
154
|
+
const base = this.resolveUnderRoot(under);
|
|
155
|
+
return new Set((await filenamesInDir(this.rootPath, under, base)).map(([rel]) => rel));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Every symlink under `under` — listings skip them and reads refuse them,
|
|
159
|
+
* so a caller that must know they exist asks here.
|
|
160
|
+
*/
|
|
161
|
+
async findSymlinks(under = '/') {
|
|
162
|
+
const base = this.resolveUnderRoot(under);
|
|
163
|
+
return symlinksInDir(this.rootPath, under, base);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* `{relPath: sha256Hex}` of every file under the directory `under`.
|
|
167
|
+
*
|
|
168
|
+
* Unchanged files — same size, mtime, and ctime since the last call —
|
|
169
|
+
* reuse their recorded hash instead of being re-read.
|
|
170
|
+
*/
|
|
171
|
+
async hashtree(under = '/') {
|
|
172
|
+
const base = this.resolveUnderRoot(under);
|
|
173
|
+
const walkStartNs = exports._internals.nowNs();
|
|
174
|
+
// Null prototype so a file named `__proto__` (or `constructor`) is an
|
|
175
|
+
// ordinary own key instead of a silent prototype write / inherited read.
|
|
176
|
+
const out = Object.create(null);
|
|
177
|
+
for (const [rel, full] of await filenamesInDir(this.rootPath, under, base)) {
|
|
178
|
+
const sha = await this.hashViaCache(rel, full, walkStartNs);
|
|
179
|
+
if (sha !== null)
|
|
180
|
+
out[rel] = sha;
|
|
181
|
+
}
|
|
182
|
+
return out;
|
|
250
183
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
184
|
+
/** One file's sha256; `null` when absent. Shares {@link hashtree}'s cache. */
|
|
185
|
+
async hashFile(relPath) {
|
|
186
|
+
const dest = this.resolveUnderRoot(relPath);
|
|
187
|
+
let st;
|
|
188
|
+
try {
|
|
189
|
+
st = await fsp.lstat(dest, { bigint: true });
|
|
190
|
+
}
|
|
191
|
+
catch (e) {
|
|
192
|
+
if (e.code === 'ENOENT')
|
|
193
|
+
return null;
|
|
194
|
+
throw e;
|
|
195
|
+
}
|
|
196
|
+
if (st.isSymbolicLink())
|
|
197
|
+
throw new FileStoreError(FileStoreError.IS_A_SYMLINK, relPath);
|
|
198
|
+
if (!st.isFile())
|
|
199
|
+
throw new FileStoreError(FileStoreError.NOT_A_FILE, relPath);
|
|
200
|
+
const rel = node_1.path.relative(this.rootPath, dest).split(node_1.path.sep).join('/');
|
|
201
|
+
return this.hashViaCache(rel, dest, exports._internals.nowNs());
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Rename `src` to `dst`; an existing `dst` is refused. The banned store
|
|
205
|
+
* root as either end does nothing.
|
|
206
|
+
*/
|
|
207
|
+
async move(src, dst) {
|
|
208
|
+
const s = this.resolveUnderRoot(src);
|
|
209
|
+
const d = this.resolveUnderRoot(dst);
|
|
210
|
+
if (s === this.rootPath || d === this.rootPath)
|
|
211
|
+
return;
|
|
212
|
+
// stat, not lstat: a dangling symlink at dst reads as absent and is
|
|
213
|
+
// atomically replaced by the rename, like any other rename target.
|
|
214
|
+
const dstExists = await fsp.stat(d).then(() => true, () => false);
|
|
215
|
+
if (dstExists)
|
|
216
|
+
throw new FileStoreError(FileStoreError.MOVE_DESTINATION_EXISTS, dst);
|
|
217
|
+
await makeDirsBelowRoot(this.rootPath, node_1.path.dirname(d));
|
|
218
|
+
await fsp.rename(s, d);
|
|
219
|
+
}
|
|
220
|
+
/** Delete a file or subtree; absent — and the banned store root — do nothing. */
|
|
221
|
+
async remove(relPath) {
|
|
222
|
+
const dest = this.resolveUnderRoot(relPath);
|
|
223
|
+
if (dest === this.rootPath)
|
|
224
|
+
return;
|
|
225
|
+
let st;
|
|
226
|
+
try {
|
|
227
|
+
// lstat: a dangling symlink must still be unlinked.
|
|
228
|
+
st = await fsp.lstat(dest, { bigint: true });
|
|
229
|
+
}
|
|
230
|
+
catch (e) {
|
|
231
|
+
if (e.code === 'ENOENT')
|
|
232
|
+
return;
|
|
233
|
+
throw e;
|
|
234
|
+
}
|
|
235
|
+
if (st.isDirectory()) {
|
|
236
|
+
await fsp.rm(dest, { recursive: true, force: true });
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
try {
|
|
240
|
+
await fsp.unlink(dest);
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
if (e.code !== 'ENOENT')
|
|
244
|
+
throw e;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
274
247
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
248
|
+
resolveUnderRoot(relPath) {
|
|
249
|
+
const norm = relPath.replace(/\\/g, '/').replace(/^\/+/, '');
|
|
250
|
+
const parts = norm.split('/').filter((p) => p !== '' && p !== '.');
|
|
251
|
+
if (node_1.path.posix.isAbsolute(norm) || parts.includes('..')) {
|
|
252
|
+
throw new FileStoreError(FileStoreError.ESCAPES_ROOT, relPath);
|
|
253
|
+
}
|
|
254
|
+
return parts.length === 0 ? this.rootPath : node_1.path.join(this.rootPath, ...parts);
|
|
279
255
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
256
|
+
requireUtf8(relPath, data) {
|
|
257
|
+
if (!this.decoder)
|
|
258
|
+
return;
|
|
259
|
+
try {
|
|
260
|
+
this.decoder.decode(data);
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
throw new FileStoreError(FileStoreError.NOT_UTF8, relPath);
|
|
264
|
+
}
|
|
286
265
|
}
|
|
287
|
-
|
|
266
|
+
async hashViaCache(rel, full, walkStartNs) {
|
|
267
|
+
let st;
|
|
288
268
|
try {
|
|
289
|
-
|
|
269
|
+
st = await fsp.lstat(full, { bigint: true });
|
|
290
270
|
}
|
|
291
271
|
catch (e) {
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return null;
|
|
295
|
-
// FreeBSD reports EMLINK rather than ELOOP for O_NOFOLLOW.
|
|
296
|
-
if (code === 'ELOOP' || code === 'EMLINK')
|
|
297
|
-
return null;
|
|
272
|
+
if (e.code === 'ENOENT')
|
|
273
|
+
return null; // vanished since the walk: not in this snapshot
|
|
298
274
|
throw e;
|
|
299
275
|
}
|
|
276
|
+
if (!st.isFile())
|
|
277
|
+
return null;
|
|
278
|
+
const cached = this.hashes.get(rel);
|
|
279
|
+
let sha;
|
|
280
|
+
if (cached !== undefined && unchangedSinceHashed(cached, st)) {
|
|
281
|
+
sha = cached.sha;
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
try {
|
|
285
|
+
sha = await exports._internals.hashFile(full);
|
|
286
|
+
}
|
|
287
|
+
catch (e) {
|
|
288
|
+
const code = e.code;
|
|
289
|
+
if (code === 'ENOENT' || e instanceof FileStoreError)
|
|
290
|
+
return null;
|
|
291
|
+
// FreeBSD reports EMLINK rather than ELOOP for O_NOFOLLOW.
|
|
292
|
+
if (code === 'ELOOP' || code === 'EMLINK')
|
|
293
|
+
return null;
|
|
294
|
+
throw e;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (oldEnoughToCache(st, walkStartNs)) {
|
|
298
|
+
this.hashes.set(rel, { mtimeNs: st.mtimeNs, ctimeNs: st.ctimeNs, size: st.size, sha });
|
|
299
|
+
}
|
|
300
|
+
return sha;
|
|
300
301
|
}
|
|
301
|
-
if (oldEnoughToCache(st, walkStartNs)) {
|
|
302
|
-
this.hashes.set(rel, { mtimeNs: st.mtimeNs, ctimeNs: st.ctimeNs, size: st.size, sha });
|
|
303
|
-
}
|
|
304
|
-
return sha;
|
|
305
302
|
}
|
|
306
|
-
|
|
303
|
+
FileStore.isPathLegal = isPathLegal;
|
|
304
|
+
return FileStore;
|
|
305
|
+
})();
|
|
307
306
|
exports.FileStore = FileStore;
|
|
308
|
-
FileStore.isPathLegal = isPathLegal;
|
|
309
307
|
function platformSupported() {
|
|
310
308
|
return O_NOFOLLOW !== 0;
|
|
311
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../src/internal/file-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-store.js","sourceRoot":"","sources":["../src/internal/file-store.ts"],"names":[],"mappings":"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"}
|