@xiaoso/dsh-tool-plus 0.1.10-beta.2 → 0.1.10

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 (72) hide show
  1. package/README.en.md +14 -5
  2. package/README.md +14 -5
  3. package/lib/{abort-BtBy5Svf.mjs → abort-DZ54CaKU.mjs} +1 -1
  4. package/lib/{alibaba-coding-plan-oxHCHJtG.mjs → alibaba-coding-plan-DODpkcqi.mjs} +2 -2
  5. package/lib/{alibaba-token-plan-B0WzvYnB.mjs → alibaba-token-plan-C6lpKCda.mjs} +2 -2
  6. package/lib/{amazon-bedrock-BvfYGhrD.mjs → amazon-bedrock-Dx0rr9dY.mjs} +6 -6
  7. package/lib/{anthropic-Id561lwb.mjs → anthropic-ClCw0PV_.mjs} +14 -14
  8. package/lib/{anthropic-C6-vdduI.mjs → anthropic-Dv_GGX6g.mjs} +2 -2
  9. package/lib/{anthropic-wire-Cb8AQ1tS.mjs → anthropic-wire-lbGAFzYb.mjs} +5 -5
  10. package/lib/{api-key-validation-BXJKlsJg.mjs → api-key-validation-MnMf_ihX.mjs} +1 -1
  11. package/lib/{azure-openai-responses-CGws_ijz.mjs → azure-openai-responses-WE_bgFWp.mjs} +9 -9
  12. package/lib/{browser-render-i7uYOl4f.mjs → browser-render-BZXt548F.mjs} +2 -2
  13. package/lib/{cline-pass-Bwg3esu9.mjs → cline-pass-BT9CBEOj.mjs} +1 -1
  14. package/lib/{cloudflare-ai-gateway-B_kWnF30.mjs → cloudflare-ai-gateway-CrMa97Ap.mjs} +1 -1
  15. package/lib/{cloudflare-ai-gateway-BK6eadm9.mjs → cloudflare-ai-gateway-DReN6ohJ.mjs} +2 -2
  16. package/lib/{collapse-DU3g7d3B.mjs → collapse-CkMNRNr7.mjs} +1 -1
  17. package/lib/{coreweave-CkR_FlQi.mjs → coreweave-C68UgRQO.mjs} +2 -2
  18. package/lib/{cursor-BXx_5h4a.mjs → cursor-C6jaIJDg.mjs} +2 -2
  19. package/lib/{cursor-BcHwv8qq.mjs → cursor-D-XZYDf_.mjs} +9 -9
  20. package/lib/{cursor-BjWbJJLe.mjs → cursor-_gHHq-Dq.mjs} +2 -2
  21. package/lib/{cursor-proto-DPXXYx8S.mjs → cursor-proto-Cr_WEMuv.mjs} +1 -1
  22. package/lib/{devin-Ce3Wz8_E.mjs → devin-QpfTSl9H.mjs} +5 -5
  23. package/lib/{devin-proto-B6HwDwHK.mjs → devin-proto-DYhp4Ty6.mjs} +1 -1
  24. package/lib/{devin-BZBfzyIz.mjs → devin-u0ljw5P6.mjs} +6 -6
  25. package/lib/{error-DdCn4m1q.mjs → error-O63pC8zg.mjs} +1 -1
  26. package/lib/{event-stream-ldcUvOA0.mjs → event-stream-BKEtb45Y.mjs} +1 -1
  27. package/lib/{fs-promises-shim-Bx0fpxuk.mjs → fs-promises-shim-B2YFWkcd.mjs} +1 -0
  28. package/lib/{github-copilot-BT5dkIJl.mjs → github-copilot-BMEcw8N1.mjs} +2 -2
  29. package/lib/{github-copilot-headers-BGL8JO5c.mjs → github-copilot-headers-DnjGEbko.mjs} +2 -2
  30. package/lib/{gitlab-duo-B0qSYCa3.mjs → gitlab-duo-DnHqJjFY.mjs} +1 -1
  31. package/lib/{google-antigravity-D1llOVad.mjs → google-antigravity-B1mSckrK.mjs} +3 -3
  32. package/lib/{google-auth-DYhqX1rJ.mjs → google-auth-qAN-6DMW.mjs} +3 -3
  33. package/lib/{google-gemini-cli-ByQUuKp9.mjs → google-gemini-cli-B2Aw1S5w.mjs} +7 -7
  34. package/lib/{google-gemini-cli-CjHy6mFG.mjs → google-gemini-cli-DJwThCCn.mjs} +3 -3
  35. package/lib/{google-6cRgRmh0.mjs → google-lTxuq28n.mjs} +3 -3
  36. package/lib/{google-oauth-shared-CSwCT0Yl.mjs → google-oauth-shared-BctLpVUN.mjs} +1 -1
  37. package/lib/{google-shared-DYjJp0mQ.mjs → google-shared-Y01j9xOr.mjs} +5 -5
  38. package/lib/{google-vertex-CbOvlE5j.mjs → google-vertex-DcM-FRC5.mjs} +4 -4
  39. package/lib/{idle-iterator-DTBaEIbM.mjs → idle-iterator-D0ZXEcUq.mjs} +2 -2
  40. package/lib/index.mjs +89 -9
  41. package/lib/{kilo-cVG1aNZM.mjs → kilo-BEgEwMJQ.mjs} +1 -1
  42. package/lib/{kimi-BFfnFDhu.mjs → kimi-T9NldEIJ.mjs} +2 -2
  43. package/lib/{launch-Uq7920ng.mjs → launch-BIWNyrBB.mjs} +1 -1
  44. package/lib/{markit-BmsfOFVh.mjs → markit-Dvp2JPdT.mjs} +4 -4
  45. package/lib/{muse-code-CtcevJab.mjs → muse-code-CNvqqAp6.mjs} +2 -2
  46. package/lib/{ollama-B5hR1P1p.mjs → ollama-6R0oXZks.mjs} +9 -9
  47. package/lib/{openai-codex-CxkPyvyt.mjs → openai-codex-D5-CyTxa.mjs} +2 -2
  48. package/lib/{openai-codex-responses-BbM3Q7nJ.mjs → openai-codex-responses-C8bnBWOe.mjs} +11 -11
  49. package/lib/{openai-completions-CffXVOCL.mjs → openai-completions-DNr3mUsn.mjs} +15 -15
  50. package/lib/{openai-reasoning-fallback-DFdD1ok5.mjs → openai-reasoning-fallback-Ju-5pSR8.mjs} +2 -2
  51. package/lib/{openai-responses-DgqOvSn_.mjs → openai-responses-CjpafAEr.mjs} +10 -10
  52. package/lib/{perplexity-JFp3knZN.mjs → perplexity-A2PEoGaC.mjs} +2 -2
  53. package/lib/{protobuf-BJHNU9-E.mjs → protobuf-BMgDYu_U.mjs} +1 -1
  54. package/lib/{proxy-B51IWEMt.mjs → proxy-DxvCQOCA.mjs} +2 -2
  55. package/lib/{request-debug-NQN0BjHH.mjs → request-debug-BwPOqN_j.mjs} +1 -1
  56. package/lib/{scrapers-DSArdJ6N.mjs → scrapers-CqlagBff.mjs} +5 -5
  57. package/lib/{src-DUUqyo9y.mjs → src-AELUUb5U.mjs} +1 -1
  58. package/lib/{stream-DHdFrAG4.mjs → stream-AVOoe5Hj.mjs} +46 -46
  59. package/lib/{stream-markup-healing-DlJ9abTw.mjs → stream-markup-healing-CN3RsqG9.mjs} +2 -2
  60. package/lib/{thinking-D6LJxkz_.mjs → thinking-ngMwf_1Y.mjs} +1 -1
  61. package/lib/{turndown-DrX1M4WG.mjs → turndown-D6fof1OX.mjs} +1 -1
  62. package/lib/types/host/win32-console.d.ts +40 -0
  63. package/lib/{types-DT9vgZ3S.mjs → types-BLrLohwK.mjs} +2 -2
  64. package/lib/{utils-D31VFael.mjs → utils-I4I8azHN.mjs} +1 -1
  65. package/lib/{utils-DA8R1_Q8.mjs → utils-OUcqmx9L.mjs} +28 -28
  66. package/lib/{utils-BMmwLB0f.mjs → utils-cZX3f_Ls.mjs} +2 -2
  67. package/lib/{vision-guard-BlAAqGUC.mjs → vision-guard-BCpXWUj3.mjs} +1 -1
  68. package/lib/{xai-oauth-QPyScm4X.mjs → xai-oauth-CbeldUSV.mjs} +2 -2
  69. package/lib/{xiaomi-CLzjxHAi.mjs → xiaomi-Dl3VSs04.mjs} +1 -1
  70. package/lib/{zai-wDp0g7VC.mjs → zai-FyjGSypr.mjs} +1 -1
  71. package/lib/{zip-CNtIFfyV.mjs → zip-DRrycScC.mjs} +1 -1
  72. package/package.json +4 -1
@@ -1,37 +1,37 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { n as fs_promises_shim_exports } from "./fs-promises-shim-Bx0fpxuk.mjs";
4
- import { B as USER_AGENT, C as warn, I as $pickenv, N as $env, _ as parseStreamingJson, h as classifyJsonPrefix, p as parseImageMetadata, q as getInstallId, rt as once, t as structuredCloneJSON, v as parseStreamingJsonThrottled } from "./src-DUUqyo9y.mjs";
5
- import { C as classify, E as is, G as fetchWithRetry, W as extractHttpStatusFromError, f as OAuthError, g as OnPromptRequiredError, h as MissingApiKeyError, i as isProviderRetryableError, m as LoginCancelledError, p as ApiKeyRequiredError, s as ProviderResponseError, t as ConfigurationError, v as Flag } from "./error-DdCn4m1q.mjs";
6
- import { C as kStreamingLastParseLen, H as getBundledModelReferenceIndex, U as stringifyJson, a as normalizeResponsesToolCallId, c as resolveCacheRetention, d as sanitizeOpenAIResponsesHistoryItemsForReplay, g as clearStreamingPartialJson, h as transformMessages, i as getOpenAIResponsesHistoryPayload, l as sanitizeOpenAIResponsesAssistantFallbackItemsForReplay, o as normalizeSystemPrompts, p as stripUnpairedOpenAIResponsesComputerReasoningIdsForReplay, r as getOpenAIResponsesHistoryItems, u as sanitizeOpenAIResponsesAssistantHistoryItemsForReplay, w as kStreamingPartialJson, y as kStreamingArgumentsDone } from "./utils-BMmwLB0f.mjs";
3
+ import { n as fs_promises_shim_exports } from "./fs-promises-shim-B2YFWkcd.mjs";
4
+ import { B as USER_AGENT, C as warn, I as $pickenv, N as $env, _ as parseStreamingJson, h as classifyJsonPrefix, p as parseImageMetadata, q as getInstallId, rt as once, t as structuredCloneJSON, v as parseStreamingJsonThrottled } from "./src-AELUUb5U.mjs";
5
+ import { C as classify, E as is, G as fetchWithRetry, W as extractHttpStatusFromError, f as OAuthError, g as OnPromptRequiredError, h as MissingApiKeyError, i as isProviderRetryableError, m as LoginCancelledError, p as ApiKeyRequiredError, s as ProviderResponseError, t as ConfigurationError, v as Flag } from "./error-O63pC8zg.mjs";
6
+ import { C as kStreamingLastParseLen, H as getBundledModelReferenceIndex, U as stringifyJson, a as normalizeResponsesToolCallId, c as resolveCacheRetention, d as sanitizeOpenAIResponsesHistoryItemsForReplay, g as clearStreamingPartialJson, h as transformMessages, i as getOpenAIResponsesHistoryPayload, l as sanitizeOpenAIResponsesAssistantFallbackItemsForReplay, o as normalizeSystemPrompts, p as stripUnpairedOpenAIResponsesComputerReasoningIdsForReplay, r as getOpenAIResponsesHistoryItems, u as sanitizeOpenAIResponsesAssistantHistoryItemsForReplay, w as kStreamingPartialJson, y as kStreamingArgumentsDone } from "./utils-cZX3f_Ls.mjs";
7
7
  import { n as isRecord } from "./type-guards-CttAANEx.mjs";
8
8
  import { d as compareRevision, f as parseRevision, l as auth, n as classifyModel, s as globMatch, t as billingVariantPlain, u as behavior$1 } from "./taxonomy-DSIM99rS.mjs";
9
9
  import { r as parseAlibabaTokenPlanCredential, t as ALIBABA_TOKEN_PLAN_BASE_URL } from "./alibaba-token-plan-CHGyWOfX.mjs";
10
- import { a as toNumber, i as toBoolean, n as discoveryFetch, o as toPositiveNumber, r as isAnthropicOAuthToken } from "./utils-D31VFael.mjs";
11
- import { a as parseCloudflareAiGatewayCredential, i as CLOUDFLARE_AI_GATEWAY_OPENAI_BASE_URL, r as CLOUDFLARE_AI_GATEWAY_COMPAT_BASE_URL, t as CLOUDFLARE_AI_GATEWAY_ANTHROPIC_BASE_URL } from "./cloudflare-ai-gateway-B_kWnF30.mjs";
12
- import { c as invalidateAwsCredentialCache, d as resolveAwsBearerToken, f as resolveAwsRegistryApiKey, h as resolveAwsRegion, i as getSupportedEfforts, l as resolveAwsCredentials, p as AUTHENTICATED_SENTINEL, u as signRequest } from "./anthropic-wire-Cb8AQ1tS.mjs";
13
- import "./abort-BtBy5Svf.mjs";
14
- import "./proxy-B51IWEMt.mjs";
10
+ import { a as toNumber, i as toBoolean, n as discoveryFetch, o as toPositiveNumber, r as isAnthropicOAuthToken } from "./utils-I4I8azHN.mjs";
11
+ import { a as parseCloudflareAiGatewayCredential, i as CLOUDFLARE_AI_GATEWAY_OPENAI_BASE_URL, r as CLOUDFLARE_AI_GATEWAY_COMPAT_BASE_URL, t as CLOUDFLARE_AI_GATEWAY_ANTHROPIC_BASE_URL } from "./cloudflare-ai-gateway-CrMa97Ap.mjs";
12
+ import { c as invalidateAwsCredentialCache, d as resolveAwsBearerToken, f as resolveAwsRegistryApiKey, h as resolveAwsRegion, i as getSupportedEfforts, l as resolveAwsCredentials, p as AUTHENTICATED_SENTINEL, u as signRequest } from "./anthropic-wire-lbGAFzYb.mjs";
13
+ import "./abort-DZ54CaKU.mjs";
14
+ import "./proxy-DxvCQOCA.mjs";
15
15
  import { n as THINKING_EFFORTS } from "./effort-BdtQMN-_.mjs";
16
16
  import { r as getBundledModels, t as calculateCost } from "./models-DnXMYGcJ.mjs";
17
17
  import { i as removeBlankCoreWeaveProjectHeaders, n as coreWeaveProjectHeaders, r as hasCoreWeaveProjectHeader, t as COREWEAVE_PROJECT_HEADER } from "./coreweave-C82HrLpb.mjs";
18
- import { a as resolveGitHubCopilotBaseUrl, b as parseGitHubCopilotApiKey, f as discoverGitHubCopilotApiEndpoint, g as mergeCopilotApiHeaders, i as resolveCopilotRequestIdentity, l as COPILOT_DISCOVERY_HEADERS, m as isPersonalGitHubCopilotBaseUrl, n as hasCopilotVisionInput, p as getGitHubCopilotBaseUrl, s as COPILOT_API_HEADERS, t as buildCopilotDynamicHeaders } from "./github-copilot-headers-BGL8JO5c.mjs";
19
- import { i as partitionVisionContent, o as shouldSendServiceTier, r as joinTextWithImagePlaceholder, t as NON_VISION_IMAGE_PLACEHOLDER } from "./vision-guard-BlAAqGUC.mjs";
18
+ import { a as resolveGitHubCopilotBaseUrl, b as parseGitHubCopilotApiKey, f as discoverGitHubCopilotApiEndpoint, g as mergeCopilotApiHeaders, i as resolveCopilotRequestIdentity, l as COPILOT_DISCOVERY_HEADERS, m as isPersonalGitHubCopilotBaseUrl, n as hasCopilotVisionInput, p as getGitHubCopilotBaseUrl, s as COPILOT_API_HEADERS, t as buildCopilotDynamicHeaders } from "./github-copilot-headers-DnjGEbko.mjs";
19
+ import { i as partitionVisionContent, o as shouldSendServiceTier, r as joinTextWithImagePlaceholder, t as NON_VISION_IMAGE_PLACEHOLDER } from "./vision-guard-BCpXWUj3.mjs";
20
20
  import { r as resolveModelReference } from "./reference-CtvM4zLU.mjs";
21
- import { t as AssistantMessageEventStream } from "./event-stream-ldcUvOA0.mjs";
22
- import { n as validateApiKeyAgainstModelsEndpoint, r as validateOpenAICompatibleApiKey, t as validateAnthropicCompatibleApiKey } from "./api-key-validation-BXJKlsJg.mjs";
21
+ import { t as AssistantMessageEventStream } from "./event-stream-BKEtb45Y.mjs";
22
+ import { n as validateApiKeyAgainstModelsEndpoint, r as validateOpenAICompatibleApiKey, t as validateAnthropicCompatibleApiKey } from "./api-key-validation-MnMf_ihX.mjs";
23
23
  import { t as generatePKCE } from "./pkce-BYjmugmw.mjs";
24
- import { r as claudeCodeSdkVersion } from "./anthropic-C6-vdduI.mjs";
25
- import { n as buildModel, r as resolveModelPolicy } from "./collapse-DU3g7d3B.mjs";
26
- import { n as parseMuseCodeCredential } from "./muse-code-CtcevJab.mjs";
24
+ import { r as claudeCodeSdkVersion } from "./anthropic-Dv_GGX6g.mjs";
25
+ import { n as buildModel, r as resolveModelPolicy } from "./collapse-CkMNRNr7.mjs";
26
+ import { n as parseMuseCodeCredential } from "./muse-code-CNvqqAp6.mjs";
27
27
  import { n as createReferenceResolver, r as toModelSpec, t as createBundledReferenceMap } from "./bundled-references-DY3EJxZV.mjs";
28
- import { n as clinePassClientHeaders, t as CLINEPASS_API_BASE_URL } from "./cline-pass-Bwg3esu9.mjs";
28
+ import { n as clinePassClientHeaders, t as CLINEPASS_API_BASE_URL } from "./cline-pass-BT9CBEOj.mjs";
29
29
  import { t as DEVIN_DEFAULT_BASE_URL } from "./devin-ExGIghmx.mjs";
30
- import "./idle-iterator-DTBaEIbM.mjs";
31
- import "./google-auth-DYhqX1rJ.mjs";
32
- import "./kimi-BFfnFDhu.mjs";
33
- import "./thinking-D6LJxkz_.mjs";
34
- import "./request-debug-NQN0BjHH.mjs";
30
+ import "./idle-iterator-D0ZXEcUq.mjs";
31
+ import "./google-auth-qAN-6DMW.mjs";
32
+ import "./kimi-T9NldEIJ.mjs";
33
+ import "./thinking-ngMwf_1Y.mjs";
34
+ import "./request-debug-BwPOqN_j.mjs";
35
35
  import * as fs from "node:fs";
36
36
  import { NativeOAuthCallback } from "@oh-my-pi/pi-natives";
37
37
  import * as path$1 from "node:path";
@@ -2937,32 +2937,32 @@ const bedrockMantleTransport = {
2937
2937
  //#endregion
2938
2938
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/hooks/api-key.ts
2939
2939
  const API_KEY_HEADERS_HOOKS = {
2940
- "coreweave-project": () => import("./coreweave-CkR_FlQi.mjs").then((m) => m.requireCoreWeaveProjectHeaders),
2941
- "cline-pass-client": () => import("./cline-pass-Bwg3esu9.mjs").then((n) => n.r).then((m) => m.clinePassClientHeaders)
2940
+ "coreweave-project": () => import("./coreweave-C68UgRQO.mjs").then((m) => m.requireCoreWeaveProjectHeaders),
2941
+ "cline-pass-client": () => import("./cline-pass-BT9CBEOj.mjs").then((n) => n.r).then((m) => m.clinePassClientHeaders)
2942
2942
  };
2943
2943
  const API_KEY_LOGIN_HOOKS = {
2944
- "alibaba-coding-plan": () => import("./alibaba-coding-plan-oxHCHJtG.mjs").then((m) => m.loginAlibabaCodingPlan),
2945
- "alibaba-token-plan": () => import("./alibaba-token-plan-B0WzvYnB.mjs").then((m) => m.loginAlibabaTokenPlan),
2946
- "cloudflare-ai-gateway": () => import("./cloudflare-ai-gateway-BK6eadm9.mjs").then((m) => m.loginCloudflareAiGateway),
2947
- kilo: () => import("./kilo-cVG1aNZM.mjs").then((m) => m.loginKilo),
2948
- xiaomi: () => import("./xiaomi-CLzjxHAi.mjs").then((m) => m.loginXiaomi)
2944
+ "alibaba-coding-plan": () => import("./alibaba-coding-plan-DODpkcqi.mjs").then((m) => m.loginAlibabaCodingPlan),
2945
+ "alibaba-token-plan": () => import("./alibaba-token-plan-C6lpKCda.mjs").then((m) => m.loginAlibabaTokenPlan),
2946
+ "cloudflare-ai-gateway": () => import("./cloudflare-ai-gateway-DReN6ohJ.mjs").then((m) => m.loginCloudflareAiGateway),
2947
+ kilo: () => import("./kilo-BEgEwMJQ.mjs").then((m) => m.loginKilo),
2948
+ xiaomi: () => import("./xiaomi-Dl3VSs04.mjs").then((m) => m.loginXiaomi)
2949
2949
  };
2950
2950
  //#endregion
2951
2951
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/hooks/custom.ts
2952
2952
  const CUSTOM_LOGIN_HOOKS = {
2953
- "github-copilot": () => import("./github-copilot-BT5dkIJl.mjs").then((module) => module.loginGitHubCopilotHook),
2954
- cursor: () => import("./cursor-BjWbJJLe.mjs").then((n) => n.t).then((module) => module.loginCursorHook),
2955
- perplexity: () => import("./perplexity-JFp3knZN.mjs").then((module) => module.loginPerplexity)
2953
+ "github-copilot": () => import("./github-copilot-BMEcw8N1.mjs").then((module) => module.loginGitHubCopilotHook),
2954
+ cursor: () => import("./cursor-_gHHq-Dq.mjs").then((n) => n.t).then((module) => module.loginCursorHook),
2955
+ perplexity: () => import("./perplexity-A2PEoGaC.mjs").then((module) => module.loginPerplexity)
2956
2956
  };
2957
2957
  const CUSTOM_REFRESH_HOOKS = {
2958
- "github-copilot": () => import("./github-copilot-BT5dkIJl.mjs").then((module) => module.refreshGitHubCopilotHook),
2959
- cursor: () => import("./cursor-BjWbJJLe.mjs").then((n) => n.t).then((module) => module.refreshCursorHook)
2958
+ "github-copilot": () => import("./github-copilot-BMEcw8N1.mjs").then((module) => module.refreshGitHubCopilotHook),
2959
+ cursor: () => import("./cursor-_gHHq-Dq.mjs").then((n) => n.t).then((module) => module.refreshCursorHook)
2960
2960
  };
2961
2961
  //#endregion
2962
2962
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/hooks/device-code.ts
2963
- const DEVICE_CODE_HEADERS_HOOKS = { "kimi-fingerprint": () => import("./kimi-BFfnFDhu.mjs").then((n) => n.n).then((module) => module.getKimiCommonHeaders) };
2964
- const DEVICE_CODE_VALUE_HOOKS = { "xai-token-endpoint": () => import("./xai-oauth-QPyScm4X.mjs").then((n) => n.a).then((module) => module.getXAITokenEndpoint) };
2965
- const DEVICE_CODE_AFTER_EXCHANGE_HOOKS = { "muse-code-key": () => import("./muse-code-CtcevJab.mjs").then((n) => n.t).then((module) => module.attachMuseCodeApiKey) };
2963
+ const DEVICE_CODE_HEADERS_HOOKS = { "kimi-fingerprint": () => import("./kimi-T9NldEIJ.mjs").then((n) => n.n).then((module) => module.getKimiCommonHeaders) };
2964
+ const DEVICE_CODE_VALUE_HOOKS = { "xai-token-endpoint": () => import("./xai-oauth-CbeldUSV.mjs").then((n) => n.a).then((module) => module.getXAITokenEndpoint) };
2965
+ const DEVICE_CODE_AFTER_EXCHANGE_HOOKS = { "muse-code-key": () => import("./muse-code-CNvqqAp6.mjs").then((n) => n.t).then((module) => module.attachMuseCodeApiKey) };
2966
2966
  //#endregion
2967
2967
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/utils/foundry.ts
2968
2968
  function isFoundryEnabled() {
@@ -2999,15 +2999,15 @@ const ENV_HOOKS = {
2999
2999
  //#endregion
3000
3000
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/hooks/oauth-code.ts
3001
3001
  const OAUTH_CODE_AFTER_EXCHANGE_HOOKS = {
3002
- "anthropic-identity": () => import("./anthropic-C6-vdduI.mjs").then((n) => n.t).then((m) => m.anthropicIdentityHook),
3003
- "gitlab-duo-clear-cache": () => import("./gitlab-duo-B0qSYCa3.mjs").then((m) => m.gitLabDuoClearCacheHook),
3004
- "openai-codex-profile": () => import("./openai-codex-CxkPyvyt.mjs").then((m) => m.openAICodexProfileHook),
3005
- "zai-mint-key": () => import("./zai-wDp0g7VC.mjs").then((m) => m.zaiMintKeyHook),
3006
- "google-gemini-cli-project": () => import("./google-gemini-cli-CjHy6mFG.mjs").then((m) => m.googleGeminiCliProjectHook),
3007
- "google-antigravity-project": () => import("./google-antigravity-D1llOVad.mjs").then((m) => m.googleAntigravityProjectHook)
3002
+ "anthropic-identity": () => import("./anthropic-Dv_GGX6g.mjs").then((n) => n.t).then((m) => m.anthropicIdentityHook),
3003
+ "gitlab-duo-clear-cache": () => import("./gitlab-duo-DnHqJjFY.mjs").then((m) => m.gitLabDuoClearCacheHook),
3004
+ "openai-codex-profile": () => import("./openai-codex-D5-CyTxa.mjs").then((m) => m.openAICodexProfileHook),
3005
+ "zai-mint-key": () => import("./zai-FyjGSypr.mjs").then((m) => m.zaiMintKeyHook),
3006
+ "google-gemini-cli-project": () => import("./google-gemini-cli-DJwThCCn.mjs").then((m) => m.googleGeminiCliProjectHook),
3007
+ "google-antigravity-project": () => import("./google-antigravity-B1mSckrK.mjs").then((m) => m.googleAntigravityProjectHook)
3008
3008
  };
3009
3009
  const OAUTH_CODE_VALUE_HOOKS = {};
3010
- const OAUTH_CODE_LOGIN_HOOKS = { "openai-codex-device": () => import("./openai-codex-CxkPyvyt.mjs").then((m) => m.loginOpenAICodexDevice) };
3010
+ const OAUTH_CODE_LOGIN_HOOKS = { "openai-codex-device": () => import("./openai-codex-D5-CyTxa.mjs").then((m) => m.loginOpenAICodexDevice) };
3011
3011
  //#endregion
3012
3012
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/hooks/index.ts
3013
3013
  /**
@@ -10649,7 +10649,7 @@ function cursorModelManagerOptions(config = {}) {
10649
10649
  } } : void 0
10650
10650
  };
10651
10651
  }
10652
- const cursorDiscovery = once(() => import("./cursor-BXx_5h4a.mjs"));
10652
+ const cursorDiscovery = once(() => import("./cursor-C6jaIJDg.mjs"));
10653
10653
  function gitLabDuoWorkflowModelManagerOptions(config = {}) {
10654
10654
  const apiKey = config.apiKey;
10655
10655
  return {
@@ -10747,7 +10747,7 @@ function devinModelManagerOptions(config = {}) {
10747
10747
  } } : void 0
10748
10748
  };
10749
10749
  }
10750
- const devinDiscovery = once(() => import("./devin-Ce3Wz8_E.mjs"));
10750
+ const devinDiscovery = once(() => import("./devin-QpfTSl9H.mjs"));
10751
10751
  /** Creates model-manager options for Z.AI's mixed native and Anthropic transports. */
10752
10752
  function zaiModelManagerOptions(_config = {}) {
10753
10753
  return { providerId: "zai" };
@@ -1,7 +1,7 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { E as createInbandScanner } from "./utils-BMmwLB0f.mjs";
4
- import { t as ThinkingInbandScanner } from "./thinking-D6LJxkz_.mjs";
3
+ import { E as createInbandScanner } from "./utils-cZX3f_Ls.mjs";
4
+ import { t as ThinkingInbandScanner } from "./thinking-ngMwf_1Y.mjs";
5
5
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/dialect/qwen-xml.ts
6
6
  const SECTION_OPEN = "<tool_calls>";
7
7
  const SECTION_CLOSE = "</tool_calls>";
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { D as FencedThinkingScanner, O as partialSuffixOverlapAny } from "./utils-BMmwLB0f.mjs";
3
+ import { D as FencedThinkingScanner, O as partialSuffixOverlapAny } from "./utils-cZX3f_Ls.mjs";
4
4
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/dialect/thinking.ts
5
5
  /**
6
6
  * Every dialect's in-band thinking section in its canonical `renderThinking`
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { r as __exportAll } from "./fs-promises-shim-Bx0fpxuk.mjs";
3
+ import { r as __exportAll } from "./fs-promises-shim-B2YFWkcd.mjs";
4
4
  //#region node_modules/.pnpm/@oh-my-pi+pi-utils@18.1.17/node_modules/@oh-my-pi/pi-utils/src/turndown/gfm.ts
5
5
  function descendantElements(node, name) {
6
6
  const matches = [];
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Windows:给宿主进程补一个**不可见**控制台,让它的 console 子进程去继承。
3
+ *
4
+ * 宿主是 GUI 子系统镜像(`DeepSeek Harness.exe` + `ELECTRON_RUN_AS_NODE=1`),
5
+ * Windows 从不给它分配控制台;父进程没有控制台时子进程会**新建**一个,而默认
6
+ * 终端是 Windows Terminal → 每条命令闪一个窗口。宿主自己 `AllocConsole()` +
7
+ * `SW_HIDE` 之后,子进程就只是继承它,不再新建。
8
+ *
9
+ * 三条硬约束(都有测试钉住):只在 win32 生效、宿主已有控制台时零副作用;
10
+ * `AllocConsole` 会重指标准句柄,必须先存后还(宿主 stdio 是启动方给的 pipe);
11
+ * 任何失败只降级不抛。FFI 只从本包自己的依赖取,拿不到就降级。
12
+ * @module @xiaoso/dsh-tool-plus/host/win32-console
13
+ */
14
+ /** Win32 调用集合;真实实现走 koffi,测试注入 fake。 */
15
+ export interface Win32ConsoleBindings {
16
+ /** 本进程当前的控制台窗口;没有控制台时为 null。 */
17
+ getConsoleWindow(): unknown;
18
+ /** 分配一个控制台;本进程已有控制台时返回 false。 */
19
+ allocConsole(): boolean;
20
+ /** 显示/隐藏窗口(`SW_HIDE` = 0)。 */
21
+ showWindow(window: unknown, show: number): unknown;
22
+ /** 读标准句柄(-10 输入 / -11 输出 / -12 错误)。 */
23
+ getStdHandle(index: number): unknown;
24
+ /** 写回标准句柄。 */
25
+ setStdHandle(index: number, handle: unknown): unknown;
26
+ }
27
+ /** 一次安装的结果;调用方只用来记日志。 */
28
+ export type HiddenConsoleOutcome = 'not-windows' | 'ffi-unavailable' | 'console-present' | 'alloc-failed' | 'allocated';
29
+ /**
30
+ * 安装隐藏控制台(幂等)。宿主已有控制台时返回 `console-present` 且零副作用。
31
+ * @param platform - 当前平台(注入以便测试非 win32 分支)。
32
+ * @param load - 取 Win32 调用集合;拿不到(没有 koffi)时返回 undefined。
33
+ * @returns 本次安装的结果。
34
+ */
35
+ export declare function installHiddenHostConsole(platform: NodeJS.Platform, load: () => Win32ConsoleBindings | undefined): HiddenConsoleOutcome;
36
+ /**
37
+ * 插件入口调用:win32 且能拿到 FFI 时才安装,结果只用于日志。
38
+ * @returns 本次安装的结果。
39
+ */
40
+ export declare function ensureInheritableHiddenConsole(): HiddenConsoleOutcome;
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { c as combineSignals } from "./src-DUUqyo9y.mjs";
3
+ import { c as combineSignals } from "./src-AELUUb5U.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
@@ -176,7 +176,7 @@ function getTurndown() {
176
176
  return turndownPromise;
177
177
  }
178
178
  async function initTurndown() {
179
- const { createTurndown } = await import("./turndown-DrX1M4WG.mjs").then((n) => n.r);
179
+ const { createTurndown } = await import("./turndown-D6fof1OX.mjs").then((n) => n.r);
180
180
  return createTurndown();
181
181
  }
182
182
  /**
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { n as wrapFetchForExtraCa } from "./src-DUUqyo9y.mjs";
3
+ import { n as wrapFetchForExtraCa } from "./src-AELUUb5U.mjs";
4
4
  //#region node_modules/.pnpm/@oh-my-pi+pi-catalog@18.1.17/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,36 +1,36 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { n as fs_promises_shim_exports } from "./fs-promises-shim-Bx0fpxuk.mjs";
4
- import { $ as isEnoent, B as USER_AGENT, C as warn, F as $flag, K as getDocumentConversionCacheDir, L as isBunTestRuntime, N as $env, R as isTerminalHeadless, W as getDebugLogPath, Z as getToolsDir, b as debug, c as combineSignals, d as $which, f as register, it as untilAborted, l as exec, q as getInstallId, r as TempDir, x as error, z as isWsl } from "./src-DUUqyo9y.mjs";
5
- import { V as ProviderHttpError, a as isTransientStatus, f as OAuthError } from "./error-DdCn4m1q.mjs";
6
- import "./utils-BMmwLB0f.mjs";
3
+ import { n as fs_promises_shim_exports } from "./fs-promises-shim-B2YFWkcd.mjs";
4
+ import { $ as isEnoent, B as USER_AGENT, C as warn, F as $flag, K as getDocumentConversionCacheDir, L as isBunTestRuntime, N as $env, R as isTerminalHeadless, W as getDebugLogPath, Z as getToolsDir, b as debug, c as combineSignals, d as $which, f as register, it as untilAborted, l as exec, q as getInstallId, r as TempDir, x as error, z as isWsl } from "./src-AELUUb5U.mjs";
5
+ import { V as ProviderHttpError, a as isTransientStatus, f as OAuthError } from "./error-O63pC8zg.mjs";
6
+ import "./utils-cZX3f_Ls.mjs";
7
7
  import { n as isRecord } from "./type-guards-CttAANEx.mjs";
8
8
  import { t as ToolAbortError } from "./tool-errors-DoyxivAR.mjs";
9
- import { n as extractArchive } from "./zip-CNtIFfyV.mjs";
10
- import { a as CODEX_BASE_URL, jt as quotaTierFor, n as getEnvApiKey } from "./stream-DHdFrAG4.mjs";
9
+ import { n as extractArchive } from "./zip-DRrycScC.mjs";
10
+ import { a as CODEX_BASE_URL, jt as quotaTierFor, n as getEnvApiKey } from "./stream-AVOoe5Hj.mjs";
11
11
  import { n as ALIBABA_TOKEN_PLAN_CN_BASE_URL, r as parseAlibabaTokenPlanCredential } from "./alibaba-token-plan-CHGyWOfX.mjs";
12
- import { a as toNumber, i as toBoolean$1 } from "./utils-D31VFael.mjs";
13
- import "./cloudflare-ai-gateway-B_kWnF30.mjs";
14
- import { u as COPILOT_GITHUB_HEADERS } from "./github-copilot-headers-BGL8JO5c.mjs";
15
- import "./vision-guard-BlAAqGUC.mjs";
16
- import "./event-stream-ldcUvOA0.mjs";
17
- import { o as claudeCodeVersion } from "./anthropic-C6-vdduI.mjs";
18
- import { n as parseMuseCodeCredential, r as requestMuseCodeKey } from "./muse-code-CtcevJab.mjs";
12
+ import { a as toNumber, i as toBoolean$1 } from "./utils-I4I8azHN.mjs";
13
+ import "./cloudflare-ai-gateway-CrMa97Ap.mjs";
14
+ import { u as COPILOT_GITHUB_HEADERS } from "./github-copilot-headers-DnjGEbko.mjs";
15
+ import "./vision-guard-BCpXWUj3.mjs";
16
+ import "./event-stream-BKEtb45Y.mjs";
17
+ import { o as claudeCodeVersion } from "./anthropic-Dv_GGX6g.mjs";
18
+ import { n as parseMuseCodeCredential, r as requestMuseCodeKey } from "./muse-code-CNvqqAp6.mjs";
19
19
  import { n as getAntigravityUserAgent, r as getGeminiCliHeaders } from "./gemini-headers-Co9cVvex.mjs";
20
- import { n as clinePassClientHeaders, t as CLINEPASS_API_BASE_URL } from "./cline-pass-Bwg3esu9.mjs";
20
+ import { n as clinePassClientHeaders, t as CLINEPASS_API_BASE_URL } from "./cline-pass-BT9CBEOj.mjs";
21
21
  import { i as normalizeDevinSessionToken, n as devinCliMetadata } from "./devin-ExGIghmx.mjs";
22
- import { t as getKimiCommonHeaders } from "./kimi-BFfnFDhu.mjs";
23
- import { n as extractCursorAccessTokenUserId } from "./cursor-BjWbJJLe.mjs";
24
- import { o as toBinary, t as create } from "./protobuf-BJHNU9-E.mjs";
25
- import { b as TeamsTier, g as GetUserStatusResponseSchema, h as GetUserStatusRequestSchema, t as decodeDevinUnaryMessage, v as MetadataSchema } from "./devin-proto-B6HwDwHK.mjs";
26
- import { i as getXAICliBillingHeaders, n as extractXAIAccessTokenSubject, r as fetchXAIOAuthIdentity, t as buildXAICliBillingUrl } from "./xai-oauth-QPyScm4X.mjs";
27
- import "./openai-codex-responses-BbM3Q7nJ.mjs";
28
- import "./anthropic-Id561lwb.mjs";
29
- import "./azure-openai-responses-CGws_ijz.mjs";
30
- import "./ollama-B5hR1P1p.mjs";
31
- import "./openai-completions-CffXVOCL.mjs";
32
- import "./openai-responses-DgqOvSn_.mjs";
33
- import { t as MAX_BYTES } from "./types-DT9vgZ3S.mjs";
22
+ import { t as getKimiCommonHeaders } from "./kimi-T9NldEIJ.mjs";
23
+ import { n as extractCursorAccessTokenUserId } from "./cursor-_gHHq-Dq.mjs";
24
+ import { o as toBinary, t as create } from "./protobuf-BMgDYu_U.mjs";
25
+ import { b as TeamsTier, g as GetUserStatusResponseSchema, h as GetUserStatusRequestSchema, t as decodeDevinUnaryMessage, v as MetadataSchema } from "./devin-proto-DYhp4Ty6.mjs";
26
+ import { i as getXAICliBillingHeaders, n as extractXAIAccessTokenSubject, r as fetchXAIOAuthIdentity, t as buildXAICliBillingUrl } from "./xai-oauth-CbeldUSV.mjs";
27
+ import "./openai-codex-responses-C8bnBWOe.mjs";
28
+ import "./anthropic-ClCw0PV_.mjs";
29
+ import "./azure-openai-responses-WE_bgFWp.mjs";
30
+ import "./ollama-6R0oXZks.mjs";
31
+ import "./openai-completions-DNr3mUsn.mjs";
32
+ import "./openai-responses-CjpafAEr.mjs";
33
+ import { t as MAX_BYTES } from "./types-BLrLohwK.mjs";
34
34
  import * as fs from "node:fs";
35
35
  import { existsSync, unlinkSync } from "node:fs";
36
36
  import { Ellipsis, Ellipsis as Ellipsis$1, extractSegments, matchesKey, sliceWithWidth, truncateToWidth } from "@oh-my-pi/pi-natives";
@@ -6267,7 +6267,7 @@ const settings = {
6267
6267
  };
6268
6268
  //#endregion
6269
6269
  //#region package.json
6270
- var version = "0.1.10-beta.1";
6270
+ var version = "0.1.10";
6271
6271
  /** `.tmp` files older than this are treated as orphaned writes and swept. */
6272
6272
  const TMP_ORPHAN_MAX_AGE_MS = 3e5;
6273
6273
  function markitConversionCacheKey(bytes, extension) {
@@ -6401,7 +6401,7 @@ const CONVERTIBLE_EXTENSIONS = /* @__PURE__ */ new Set([
6401
6401
  ".epub"
6402
6402
  ]);
6403
6403
  let markit = async () => {
6404
- const promise = import("./markit-BmsfOFVh.mjs").then(({ Markit }) => {
6404
+ const promise = import("./markit-Dvp2JPdT.mjs").then(({ Markit }) => {
6405
6405
  const instance = new Markit();
6406
6406
  markit = () => instance;
6407
6407
  return instance;
@@ -1,7 +1,7 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { F as $flag, N as $env, _ as parseStreamingJson, b as debug, g as parseJsonWithRepair } from "./src-DUUqyo9y.mjs";
4
- import { r as ValidationError } from "./error-DdCn4m1q.mjs";
3
+ import { F as $flag, N as $env, _ as parseStreamingJson, b as debug, g as parseJsonWithRepair } from "./src-AELUUb5U.mjs";
4
+ import { r as ValidationError } from "./error-O63pC8zg.mjs";
5
5
  import { n as classifyModel } from "./taxonomy-DSIM99rS.mjs";
6
6
  import { i as getBundledProviders, r as getBundledModels } from "./models-DnXMYGcJ.mjs";
7
7
  import { t as buildModelReferenceIndex } from "./reference-CtvM4zLU.mjs";
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import "./src-DUUqyo9y.mjs";
3
+ import "./src-AELUUb5U.mjs";
4
4
  import "./effort-BdtQMN-_.mjs";
5
5
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/types.ts
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { r as __exportAll } from "./fs-promises-shim-Bx0fpxuk.mjs";
4
- import { f as OAuthError } from "./error-DdCn4m1q.mjs";
3
+ import { r as __exportAll } from "./fs-promises-shim-B2YFWkcd.mjs";
4
+ import { f as OAuthError } from "./error-O63pC8zg.mjs";
5
5
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/xai-oauth.ts
6
6
  /**
7
7
  * xAI OAuth endpoint discovery, identity, and billing helpers.
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { f as OAuthError, g as OnPromptRequiredError, m as LoginCancelledError, p as ApiKeyRequiredError } from "./error-DdCn4m1q.mjs";
3
+ import { f as OAuthError, g as OnPromptRequiredError, m as LoginCancelledError, p as ApiKeyRequiredError } from "./error-O63pC8zg.mjs";
4
4
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/xiaomi.ts
5
5
  /**
6
6
  * Xiaomi MiMo login flow.
@@ -1,6 +1,6 @@
1
1
  import { installBunShim as __installBunShim } from "./bun-shim.mjs";
2
2
  __installBunShim();
3
- import { V as ProviderHttpError, f as OAuthError } from "./error-DdCn4m1q.mjs";
3
+ import { V as ProviderHttpError, f as OAuthError } from "./error-O63pC8zg.mjs";
4
4
  //#region node_modules/.pnpm/@oh-my-pi+pi-ai@18.1.17/node_modules/@oh-my-pi/pi-ai/src/registry/oauth/zai.ts
5
5
  /**
6
6
  * 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 { k as formatBytes } from "./src-DUUqyo9y.mjs";
3
+ import { k as formatBytes } from "./src-AELUUb5U.mjs";
4
4
  import { n as ToolError } from "./tool-errors-DoyxivAR.mjs";
5
5
  import * as path$1 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.10-beta.2",
4
+ "version": "0.1.10",
5
5
  "license": "MIT",
6
6
  "keywords": [
7
7
  "deepseek-harness",
@@ -162,5 +162,8 @@
162
162
  "tsx": "^4.22.4",
163
163
  "typescript": "^6.0.3",
164
164
  "vitest": "^4.1.8"
165
+ },
166
+ "optionalDependencies": {
167
+ "koffi": "^3.3.1"
165
168
  }
166
169
  }