@xiaoso/dsh-tool-plus 0.1.3 → 0.1.5
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/lib/{abort-CsjZitYv.mjs → abort-Cwwm4Err.mjs} +1 -1
- package/lib/{amazon-bedrock-CfNIDi5k.mjs → amazon-bedrock-TVMpUTRG.mjs} +7 -7
- package/lib/{anthropic-BVfZdnMp.mjs → anthropic-BL6LFDQS.mjs} +12 -12
- package/lib/{anthropic-DGXmmg43.mjs → anthropic-CDmj476p.mjs} +2 -2
- package/lib/{api-key-login-BikQAfD-.mjs → api-key-login-CIDnXeYd.mjs} +1 -1
- package/lib/{aws-credentials-DrssNMn_.mjs → aws-credentials-B20dliS7.mjs} +5 -5
- package/lib/{azure-openai-responses-C-5q-5K2.mjs → azure-openai-responses-BkhsLmN3.mjs} +8 -8
- package/lib/{browser-render-z6b8Ljo9.mjs → browser-render-CmgvSNte.mjs} +2 -2
- package/lib/{bundled-references-D71z7_T3.mjs → bundled-references-ChZSPDFw.mjs} +2 -2
- package/lib/{callback-server-Di6C4RqI.mjs → callback-server-CFJK-jvK.mjs} +1 -1
- package/lib/{cursor-CQQtygwl.mjs → cursor-B6HcmplF.mjs} +1 -1
- package/lib/{cursor-Hr5Zw1gt.mjs → cursor-B8m6SqAH.mjs} +3 -3
- package/lib/{cursor-DXJxwdcg.mjs → cursor-CRpLpaZ3.mjs} +7 -7
- package/lib/{device-code-wZUbgPdB.mjs → device-code-CuXTWYwY.mjs} +1 -1
- package/lib/{devin-DXJoDlW2.mjs → devin-BcQwht1W.mjs} +1 -1
- package/lib/{devin-CF6UhCFw.mjs → devin-BvMfGevz.mjs} +2 -2
- package/lib/{devin-P37gURs_.mjs → devin-DUAfvBsW.mjs} +5 -5
- package/lib/{error-DoHuatWw.mjs → error-C-f_Wnw4.mjs} +1 -1
- package/lib/{event-stream-C-FmBYUt.mjs → event-stream-Dh2guZxS.mjs} +1 -1
- package/lib/{github-copilot-qETlj_bD.mjs → github-copilot-B3kQl0g0.mjs} +1 -1
- package/lib/{github-copilot-C2dTonBX.mjs → github-copilot-suDymKrx.mjs} +3 -3
- package/lib/{gitlab-duo-FQZiFRQe.mjs → gitlab-duo-BriUTP8k.mjs} +3 -3
- package/lib/{gitlab-duo-workflow-DLTabzOy.mjs → gitlab-duo-workflow-wK5Ljzmc.mjs} +2 -2
- package/lib/{google-BilwFSzx.mjs → google-CE5tFDod.mjs} +3 -3
- package/lib/{google-antigravity-BfBiINdu.mjs → google-antigravity-C1jgNljz.mjs} +2 -2
- package/lib/{google-auth-CWlKXJ-H.mjs → google-auth-DYJLM792.mjs} +3 -3
- package/lib/{google-gemini-cli-CB89ljNz.mjs → google-gemini-cli-8BT513Ul.mjs} +3 -3
- package/lib/{google-gemini-cli-CygFcR6N.mjs → google-gemini-cli-D6cSmfvB.mjs} +8 -8
- package/lib/{google-oauth-shared-Cn82h1o2.mjs → google-oauth-shared-BLVTvokk.mjs} +2 -2
- package/lib/{google-shared-CF1JrqTM.mjs → google-shared-CVbHK5vZ.mjs} +6 -6
- package/lib/{google-vertex-DgMhhFw8.mjs → google-vertex-Bui-ypAe.mjs} +5 -5
- package/lib/{identity-C0SPVyIZ.mjs → identity-HNO1Oe9B.mjs} +1 -1
- package/lib/{idle-iterator-HzbbfXP4.mjs → idle-iterator-CYAxUkSD.mjs} +2 -2
- package/lib/index.mjs +9256 -9247
- package/lib/{kimi-DHDO6Fde.mjs → kimi-DgcUpPtK.mjs} +4 -4
- package/lib/{launch-DwpE70Pv.mjs → launch-BmgEUycu.mjs} +2 -2
- package/lib/{markit-B9exZ0ZV.mjs → markit-DtGoRE6M.mjs} +2 -2
- package/lib/{minimax-code-vAhEXhev.mjs → minimax-code-Y3h5li9N.mjs} +1 -1
- package/lib/{models-Cp3PzU3l.mjs → models-DRA2c_8U.mjs} +1 -1
- package/lib/{ollama-TrkXTNqE.mjs → ollama-Df9ce-Cp.mjs} +8 -8
- package/lib/{openai-codex-CrjHtSH4.mjs → openai-codex-CAVI3Me-.mjs} +3 -3
- package/lib/{openai-codex-responses-C4uMpWNy.mjs → openai-codex-responses-BcnOotRB.mjs} +10 -10
- package/lib/{openai-completions-1ydXm5vF.mjs → openai-completions-Bq4WT47M.mjs} +13 -13
- package/lib/{openai-reasoning-fallback-CigKCyzc.mjs → openai-reasoning-fallback-DXsfiSXO.mjs} +2 -2
- package/lib/{openai-responses-CN79gRGQ.mjs → openai-responses-Mq_-PjvE.mjs} +10 -10
- package/lib/{opencode-CEGlimzL.mjs → opencode-BsVw9rCD.mjs} +1 -1
- package/lib/{perplexity-BLJN-8dM.mjs → perplexity-XgLF73E7.mjs} +2 -2
- package/lib/{proxy-XOYi58TM.mjs → proxy-D9lm7ONA.mjs} +1 -1
- package/lib/{scrapers-BJ1YemnI.mjs → scrapers-CE_qK1yk.mjs} +4 -4
- package/lib/{stream-DveNFWSN.mjs → stream-Bjq8wjfr.mjs} +57 -57
- package/lib/{stream-markup-healing-C9eC7Gf8.mjs → stream-markup-healing-DZ6bVDxH.mjs} +3 -3
- package/lib/trash-cli.mjs +95 -7
- package/lib/{types-BUO0JXO-.mjs → types-DX_bvuus.mjs} +1 -1
- package/lib/{utils-DEUxgLCs.mjs → utils-APrc-TBB.mjs} +24 -24
- package/lib/{utils-B-mTYQBc.mjs → utils-CQHPEQ3W.mjs} +1 -1
- package/lib/{utils-fnV2zzp3.mjs → utils-Cp2Mxf_U.mjs} +3 -3
- package/lib/{vision-guard-BsvOWmfB.mjs → vision-guard-mBmtAHx0.mjs} +2 -2
- package/lib/{wafer-Dpy7tL3l.mjs → wafer-BlhWLweO.mjs} +1 -1
- package/lib/{xai-oauth-BkPNQS-q.mjs → xai-oauth-5pORHUrg.mjs} +2 -2
- package/lib/{xiaomi-CG3TsYRz.mjs → xiaomi-7mE345KX.mjs} +1 -1
- package/lib/{zai--cewobzN.mjs → zai-CeNpMV3W.mjs} +2 -2
- package/lib/{zip-CqKW2-TK.mjs → zip-BK7UHCwX.mjs} +1 -1
- package/package.json +1 -1
- package/presets/package.json +1 -1
- package/lib/{src-D_e1qMwi.mjs → src-BcD0_rQR.mjs} +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { D as partialSuffixOverlapAny, E as FencedThinkingScanner, T as createInbandScanner } from "./utils-
|
|
4
|
-
import { h as isDeepseekModelIdOrName } from "./models-
|
|
5
|
-
import "./identity-
|
|
3
|
+
import { D as partialSuffixOverlapAny, E as FencedThinkingScanner, T as createInbandScanner } from "./utils-Cp2Mxf_U.mjs";
|
|
4
|
+
import { h as isDeepseekModelIdOrName } from "./models-DRA2c_8U.mjs";
|
|
5
|
+
import "./identity-HNO1Oe9B.mjs";
|
|
6
6
|
//#region node_modules/.pnpm/@oh-my-pi+pi-ai@17.3.5/node_modules/@oh-my-pi/pi-ai/src/dialect/thinking.ts
|
|
7
7
|
/**
|
|
8
8
|
* Every dialect's in-band thinking section in its canonical `renderThinking`
|
package/lib/trash-cli.mjs
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
//#region src/tools/bash/trash-cli.ts
|
|
3
|
+
/**
|
|
4
|
+
* rmSafe: rm 命令的回收站重定义核心。
|
|
5
|
+
*
|
|
6
|
+
* 参数解析与行为语义对齐 GNU coreutils rm(tests/rm/ 用例移植),差异:
|
|
7
|
+
* - 删除目标 = 系统回收站(trash 包),非永久删除;
|
|
8
|
+
* - `-i`/`-I`/`--interactive[=WHEN]` 接受但忽略交互(直接进回收站);
|
|
9
|
+
* - verbose 只输出顶层项(trash 是原子移动,不递归输出子项)。
|
|
10
|
+
*
|
|
11
|
+
* 保护语义(r-root / r-4 移植):默认 --preserve-root 拒绝 `/` 及其同义词
|
|
12
|
+
* (`//`、`///`、realpath 后是根目录的路径);拒绝 `.` / `..` 结尾的路径。
|
|
13
|
+
*
|
|
14
|
+
* 本模块零外部依赖(trash 包在 trash-cli-main.ts 入口动态加载),
|
|
15
|
+
* 便于单测注入 fake trash。
|
|
16
|
+
* @module @xiaoso/dsh-tool-plus/bash/trash-cli
|
|
17
|
+
*/
|
|
3
18
|
const SHORT_OPTIONS = {
|
|
4
19
|
r: "recursive",
|
|
5
20
|
R: "recursive",
|
|
@@ -49,6 +64,31 @@ const INTERACTIVE_WHEN = /* @__PURE__ */ new Set([
|
|
|
49
64
|
"always",
|
|
50
65
|
"never"
|
|
51
66
|
]);
|
|
67
|
+
function isAsciiDriveLetter(value) {
|
|
68
|
+
if (value.length !== 1) return false;
|
|
69
|
+
const code = value.charCodeAt(0);
|
|
70
|
+
return code >= 65 && code <= 90 || code >= 97 && code <= 122;
|
|
71
|
+
}
|
|
72
|
+
function windowsDriveAliasPath(filePath) {
|
|
73
|
+
if (!filePath.startsWith("/")) return void 0;
|
|
74
|
+
const parts = filePath.split("/");
|
|
75
|
+
if (parts[0] !== "") return void 0;
|
|
76
|
+
let drive;
|
|
77
|
+
let tailStart = 2;
|
|
78
|
+
if (parts.length >= 2 && isAsciiDriveLetter(parts[1] ?? "")) drive = parts[1].toUpperCase();
|
|
79
|
+
else if (parts.length >= 3 && (parts[1] ?? "").toLowerCase() === "mnt" && isAsciiDriveLetter(parts[2] ?? "")) {
|
|
80
|
+
drive = parts[2].toUpperCase();
|
|
81
|
+
tailStart = 3;
|
|
82
|
+
}
|
|
83
|
+
if (!drive) return void 0;
|
|
84
|
+
const tail = parts.slice(tailStart).filter(Boolean).join("\\");
|
|
85
|
+
return tail ? `${drive}:\\${tail}` : `${drive}:\\`;
|
|
86
|
+
}
|
|
87
|
+
/** MSYS 驱动器别名(`/d/…`、`/mnt/d/…`)转原生 Windows 路径;非 win32 原样返回。 */
|
|
88
|
+
function normalizeWindowsDriveAliasPath(filePath, platform = process.platform) {
|
|
89
|
+
if (platform !== "win32") return filePath;
|
|
90
|
+
return windowsDriveAliasPath(filePath) ?? filePath;
|
|
91
|
+
}
|
|
52
92
|
/**
|
|
53
93
|
* 解析 rm 风格参数(coreutils rm 语义):
|
|
54
94
|
* - 短选项支持组合(`-rf`),`-r`/`-R`/`--recursive` 等价,`-i`/`-I` 等价;
|
|
@@ -170,6 +210,42 @@ async function isRootPath(p, deps) {
|
|
|
170
210
|
const root = await deps.stat("/");
|
|
171
211
|
return root !== null && st.dev === root.dev && st.ino === root.ino;
|
|
172
212
|
}
|
|
213
|
+
/** 探测目标名后缀(rename 探测临时名)。 */
|
|
214
|
+
const PROBE_SUFFIX = ".dsh-trash-probe";
|
|
215
|
+
/** 从 unknown 错误里取 errno 码(边界解析)。 */
|
|
216
|
+
function errnoCode(err) {
|
|
217
|
+
if (typeof err !== "object" || err === null) return void 0;
|
|
218
|
+
const code = err.code;
|
|
219
|
+
return typeof code === "string" ? code : void 0;
|
|
220
|
+
}
|
|
221
|
+
/** rename 探测:移到同目录临时名再改回;不改内容,返回 errno 码或 null(可移动)。 */
|
|
222
|
+
async function defaultProbeRename(from, to) {
|
|
223
|
+
try {
|
|
224
|
+
await fs.promises.rename(from, to);
|
|
225
|
+
} catch (err) {
|
|
226
|
+
return errnoCode(err) ?? "UNKNOWN";
|
|
227
|
+
}
|
|
228
|
+
try {
|
|
229
|
+
await fs.promises.rename(to, from);
|
|
230
|
+
return null;
|
|
231
|
+
} catch {
|
|
232
|
+
return "PROBE_STUCK";
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* rename 探测结果 → 可读原因(null = 无结论)。
|
|
237
|
+
*
|
|
238
|
+
* trash 的 windows-trash.exe 失败时把原因吞成 0x8000FFFF、stderr 为空,
|
|
239
|
+
* 所以这里靠 rename 探测拿文件系统的真实回答;不同 errno 必须分开报,
|
|
240
|
+
* 权限不足不是“被占用”。
|
|
241
|
+
*/
|
|
242
|
+
function describeProbeCode(code) {
|
|
243
|
+
if (code === null) return null;
|
|
244
|
+
if (code === "ENOENT" || code === "ENOTDIR") return "no longer exists (removed by another process?)";
|
|
245
|
+
if (code === "EBUSY" || code === "ENOTEMPTY" || code === "PROBE_STUCK") return "file is locked or cannot be moved by this process (close programs using it and retry)";
|
|
246
|
+
if (code === "EPERM" || code === "EACCES") return "permission denied (read-only file or restricted directory)";
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
173
249
|
/**
|
|
174
250
|
* 执行一次 rm 语义的回收站删除。
|
|
175
251
|
*
|
|
@@ -196,9 +272,10 @@ async function runTrashCli(argv, deps) {
|
|
|
196
272
|
const { recursive, force, verbose, dir, preserveRoot, paths } = parsed;
|
|
197
273
|
const items = [];
|
|
198
274
|
let failed = false;
|
|
199
|
-
for (const
|
|
275
|
+
for (const authored of paths) {
|
|
276
|
+
const p = normalizeWindowsDriveAliasPath(authored);
|
|
200
277
|
if (isDotOrDotDot(p)) {
|
|
201
|
-
deps.stderr(`rm: refusing to remove '.' or '..' directory: skipping '${
|
|
278
|
+
deps.stderr(`rm: refusing to remove '.' or '..' directory: skipping '${authored}'`);
|
|
202
279
|
failed = true;
|
|
203
280
|
continue;
|
|
204
281
|
}
|
|
@@ -211,17 +288,18 @@ async function runTrashCli(argv, deps) {
|
|
|
211
288
|
const st = await deps.lstat(p);
|
|
212
289
|
if (st === null) {
|
|
213
290
|
if (!force) {
|
|
214
|
-
deps.stderr(`rm: cannot remove '${
|
|
291
|
+
deps.stderr(`rm: cannot remove '${authored}': No such file or directory`);
|
|
215
292
|
failed = true;
|
|
216
293
|
}
|
|
217
294
|
continue;
|
|
218
295
|
}
|
|
219
296
|
if (st.isDirectory && !recursive && !dir) {
|
|
220
|
-
deps.stderr(`rm: cannot remove '${
|
|
297
|
+
deps.stderr(`rm: cannot remove '${authored}': Is a directory`);
|
|
221
298
|
failed = true;
|
|
222
299
|
continue;
|
|
223
300
|
}
|
|
224
301
|
items.push({
|
|
302
|
+
authored,
|
|
225
303
|
path: p,
|
|
226
304
|
isDir: st.isDirectory
|
|
227
305
|
});
|
|
@@ -229,10 +307,20 @@ async function runTrashCli(argv, deps) {
|
|
|
229
307
|
if (items.length > 0) try {
|
|
230
308
|
await deps.trash(items.map((item) => item.path));
|
|
231
309
|
} catch (err) {
|
|
232
|
-
|
|
233
|
-
|
|
310
|
+
if (process.platform !== "win32") {
|
|
311
|
+
deps.stderr(`rm: cannot remove '${items[0].authored}': ${errorMessage(err)}`);
|
|
312
|
+
failed = true;
|
|
313
|
+
} else {
|
|
314
|
+
const probe = deps.probeRename ?? defaultProbeRename;
|
|
315
|
+
for (const item of items) {
|
|
316
|
+
const code = await probe(item.path, `${item.path}${PROBE_SUFFIX}`);
|
|
317
|
+
if (code === "ENOENT" || code === "ENOTDIR") continue;
|
|
318
|
+
deps.stderr(`rm: cannot remove '${item.authored}': ${describeProbeCode(code) ?? errorMessage(err)}`);
|
|
319
|
+
failed = true;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
234
322
|
}
|
|
235
|
-
if (verbose && !failed) for (const {
|
|
323
|
+
if (verbose && !failed) for (const { authored, isDir } of items) deps.stdout(isDir ? `removed directory '${normalizeTrailingSlash(authored)}'` : `removed '${authored}'`);
|
|
236
324
|
deps.exit(failed ? 1 : 0);
|
|
237
325
|
}
|
|
238
326
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { c as combineSignals } from "./src-
|
|
3
|
+
import { c as combineSignals } from "./src-BcD0_rQR.mjs";
|
|
4
4
|
import { t as ToolAbortError } from "./tool-errors-DoyxivAR.mjs";
|
|
5
5
|
import { scheduler } from "node:timers/promises";
|
|
6
6
|
//#region src/tools/omp/web/scrapers/types.ts
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
3
|
import { n as fs_promises_shim_exports } from "./fs-promises-shim-Bx0fpxuk.mjs";
|
|
4
|
-
import { B as USER_AGENT, I as $flag, K as getDocumentConversionCacheDir, P as $env, R as isBunTestRuntime, S as debug, T as warn, W as getDebugLogPath, Z as getToolsDir, c as combineSignals, d as $which, l as exec, r as TempDir, tt as untilAborted, y as isEnoent, z as isTerminalHeadless } from "./src-
|
|
5
|
-
import { V as ProviderHttpError, a as isTransientStatus } from "./error-
|
|
6
|
-
import "./utils-
|
|
4
|
+
import { B as USER_AGENT, I as $flag, K as getDocumentConversionCacheDir, P as $env, R as isBunTestRuntime, S as debug, T as warn, W as getDebugLogPath, Z as getToolsDir, c as combineSignals, d as $which, l as exec, r as TempDir, tt as untilAborted, y as isEnoent, z as isTerminalHeadless } from "./src-BcD0_rQR.mjs";
|
|
5
|
+
import { V as ProviderHttpError, a as isTransientStatus } from "./error-C-f_Wnw4.mjs";
|
|
6
|
+
import "./utils-Cp2Mxf_U.mjs";
|
|
7
7
|
import { n as isRecord } from "./type-guards-B9VVjRDK.mjs";
|
|
8
8
|
import { t as ToolAbortError } from "./tool-errors-DoyxivAR.mjs";
|
|
9
|
-
import { n as extractArchive } from "./zip-
|
|
10
|
-
import { Et as parseAlibabaTokenPlanCredential, Tt as ALIBABA_TOKEN_PLAN_CN_BASE_URL, n as getEnvApiKey } from "./stream-
|
|
11
|
-
import { a as toNumber, i as toBoolean$1 } from "./utils-
|
|
12
|
-
import "./identity-
|
|
13
|
-
import { n as OPENCODE_HEADERS } from "./github-copilot-
|
|
14
|
-
import "./vision-guard-
|
|
15
|
-
import "./event-stream-
|
|
16
|
-
import { i as claudeCodeVersion } from "./anthropic-
|
|
9
|
+
import { n as extractArchive } from "./zip-BK7UHCwX.mjs";
|
|
10
|
+
import { Et as parseAlibabaTokenPlanCredential, Tt as ALIBABA_TOKEN_PLAN_CN_BASE_URL, n as getEnvApiKey } from "./stream-Bjq8wjfr.mjs";
|
|
11
|
+
import { a as toNumber, i as toBoolean$1 } from "./utils-CQHPEQ3W.mjs";
|
|
12
|
+
import "./identity-HNO1Oe9B.mjs";
|
|
13
|
+
import { n as OPENCODE_HEADERS } from "./github-copilot-B3kQl0g0.mjs";
|
|
14
|
+
import "./vision-guard-mBmtAHx0.mjs";
|
|
15
|
+
import "./event-stream-Dh2guZxS.mjs";
|
|
16
|
+
import { i as claudeCodeVersion } from "./anthropic-CDmj476p.mjs";
|
|
17
17
|
import { i as getGeminiCliHeaders, n as getAntigravityUserAgent } from "./gemini-headers-DKUShltF.mjs";
|
|
18
18
|
import { t as CODEX_BASE_URL } from "./codex-P1dGpX7G.mjs";
|
|
19
|
-
import { t as getKimiCommonHeaders } from "./kimi-
|
|
20
|
-
import "./anthropic-
|
|
21
|
-
import { n as extractCursorAccessTokenUserId } from "./cursor-
|
|
22
|
-
import { i as getXAICliBillingHeaders, n as extractXAIAccessTokenSubject, r as fetchXAIOAuthIdentity, t as buildXAICliBillingUrl } from "./xai-oauth-
|
|
23
|
-
import "./openai-codex-responses-
|
|
24
|
-
import "./azure-openai-responses-
|
|
25
|
-
import "./ollama-
|
|
26
|
-
import "./openai-completions-
|
|
27
|
-
import "./openai-responses-
|
|
28
|
-
import { t as MAX_BYTES } from "./types-
|
|
29
|
-
import * as path from "node:path";
|
|
19
|
+
import { t as getKimiCommonHeaders } from "./kimi-DgcUpPtK.mjs";
|
|
20
|
+
import "./anthropic-BL6LFDQS.mjs";
|
|
21
|
+
import { n as extractCursorAccessTokenUserId } from "./cursor-B6HcmplF.mjs";
|
|
22
|
+
import { i as getXAICliBillingHeaders, n as extractXAIAccessTokenSubject, r as fetchXAIOAuthIdentity, t as buildXAICliBillingUrl } from "./xai-oauth-5pORHUrg.mjs";
|
|
23
|
+
import "./openai-codex-responses-BcnOotRB.mjs";
|
|
24
|
+
import "./azure-openai-responses-BkhsLmN3.mjs";
|
|
25
|
+
import "./ollama-Df9ce-Cp.mjs";
|
|
26
|
+
import "./openai-completions-Bq4WT47M.mjs";
|
|
27
|
+
import "./openai-responses-Mq_-PjvE.mjs";
|
|
28
|
+
import { t as MAX_BYTES } from "./types-DX_bvuus.mjs";
|
|
30
29
|
import * as fs from "node:fs";
|
|
31
30
|
import { Ellipsis, Ellipsis as Ellipsis$1, extractSegments, matchesKey, sliceWithWidth, truncateToWidth } from "@oh-my-pi/pi-natives";
|
|
31
|
+
import * as path from "node:path";
|
|
32
32
|
import * as os from "node:os";
|
|
33
33
|
import { scheduler } from "node:timers/promises";
|
|
34
34
|
import "node:crypto";
|
|
@@ -7202,7 +7202,7 @@ const settings = {
|
|
|
7202
7202
|
};
|
|
7203
7203
|
//#endregion
|
|
7204
7204
|
//#region package.json
|
|
7205
|
-
var version = "0.1.
|
|
7205
|
+
var version = "0.1.5";
|
|
7206
7206
|
/** `.tmp` files older than this are treated as orphaned writes and swept. */
|
|
7207
7207
|
const TMP_ORPHAN_MAX_AGE_MS = 3e5;
|
|
7208
7208
|
function markitConversionCacheKey(bytes, extension) {
|
|
@@ -7336,7 +7336,7 @@ const CONVERTIBLE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
7336
7336
|
".epub"
|
|
7337
7337
|
]);
|
|
7338
7338
|
let markit = async () => {
|
|
7339
|
-
const promise = import("./markit-
|
|
7339
|
+
const promise = import("./markit-DtGoRE6M.mjs").then(({ Markit }) => {
|
|
7340
7340
|
const instance = new Markit();
|
|
7341
7341
|
markit = () => instance;
|
|
7342
7342
|
return instance;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { n as wrapFetchForExtraCa } from "./src-
|
|
3
|
+
import { n as wrapFetchForExtraCa } from "./src-BcD0_rQR.mjs";
|
|
4
4
|
//#region node_modules/.pnpm/@oh-my-pi+pi-catalog@17.3.5/node_modules/@oh-my-pi/pi-catalog/src/utils.ts
|
|
5
5
|
/**
|
|
6
6
|
* Fetch implementation for catalog discovery probes: the caller's override
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { I as $flag, P as $env, S as debug, g as parseStreamingJson, h as parseJsonWithRepair } from "./src-
|
|
4
|
-
import { r as ValidationError } from "./error-
|
|
5
|
-
import { t as preferredDialect } from "./identity-
|
|
3
|
+
import { I as $flag, P as $env, S as debug, g as parseStreamingJson, h as parseJsonWithRepair } from "./src-BcD0_rQR.mjs";
|
|
4
|
+
import { r as ValidationError } from "./error-C-f_Wnw4.mjs";
|
|
5
|
+
import { t as preferredDialect } from "./identity-HNO1Oe9B.mjs";
|
|
6
6
|
//#region node_modules/.pnpm/@oh-my-pi+pi-utils@17.3.5/node_modules/@oh-my-pi/pi-utils/src/json.ts
|
|
7
7
|
/**
|
|
8
8
|
* Try to parse JSON, returning null on failure.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { M as isDashscopeCompatibleModeUrl, S as isQwenModelId, x as isOpenAIModelId } from "./models-
|
|
4
|
-
import "./identity-
|
|
3
|
+
import { M as isDashscopeCompatibleModeUrl, S as isQwenModelId, x as isOpenAIModelId } from "./models-DRA2c_8U.mjs";
|
|
4
|
+
import "./identity-HNO1Oe9B.mjs";
|
|
5
5
|
//#region node_modules/.pnpm/@oh-my-pi+pi-ai@17.3.5/node_modules/@oh-my-pi/pi-ai/src/types.ts
|
|
6
6
|
/**
|
|
7
7
|
* Ceiling on the output-token count omp requests from any OpenAI-family endpoint
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { t as createApiKeyLogin } from "./api-key-login-
|
|
3
|
+
import { t as createApiKeyLogin } from "./api-key-login-CIDnXeYd.mjs";
|
|
4
4
|
const loginWaferServerless = createApiKeyLogin({
|
|
5
5
|
providerLabel: "Wafer Serverless",
|
|
6
6
|
authUrl: "https://app.wafer.ai/usage",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
3
|
import { r as __exportAll } from "./fs-promises-shim-Bx0fpxuk.mjs";
|
|
4
|
-
import { c as OAuthError, h as LoginCancelledError } from "./error-
|
|
5
|
-
import { t as pollOAuthDeviceCodeFlow } from "./device-code-
|
|
4
|
+
import { c as OAuthError, h as LoginCancelledError } from "./error-C-f_Wnw4.mjs";
|
|
5
|
+
import { t as pollOAuthDeviceCodeFlow } from "./device-code-CuXTWYwY.mjs";
|
|
6
6
|
//#region node_modules/.pnpm/@oh-my-pi+pi-ai@17.3.5/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/xai-oauth.ts
|
|
7
7
|
/**
|
|
8
8
|
* xAI Grok OAuth device authorization flow.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { _ as OnPromptRequiredError, c as OAuthError, h as LoginCancelledError, m as ApiKeyRequiredError } from "./error-
|
|
3
|
+
import { _ as OnPromptRequiredError, c as OAuthError, h as LoginCancelledError, m as ApiKeyRequiredError } from "./error-C-f_Wnw4.mjs";
|
|
4
4
|
//#region node_modules/.pnpm/@oh-my-pi+pi-ai@17.3.5/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/xiaomi.ts
|
|
5
5
|
/**
|
|
6
6
|
* Xiaomi MiMo login flow.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { V as ProviderHttpError, c as OAuthError, h as LoginCancelledError } from "./error-
|
|
4
|
-
import { t as OAuthCallbackFlow } from "./callback-server-
|
|
3
|
+
import { V as ProviderHttpError, c as OAuthError, h as LoginCancelledError } from "./error-C-f_Wnw4.mjs";
|
|
4
|
+
import { t as OAuthCallbackFlow } from "./callback-server-CFJK-jvK.mjs";
|
|
5
5
|
//#region node_modules/.pnpm/@oh-my-pi+pi-ai@17.3.5/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/zai.ts
|
|
6
6
|
/**
|
|
7
7
|
* Z.ai / GLM OAuth flow (GLM Coding Plan · Sign in)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
|
-
import { j as formatBytes } from "./src-
|
|
3
|
+
import { j as formatBytes } from "./src-BcD0_rQR.mjs";
|
|
4
4
|
import { n as ToolError } from "./tool-errors-DoyxivAR.mjs";
|
|
5
5
|
import * as path from "node:path";
|
|
6
6
|
import * as zlib from "node:zlib";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xiaoso/dsh-tool-plus",
|
|
3
3
|
"description": "Oh My Pi bash runtime ported as a deepseek-harness tool plugin: persistent shell session, output minimizer, managed background jobs, command interception",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.5",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"deepseek-harness",
|
package/presets/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xiaoso/dsh-tool-plus-presets",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Agent-preset installer for dsh-tool-plus: installs the standard / PTC enhanced preset templates into a DeepSeek Harness home.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { installBunShim as __installBunShim } from "./bun-shim.mjs";
|
|
2
2
|
__installBunShim();
|
|
3
3
|
import { n as fs_promises_shim_exports } from "./fs-promises-shim-Bx0fpxuk.mjs";
|
|
4
|
-
import * as path from "node:path";
|
|
5
4
|
import * as fs from "node:fs";
|
|
6
5
|
import { Process } from "@oh-my-pi/pi-natives";
|
|
6
|
+
import * as path from "node:path";
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import assert from "node:assert/strict";
|
|
9
9
|
import { parse, stringify } from "yaml";
|