@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 +29 -1
- package/dist/oss/commands.d.ts +2 -1
- package/dist/oss/commands.js +41 -23
- package/dist/oss/commands.js.map +1 -1
- package/dist/oss/file-operations.d.ts +57 -0
- package/dist/oss/file-operations.js +269 -0
- package/dist/oss/file-operations.js.map +1 -0
- package/dist/oss/local-picker.d.ts +2 -0
- package/dist/oss/local-picker.js +6 -0
- package/dist/oss/local-picker.js.map +1 -1
- package/dist/oss/transfer-queue.js +1 -1
- package/dist/oss/transfer-queue.js.map +1 -1
- package/dist/oss/transfers.d.ts +7 -0
- package/dist/oss/transfers.js +87 -0
- package/dist/oss/transfers.js.map +1 -1
- package/dist/oss/web-page.js +365 -30
- package/dist/oss/web-page.js.map +1 -1
- package/dist/oss/web-service.d.ts +45 -0
- package/dist/oss/web-service.js +107 -0
- package/dist/oss/web-service.js.map +1 -0
- package/dist/oss/web.d.ts +10 -0
- package/dist/oss/web.js +116 -14
- package/dist/oss/web.js.map +1 -1
- package/package.json +5 -5
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
|
上传提交结果不明时,需要读取权限核验完成状态;无法核验时保留任务并提示失败。
|
package/dist/oss/commands.d.ts
CHANGED
|
@@ -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;
|
package/dist/oss/commands.js
CHANGED
|
@@ -171,7 +171,7 @@ export function registerOssCommands(program, dependencies = {}) {
|
|
|
171
171
|
}
|
|
172
172
|
});
|
|
173
173
|
oss.command("web [grantId]")
|
|
174
|
-
.description("
|
|
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
|
|
209
|
-
|
|
210
|
-
|
|
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);
|
package/dist/oss/commands.js.map
CHANGED
|
@@ -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;
|