@numa-tech/numa 1.17.1 → 1.19.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 (46) hide show
  1. package/README.md +114 -3
  2. package/THIRD_PARTY_NOTICES.md +50 -0
  3. package/dist/command-catalog.js +19 -0
  4. package/dist/command-catalog.js.map +1 -1
  5. package/dist/oss/auth-code.d.ts +4 -0
  6. package/dist/oss/auth-code.js +56 -0
  7. package/dist/oss/auth-code.js.map +1 -0
  8. package/dist/oss/clipboard.d.ts +10 -0
  9. package/dist/oss/clipboard.js +43 -0
  10. package/dist/oss/clipboard.js.map +1 -0
  11. package/dist/oss/commands.d.ts +6 -1
  12. package/dist/oss/commands.js +122 -2
  13. package/dist/oss/commands.js.map +1 -1
  14. package/dist/oss/local-picker.d.ts +23 -0
  15. package/dist/oss/local-picker.js +245 -0
  16. package/dist/oss/local-picker.js.map +1 -0
  17. package/dist/oss/transfer-paths.d.ts +16 -0
  18. package/dist/oss/transfer-paths.js +131 -0
  19. package/dist/oss/transfer-paths.js.map +1 -0
  20. package/dist/oss/transfer-queue.d.ts +62 -0
  21. package/dist/oss/transfer-queue.js +349 -0
  22. package/dist/oss/transfer-queue.js.map +1 -0
  23. package/dist/oss/transfer-types.d.ts +54 -0
  24. package/dist/oss/transfer-types.js +2 -0
  25. package/dist/oss/transfer-types.js.map +1 -0
  26. package/dist/oss/transfer-worker.d.ts +3 -0
  27. package/dist/oss/transfer-worker.js +415 -0
  28. package/dist/oss/transfer-worker.js.map +1 -0
  29. package/dist/oss/transfers.d.ts +26 -0
  30. package/dist/oss/transfers.js +82 -0
  31. package/dist/oss/transfers.js.map +1 -1
  32. package/dist/oss/web-icons.d.ts +3 -0
  33. package/dist/oss/web-icons.js +4 -0
  34. package/dist/oss/web-icons.js.map +1 -0
  35. package/dist/oss/web-page.d.ts +4 -0
  36. package/dist/oss/web-page.js +343 -0
  37. package/dist/oss/web-page.js.map +1 -0
  38. package/dist/oss/web-session.d.ts +16 -0
  39. package/dist/oss/web-session.js +62 -0
  40. package/dist/oss/web-session.js.map +1 -0
  41. package/dist/oss/web.d.ts +25 -0
  42. package/dist/oss/web.js +425 -0
  43. package/dist/oss/web.js.map +1 -0
  44. package/dist/web-console.js +1 -1
  45. package/dist/web-console.js.map +1 -1
  46. package/package.json +7 -4
@@ -1,9 +1,12 @@
1
1
  import process from "node:process";
2
- import { loadAppConfig } from "../app-config.js";
2
+ import { select, isCancel } from "@clack/prompts";
3
+ import { appConfigDirectory, loadAppConfig } from "../app-config.js";
3
4
  import { loadConfig } from "../config.js";
4
5
  import { OssClient } from "./client.js";
5
6
  import { OssError, sanitizeOssOutput } from "./errors.js";
6
7
  import { sessionMetadata, OssTransferClient } from "./transfers.js";
8
+ import { createOssBrowserAuthCode } from "./auth-code.js";
9
+ import { copyOssAuthCode, clipboardUnavailable } from "./clipboard.js";
7
10
  import { boundedInteger, selectedFields, validateSearchOptions, searchObjects, projectEntries, renderEntries } from "./search.js";
8
11
  function jsonEnabled(command, configuredOutput) {
9
12
  return Boolean(command.optsWithGlobals().json || configuredOutput === "json");
@@ -46,6 +49,19 @@ function yes(value, action) {
46
49
  if (!value)
47
50
  throw new OssError(`${action} requires --yes.`, "oss_confirmation_required");
48
51
  }
52
+ async function selectOssGrant(grants) {
53
+ const terminalText = (text) => text.replace(/[\u0000-\u001f\u007f-\u009f]/gu, " ");
54
+ const selected = await select({
55
+ message: "选择 OSS Grant(↑↓ 选择,Enter 确认)",
56
+ output: process.stderr,
57
+ options: grants.map(grant => ({
58
+ value: grant.grantId,
59
+ label: terminalText(`${grant.grantId} · oss://${grant.bucketName}/${grant.objectPrefix ?? ""} · ${grant.policyCode ?? ""}`),
60
+ hint: terminalText(`${grant.actions?.join(", ") ?? grant.permissionLevel ?? "未知权限"} · 最长 ${grant.maxSessionSeconds} 秒`)
61
+ }))
62
+ });
63
+ return isCancel(selected) ? undefined : selected;
64
+ }
49
65
  export function formatOssGrants(result) {
50
66
  if (!result.grants.length)
51
67
  return "当前身份没有 OSS 授权;请在平台策略绑定与授权中为当前用户、团队或应用负责团队配置 Grant。无需创建个人 RAM 用户。";
@@ -65,7 +81,7 @@ export function registerOssCommands(program, dependencies = {}) {
65
81
  const emit = (command, payload, text) => output(command, payload, text, dependencies.write ?? (text => { process.stdout.write(text); }));
66
82
  const oss = program
67
83
  .command("oss")
68
- .description("使用平台签发的短期 STS 直接读写受限 Aliyun OSS(凭据仅保存在内存)");
84
+ .description("使用平台签发的短期 STS 读写受限 Aliyun OSS,或导出 ossbrowser 授权码");
69
85
  oss
70
86
  .command("grants")
71
87
  .description("列出当前身份的 OSS Policy 授权及默认 Role 就绪状态")
@@ -103,6 +119,110 @@ export function registerOssCommands(program, dependencies = {}) {
103
119
  const transfer = dependencies.transferFactory?.() ?? new OssTransferClient();
104
120
  const write = dependencies.write ?? ((text) => { process.stdout.write(text); });
105
121
  const diagnostic = dependencies.diagnosticWrite ?? ((text) => { process.stderr.write(text); });
122
+ oss.command("auth-code [grantId]")
123
+ .description("生成 ossbrowser 短期授权码;省略 Grant ID 时交互选择,可复制到剪贴板")
124
+ .option("-c, --clipboard", "只复制授权码到系统剪贴板,不在终端回显")
125
+ .option("--ttl <seconds>", "STS 有效期,900-3600 秒,不能超过 Grant 上限", ttl, 900)
126
+ .action(async (grant, options, command) => {
127
+ const config = await loadAppConfig();
128
+ let id;
129
+ const api = client();
130
+ if (grant !== undefined)
131
+ id = grantId(grant);
132
+ else {
133
+ const interactive = dependencies.interactive?.() ?? Boolean(process.stdin.isTTY && process.stderr.isTTY);
134
+ if (!interactive || jsonEnabled(command, config.output)) {
135
+ throw new OssError("请提供 Grant ID;省略 ID 的交互选择需要终端且不能使用 JSON 输出。可先运行 oss grants --json 查看授权。", "oss_input_invalid");
136
+ }
137
+ const result = await api.listGrants();
138
+ const available = result.grants.filter(g => g.status === "ACTIVE" && g.cloudPolicySynced
139
+ && g.roleName && g.bucketName && g.effect !== "Deny" && g.maxSessionSeconds >= options.ttl);
140
+ if (!available.length) {
141
+ throw new OssError("当前没有满足有效期要求的可用 OSS Grant;请通过 oss grants 核对授权状态及有效期上限。", "oss_grant_unavailable");
142
+ }
143
+ const selected = await (dependencies.selectGrant ?? selectOssGrant)(available);
144
+ if (selected === undefined)
145
+ throw new OssError("已取消选择,未申请 STS。", "cli_cancelled");
146
+ if (!available.some(g => g.grantId === selected))
147
+ throw new OssError("所选 Grant 不在可用清单中。", "oss_input_invalid");
148
+ id = selected;
149
+ }
150
+ const session = await api.issueSession(id, options.ttl);
151
+ const code = createOssBrowserAuthCode(session, id);
152
+ if (options.clipboard) {
153
+ try {
154
+ await (dependencies.clipboardWrite ?? copyOssAuthCode)(code);
155
+ }
156
+ catch {
157
+ throw clipboardUnavailable();
158
+ }
159
+ }
160
+ const metadata = sanitizeOssOutput(sessionMetadata(session));
161
+ if (jsonEnabled(command, config.output)) {
162
+ // This explicit export command is the only credential-bearing output.
163
+ // Ordinary session, object and MCP responses remain sanitized.
164
+ write(`${JSON.stringify({ ok: true, session: metadata,
165
+ ...(options.clipboard ? { copied: true } : { auth_code: code }) }, null, 2)}\n`);
166
+ }
167
+ else {
168
+ if (!options.clipboard)
169
+ write(`${code}\n`);
170
+ diagnostic(`${sanitizeOssOutput(`ossbrowser 授权码${options.clipboard ? "已复制到剪贴板" : "已输出"},到期 ${session.expiration}。`)}\n`);
171
+ }
172
+ });
173
+ oss.command("web [grantId]")
174
+ .description("启动本机 OSS 网页文件管理器,支持切换授权和 STS 续期")
175
+ .option("--port <number>", "本机端口,默认随机可用端口", value => {
176
+ const parsed = Number(value);
177
+ if (!/^\d+$/u.test(value) || !Number.isInteger(parsed) || parsed < 0 || parsed > 65535) {
178
+ throw new OssError("端口必须是 0–65535 的整数。", "oss_input_invalid");
179
+ }
180
+ return parsed;
181
+ }, 0)
182
+ .option("--no-open", "只打印本机链接,不自动打开浏览器")
183
+ .action(async (grant, options, command) => {
184
+ const config = await loadAppConfig();
185
+ if (jsonEnabled(command, config.output))
186
+ throw new OssError("oss web 是常驻服务,请使用文本输出。", "oss_input_invalid");
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
+ 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]) });
211
+ const close = () => { void handle.close().catch(() => diagnostic("任务记录保存失败,请检查本地任务目录。\n")); };
212
+ process.once("SIGINT", close);
213
+ process.once("SIGTERM", close);
214
+ try {
215
+ write(`Numa OSS 文件管理器:${handle.url}\n关闭网页不影响传输;按 Ctrl+C 暂停任务并停止本机服务。\n`);
216
+ if (options.open && !handle.browserOpened)
217
+ diagnostic("未能自动打开浏览器,请复制上方完整链接访问。\n");
218
+ await handle.waitUntilClosed();
219
+ }
220
+ finally {
221
+ process.removeListener("SIGINT", close);
222
+ process.removeListener("SIGTERM", close);
223
+ await handle.close();
224
+ }
225
+ });
106
226
  const listingOutput = async (command, options, payload, entries, summary) => {
107
227
  const config = await loadAppConfig();
108
228
  const format = options.format ?? (jsonEnabled(command, config.output) ? "json" : "table");
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/oss/commands.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAwC,MAAM,aAAa,CAAC;AAExK,SAAS,WAAW,CAAC,OAAgB,EAAE,gBAAiC;IACtE,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,EAAsB,CAAC,IAAI,IAAI,gBAAgB,KAAK,MAAM,CAAC,CAAC;AACpG,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,OAAgB,EAAE,IAAY,EAAE,KAA6B;IACnG,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;QACtG,KAAK,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,qCAAqC,EAAE,mBAAmB,CAAC,CAAC;IACjI,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,QAAQ,CAAC,sDAAsD,EAAE,mBAAmB,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;QAC7D,MAAM,IAAI,QAAQ,CAAC,8CAA8C,EAAE,mBAAmB,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,KAAK,GAAG,YAAY;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/J,MAAM,IAAI,QAAQ,CAAC,GAAG,KAAK,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,GAAG,CAAC,KAA0B,EAAE,MAAc;IACrD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,GAAG,MAAM,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;AAC3F,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,MAA4B;IAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,kEAAkE,CAAC;IACrG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAC3H,OAAO,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACrF,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC;YAC9F,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,CAAC,UAAU,IAAI,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,IAAI;kBACxG,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,MAAM,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,MAAM,IAAI;kBAC5I,aAAa,CAAC,CAAC,QAAQ,IAAI,KAAK,SAAS,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACnL,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,KAAwB;IAC/C,OAAO,OAAO,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,SAAS,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxM,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,YAAY,GAA2B,EAAE;IAC7F,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,CAAC,OAAgB,EAAE,OAAgB,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnK,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,2CAA2C,CAAC,CAAC;IAE5D,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,CACR,OAAO,EACP,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACzE,eAAe,CAAC,MAAM,CAAC,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAC9F,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACL,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC;SAC3E,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,WAAW,2EAA2E,OAAO,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;IACtQ,CAAC,CAAC,CAAC;IACL,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC;SACpF,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC;SAClD,MAAM,CAAC,OAAO,EAAE,kCAAkC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAA0C,EAAE,OAAgB,EAAE,EAAE;QAC9F,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvH,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAyB,EAAE,OAAgB,EAAE,EAAE;QAC3E,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,OAAO,CAAC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACpI,CAAC,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,EAAE,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,MAAM,aAAa,GAAG,KAAK,EAAE,OAAgB,EAAE,OAAsB,EAAE,OAAgB,EAAE,OAAsB,EAAE,OAAe,EAAE,EAAE;QAClI,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,MAAM;YAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACpF,CAAC;YACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAoC,CAAC,CAAC;YACtF,IAAI,MAAM,KAAK,OAAO;gBAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;iBACzE,CAAC;gBAAC,IAAI,QAAQ;oBAAE,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;gBAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;QAC/F,CAAC;IACH,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,OAAsB,EAAE,EAAE;QAC/D,IAAI,OAAO,CAAC,eAAe,EAAsB,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACtG,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE,mBAAmB,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;IAEF,GAAG;SACA,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,EAAE,GAAG,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;SAChD,MAAM,CAAC,yBAAyB,EAAE,cAAc,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,kEAAkE,CAAC;SAC/F,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,MAA0B,EAAE,OAAwD,EAAE,OAAgB,EAAE,EAAE;QACtI,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,SAAS;YAAE,MAAM,IAAI,QAAQ,CAAC,yEAAyE,EAAE,mBAAmB,CAAC,CAAC;QAC5I,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClF,MAAM,OAAO,GAAkB,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAoB,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpL,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5G,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EACrG,UAAU,MAAM,CAAC,OAAO,CAAC,MAAM,WAAW,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChL,CAAC,CAAC,CAAC;IAEL,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC;SACrC,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAChD,MAAM,CAAC,yBAAyB,EAAE,cAAc,CAAC;SACjD,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACpH,MAAM,CAAC,oBAAoB,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACpH,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;SACjE,MAAM,CAAC,0BAA0B,EAAE,eAAe,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,CAAC,KAAa,EAAE,QAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;SAC/H,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;SAC5D,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;SAC3E,MAAM,CAAC,wBAAwB,EAAE,kCAAkC,CAAC;SACpE,MAAM,CAAC,yBAAyB,EAAE,mCAAmC,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,EAAE,KAAK,CAAC;SACzE,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,CAAC;SAChE,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;SACnI,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;SACpE,MAAM,CAAC,mBAAmB,EAAE,gGAAgG,CAAC;SAC7H,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;SACxE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,MAA0B,EAAE,OAAyC,EAAE,OAAgB,EAAE,EAAE;QACvH,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjD,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,YAAY,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrS,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpM,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,SAAiB,EAAE,OAAyB,EAAE,OAAgB,EAAE,EAAE;QAC9F,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,SAAS,EAAE,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,0BAA0B,CAAC;SACvC,cAAc,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,SAAiB,EAAE,OAAyC,EAAE,OAAgB,EAAE,EAAE;QAC9G,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,QAAQ,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,cAAc,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1H,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,4BAA4B,CAAC;SACrC,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,SAAiB,EAAE,IAAY,EAAE,OAA8C,EAAE,OAAgB,EAAE,EAAE;QACjI,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,QAAQ,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3F,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,cAAc,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC;IAC/I,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,kBAAkB,CAAC;SAC/B,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC;SACtC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,SAAiB,EAAE,OAAwC,EAAE,OAAgB,EAAE,EAAE;QAC7G,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,cAAc,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/oss/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface LocalPicker {
2
+ pickFiles(): Promise<string[] | undefined>;
3
+ pickFolder(purpose: "upload" | "download"): Promise<string | undefined>;
4
+ }
5
+ export interface LocalPickerRunOptions {
6
+ shell: false;
7
+ timeout: number;
8
+ maxBuffer: number;
9
+ stdio: readonly ["ignore", "pipe", "ignore"];
10
+ env: NodeJS.ProcessEnv;
11
+ }
12
+ export interface LocalPickerRunResult {
13
+ stdout: string;
14
+ exitCode: number | null;
15
+ error?: unknown;
16
+ }
17
+ export type LocalPickerRunner = (file: string, args: readonly string[], options: LocalPickerRunOptions) => Promise<LocalPickerRunResult>;
18
+ export interface LocalPickerOptions {
19
+ platform?: NodeJS.Platform;
20
+ env?: NodeJS.ProcessEnv;
21
+ run?: LocalPickerRunner;
22
+ }
23
+ export declare function createLocalPicker(options?: LocalPickerOptions): LocalPicker;
@@ -0,0 +1,245 @@
1
+ import { spawn } from "node:child_process";
2
+ import { randomBytes } from "node:crypto";
3
+ import { posix, win32 } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { OssError } from "./errors.js";
6
+ const PICKER_TIMEOUT_MS = 120_000;
7
+ const PICKER_MAX_BUFFER = 1024 * 1024;
8
+ function unavailable() {
9
+ return new OssError("无法打开系统文件选择器。请在桌面会话中重试;Linux 需安装 zenity 或 kdialog。", "oss_picker_unavailable");
10
+ }
11
+ function failed() {
12
+ return new OssError("系统文件选择器失败,请在桌面终端重试。", "oss_picker_failed");
13
+ }
14
+ function invalidResponse() {
15
+ return new OssError("系统文件选择器返回了无效路径,请重试。", "oss_picker_invalid_response");
16
+ }
17
+ const runNative = (file, args, options) => new Promise(resolve => {
18
+ let stdout = "";
19
+ let settled = false;
20
+ let tooLarge = false;
21
+ const child = spawn(file, args, {
22
+ env: options.env,
23
+ shell: options.shell,
24
+ windowsHide: true,
25
+ stdio: ["ignore", "pipe", "ignore"]
26
+ });
27
+ const finish = (result) => {
28
+ if (settled)
29
+ return;
30
+ settled = true;
31
+ clearTimeout(timer);
32
+ resolve(result);
33
+ };
34
+ const timer = setTimeout(() => {
35
+ child.kill();
36
+ finish({ stdout: "", exitCode: null, error: new Error("picker timeout") });
37
+ }, options.timeout);
38
+ timer.unref();
39
+ child.stdout?.setEncoding("utf8");
40
+ child.stdout?.on("data", (chunk) => {
41
+ if (tooLarge)
42
+ return;
43
+ stdout += chunk;
44
+ if (Buffer.byteLength(stdout, "utf8") > options.maxBuffer) {
45
+ tooLarge = true;
46
+ stdout = "";
47
+ child.kill();
48
+ }
49
+ });
50
+ child.once("error", error => finish({ stdout: "", exitCode: null, error }));
51
+ child.once("close", exitCode => finish({
52
+ stdout,
53
+ exitCode,
54
+ ...(tooLarge ? { error: new Error("picker output limit exceeded") } : {})
55
+ }));
56
+ });
57
+ const macFilesScript = String.raw `
58
+ ObjC.import('stdlib');
59
+ const app = Application.currentApplication();
60
+ app.includeStandardAdditions = true;
61
+ (() => {
62
+ try {
63
+ const selected = app.chooseFile({withPrompt: 'Select files to upload', multipleSelectionsAllowed: true});
64
+ return JSON.stringify(selected.map(item => Path(item).toString()));
65
+ } catch (error) {
66
+ if (error.number === -128) return 'null';
67
+ throw error;
68
+ }
69
+ })()`;
70
+ function macFolderScript(purpose) {
71
+ const prompt = purpose === "upload" ? "Select folder to upload" : "Select download destination";
72
+ return String.raw `
73
+ ObjC.import('stdlib');
74
+ const app = Application.currentApplication();
75
+ app.includeStandardAdditions = true;
76
+ (() => {
77
+ try {
78
+ const selected = app.chooseFolder({withPrompt: '${prompt}'});
79
+ return JSON.stringify(Path(selected).toString());
80
+ } catch (error) {
81
+ if (error.number === -128) return 'null';
82
+ throw error;
83
+ }
84
+ })()`;
85
+ }
86
+ const windowsFilesScript = String.raw `
87
+ $ErrorActionPreference = 'Stop'
88
+ [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
89
+ Add-Type -AssemblyName System.Windows.Forms
90
+ $dialog = New-Object System.Windows.Forms.OpenFileDialog
91
+ $dialog.Multiselect = $true
92
+ $dialog.Title = 'Select files to upload'
93
+ if ($dialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
94
+ ConvertTo-Json -Compress -InputObject @($dialog.FileNames)
95
+ } else { 'null' }
96
+ `;
97
+ function windowsFolderScript(purpose) {
98
+ const description = purpose === "upload" ? "Select folder to upload" : "Select download destination";
99
+ return String.raw `
100
+ $ErrorActionPreference = 'Stop'
101
+ [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding($false)
102
+ Add-Type -AssemblyName System.Windows.Forms
103
+ $dialog = New-Object System.Windows.Forms.FolderBrowserDialog
104
+ $dialog.Description = '${description}'
105
+ if ($dialog.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
106
+ ConvertTo-Json -Compress -InputObject $dialog.SelectedPath
107
+ } else { 'null' }
108
+ `;
109
+ }
110
+ function isMissingTool(error) {
111
+ return !!error && typeof error === "object" && "code" in error && error.code === "ENOENT";
112
+ }
113
+ function parseJson(stdout) {
114
+ if (Buffer.byteLength(stdout, "utf8") > PICKER_MAX_BUFFER)
115
+ throw invalidResponse();
116
+ try {
117
+ return JSON.parse(stdout.trim());
118
+ }
119
+ catch {
120
+ throw invalidResponse();
121
+ }
122
+ }
123
+ function validatePaths(value, platform, multiple) {
124
+ if (value === null)
125
+ return undefined;
126
+ const values = multiple ? value : [value];
127
+ if (!Array.isArray(values) || values.length === 0 || values.length > 10_000)
128
+ throw invalidResponse();
129
+ const isAbsolute = platform === "win32" ? win32.isAbsolute : posix.isAbsolute;
130
+ if (!values.every(item => typeof item === "string" && item.length > 0 && isAbsolute(item))) {
131
+ throw invalidResponse();
132
+ }
133
+ return values;
134
+ }
135
+ export function createLocalPicker(options = {}) {
136
+ const platform = options.platform ?? process.platform;
137
+ const env = options.env ?? process.env;
138
+ const run = options.run ?? runNative;
139
+ let active = false;
140
+ const runOptions = {
141
+ shell: false,
142
+ timeout: PICKER_TIMEOUT_MS,
143
+ maxBuffer: PICKER_MAX_BUFFER,
144
+ stdio: ["ignore", "pipe", "ignore"],
145
+ env
146
+ };
147
+ const exclusive = async (operation) => {
148
+ if (active)
149
+ throw new OssError("已有系统文件选择器正在打开。", "oss_picker_busy");
150
+ active = true;
151
+ try {
152
+ return await operation();
153
+ }
154
+ finally {
155
+ active = false;
156
+ }
157
+ };
158
+ const invokeJson = async (file, args, multiple) => {
159
+ let result;
160
+ try {
161
+ result = await run(file, args, runOptions);
162
+ }
163
+ catch {
164
+ throw failed();
165
+ }
166
+ if (result.error || result.exitCode !== 0)
167
+ throw failed();
168
+ return validatePaths(parseJson(result.stdout), platform, multiple);
169
+ };
170
+ const invokeLinux = async (zenityArgs, kdialogArgs, multiple, zenitySeparator) => {
171
+ let result;
172
+ let usedKdialog = false;
173
+ try {
174
+ result = await run("zenity", zenityArgs, runOptions);
175
+ if (isMissingTool(result.error)) {
176
+ usedKdialog = true;
177
+ result = await run("kdialog", kdialogArgs, runOptions);
178
+ }
179
+ }
180
+ catch (error) {
181
+ if (!isMissingTool(error))
182
+ throw failed();
183
+ try {
184
+ usedKdialog = true;
185
+ result = await run("kdialog", kdialogArgs, runOptions);
186
+ }
187
+ catch (fallbackError) {
188
+ if (isMissingTool(fallbackError))
189
+ throw unavailable();
190
+ throw failed();
191
+ }
192
+ }
193
+ if (isMissingTool(result.error))
194
+ throw unavailable();
195
+ if (result.exitCode === 1 && !result.error)
196
+ return undefined;
197
+ if (result.error || result.exitCode !== 0)
198
+ throw failed();
199
+ if (Buffer.byteLength(result.stdout, "utf8") > PICKER_MAX_BUFFER)
200
+ throw invalidResponse();
201
+ // Native tools append LF. A preceding CR can belong to the filename.
202
+ const output = result.stdout.endsWith("\n") ? result.stdout.slice(0, -1) : result.stdout;
203
+ let values;
204
+ try {
205
+ values = multiple
206
+ ? usedKdialog
207
+ ? output.split("\n").filter(Boolean).map(value => fileURLToPath(value.replaceAll(" ", "%20")))
208
+ : output.split(zenitySeparator).filter(Boolean)
209
+ : [output];
210
+ }
211
+ catch {
212
+ throw invalidResponse();
213
+ }
214
+ return validatePaths(multiple ? values : values[0], platform, multiple);
215
+ };
216
+ return {
217
+ pickFiles: () => exclusive(async () => {
218
+ if (platform === "darwin")
219
+ return invokeJson("/usr/bin/osascript", ["-l", "JavaScript", "-e", macFilesScript], true);
220
+ if (platform === "win32")
221
+ return invokeJson("powershell.exe", ["-NoProfile", "-NonInteractive", "-STA", "-Command", windowsFilesScript], true);
222
+ if (platform === "linux") {
223
+ if (!env.DISPLAY && !env.WAYLAND_DISPLAY)
224
+ throw unavailable();
225
+ const separator = `numa-${randomBytes(16).toString("hex")}`;
226
+ return invokeLinux(["--file-selection", "--multiple", `--separator=${separator}`, "--title=Select files to upload"], ["--getopenurl", env.HOME ?? "/", "*", "--multiple", "--separate-output", "--title", "Select files to upload"], true, separator);
227
+ }
228
+ throw unavailable();
229
+ }),
230
+ pickFolder: purpose => exclusive(async () => {
231
+ if (platform === "darwin")
232
+ return (await invokeJson("/usr/bin/osascript", ["-l", "JavaScript", "-e", macFolderScript(purpose)], false))?.[0];
233
+ if (platform === "win32")
234
+ return (await invokeJson("powershell.exe", ["-NoProfile", "-NonInteractive", "-STA", "-Command", windowsFolderScript(purpose)], false))?.[0];
235
+ if (platform === "linux") {
236
+ if (!env.DISPLAY && !env.WAYLAND_DISPLAY)
237
+ throw unavailable();
238
+ const title = purpose === "upload" ? "Select folder to upload" : "Select download destination";
239
+ return (await invokeLinux(["--file-selection", "--directory", `--title=${title}`], ["--getexistingdirectory", env.HOME ?? "/", "--title", title], false))?.[0];
240
+ }
241
+ throw unavailable();
242
+ })
243
+ };
244
+ }
245
+ //# sourceMappingURL=local-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-picker.js","sourceRoot":"","sources":["../../src/oss/local-picker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { AccessSession } from './schemas.js';
2
+ import type { LocalFileIdentity } from './transfer-types.js';
3
+ import { OssTransferClient } from './transfers.js';
4
+ export interface PlannedFile {
5
+ key: string;
6
+ localPath: string;
7
+ localRoot: string;
8
+ size: number;
9
+ source?: LocalFileIdentity;
10
+ }
11
+ export declare function transferBinding(session: AccessSession): string;
12
+ export declare function planUploadJobs(session: AccessSession, selected: string[], prefix: string, folder: boolean): Promise<PlannedFile[]>;
13
+ export declare function planDownloadJobs(session: AccessSession, entries: {
14
+ key: string;
15
+ directory: boolean;
16
+ }[], selectedRoot: string, transfer: OssTransferClient): Promise<PlannedFile[]>;