@numa-tech/numa 1.19.0 → 1.20.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/README.md CHANGED
@@ -1154,9 +1154,31 @@ Linux 桌面需安装 `zenity` 或 `kdialog`;无图形环境可继续使用 `o
1154
1154
  「传输任务」显示跨 Grant 的任务、进度、速度、目标路径和错误,支持暂停、继续与取消。
1155
1155
  默认同时传输 3 个文件,每个文件最多 3 个分片请求;分片通常为 8 MiB,大文件自动调整。
1156
1156
  上传使用 multipart,下载使用带 ETag 条件的 Range 请求,断点完成后落盘;不再受网页单次
1157
- 5 GiB 上传限制。单次最多规划 10000 个文件,空目录不创建对象;目录移动与同步尚不支持。
1157
+ 5 GiB 上传限制。单次最多规划 10000 个文件,上传的空目录不创建对象;目录同步尚不支持。
1158
1158
  文件内容在恢复前后如发生变化,任务会停止,避免混合不同版本的数据。
1159
1159
 
1160
+ 存储位置与文件预览可独立折叠,折叠后保留展开入口并扩大文件列表;刷新页面保留布局,
1161
+ 折叠不清空预览或选择。点击文件会自动展开预览。
1162
+
1163
+ 文件行右键菜单支持递归删除、拷贝到、移动到和重命名;键盘可聚焦文件行后按 Shift+F10 打开。
1164
+ 顶部「创建目录」创建以 `/` 结尾的空对象,便于保留空文件夹。复制/移动目标填写相对于当前
1165
+ Grant 根目录的路径,留空表示根目录;也可通过弹窗目录树点选,目录树按需展开、分页加载,
1166
+ 点选会同步更新输入框。有写入权限时,可右键任意可选目标目录创建子目录,无论目录是否为空;创建后自动展开并选中。保留原名称,不支持跨 Grant 或跨 Bucket 操作。权限不足的右键菜单
1167
+ 仍可点击查看缺失权限提示,提示在 3 秒后自动消失,再次点击会重新计时。
1168
+
1169
+ 「删除所选」支持混选文件和文件夹。确认框显示选择数量,不预先递归计数;文件夹包含全部
1170
+ 子文件,重叠选择只处理一次。CLI 每页最多扫描 200 个对象,删除每批最多 100 个;复制/移动
1171
+ 最多并行处理 3 个对象。复制在 OSS 服务端执行,超过 1 GiB 使用分片复制,不经过浏览器。
1172
+ 页面底部显示扫描、确认完成、失败或未确认数量,并可停止安排后续请求;正在执行的请求会先结束。
1173
+ 文件操作不依赖浏览器连接,同一服务同时执行一项;最近 20 项操作记录仅保留在进程内存。
1174
+ 停止服务或进程退出后不会自动续做文件操作,已完成部分不会回滚;上传下载的断点机制不受影响。
1175
+
1176
+ 复制前检查目标是否存在,并使用禁止覆盖请求头;移动和重命名仅在复制成功、源对象再次校验
1177
+ 未变化后删除源对象。OSS 移动并非原子操作,操作期间不要让其他客户端修改相关目录。
1178
+ 开启或暂停版本控制的 Bucket 不保证禁止覆盖请求头生效;外部并发写入仍可能产生新版本。
1179
+ 删除针对当前可见对象,不清除历史版本。发生冲突、权限或网络错误时停止;网络中断可能造成
1180
+ 部分结果未确认,需刷新核对后再操作,不自动重放破坏性请求。
1181
+
1160
1182
  顶部授权选择器显示 Policy、Bucket/Prefix 和 Grant ID;每个操作显式绑定所选 Grant。
1161
1183
  STS 倒计时按服务端时间计算,默认有效期为 900 秒。默认勾选「自动续期」,
1162
1184
  页面打开时定期检查,后台传输也会在新请求前检查,并在剩余 90 秒以内续期;同一 Grant 的并发续期合并为一次请求。
@@ -1168,8 +1190,14 @@ STS 倒计时按服务端时间计算,默认有效期为 900 秒。默认勾
1168
1190
  本机链接的随机令牌只用于访问此进程;STS 保存在 CLI 内存,由 CLI 负责文件传输,
1169
1191
  不发送给网页、不依赖阿里云官网 Cookie,也不修改 Bucket CORS。每个服务实例独立,
1170
1192
  同一实例中同一 Grant 的页面共享续期设置。同一账号同一配置只允许一个任务队列写入进程。
1193
+ 重复运行 `numa oss web` 会查询已有服务,显示 PID、启动时间及传输/排队/暂停任务数量,
1194
+ 并打开已有控制台;第二次命令随即退出,不创建新服务,也不会关闭原服务。
1195
+ `--no-open` 只打印状态和链接。网页顶部显示 PID 和当前状态,「停止服务」确认后会暂停任务、
1196
+ 保存断点、关闭系统选择框并退出原 CLI 服务;所有连接到它的网页都会断开。
1197
+ 自动连接需要原服务也支持服务发现;旧版本实例需先在原终端按 Ctrl+C 停止,再用新版启动。
1171
1198
  关闭或刷新网页不影响传输;退出 CLI 时任务暂停,重新启动后须在「传输任务」中手动继续。
1172
1199
  任务与断点记录保存在本机配置目录的 `oss-transfers` 下,按服务、租户和用户隔离,不保存 STS。
1200
+ 同目录的私有 `service.json` 仅记录本机服务地址、PID 与本机控制台令牌,服务停止时删除。
1173
1201
  任务记录最多保留 10000 项,新增任务时会优先清除最早的已完成或已取消记录。
1174
1202
  取消会清理本任务的下载临时文件或未完成 multipart;已经提交成功的文件显示为完成。
1175
1203
  上传提交结果不明时,需要读取权限核验完成状态;无法核验时保留任务并提示失败。
@@ -2,7 +2,7 @@ import type { Command } from "commander";
2
2
  import { OssClient } from "./client.js";
3
3
  import type { AccessGrant, AccessGrantsResponse } from "./schemas.js";
4
4
  import { OssTransferClient } from "./transfers.js";
5
- import type { startOssWeb } from "./web.js";
5
+ import type { startOssWeb, openExistingOssWeb } from "./web.js";
6
6
  export interface OssCommandDependencies {
7
7
  clientFactory?: () => OssClient;
8
8
  write?: (text: string) => void;
@@ -11,6 +11,7 @@ export interface OssCommandDependencies {
11
11
  interactive?: () => boolean;
12
12
  selectGrant?: (grants: AccessGrant[]) => Promise<number | undefined>;
13
13
  webStarter?: typeof startOssWeb;
14
+ webFinder?: typeof openExistingOssWeb;
14
15
  transferFactory?: () => OssTransferClient;
15
16
  }
16
17
  export declare function formatOssGrants(result: AccessGrantsResponse): string;
@@ -171,7 +171,7 @@ export function registerOssCommands(program, dependencies = {}) {
171
171
  }
172
172
  });
173
173
  oss.command("web [grantId]")
174
- .description("启动本机 OSS 网页文件管理器,支持切换授权和 STS 续期")
174
+ .description("启动或打开已有 OSS 网页控制台,管理后台传输和 STS 续期")
175
175
  .option("--port <number>", "本机端口,默认随机可用端口", value => {
176
176
  const parsed = Number(value);
177
177
  if (!/^\d+$/u.test(value) || !Number.isInteger(parsed) || parsed < 0 || parsed > 65535) {
@@ -185,29 +185,47 @@ export function registerOssCommands(program, dependencies = {}) {
185
185
  if (jsonEnabled(command, config.output))
186
186
  throw new OssError("oss web 是常驻服务,请使用文本输出。", "oss_input_invalid");
187
187
  const api = client();
188
- let id;
189
- if (grant !== undefined)
190
- id = grantId(grant);
191
- else {
192
- const interactive = dependencies.interactive?.() ?? Boolean(process.stdin.isTTY && process.stderr.isTTY);
193
- if (!interactive)
194
- throw new OssError("请提供 Grant ID,或在交互终端选择授权。", "oss_input_invalid");
195
- const grants = (await api.listGrants()).grants.filter(g => g.status === "ACTIVE" && g.cloudPolicySynced
196
- && g.roleName && g.bucketName && g.effect !== "Deny" && g.maxSessionSeconds >= 900);
197
- if (!grants.length)
198
- throw new OssError("当前没有可用 OSS Grant。", "oss_grant_unavailable");
199
- const selected = await (dependencies.selectGrant ?? selectOssGrant)(grants);
200
- if (selected === undefined)
201
- throw new OssError("已取消选择。", "cli_cancelled");
202
- if (!grants.some(g => g.grantId === selected))
203
- throw new OssError("所选 Grant 不可用。", "oss_input_invalid");
204
- id = selected;
205
- }
206
- const start = dependencies.webStarter ?? (await import("./web.js")).startOssWeb;
207
188
  const auth = loadConfig("platform");
208
- const handle = await start({ grantId: id, port: options.port, openBrowser: options.open, client: api, transfer,
209
- taskDirectory: appConfigDirectory(), taskNamespace: JSON.stringify([auth.backendBaseUrl, auth.discoveryUrl,
210
- auth.clientId, auth.profileTenantId, auth.resourceAudience]) });
189
+ const serviceOptions = { client: api, openBrowser: options.open, taskDirectory: appConfigDirectory(),
190
+ taskNamespace: JSON.stringify([auth.backendBaseUrl, auth.discoveryUrl, auth.clientId, auth.profileTenantId, auth.resourceAudience]) };
191
+ let handle = grant === undefined
192
+ ? await (dependencies.webFinder ?? (await import("./web.js")).openExistingOssWeb)(serviceOptions)
193
+ : undefined;
194
+ if (!handle) {
195
+ let id;
196
+ if (grant !== undefined)
197
+ id = grantId(grant);
198
+ else {
199
+ const interactive = dependencies.interactive?.() ?? Boolean(process.stdin.isTTY && process.stderr.isTTY);
200
+ if (!interactive)
201
+ throw new OssError("请提供 Grant ID,或在交互终端选择授权。", "oss_input_invalid");
202
+ const grants = (await api.listGrants()).grants.filter(g => g.status === "ACTIVE" && g.cloudPolicySynced
203
+ && g.roleName && g.bucketName && g.effect !== "Deny" && g.maxSessionSeconds >= 900);
204
+ if (!grants.length)
205
+ throw new OssError("当前没有可用 OSS Grant。", "oss_grant_unavailable");
206
+ const selected = await (dependencies.selectGrant ?? selectOssGrant)(grants);
207
+ if (selected === undefined)
208
+ throw new OssError("已取消选择。", "cli_cancelled");
209
+ if (!grants.some(g => g.grantId === selected))
210
+ throw new OssError("所选 Grant 不可用。", "oss_input_invalid");
211
+ id = selected;
212
+ }
213
+ const start = dependencies.webStarter ?? (await import("./web.js")).startOssWeb;
214
+ handle = await start({ ...serviceOptions, grantId: id, port: options.port, transfer });
215
+ }
216
+ if (handle.reused) {
217
+ const info = handle.service;
218
+ if (info) {
219
+ const tasks = info.tasks;
220
+ write(`已有 OSS 服务 · PID ${info.pid} · 启动于 ${info.startedAt}\n`
221
+ + `传输中 ${tasks.running} · 排队 ${tasks.queued} · 暂停 ${tasks.paused} · 失败 ${tasks.failed}`
222
+ + ` · 正在暂停/取消 ${tasks.pausing + tasks.cancelling} · 文件操作 ${info.activeOperations ?? 0}\n`);
223
+ }
224
+ write(`控制台:${handle.url}\n本次仅打开已有控制台,不启动新服务;原服务继续运行。\n`);
225
+ if (options.open && !handle.browserOpened)
226
+ diagnostic("未能自动打开浏览器,请复制上方完整链接访问。\n");
227
+ return;
228
+ }
211
229
  const close = () => { void handle.close().catch(() => diagnostic("任务记录保存失败,请检查本地任务目录。\n")); };
212
230
  process.once("SIGINT", close);
213
231
  process.once("SIGTERM", close);
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/oss/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/oss/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { z } from 'zod';
2
+ import type { AccessSession } from './schemas.js';
3
+ import { OssTransferClient } from './transfers.js';
4
+ declare const inputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ kind: z.ZodLiteral<"delete">;
6
+ entries: z.ZodArray<z.ZodObject<{
7
+ key: z.ZodString;
8
+ directory: z.ZodBoolean;
9
+ }, z.core.$strict>>;
10
+ }, z.core.$strict>, z.ZodObject<{
11
+ kind: z.ZodEnum<{
12
+ copy: "copy";
13
+ move: "move";
14
+ rename: "rename";
15
+ }>;
16
+ entries: z.ZodArray<z.ZodObject<{
17
+ key: z.ZodString;
18
+ directory: z.ZodBoolean;
19
+ }, z.core.$strict>>;
20
+ destination: z.ZodString;
21
+ }, z.core.$strict>, z.ZodObject<{
22
+ kind: z.ZodLiteral<"mkdir">;
23
+ destination: z.ZodString;
24
+ }, z.core.$strict>], "kind">;
25
+ type Input = z.infer<typeof inputSchema>;
26
+ export interface FileOperation {
27
+ id: string;
28
+ grantId: number;
29
+ kind: Input['kind'];
30
+ status: 'running' | 'stopping' | 'completed' | 'stopped' | 'failed';
31
+ selected: number;
32
+ scanned: number;
33
+ done: number;
34
+ copied: number;
35
+ failed: number;
36
+ startedAt: string;
37
+ currentKey?: string;
38
+ error?: string;
39
+ }
40
+ /** In-memory remote operations: bounded paging/history; never recursively pre-count or persist STS. */
41
+ export declare class OssFileOperations {
42
+ private readonly transfer;
43
+ private readonly session;
44
+ private jobs;
45
+ private pending;
46
+ private starting;
47
+ private closing;
48
+ constructor(transfer: OssTransferClient, session: (grantId: number) => Promise<AccessSession>);
49
+ list(): FileOperation[];
50
+ start(grantId: number, value: unknown): Promise<FileOperation>;
51
+ stop(id: string): void;
52
+ wait(): Promise<void>;
53
+ close(): Promise<void>;
54
+ private absent;
55
+ private run;
56
+ }
57
+ export {};
@@ -0,0 +1,269 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { OssError } from './errors.js';
4
+ import { ossSessionCapabilities, ossTransferOptions } from './transfers.js';
5
+ const entrySchema = z.object({ key: z.string().min(1).max(1024), directory: z.boolean() }).strict();
6
+ const inputSchema = z.discriminatedUnion('kind', [
7
+ z.object({ kind: z.literal('delete'), entries: z.array(entrySchema).min(1).max(1000) }).strict(),
8
+ z.object({ kind: z.enum(['copy', 'move', 'rename']), entries: z.array(entrySchema).length(1), destination: z.string().max(1024) }).strict(),
9
+ z.object({ kind: z.literal('mkdir'), destination: z.string().min(1).max(1024) }).strict()
10
+ ]);
11
+ class Stopped extends Error {
12
+ }
13
+ const active = (job) => job.status === 'running' || job.status === 'stopping';
14
+ const identity = (s) => JSON.stringify([s.grantId, s.accountUid, s.roleArn, s.bucketName, s.region, s.scopeType, s.objectPrefix, s.sourceIdentity]);
15
+ const compareKeys = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b));
16
+ function invalid() { throw new OssError('Invalid file operation', 'oss_input_invalid', 400); }
17
+ function conflict() { throw new OssError('Destination exists', 'oss_transfer_destination_exists', 409); }
18
+ function key(session, value, operation) {
19
+ // Do not silently normalize object names into different objects.
20
+ if (value !== value.trim() || value.includes('//'))
21
+ invalid();
22
+ const result = ossTransferOptions(session, value, operation).key;
23
+ if (result === ossSessionCapabilities(session).root)
24
+ invalid();
25
+ return result;
26
+ }
27
+ function entries(input) {
28
+ const sorted = [...input.entries].sort((a, b) => compareKeys(a.key, b.key));
29
+ const result = [];
30
+ for (const entry of sorted) {
31
+ if (entry.directory !== entry.key.endsWith('/'))
32
+ invalid();
33
+ if (!result.some(parent => parent.key === entry.key || parent.directory && entry.key.startsWith(parent.key)))
34
+ result.push(entry);
35
+ }
36
+ return result;
37
+ }
38
+ function targetFor(session, input) {
39
+ if (input.kind === 'mkdir') {
40
+ if (!input.destination.endsWith('/'))
41
+ invalid();
42
+ return key(session, input.destination, 'write');
43
+ }
44
+ const source = input.entries[0];
45
+ const name = source.key.replace(/\/$/u, '').split('/').at(-1);
46
+ let target;
47
+ if (input.kind === 'rename') {
48
+ if (!input.destination || input.destination.includes('/') || input.destination !== input.destination.trim())
49
+ invalid();
50
+ const parent = source.key.replace(/\/$/u, '').slice(0, -name.length);
51
+ target = parent + input.destination + (source.directory ? '/' : '');
52
+ }
53
+ else {
54
+ const directory = input.destination;
55
+ if (directory && !directory.endsWith('/'))
56
+ invalid();
57
+ const root = ossSessionCapabilities(session).root;
58
+ if (directory !== root)
59
+ key(session, directory, 'write');
60
+ target = directory + name + (source.directory ? '/' : '');
61
+ }
62
+ key(session, target, 'write');
63
+ if (target === source.key || source.directory && (target.startsWith(source.key) || source.key.startsWith(target)))
64
+ invalid();
65
+ return target;
66
+ }
67
+ /** In-memory remote operations: bounded paging/history; never recursively pre-count or persist STS. */
68
+ export class OssFileOperations {
69
+ transfer;
70
+ session;
71
+ jobs = [];
72
+ pending = Promise.resolve();
73
+ starting = false;
74
+ closing = false;
75
+ constructor(transfer, session) {
76
+ this.transfer = transfer;
77
+ this.session = session;
78
+ }
79
+ list() { return this.jobs.map(job => ({ ...job })); }
80
+ async start(grantId, value) {
81
+ if (this.closing || this.starting || this.jobs.some(active))
82
+ throw new OssError('Operation already running', 'oss_operation_busy', 409);
83
+ const parsed = inputSchema.safeParse(value);
84
+ if (!parsed.success)
85
+ invalid();
86
+ const input = parsed.data;
87
+ this.starting = true;
88
+ try {
89
+ const initial = await this.session(grantId);
90
+ if (this.closing)
91
+ throw new Stopped();
92
+ const selected = input.kind === 'mkdir' ? [] : entries(input);
93
+ for (const entry of selected) {
94
+ key(initial, entry.key, input.kind === 'delete' ? 'delete' : 'read');
95
+ if (input.kind === 'move' || input.kind === 'rename')
96
+ key(initial, entry.key, 'delete');
97
+ if (entry.directory)
98
+ ossTransferOptions(initial, entry.key, 'list');
99
+ }
100
+ const target = input.kind === 'delete' ? undefined : targetFor(initial, input);
101
+ const job = { id: randomUUID(), grantId, kind: input.kind, status: 'running', selected: input.kind === 'mkdir' ? 1 : input.entries.length,
102
+ scanned: 0, done: 0, copied: 0, failed: 0, startedAt: new Date().toISOString() };
103
+ this.jobs = [job, ...this.jobs].slice(0, 20);
104
+ const check = () => { if (job.status === 'stopping' || this.closing)
105
+ throw new Stopped(); };
106
+ const fresh = async () => {
107
+ check();
108
+ const session = await this.session(grantId);
109
+ if (identity(session) !== identity(initial))
110
+ throw new OssError('Scope changed', 'oss_web_scope_changed', 409);
111
+ check();
112
+ return session;
113
+ };
114
+ this.pending = this.run(job, input, selected, target, fresh, check).then(() => {
115
+ job.status = job.status === 'stopping' ? 'stopped' : 'completed';
116
+ }, error => {
117
+ if (error instanceof Stopped || job.status === 'stopping') {
118
+ job.status = 'stopped';
119
+ return;
120
+ }
121
+ job.status = 'failed';
122
+ job.failed = Math.max(1, job.failed);
123
+ job.error = error instanceof OssError && error.code === 'oss_transfer_destination_exists'
124
+ ? '目标已存在,操作已停止;已有结果保留,请检查后再操作。'
125
+ : error instanceof OssError && error.code === 'oss_source_changed'
126
+ ? '源文件已变化,已保留源文件并停止操作。'
127
+ : '操作失败并已停止,已完成的操作不会回滚。网络异常时部分结果可能未确认,请刷新列表核对后再操作。';
128
+ });
129
+ return { ...job };
130
+ }
131
+ finally {
132
+ this.starting = false;
133
+ }
134
+ }
135
+ stop(id) {
136
+ const job = this.jobs.find(job => job.id === id);
137
+ if (!job)
138
+ throw new OssError('Unknown operation', 'oss_input_invalid', 404);
139
+ if (active(job))
140
+ job.status = 'stopping';
141
+ }
142
+ async wait() { await this.pending; }
143
+ async close() { this.closing = true; for (const job of this.jobs)
144
+ if (active(job))
145
+ job.status = 'stopping'; await this.pending; }
146
+ async absent(session, target) {
147
+ if (target.endsWith('/')) {
148
+ const page = await this.transfer.list(session, target, 1);
149
+ if (page.objects.length || page.directories.length)
150
+ conflict();
151
+ }
152
+ else {
153
+ try {
154
+ await this.transfer.stat(session, target);
155
+ }
156
+ catch (error) {
157
+ if (error && typeof error === 'object' && 'status' in error && error.status === 404)
158
+ return;
159
+ throw error;
160
+ }
161
+ conflict();
162
+ }
163
+ }
164
+ async run(job, input, selected, target, fresh, check) {
165
+ if (target !== undefined)
166
+ await this.absent(await fresh(), target);
167
+ if (input.kind === 'mkdir') {
168
+ check();
169
+ job.scanned = 1;
170
+ await this.transfer.createDirectory(await fresh(), target);
171
+ job.done = 1;
172
+ return;
173
+ }
174
+ const perform = async (source, entry) => {
175
+ check();
176
+ job.currentKey = source;
177
+ if (input.kind === 'delete')
178
+ await this.transfer.remove(await fresh(), source);
179
+ else {
180
+ const destination = target + (entry.directory ? source.slice(entry.key.length) : '');
181
+ // Check each target as well as the directory root; external writers can race this operation.
182
+ try {
183
+ await this.transfer.stat(await fresh(), destination);
184
+ conflict();
185
+ }
186
+ catch (error) {
187
+ if (!(error && typeof error === 'object' && 'status' in error && error.status === 404))
188
+ throw error;
189
+ }
190
+ const original = await this.transfer.copy(await fresh(), source, destination, fresh);
191
+ job.copied++;
192
+ if (input.kind !== 'copy') {
193
+ const current = await this.transfer.stat(await fresh(), source);
194
+ if (!original.etag || original.etag !== current.etag || original.contentLength !== current.contentLength || original.lastModified !== current.lastModified) {
195
+ throw new OssError('Source changed', 'oss_source_changed', 409);
196
+ }
197
+ await this.transfer.remove(await fresh(), source);
198
+ }
199
+ }
200
+ job.done++;
201
+ };
202
+ for (const entry of selected) {
203
+ check();
204
+ if (!entry.directory) {
205
+ job.scanned++;
206
+ await perform(entry.key, entry);
207
+ continue;
208
+ }
209
+ let marker;
210
+ for (;;) {
211
+ const pageSession = await fresh();
212
+ const page = await this.transfer.list(pageSession, entry.key, 200, { marker });
213
+ // Validate before mutating a page, including monotonic pagination and exact subtree boundaries.
214
+ if (page.objects.length > 200 || page.objects.some(object => !object.key.startsWith(entry.key) || marker && compareKeys(object.key, marker) <= 0)
215
+ || new Set(page.objects.map(object => object.key)).size !== page.objects.length
216
+ || page.truncated && (!page.nextMarker || marker && compareKeys(page.nextMarker, marker) <= 0 || !page.nextMarker.startsWith(entry.key)
217
+ || page.objects.some(object => compareKeys(object.key, page.nextMarker) > 0)))
218
+ invalid();
219
+ for (const object of page.objects)
220
+ key(pageSession, object.key, input.kind === 'delete' ? 'delete' : 'read');
221
+ job.scanned += page.objects.length;
222
+ if (input.kind === 'delete') {
223
+ // Two requests per full page instead of one request per object. Stop between batches.
224
+ for (let offset = 0; offset < page.objects.length; offset += 100) {
225
+ check();
226
+ const keys = page.objects.slice(offset, offset + 100).map(object => object.key);
227
+ job.currentKey = keys[0];
228
+ const session = await fresh();
229
+ let result;
230
+ try {
231
+ result = await this.transfer.removeBatch(session, keys);
232
+ }
233
+ catch (error) {
234
+ job.failed += keys.length;
235
+ throw error;
236
+ }
237
+ job.done += result.deleted.length;
238
+ job.failed += result.failed.length;
239
+ if (result.failed.length)
240
+ throw new OssError('Partial delete failure', 'oss_transfer_failed', 502);
241
+ }
242
+ }
243
+ else {
244
+ let cursor = 0, failure;
245
+ await Promise.all(Array.from({ length: 3 }, async () => {
246
+ while (cursor < page.objects.length && !failure) {
247
+ const object = page.objects[cursor++];
248
+ try {
249
+ await perform(object.key, entry);
250
+ }
251
+ catch (error) {
252
+ if (!(error instanceof Stopped))
253
+ job.failed++;
254
+ failure ??= error;
255
+ }
256
+ }
257
+ }));
258
+ if (failure)
259
+ throw failure;
260
+ }
261
+ check();
262
+ if (!page.truncated)
263
+ break;
264
+ marker = page.nextMarker;
265
+ }
266
+ }
267
+ }
268
+ }
269
+ //# sourceMappingURL=file-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-operations.js","sourceRoot":"","sources":["../../src/oss/file-operations.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export interface LocalPicker {
2
2
  pickFiles(): Promise<string[] | undefined>;
3
3
  pickFolder(purpose: "upload" | "download"): Promise<string | undefined>;
4
+ close?(): void;
4
5
  }
5
6
  export interface LocalPickerRunOptions {
7
+ signal: AbortSignal;
6
8
  shell: false;
7
9
  timeout: number;
8
10
  maxBuffer: number;