@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.
Files changed (297) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/client.d.mts +2 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +2 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js +846 -840
  7. package/client.js.map +1 -1
  8. package/client.mjs +846 -834
  9. package/client.mjs.map +1 -1
  10. package/core/api-promise.js +71 -68
  11. package/core/api-promise.js.map +1 -1
  12. package/core/api-promise.mjs +71 -64
  13. package/core/api-promise.mjs.map +1 -1
  14. package/core/error.js +5 -2
  15. package/core/error.js.map +1 -1
  16. package/core/error.mjs +5 -2
  17. package/core/error.mjs.map +1 -1
  18. package/core/pagination.js +56 -50
  19. package/core/pagination.js.map +1 -1
  20. package/core/pagination.mjs +56 -41
  21. package/core/pagination.mjs.map +1 -1
  22. package/core/streaming.js +212 -209
  23. package/core/streaming.js.map +1 -1
  24. package/core/streaming.mjs +212 -209
  25. package/core/streaming.mjs.map +1 -1
  26. package/helpers/beta/mcp.js +14 -19
  27. package/helpers/beta/mcp.js.map +1 -1
  28. package/helpers/beta/mcp.mjs +14 -13
  29. package/helpers/beta/mcp.mjs.map +1 -1
  30. package/internal/constants.js +1 -1
  31. package/internal/constants.js.map +1 -1
  32. package/internal/decoders/jsonl.js +27 -24
  33. package/internal/decoders/jsonl.js.map +1 -1
  34. package/internal/decoders/jsonl.mjs +27 -24
  35. package/internal/decoders/jsonl.mjs.map +1 -1
  36. package/internal/decoders/line.js +52 -49
  37. package/internal/decoders/line.js.map +1 -1
  38. package/internal/decoders/line.mjs +52 -43
  39. package/internal/decoders/line.mjs.map +1 -1
  40. package/internal/file-store.js +256 -258
  41. package/internal/file-store.js.map +1 -1
  42. package/internal/file-store.mjs +256 -243
  43. package/internal/file-store.mjs.map +1 -1
  44. package/internal/node.browser.d.mts.map +1 -1
  45. package/internal/node.browser.d.ts.map +1 -1
  46. package/internal/node.browser.js.map +1 -1
  47. package/internal/node.browser.mjs +7 -7
  48. package/internal/node.browser.mjs.map +1 -1
  49. package/internal/shim-types.js +0 -6
  50. package/internal/shim-types.js.map +1 -1
  51. package/internal/shim-types.mjs +0 -6
  52. package/internal/shim-types.mjs.map +1 -1
  53. package/internal/shims.js +0 -6
  54. package/internal/shims.js.map +1 -1
  55. package/internal/shims.mjs +0 -6
  56. package/internal/shims.mjs.map +1 -1
  57. package/internal/stainless-helper-header.js +6 -6
  58. package/internal/stainless-helper-header.js.map +1 -1
  59. package/internal/utils/async-queue.js +66 -63
  60. package/internal/utils/async-queue.js.map +1 -1
  61. package/internal/utils/async-queue.mjs +66 -56
  62. package/internal/utils/async-queue.mjs.map +1 -1
  63. package/internal/utils/bytes.d.mts +1 -1
  64. package/internal/utils/bytes.d.mts.map +1 -1
  65. package/internal/utils/bytes.d.ts +1 -1
  66. package/internal/utils/bytes.d.ts.map +1 -1
  67. package/lib/BetaMessageStream.js +593 -590
  68. package/lib/BetaMessageStream.js.map +1 -1
  69. package/lib/BetaMessageStream.mjs +593 -590
  70. package/lib/BetaMessageStream.mjs.map +1 -1
  71. package/lib/MessageStream.js +544 -541
  72. package/lib/MessageStream.js.map +1 -1
  73. package/lib/MessageStream.mjs +544 -541
  74. package/lib/MessageStream.mjs.map +1 -1
  75. package/lib/environments/poller.js +180 -174
  76. package/lib/environments/poller.js.map +1 -1
  77. package/lib/environments/poller.mjs +180 -153
  78. package/lib/environments/poller.mjs.map +1 -1
  79. package/lib/environments/worker.js +375 -369
  80. package/lib/environments/worker.js.map +1 -1
  81. package/lib/environments/worker.mjs +374 -329
  82. package/lib/environments/worker.mjs.map +1 -1
  83. package/lib/tools/BetaToolRunner.js +316 -313
  84. package/lib/tools/BetaToolRunner.js.map +1 -1
  85. package/lib/tools/BetaToolRunner.mjs +315 -306
  86. package/lib/tools/BetaToolRunner.mjs.map +1 -1
  87. package/lib/tools/SessionToolRunner.js +241 -235
  88. package/lib/tools/SessionToolRunner.js.map +1 -1
  89. package/lib/tools/SessionToolRunner.mjs +241 -192
  90. package/lib/tools/SessionToolRunner.mjs.map +1 -1
  91. package/lib/tools/ToolError.js +39 -36
  92. package/lib/tools/ToolError.js.map +1 -1
  93. package/lib/tools/ToolError.mjs +39 -13
  94. package/lib/tools/ToolError.mjs.map +1 -1
  95. package/package.json +3 -3
  96. package/resources/beta/agents/agents.js +135 -132
  97. package/resources/beta/agents/agents.js.map +1 -1
  98. package/resources/beta/agents/agents.mjs +135 -132
  99. package/resources/beta/agents/agents.mjs.map +1 -1
  100. package/resources/beta/beta.d.mts +5 -5
  101. package/resources/beta/beta.d.mts.map +1 -1
  102. package/resources/beta/beta.d.ts +5 -5
  103. package/resources/beta/beta.d.ts.map +1 -1
  104. package/resources/beta/beta.js +39 -36
  105. package/resources/beta/beta.js.map +1 -1
  106. package/resources/beta/beta.mjs +39 -36
  107. package/resources/beta/beta.mjs.map +1 -1
  108. package/resources/beta/dreams.d.mts +2 -28
  109. package/resources/beta/dreams.d.mts.map +1 -1
  110. package/resources/beta/dreams.d.ts +2 -28
  111. package/resources/beta/dreams.d.ts.map +1 -1
  112. package/resources/beta/environments/environments.js +157 -154
  113. package/resources/beta/environments/environments.js.map +1 -1
  114. package/resources/beta/environments/environments.mjs +157 -154
  115. package/resources/beta/environments/environments.mjs.map +1 -1
  116. package/resources/beta/environments/work.js +255 -252
  117. package/resources/beta/environments/work.js.map +1 -1
  118. package/resources/beta/environments/work.mjs +255 -252
  119. package/resources/beta/environments/work.mjs.map +1 -1
  120. package/resources/beta/index.d.mts +2 -2
  121. package/resources/beta/index.d.mts.map +1 -1
  122. package/resources/beta/index.d.ts +2 -2
  123. package/resources/beta/index.d.ts.map +1 -1
  124. package/resources/beta/index.js.map +1 -1
  125. package/resources/beta/index.mjs.map +1 -1
  126. package/resources/beta/memory-stores/memory-stores.js +150 -147
  127. package/resources/beta/memory-stores/memory-stores.js.map +1 -1
  128. package/resources/beta/memory-stores/memory-stores.mjs +150 -147
  129. package/resources/beta/memory-stores/memory-stores.mjs.map +1 -1
  130. package/resources/beta/messages/batches.d.mts +12 -1
  131. package/resources/beta/messages/batches.d.mts.map +1 -1
  132. package/resources/beta/messages/batches.d.ts +12 -1
  133. package/resources/beta/messages/batches.d.ts.map +1 -1
  134. package/resources/beta/messages/index.d.mts +1 -1
  135. package/resources/beta/messages/index.d.mts.map +1 -1
  136. package/resources/beta/messages/index.d.ts +1 -1
  137. package/resources/beta/messages/index.d.ts.map +1 -1
  138. package/resources/beta/messages/index.js.map +1 -1
  139. package/resources/beta/messages/index.mjs.map +1 -1
  140. package/resources/beta/messages/messages.d.mts +238 -100
  141. package/resources/beta/messages/messages.d.mts.map +1 -1
  142. package/resources/beta/messages/messages.d.ts +238 -100
  143. package/resources/beta/messages/messages.d.ts.map +1 -1
  144. package/resources/beta/messages/messages.js +113 -110
  145. package/resources/beta/messages/messages.js.map +1 -1
  146. package/resources/beta/messages/messages.mjs +113 -110
  147. package/resources/beta/messages/messages.mjs.map +1 -1
  148. package/resources/beta/models.d.mts +22 -1
  149. package/resources/beta/models.d.mts.map +1 -1
  150. package/resources/beta/models.d.ts +22 -1
  151. package/resources/beta/models.d.ts.map +1 -1
  152. package/resources/beta/organization/federation/federation.js +11 -8
  153. package/resources/beta/organization/federation/federation.js.map +1 -1
  154. package/resources/beta/organization/federation/federation.mjs +11 -8
  155. package/resources/beta/organization/federation/federation.mjs.map +1 -1
  156. package/resources/beta/organization/federation/rules/rules.js +187 -184
  157. package/resources/beta/organization/federation/rules/rules.js.map +1 -1
  158. package/resources/beta/organization/federation/rules/rules.mjs +187 -184
  159. package/resources/beta/organization/federation/rules/rules.mjs.map +1 -1
  160. package/resources/beta/organization/organization.js +38 -35
  161. package/resources/beta/organization/organization.js.map +1 -1
  162. package/resources/beta/organization/organization.mjs +38 -35
  163. package/resources/beta/organization/organization.mjs.map +1 -1
  164. package/resources/beta/organization/service-accounts/service-accounts.js +163 -160
  165. package/resources/beta/organization/service-accounts/service-accounts.js.map +1 -1
  166. package/resources/beta/organization/service-accounts/service-accounts.mjs +163 -160
  167. package/resources/beta/organization/service-accounts/service-accounts.mjs.map +1 -1
  168. package/resources/beta/organization/workspaces/workspaces.d.mts +3 -3
  169. package/resources/beta/organization/workspaces/workspaces.d.mts.map +1 -1
  170. package/resources/beta/organization/workspaces/workspaces.d.ts +3 -3
  171. package/resources/beta/organization/workspaces/workspaces.d.ts.map +1 -1
  172. package/resources/beta/organization/workspaces/workspaces.js +97 -94
  173. package/resources/beta/organization/workspaces/workspaces.js.map +1 -1
  174. package/resources/beta/organization/workspaces/workspaces.mjs +97 -94
  175. package/resources/beta/organization/workspaces/workspaces.mjs.map +1 -1
  176. package/resources/beta/sessions/events.d.mts +12 -21
  177. package/resources/beta/sessions/events.d.mts.map +1 -1
  178. package/resources/beta/sessions/events.d.ts +12 -21
  179. package/resources/beta/sessions/events.d.ts.map +1 -1
  180. package/resources/beta/sessions/events.js +118 -115
  181. package/resources/beta/sessions/events.js.map +1 -1
  182. package/resources/beta/sessions/events.mjs +118 -115
  183. package/resources/beta/sessions/events.mjs.map +1 -1
  184. package/resources/beta/sessions/resources.d.mts +0 -3
  185. package/resources/beta/sessions/resources.d.mts.map +1 -1
  186. package/resources/beta/sessions/resources.d.ts +0 -3
  187. package/resources/beta/sessions/resources.d.ts.map +1 -1
  188. package/resources/beta/sessions/sessions.d.mts +2 -2
  189. package/resources/beta/sessions/sessions.d.ts +2 -2
  190. package/resources/beta/sessions/sessions.js +161 -158
  191. package/resources/beta/sessions/sessions.js.map +1 -1
  192. package/resources/beta/sessions/sessions.mjs +161 -158
  193. package/resources/beta/sessions/sessions.mjs.map +1 -1
  194. package/resources/beta/sessions/threads/threads.js +86 -83
  195. package/resources/beta/sessions/threads/threads.js.map +1 -1
  196. package/resources/beta/sessions/threads/threads.mjs +86 -83
  197. package/resources/beta/sessions/threads/threads.mjs.map +1 -1
  198. package/resources/beta/skills/skills.js +104 -101
  199. package/resources/beta/skills/skills.js.map +1 -1
  200. package/resources/beta/skills/skills.mjs +104 -101
  201. package/resources/beta/skills/skills.mjs.map +1 -1
  202. package/resources/beta/tunnels/tunnels.js +188 -185
  203. package/resources/beta/tunnels/tunnels.js.map +1 -1
  204. package/resources/beta/tunnels/tunnels.mjs +188 -185
  205. package/resources/beta/tunnels/tunnels.mjs.map +1 -1
  206. package/resources/beta/user-profiles.d.mts +45 -0
  207. package/resources/beta/user-profiles.d.mts.map +1 -1
  208. package/resources/beta/user-profiles.d.ts +45 -0
  209. package/resources/beta/user-profiles.d.ts.map +1 -1
  210. package/resources/beta/user-profiles.js +25 -10
  211. package/resources/beta/user-profiles.js.map +1 -1
  212. package/resources/beta/user-profiles.mjs +25 -10
  213. package/resources/beta/user-profiles.mjs.map +1 -1
  214. package/resources/beta/vaults/credentials.d.mts +0 -14
  215. package/resources/beta/vaults/credentials.d.mts.map +1 -1
  216. package/resources/beta/vaults/credentials.d.ts +0 -14
  217. package/resources/beta/vaults/credentials.d.ts.map +1 -1
  218. package/resources/beta/vaults/vaults.js +156 -153
  219. package/resources/beta/vaults/vaults.js.map +1 -1
  220. package/resources/beta/vaults/vaults.mjs +156 -153
  221. package/resources/beta/vaults/vaults.mjs.map +1 -1
  222. package/resources/completions.d.mts +1 -1
  223. package/resources/completions.d.ts +1 -1
  224. package/resources/index.d.mts +1 -1
  225. package/resources/index.d.mts.map +1 -1
  226. package/resources/index.d.ts +1 -1
  227. package/resources/index.d.ts.map +1 -1
  228. package/resources/index.js.map +1 -1
  229. package/resources/index.mjs.map +1 -1
  230. package/resources/messages/index.d.mts +1 -1
  231. package/resources/messages/index.d.mts.map +1 -1
  232. package/resources/messages/index.d.ts +1 -1
  233. package/resources/messages/index.d.ts.map +1 -1
  234. package/resources/messages/index.js.map +1 -1
  235. package/resources/messages/index.mjs.map +1 -1
  236. package/resources/messages/messages.d.mts +100 -63
  237. package/resources/messages/messages.d.mts.map +1 -1
  238. package/resources/messages/messages.d.ts +100 -63
  239. package/resources/messages/messages.d.ts.map +1 -1
  240. package/resources/messages/messages.js +115 -112
  241. package/resources/messages/messages.js.map +1 -1
  242. package/resources/messages/messages.mjs +115 -112
  243. package/resources/messages/messages.mjs.map +1 -1
  244. package/resources/skills/skills.js +88 -85
  245. package/resources/skills/skills.js.map +1 -1
  246. package/resources/skills/skills.mjs +88 -85
  247. package/resources/skills/skills.mjs.map +1 -1
  248. package/resources/top-level.js +0 -1
  249. package/resources/top-level.js.map +1 -1
  250. package/resources/top-level.mjs +0 -1
  251. package/resources/top-level.mjs.map +1 -1
  252. package/src/client.ts +13 -1
  253. package/src/internal/node.browser.ts +7 -7
  254. package/src/internal/utils/bytes.ts +1 -1
  255. package/src/resources/beta/beta.ts +24 -1
  256. package/src/resources/beta/dreams.ts +2 -28
  257. package/src/resources/beta/index.ts +11 -0
  258. package/src/resources/beta/messages/batches.ts +13 -1
  259. package/src/resources/beta/messages/index.ts +10 -0
  260. package/src/resources/beta/messages/messages.ts +288 -99
  261. package/src/resources/beta/models.ts +25 -0
  262. package/src/resources/beta/organization/workspaces/workspaces.ts +3 -3
  263. package/src/resources/beta/sessions/events.ts +12 -21
  264. package/src/resources/beta/sessions/resources.ts +0 -3
  265. package/src/resources/beta/sessions/sessions.ts +2 -2
  266. package/src/resources/beta/user-profiles.ts +75 -10
  267. package/src/resources/beta/vaults/credentials.ts +0 -14
  268. package/src/resources/completions.ts +1 -1
  269. package/src/resources/index.ts +6 -0
  270. package/src/resources/messages/index.ts +6 -0
  271. package/src/resources/messages/messages.ts +128 -62
  272. package/src/tsconfig.json +13 -3
  273. package/src/version.ts +1 -1
  274. package/tools/agent-toolset/fs-util.js +0 -6
  275. package/tools/agent-toolset/fs-util.js.map +1 -1
  276. package/tools/agent-toolset/fs-util.mjs +0 -6
  277. package/tools/agent-toolset/fs-util.mjs.map +1 -1
  278. package/tools/agent-toolset/memories.js +4 -4
  279. package/tools/agent-toolset/memories.js.map +1 -1
  280. package/tools/agent-toolset/memories.mjs +2 -2
  281. package/tools/agent-toolset/memories.mjs.map +1 -1
  282. package/tools/agent-toolset/node.browser.js +12 -12
  283. package/tools/agent-toolset/node.browser.js.map +1 -1
  284. package/tools/agent-toolset/node.js +142 -139
  285. package/tools/agent-toolset/node.js.map +1 -1
  286. package/tools/agent-toolset/node.mjs +132 -125
  287. package/tools/agent-toolset/node.mjs.map +1 -1
  288. package/tools/agent-toolset/skills.js +5 -5
  289. package/tools/agent-toolset/skills.js.map +1 -1
  290. package/tools/agent-toolset/sync-interval.js +3 -3
  291. package/tools/agent-toolset/sync-interval.js.map +1 -1
  292. package/tools/memory/node.browser.js +2 -2
  293. package/tools/memory/node.browser.js.map +1 -1
  294. package/version.d.mts +1 -1
  295. package/version.d.ts +1 -1
  296. package/version.js +1 -1
  297. package/version.mjs +1 -1
@@ -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
- /** A refused operation input the store will not act on. OS errors propagate with their `.code`. */
26
- class FileStoreError extends Error {
27
- constructor(reason, relPath) {
28
- super(`path ${JSON.stringify(relPath)} ${reason}`);
29
- this.name = 'FileStoreError';
30
- this.reason = reason;
31
- this.relPath = relPath;
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
- * Every symlink under `under` listings skip them and reads refuse them,
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
- * Unchanged files same size, mtime, and ctime since the last call
173
- * reuse their recorded hash instead of being re-read.
174
- */
175
- async hashtree(under = '/') {
176
- const base = this.resolveUnderRoot(under);
177
- const walkStartNs = exports._internals.nowNs();
178
- // Null prototype so a file named `__proto__` (or `constructor`) is an
179
- // ordinary own key instead of a silent prototype write / inherited read.
180
- const out = Object.create(null);
181
- for (const [rel, full] of await filenamesInDir(this.rootPath, under, base)) {
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
- async move(src, dst) {
212
- const s = this.resolveUnderRoot(src);
213
- const d = this.resolveUnderRoot(dst);
214
- if (s === this.rootPath || d === this.rootPath)
215
- return;
216
- // stat, not lstat: a dangling symlink at dst reads as absent and is
217
- // atomically replaced by the rename, like any other rename target.
218
- const dstExists = await fsp.stat(d).then(() => true, () => false);
219
- if (dstExists)
220
- throw new FileStoreError(FileStoreError.MOVE_DESTINATION_EXISTS, dst);
221
- await makeDirsBelowRoot(this.rootPath, node_1.path.dirname(d));
222
- await fsp.rename(s, d);
223
- }
224
- /** Delete a file or subtree; absent and the banned store root — do nothing. */
225
- async remove(relPath) {
226
- const dest = this.resolveUnderRoot(relPath);
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
- await fsp.unlink(dest);
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
- resolveUnderRoot(relPath) {
253
- const norm = relPath.replace(/\\/g, '/').replace(/^\/+/, '');
254
- const parts = norm.split('/').filter((p) => p !== '' && p !== '.');
255
- if (node_1.path.posix.isAbsolute(norm) || parts.includes('..')) {
256
- throw new FileStoreError(FileStoreError.ESCAPES_ROOT, relPath);
257
- }
258
- return parts.length === 0 ? this.rootPath : node_1.path.join(this.rootPath, ...parts);
259
- }
260
- requireUtf8(relPath, data) {
261
- if (!this.decoder)
262
- return;
263
- try {
264
- this.decoder.decode(data);
265
- }
266
- catch {
267
- throw new FileStoreError(FileStoreError.NOT_UTF8, relPath);
268
- }
269
- }
270
- async hashViaCache(rel, full, walkStartNs) {
271
- let st;
272
- try {
273
- st = await fsp.lstat(full, { bigint: true });
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
- catch (e) {
276
- if (e.code === 'ENOENT')
277
- return null; // vanished since the walk: not in this snapshot
278
- throw e;
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
- if (!st.isFile())
281
- return null;
282
- const cached = this.hashes.get(rel);
283
- let sha;
284
- if (cached !== undefined && unchangedSinceHashed(cached, st)) {
285
- sha = cached.sha;
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
- else {
266
+ async hashViaCache(rel, full, walkStartNs) {
267
+ let st;
288
268
  try {
289
- sha = await exports._internals.hashFile(full);
269
+ st = await fsp.lstat(full, { bigint: true });
290
270
  }
291
271
  catch (e) {
292
- const code = e.code;
293
- if (code === 'ENOENT' || e instanceof FileStoreError)
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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"}