@xiaoso/dsh-tool-plus 0.1.6 → 0.1.7-beta.1
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/THIRD_PARTY_NOTICES.md +9 -3
- package/lib/{abort-Cwwm4Err.mjs → abort-Caqff3M6.mjs} +2 -2
- package/lib/alibaba-coding-plan-DTupMiAi.mjs +73 -0
- package/lib/alibaba-token-plan-CHGyWOfX.mjs +46 -0
- package/lib/alibaba-token-plan-Dj3OZhEE.mjs +82 -0
- package/lib/{amazon-bedrock-TVMpUTRG.mjs → amazon-bedrock-DbFSYXfJ.mjs} +117 -38
- package/lib/{anthropic-BL6LFDQS.mjs → anthropic-CTJ3IQVa.mjs} +675 -166
- package/lib/anthropic-CXfWlp-x.mjs +105 -0
- package/lib/{aws-credentials-B20dliS7.mjs → anthropic-wire-CKuhDwZ1.mjs} +74 -14
- package/lib/{api-key-login-CIDnXeYd.mjs → api-key-validation-CGCJFbFr.mjs} +27 -68
- package/lib/{azure-openai-responses-BkhsLmN3.mjs → azure-openai-responses-ChFbWaGj.mjs} +27 -16
- package/lib/{browser-render-CmgvSNte.mjs → browser-render-9o0Rknop.mjs} +4 -4
- package/lib/bun-shim.mjs +71 -2
- package/lib/{bundled-references-ChZSPDFw.mjs → bundled-references-DY3EJxZV.mjs} +6 -5
- package/lib/cline-pass-Bwg3esu9.mjs +44 -0
- package/lib/cloudflare-ai-gateway-BupNXyKK.mjs +35 -0
- package/lib/cloudflare-ai-gateway-EWo0VkP5.mjs +44 -0
- package/lib/collapse-DOR8sOGf.mjs +2304 -0
- package/lib/coreweave-C82HrLpb.mjs +31 -0
- package/lib/coreweave-Ct8cF-da.mjs +14 -0
- package/lib/{cursor-B6HcmplF.mjs → cursor-B95LzVWV.mjs} +11 -3
- package/lib/{cursor-CRpLpaZ3.mjs → cursor-DJV_dcgB.mjs} +887 -1784
- package/lib/{cursor-B8m6SqAH.mjs → cursor-LKGjucn2.mjs} +48 -38
- package/lib/cursor-proto-B8Wj8bv9.mjs +10513 -0
- package/lib/{deterministic-id-D-yIV_eI.mjs → deterministic-id-CUEIMSqR.mjs} +1 -1
- package/lib/devin-BMTdx_hx.mjs +316 -0
- package/lib/{devin-DUAfvBsW.mjs → devin-DSp0Rw_E.mjs} +172 -86
- package/lib/devin-ExGIghmx.mjs +69 -0
- package/lib/devin-proto-Br8fdyNl.mjs +2888 -0
- package/lib/{dom-CawWi8fa.mjs → dom-DG3sPESc.mjs} +8 -8
- package/lib/effort-BdtQMN-_.mjs +23 -0
- package/lib/{error-C-f_Wnw4.mjs → error-CORgGg5a.mjs} +275 -154
- package/lib/{event-stream-Dh2guZxS.mjs → event-stream-ulcDenZD.mjs} +20 -4
- package/lib/{gemini-headers-DKUShltF.mjs → gemini-headers-Co9cVvex.mjs} +2 -2
- package/lib/{github-copilot-suDymKrx.mjs → github-copilot-Dstq1D3s.mjs} +69 -29
- package/lib/github-copilot-headers-DOh1gt_w.mjs +312 -0
- package/lib/gitlab-duo-DSCMrU0m.mjs +11 -0
- package/lib/google-CtsKkOQK.mjs +38 -0
- package/lib/google-antigravity-z-5KsEci.mjs +252 -0
- package/lib/{google-auth-DYJLM792.mjs → google-auth-ieLBaneO.mjs} +4 -4
- package/lib/{google-gemini-cli-8BT513Ul.mjs → google-gemini-cli-C6NE5mWz.mjs} +28 -54
- package/lib/{google-gemini-cli-D6cSmfvB.mjs → google-gemini-cli-CAIPSl7e.mjs} +23 -29
- package/lib/google-oauth-shared-DhMllAkt.mjs +53 -0
- package/lib/{google-shared-CVbHK5vZ.mjs → google-shared-B0aNCYEH.mjs} +140 -44
- package/lib/{google-validation-Cgbn3tWJ.mjs → google-validation-BEkNs-Bx.mjs} +1 -1
- package/lib/{google-vertex-Bui-ypAe.mjs → google-vertex-Bbd1tYNc.mjs} +8 -8
- package/lib/hosts-00rjRzUD.mjs +203 -0
- package/lib/id-AL5obQzR.mjs +71 -0
- package/lib/{idle-iterator-CYAxUkSD.mjs → idle-iterator-DlUkEfzW.mjs} +3 -3
- package/lib/index.mjs +598 -5275
- package/lib/kilo-ChJL54wq.mjs +81 -0
- package/lib/kimi-C2c_Zq8A.mjs +67 -0
- package/lib/{launch-BmgEUycu.mjs → launch-DKDH71En.mjs} +1 -1
- package/lib/markit-CmRfm4E2.mjs +9885 -0
- package/lib/models-DnXMYGcJ.mjs +381604 -0
- package/lib/muse-code-Di1VZmB1.mjs +143 -0
- package/lib/{ollama-Df9ce-Cp.mjs → ollama-B8ic3sEp.mjs} +15 -30
- package/lib/{openai-codex-CAVI3Me-.mjs → openai-codex-DuJNC99x.mjs} +29 -99
- package/lib/{openai-codex-responses-BcnOotRB.mjs → openai-codex-responses-BL29nh9K.mjs} +204 -116
- package/lib/{openai-completions-Bq4WT47M.mjs → openai-completions-BK2f2dBv.mjs} +152 -82
- package/lib/openai-configuration-update-xMYUjaK_.mjs +150 -0
- package/lib/{openai-reasoning-fallback-DXsfiSXO.mjs → openai-reasoning-fallback-BdB3RCbj.mjs} +106 -12
- package/lib/{openai-responses-Mq_-PjvE.mjs → openai-responses-CGQPlIIy.mjs} +76 -82
- package/lib/{perplexity-XgLF73E7.mjs → perplexity-TBjz3VMB.mjs} +52 -9
- package/lib/{pkce-BlQikGPu.mjs → pkce-BYjmugmw.mjs} +1 -1
- package/lib/protobuf-aab1UGVn.mjs +717 -0
- package/lib/{provider-response-C6vcbQyO.mjs → provider-response-SqKSkkUc.mjs} +1 -1
- package/lib/{proxy-D9lm7ONA.mjs → proxy-5nWqRL1f.mjs} +45 -5
- package/lib/{readability-Cpm-ocau.mjs → readability-uGhqb4GC.mjs} +2 -2
- package/lib/reference-CtvM4zLU.mjs +114 -0
- package/lib/{request-debug-HJMoJncL.mjs → request-debug-NQN0BjHH.mjs} +1 -1
- package/lib/{sanitize-text-CfcXzw5X.mjs → sanitize-text-BCf5KmCf.mjs} +1 -1
- package/lib/{scrapers-Cg5w77td.mjs → scrapers-BpqEnqNM.mjs} +12 -12
- package/lib/{src-BcD0_rQR.mjs → src-BwW51vA5.mjs} +979 -388
- package/lib/{sse-debug-CYdjOC96.mjs → sse-debug-B-tkLCPW.mjs} +1 -1
- package/lib/{stream-Bjq8wjfr.mjs → stream-B_7qN-bA.mjs} +3802 -2623
- package/lib/stream-markup-healing-DKT1lnkW.mjs +267 -0
- package/lib/{strict-tool-validation-imVLUcbI.mjs → strict-tool-validation-CBTz1dAA.mjs} +2 -2
- package/lib/taxonomy-DSIM99rS.mjs +15392 -0
- package/lib/{stream-markup-healing-DZ6bVDxH.mjs → thinking-CiLa2LFB.mjs} +31 -186
- package/lib/{turndown-DN7ByzEI.mjs → turndown-DrX1M4WG.mjs} +4 -4
- package/lib/{type-guards-B9VVjRDK.mjs → type-guards-CttAANEx.mjs} +1 -1
- package/lib/types/client/BashPlusCard.d.ts +53 -0
- package/lib/types/client/ToolPlusSection.d.ts +36 -0
- package/lib/types/client/forms.d.ts +42 -0
- package/lib/types/client/index.d.ts +29 -0
- package/lib/types/client/locales.d.ts +19 -0
- package/lib/types/client/rm-safe-status-text.d.ts +15 -0
- package/lib/types/client/rows.d.ts +107 -0
- package/lib/types/client/web-connection-rpc.d.ts +22 -0
- package/lib/types/config/fields.d.ts +85 -0
- package/lib/types/config/omp-settings.d.ts +21 -0
- package/lib/types/config/settings.d.ts +212 -0
- package/lib/types/config/truncate.d.ts +27 -0
- package/lib/types/host/browser-probe-rpc.d.ts +29 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/tools/ast-edit/adapter/index.d.ts +26 -0
- package/lib/types/tools/ast-edit/adapter/sdk.d.ts +49 -0
- package/lib/types/tools/ast-grep/adapter/index.d.ts +31 -0
- package/lib/types/tools/ast-grep/adapter/sdk.d.ts +44 -0
- package/lib/types/tools/bash/adapter/spill.d.ts +34 -0
- package/lib/types/tools/bash/background.d.ts +40 -0
- package/lib/types/tools/bash/bash-executor.d.ts +102 -0
- package/lib/types/tools/bash/bash-interceptor.d.ts +33 -0
- package/lib/types/tools/bash/cd-workdir.d.ts +35 -0
- package/lib/types/tools/bash/logger.d.ts +18 -0
- package/lib/types/tools/bash/non-interactive-env.d.ts +5 -0
- package/lib/types/tools/bash/render.d.ts +46 -0
- package/lib/types/tools/bash/rm-safe-status.d.ts +62 -0
- package/lib/types/tools/bash/rm-safe.d.ts +18 -0
- package/lib/types/tools/bash/sanitize-text.d.ts +34 -0
- package/lib/types/tools/bash/shell-snapshot.d.ts +31 -0
- package/lib/types/tools/bash/shell-tokenize.d.ts +60 -0
- package/lib/types/tools/bash/streaming-output.d.ts +32 -0
- package/lib/types/tools/bash/trash-cli-main.d.ts +1 -0
- package/lib/types/tools/bash/trash-cli.d.ts +77 -0
- package/lib/types/tools/bash/types.d.ts +107 -0
- package/lib/types/tools/bash/which.d.ts +20 -0
- package/lib/types/tools/bash/windows-shell.d.ts +31 -0
- package/lib/types/tools/bash/yield.d.ts +71 -0
- package/lib/types/tools/edit/adapter/index.d.ts +57 -0
- package/lib/types/tools/edit/adapter/tools/auto-generated-guard.d.ts +10 -0
- package/lib/types/tools/edit/adapter/tools/output-meta.d.ts +34 -0
- package/lib/types/tools/edit/adapter/tools/plan-mode-guard.d.ts +21 -0
- package/lib/types/tools/glob/adapter/index.d.ts +52 -0
- package/lib/types/tools/grep/adapter/index.d.ts +53 -0
- package/lib/types/tools/grep/adapter/match-path.d.ts +1 -0
- package/lib/types/tools/hashline/native/diff-preview.d.ts +37 -0
- package/lib/types/tools/hashline/native/index.d.ts +109 -0
- package/lib/types/tools/hashline/native/normalize.d.ts +29 -0
- package/lib/types/tools/hashline/native/policy.d.ts +98 -0
- package/lib/types/tools/hashline/native/writer.d.ts +42 -0
- package/lib/types/tools/omp/browser/launch.d.ts +28 -0
- package/lib/types/tools/omp/browser/readable.d.ts +17 -0
- package/lib/types/tools/omp/config/settings-schema.d.ts +12 -0
- package/lib/types/tools/omp/config/settings.d.ts +59 -0
- package/lib/types/tools/omp/edit/apply-patch/parser.d.ts +34 -0
- package/lib/types/tools/omp/edit/details.d.ts +54 -0
- package/lib/types/tools/omp/edit/diff.d.ts +60 -0
- package/lib/types/tools/omp/edit/dispatch.d.ts +43 -0
- package/lib/types/tools/omp/edit/file-snapshot-store.d.ts +81 -0
- package/lib/types/tools/omp/edit/hashline/execute.d.ts +40 -0
- package/lib/types/tools/omp/edit/hashline/params.d.ts +6 -0
- package/lib/types/tools/omp/edit/modes/apply-patch.d.ts +25 -0
- package/lib/types/tools/omp/edit/modes/patch.d.ts +109 -0
- package/lib/types/tools/omp/edit/modes/replace.d.ts +151 -0
- package/lib/types/tools/omp/edit/normalize.d.ts +31 -0
- package/lib/types/tools/omp/edit/notebook.d.ts +50 -0
- package/lib/types/tools/omp/edit/read-file.d.ts +2 -0
- package/lib/types/tools/omp/edit/snapshot-details.d.ts +33 -0
- package/lib/types/tools/omp/extensibility/skills.d.ts +22 -0
- package/lib/types/tools/omp/internal-urls/index.d.ts +100 -0
- package/lib/types/tools/omp/internal-urls/local-protocol.d.ts +12 -0
- package/lib/types/tools/omp/internal-urls/parse.d.ts +31 -0
- package/lib/types/tools/omp/internal-urls/types.d.ts +189 -0
- package/lib/types/tools/omp/internal-urls/xd-protocol.d.ts +19 -0
- package/lib/types/tools/omp/markit/converters/docx.d.ts +6 -0
- package/lib/types/tools/omp/markit/converters/epub.d.ts +15 -0
- package/lib/types/tools/omp/markit/converters/pdf/index.d.ts +7 -0
- package/lib/types/tools/omp/markit/converters/pptx.d.ts +57 -0
- package/lib/types/tools/omp/markit/converters/xlsx.d.ts +25 -0
- package/lib/types/tools/omp/markit/index.d.ts +2 -0
- package/lib/types/tools/omp/markit/registry.d.ts +16 -0
- package/lib/types/tools/omp/markit/types.d.ts +30 -0
- package/lib/types/tools/omp/sdk.d.ts +103 -0
- package/lib/types/tools/omp/session/agent-storage.d.ts +154 -0
- package/lib/types/tools/omp/session/streaming-output.d.ts +244 -0
- package/lib/types/tools/omp/task/spawn-policy.d.ts +22 -0
- package/lib/types/tools/omp/tools/approval.d.ts +62 -0
- package/lib/types/tools/omp/tools/ast-edit.d.ts +73 -0
- package/lib/types/tools/omp/tools/ast-grep.d.ts +61 -0
- package/lib/types/tools/omp/tools/auto-generated-guard.d.ts +20 -0
- package/lib/types/tools/omp/tools/conflict-detect.d.ts +237 -0
- package/lib/types/tools/omp/tools/fetch.d.ts +103 -0
- package/lib/types/tools/omp/tools/file-recorder.d.ts +13 -0
- package/lib/types/tools/omp/tools/fs-cache-invalidation.d.ts +15 -0
- package/lib/types/tools/omp/tools/glob.d.ts +86 -0
- package/lib/types/tools/omp/tools/grep.d.ts +102 -0
- package/lib/types/tools/omp/tools/grouped-file-output.d.ts +70 -0
- package/lib/types/tools/omp/tools/index.d.ts +23 -0
- package/lib/types/tools/omp/tools/list-limit.d.ts +12 -0
- package/lib/types/tools/omp/tools/match-line-format.d.ts +11 -0
- package/lib/types/tools/omp/tools/output-meta.d.ts +160 -0
- package/lib/types/tools/omp/tools/path-utils.d.ts +326 -0
- package/lib/types/tools/omp/tools/plan-mode-guard.d.ts +33 -0
- package/lib/types/tools/omp/tools/read-archive.d.ts +16 -0
- package/lib/types/tools/omp/tools/read-format.d.ts +104 -0
- package/lib/types/tools/omp/tools/read-path-resolution.d.ts +19 -0
- package/lib/types/tools/omp/tools/read-selector.d.ts +27 -0
- package/lib/types/tools/omp/tools/read-sqlite.d.ts +16 -0
- package/lib/types/tools/omp/tools/read-summary.d.ts +15 -0
- package/lib/types/tools/omp/tools/read.d.ts +70 -0
- package/lib/types/tools/omp/tools/render-utils.d.ts +28 -0
- package/lib/types/tools/omp/tools/report-tool-issue.d.ts +149 -0
- package/lib/types/tools/omp/tools/resolve.d.ts +127 -0
- package/lib/types/tools/omp/tools/sqlite-reader.d.ts +114 -0
- package/lib/types/tools/omp/tools/tool-errors.d.ts +33 -0
- package/lib/types/tools/omp/tools/tool-result.d.ts +33 -0
- package/lib/types/tools/omp/tools/tool-timeouts.d.ts +57 -0
- package/lib/types/tools/omp/tools/write.d.ts +53 -0
- package/lib/types/tools/omp/tools/writethrough.d.ts +24 -0
- package/lib/types/tools/omp/utils/block-context.d.ts +35 -0
- package/lib/types/tools/omp/utils/cpuprofile.d.ts +51 -0
- package/lib/types/tools/omp/utils/edit-mode.d.ts +13 -0
- package/lib/types/tools/omp/utils/file-display-mode.d.ts +27 -0
- package/lib/types/tools/omp/utils/image-loading.d.ts +51 -0
- package/lib/types/tools/omp/utils/image-resize.d.ts +42 -0
- package/lib/types/tools/omp/utils/lang-from-path.d.ts +9 -0
- package/lib/types/tools/omp/utils/markit-cache.d.ts +23 -0
- package/lib/types/tools/omp/utils/markit.d.ts +30 -0
- package/lib/types/tools/omp/utils/profile-tree.d.ts +47 -0
- package/lib/types/tools/omp/utils/sample-profile.d.ts +67 -0
- package/lib/types/tools/omp/utils/sixel.d.ts +21 -0
- package/lib/types/tools/omp/utils/tools-manager.d.ts +11 -0
- package/lib/types/tools/omp/utils/turndown.d.ts +15 -0
- package/lib/types/tools/omp/utils/zip.d.ts +129 -0
- package/lib/types/tools/omp/web/browser-render.d.ts +50 -0
- package/lib/types/tools/omp/web/parallel.d.ts +68 -0
- package/lib/types/tools/omp/web/scrapers/artifacthub.d.ts +6 -0
- package/lib/types/tools/omp/web/scrapers/arxiv.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/aur.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/biorxiv.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/bluesky.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/brew.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/cheatsh.d.ts +8 -0
- package/lib/types/tools/omp/web/scrapers/chocolatey.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/choosealicense.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/cisa-kev.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/clojars.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/coingecko.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/crates-io.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/crossref.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/devto.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/discogs.d.ts +8 -0
- package/lib/types/tools/omp/web/scrapers/discourse.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/dockerhub.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/docs-rs.d.ts +9 -0
- package/lib/types/tools/omp/web/scrapers/fdroid.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/firefox-addons.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/flathub.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/github-gist.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/github.d.ts +34 -0
- package/lib/types/tools/omp/web/scrapers/gitlab.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/go-pkg.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/hackage.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/hackernews.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/hex.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/huggingface.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/iacr.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/index.d.ts +84 -0
- package/lib/types/tools/omp/web/scrapers/jetbrains-marketplace.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/lemmy.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/lobsters.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/mastodon.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/maven.d.ts +6 -0
- package/lib/types/tools/omp/web/scrapers/mdn.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/metacpan.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/musicbrainz.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/npm.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/nuget.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/nvd.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/ollama.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/open-vsx.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/opencorporates.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/openlibrary.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/orcid.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/osv.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/packagist.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/pub-dev.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/pubmed.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/pypi.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/rawg.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/readthedocs.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/reddit.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/repology.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/rfc.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/rubygems.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/searchcode.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/sec-edgar.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/semantic-scholar.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/snapcraft.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/sourcegraph.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/spdx.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/spotify.d.ts +8 -0
- package/lib/types/tools/omp/web/scrapers/stackoverflow.d.ts +6 -0
- package/lib/types/tools/omp/web/scrapers/terraform.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/tldr.d.ts +7 -0
- package/lib/types/tools/omp/web/scrapers/twitter.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/types.d.ts +90 -0
- package/lib/types/tools/omp/web/scrapers/utils.d.ts +26 -0
- package/lib/types/tools/omp/web/scrapers/vimeo.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/vscode-marketplace.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/w3c.d.ts +2 -0
- package/lib/types/tools/omp/web/scrapers/wikidata.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/wikipedia.d.ts +5 -0
- package/lib/types/tools/omp/web/scrapers/youtube.d.ts +5 -0
- package/lib/types/tools/omp/web/search/providers/utils.d.ts +49 -0
- package/lib/types/tools/omp/web/search/types.d.ts +501 -0
- package/lib/types/tools/omp/web/search/utils.d.ts +4 -0
- package/lib/types/tools/omp/workspace-tree.d.ts +42 -0
- package/lib/types/tools/read/adapter/index.d.ts +49 -0
- package/lib/types/tools/read/adapter/internal-urls/artifact-protocol.d.ts +15 -0
- package/lib/types/tools/read/adapter/internal-urls/registry-helpers.d.ts +44 -0
- package/lib/types/tools/read/adapter/registry/agent-registry.d.ts +29 -0
- package/lib/types/tools/shared/auto-generated-guard.dsh.d.ts +16 -0
- package/lib/types/tools/shared/browser-detect.d.ts +54 -0
- package/lib/types/tools/shared/browser-rpc-channel.d.ts +40 -0
- package/lib/types/tools/shared/bun-ffi-shim.d.ts +13 -0
- package/lib/types/tools/shared/bun-named-shim.d.ts +42 -0
- package/lib/types/tools/shared/bun-shim.d.ts +138 -0
- package/lib/types/tools/shared/bun-sqlite-shim.d.ts +49 -0
- package/lib/types/tools/shared/fs-promises-shim.d.ts +15 -0
- package/lib/types/tools/shared/image-bridge.d.ts +98 -0
- package/lib/types/tools/shared/omp-prompt.d.ts +47 -0
- package/lib/types/tools/shared/sandbox-policy.d.ts +38 -0
- package/lib/types/tools/shared/session-state.d.ts +51 -0
- package/lib/types/tools/shared/tool-errors.d.ts +33 -0
- package/lib/types/tools/shared/win-path-fixes.d.ts +16 -0
- package/lib/types/tools/write/adapter/index.d.ts +31 -0
- package/lib/{types-DX_bvuus.mjs → types-PVueGi9S.mjs} +2 -2
- package/lib/{utils-C-dSORPa.mjs → utils-B7A3Eu4L.mjs} +2364 -2676
- package/lib/{utils-Cp2Mxf_U.mjs → utils-CUPhpw9A.mjs} +413 -134
- package/lib/{utils-CQHPEQ3W.mjs → utils-DeWqNWV8.mjs} +2 -2
- package/lib/{vision-guard-mBmtAHx0.mjs → vision-guard-_XwsL1DF.mjs} +14 -29
- package/lib/xai-oauth-CXhnz0gO.mjs +210 -0
- package/lib/{xiaomi-7mE345KX.mjs → xiaomi-psoUItal.mjs} +8 -37
- package/lib/{zai-CeNpMV3W.mjs → zai-ApJ8HBgT.mjs} +8 -71
- package/lib/{zip-BK7UHCwX.mjs → zip-Kd602XNe.mjs} +1 -1
- package/package.json +12 -12
- package/presets/package.json +1 -1
- package/presets/tool-plus-ptc/agent.cordis.yml +1 -1
- package/presets/tool-plus-standard/agent.cordis.yml +1 -1
- package/scripts/patch-pi-natives.mjs +108 -108
- package/lib/agent_pb-Rizyt9Zg.mjs +0 -805
- package/lib/anthropic-CDmj476p.mjs +0 -262
- package/lib/api_server_pb-CDZgLMta.mjs +0 -252
- package/lib/callback-server-CFJK-jvK.mjs +0 -398
- package/lib/codex-P1dGpX7G.mjs +0 -54
- package/lib/device-code-CuXTWYwY.mjs +0 -51
- package/lib/devin-BcQwht1W.mjs +0 -114
- package/lib/devin-BvMfGevz.mjs +0 -95
- package/lib/github-copilot-B3kQl0g0.mjs +0 -104
- package/lib/gitlab-duo-BriUTP8k.mjs +0 -155
- package/lib/gitlab-duo-workflow-wK5Ljzmc.mjs +0 -91
- package/lib/google-CE5tFDod.mjs +0 -30
- package/lib/google-antigravity-C1jgNljz.mjs +0 -198
- package/lib/google-oauth-shared-BLVTvokk.mjs +0 -147
- package/lib/grammar-D-NqNUxQ.mjs +0 -49
- package/lib/identity-HNO1Oe9B.mjs +0 -219
- package/lib/kimi-DgcUpPtK.mjs +0 -236
- package/lib/markit-DtGoRE6M.mjs +0 -1417
- package/lib/minimax-code-Y3h5li9N.mjs +0 -53
- package/lib/models-DRA2c_8U.mjs +0 -104660
- package/lib/opencode-BsVw9rCD.mjs +0 -38
- package/lib/to-binary-B1BEBIPC.mjs +0 -6002
- package/lib/wafer-BlhWLweO.mjs +0 -17
- package/lib/xai-oauth-5pORHUrg.mjs +0 -446
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the internal URL routing system.
|
|
3
|
+
*
|
|
4
|
+
* Internal URLs (`agent://`, `artifact://`, `history://`, `issue://`, `local://`, `mcp://`, `memory://`, `omp://`, `pr://`, `rule://`, `security://`, `skill://`, `ssh://`, `vault://`, and `xd://`) are resolved by tools like read,
|
|
5
|
+
* providing access to agent outputs and server resources without exposing filesystem paths.
|
|
6
|
+
*/
|
|
7
|
+
import type { Skill } from "../extensibility/skills";
|
|
8
|
+
import type { LocalProtocolOptions } from "./local-protocol";
|
|
9
|
+
/**
|
|
10
|
+
* Raw resource payload returned by protocol handlers. The `immutable` flag is
|
|
11
|
+
* applied by the router from {@link ProtocolHandler.immutable}, so handlers do
|
|
12
|
+
* not need to set it themselves.
|
|
13
|
+
*/
|
|
14
|
+
export interface InternalResource {
|
|
15
|
+
/** Canonical URL that was resolved */
|
|
16
|
+
url: string;
|
|
17
|
+
/** Resolved text content */
|
|
18
|
+
content: string;
|
|
19
|
+
/** MIME type: text/markdown, application/json, or text/plain */
|
|
20
|
+
contentType: "text/markdown" | "application/json" | "text/plain";
|
|
21
|
+
/** Content size in bytes */
|
|
22
|
+
size?: number;
|
|
23
|
+
/** Underlying filesystem path (for debugging, not exposed to agent) */
|
|
24
|
+
sourcePath?: string;
|
|
25
|
+
/** Additional notes about resolution */
|
|
26
|
+
notes?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* True when the resolved content cannot be edited by the agent (e.g. sealed
|
|
29
|
+
* artifacts, harness docs, machine-generated memory summaries). Hashline
|
|
30
|
+
* anchors and similar edit affordances are suppressed for immutable
|
|
31
|
+
* resources. Mutable resources (e.g. local://) behave like editable files.
|
|
32
|
+
*/
|
|
33
|
+
immutable?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* True when the resource is a directory listing rather than file content.
|
|
36
|
+
* `search` refuses to grep such a resource when it has no `sourcePath` — a
|
|
37
|
+
* remote `ssh://` listing has no local path to recurse, so its listing text
|
|
38
|
+
* must never be mistaken for the directory's contents.
|
|
39
|
+
*/
|
|
40
|
+
isDirectory?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A single autocomplete candidate for the host/path portion of a `scheme://`
|
|
44
|
+
* URL, produced by {@link ProtocolHandler.complete}.
|
|
45
|
+
*/
|
|
46
|
+
export interface UrlCompletion {
|
|
47
|
+
/**
|
|
48
|
+
* The text that follows `scheme://` for this candidate (e.g. `humanizer`,
|
|
49
|
+
* `subdir/data.json`, `root`). The caller renders it as `scheme://<value>`.
|
|
50
|
+
*/
|
|
51
|
+
value: string;
|
|
52
|
+
/** Human-facing label for the dropdown. Defaults to {@link value}. */
|
|
53
|
+
label?: string;
|
|
54
|
+
/** Optional one-line description shown beside the candidate. */
|
|
55
|
+
description?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Parsed internal URL with preserved host casing.
|
|
59
|
+
*/
|
|
60
|
+
export interface InternalUrl extends URL {
|
|
61
|
+
/**
|
|
62
|
+
* Raw host segment extracted from input, preserving case.
|
|
63
|
+
*/
|
|
64
|
+
rawHost: string;
|
|
65
|
+
/**
|
|
66
|
+
* Raw pathname extracted from input, preserving traversal markers before URL normalization.
|
|
67
|
+
*/
|
|
68
|
+
rawPathname?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Exact input string this URL was parsed from, before any normalization.
|
|
71
|
+
* Set by `parseInternalUrl`; used where byte-exact URI matching matters
|
|
72
|
+
* (e.g. MCP resource URIs compared by string equality).
|
|
73
|
+
*/
|
|
74
|
+
rawHref?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Caller-supplied context that the router threads into protocol handlers.
|
|
78
|
+
*
|
|
79
|
+
* Read tool calls `InternalUrlRouter.resolve(url, { cwd, settings, signal })`
|
|
80
|
+
* so handlers can resolve relative defaults (e.g. `issue://N` → which repo?)
|
|
81
|
+
* against the actual session that initiated the read, not whichever session
|
|
82
|
+
* happens to be registered first in the global `AgentRegistry`.
|
|
83
|
+
*/
|
|
84
|
+
export interface ResolveContext {
|
|
85
|
+
/** Working directory of the calling session. */
|
|
86
|
+
cwd?: string;
|
|
87
|
+
/** Settings of the calling session (used by `issue://`/`pr://` for cache TTLs). */
|
|
88
|
+
settings?: unknown;
|
|
89
|
+
/** Caller's abort signal. */
|
|
90
|
+
signal?: AbortSignal;
|
|
91
|
+
/**
|
|
92
|
+
* Calling session's `local://` root mapping. When present, the local-protocol
|
|
93
|
+
* handler resolves the URL against THIS session's artifacts dir instead of
|
|
94
|
+
* picking the first `main`-kind session from the global `AgentRegistry`.
|
|
95
|
+
*
|
|
96
|
+
* Required for correctness in multi-session hosts (cmux/ACP, embedded SDK
|
|
97
|
+
* consumers) where multiple sessions are registered as `main` and the
|
|
98
|
+
* "first one wins" lookup picks the wrong artifacts directory — see
|
|
99
|
+
* [#1608](https://github.com/can1357/oh-my-pi/issues/1608).
|
|
100
|
+
*/
|
|
101
|
+
localProtocolOptions?: LocalProtocolOptions;
|
|
102
|
+
/** Calling session's loaded skills. Prefer this over process-global skill state. */
|
|
103
|
+
skills?: readonly Skill[];
|
|
104
|
+
/** Session-bound `xd://` documentation resolver. */
|
|
105
|
+
xd?: {
|
|
106
|
+
read(name: string | null): Promise<string>;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* When set, handlers that would otherwise materialize an expensive directory
|
|
110
|
+
* listing (e.g. the ssh:// handler draining a full remote `ls`) instead return
|
|
111
|
+
* the directory shape (`isDirectory: true`) with empty content. `search`/`find`
|
|
112
|
+
* reject directory resources, so they never need the listing.
|
|
113
|
+
*/
|
|
114
|
+
skipDirectoryListing?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* When set, handlers that would otherwise materialize expensive content
|
|
117
|
+
* (e.g. reading a multi-MiB artifact into memory just to expose its
|
|
118
|
+
* `sourcePath`) may return the resource shape without content. Callers
|
|
119
|
+
* that only need `sourcePath` — search/grep, bash URL expansion — pass
|
|
120
|
+
* this so a large `artifact://` still resolves to its backing file
|
|
121
|
+
* without OOM risk. Handlers that cannot separate path from content
|
|
122
|
+
* ignore the flag.
|
|
123
|
+
*/
|
|
124
|
+
pathOnly?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Caller context for write operations dispatched to host-owned URI handlers.
|
|
128
|
+
* Mirrors {@link ResolveContext} so handlers that share read/write state can
|
|
129
|
+
* accept the same shape.
|
|
130
|
+
*/
|
|
131
|
+
export interface WriteContext {
|
|
132
|
+
/** Working directory of the calling session. */
|
|
133
|
+
cwd?: string;
|
|
134
|
+
/** Caller's abort signal. */
|
|
135
|
+
signal?: AbortSignal;
|
|
136
|
+
/** Calling session's `local://` root mapping — see {@link ResolveContext.localProtocolOptions}. */
|
|
137
|
+
localProtocolOptions?: LocalProtocolOptions;
|
|
138
|
+
/** Session-bound `xd://` device dispatcher. */
|
|
139
|
+
xd?: {
|
|
140
|
+
write(name: string | null, content: string): Promise<void>;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Handler for a specific internal URL scheme (e.g., agent://, memory://, skill://, xd://).
|
|
145
|
+
*/
|
|
146
|
+
export interface ProtocolHandler {
|
|
147
|
+
/** The scheme this handler processes (without trailing ://) */
|
|
148
|
+
readonly scheme: string;
|
|
149
|
+
/**
|
|
150
|
+
* Whether resources produced by this handler are immutable (cannot be
|
|
151
|
+
* edited by the agent). When true, callers suppress hashline anchors and
|
|
152
|
+
* other edit affordances. When false, resources behave like editable files.
|
|
153
|
+
*/
|
|
154
|
+
readonly immutable: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Resolve an internal URL to its content. The router stamps the
|
|
157
|
+
* {@link InternalResource.immutable} flag from {@link ProtocolHandler.immutable}.
|
|
158
|
+
*
|
|
159
|
+
* @param url Parsed URL object
|
|
160
|
+
* @param context Optional caller context. Handlers that depend on caller
|
|
161
|
+
* identity (working directory, settings) **MUST** consume this in
|
|
162
|
+
* preference to global state.
|
|
163
|
+
* @throws Error with user-friendly message if resolution fails
|
|
164
|
+
*/
|
|
165
|
+
resolve(url: InternalUrl, context?: ResolveContext): Promise<InternalResource>;
|
|
166
|
+
/**
|
|
167
|
+
* Optional write hook. When present, the write tool dispatches
|
|
168
|
+
* `write(url, content)` to this handler instead of writing to a filesystem
|
|
169
|
+
* path. The handler is responsible for any persistence and validation.
|
|
170
|
+
*
|
|
171
|
+
* Handlers that omit this method are treated as read-only; the write tool
|
|
172
|
+
* surfaces a clear "not writable" error when invoked against them.
|
|
173
|
+
*/
|
|
174
|
+
write?(url: InternalUrl, content: string, context?: WriteContext): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Optional autocomplete hook. Returns candidate completions for the
|
|
177
|
+
* host/path portion of a `scheme://` URL while the user composes a prompt.
|
|
178
|
+
*
|
|
179
|
+
* Implementations **MUST** be fast and local — this runs on every keystroke.
|
|
180
|
+
* Schemes backed by network or external CLIs (issue://, pr://, vault://,
|
|
181
|
+
* mcp://) omit it. The caller fuzzy-filters the returned set against the
|
|
182
|
+
* partially typed `query`, so handlers return their full (bounded) candidate
|
|
183
|
+
* list; `query` is provided only so handlers can scope expensive enumeration.
|
|
184
|
+
* `context.cwd`/`context.localProtocolOptions` carry the caller's working dir
|
|
185
|
+
* and session, for handlers whose candidates are project- or session-scoped
|
|
186
|
+
* (e.g. ssh:// hosts from a project `ssh.json`, local:// roots per session).
|
|
187
|
+
*/
|
|
188
|
+
complete?(query?: string, context?: ResolveContext): Promise<UrlCompletion[]>;
|
|
189
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { InternalResource, InternalUrl, ProtocolHandler, ResolveContext, WriteContext } from "./types";
|
|
2
|
+
/** Canonical prefix for virtual tool-device URLs. */
|
|
3
|
+
export declare const XD_URL_PREFIX = "xd://";
|
|
4
|
+
/**
|
|
5
|
+
* Parse an `xd://` URL into its device target.
|
|
6
|
+
* Returns `null` for other or malformed URLs and `name: null` for the root.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseXdUrl(input: string): {
|
|
9
|
+
name: string | null;
|
|
10
|
+
} | null;
|
|
11
|
+
/** Whether a streaming path prefix could still become an `xd://` URL. */
|
|
12
|
+
export declare function couldBecomeXdUrl(partialPath: string): boolean;
|
|
13
|
+
/** Routes session-bound virtual tool devices through `xd://` URLs. */
|
|
14
|
+
export declare class XdProtocolHandler implements ProtocolHandler {
|
|
15
|
+
readonly scheme = "xd";
|
|
16
|
+
readonly immutable = true;
|
|
17
|
+
resolve(url: InternalUrl, context?: ResolveContext): Promise<InternalResource>;
|
|
18
|
+
write(url: InternalUrl, content: string, context?: WriteContext): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ConversionResult, Converter, StreamInfo } from "../types";
|
|
2
|
+
export declare class DocxConverter implements Converter {
|
|
3
|
+
name: string;
|
|
4
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
5
|
+
convert(input: Buffer, streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ConversionResult, Converter, StreamInfo } from "../types";
|
|
2
|
+
/** A metadata value: a bare string, or a node carrying `#text` and/or array children. */
|
|
3
|
+
type MetaValue = string | MetaNode;
|
|
4
|
+
interface MetaNode {
|
|
5
|
+
"#text"?: string;
|
|
6
|
+
[index: number]: MetaValue;
|
|
7
|
+
}
|
|
8
|
+
export declare class EpubConverter implements Converter {
|
|
9
|
+
name: string;
|
|
10
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
11
|
+
convert(input: Buffer, _streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
12
|
+
getText(node: MetaValue | undefined): string | undefined;
|
|
13
|
+
getTextArray(node: MetaValue | undefined): (string | undefined)[];
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ConversionResult, Converter, StreamInfo } from "../../types";
|
|
2
|
+
/** Converts PDF buffers to Markdown through the native `pdf-inspector` bridge. */
|
|
3
|
+
export declare class PdfConverter implements Converter {
|
|
4
|
+
name: string;
|
|
5
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
6
|
+
convert(input: Buffer, _streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ConversionResult, Converter, StreamInfo } from "../types";
|
|
2
|
+
/** A text value: bare string/number, or a `{ "#text" }` node when the element carries attributes. */
|
|
3
|
+
type XmlText = string | number | {
|
|
4
|
+
"#text"?: string;
|
|
5
|
+
};
|
|
6
|
+
interface TextRun {
|
|
7
|
+
"a:t"?: XmlText;
|
|
8
|
+
}
|
|
9
|
+
interface Paragraph {
|
|
10
|
+
"a:r"?: TextRun | TextRun[];
|
|
11
|
+
}
|
|
12
|
+
interface TextBody {
|
|
13
|
+
"a:p"?: Paragraph | Paragraph[];
|
|
14
|
+
}
|
|
15
|
+
interface CNvPr {
|
|
16
|
+
"@_name": string;
|
|
17
|
+
}
|
|
18
|
+
interface Placeholder {
|
|
19
|
+
"@_type": string;
|
|
20
|
+
}
|
|
21
|
+
interface NvPr {
|
|
22
|
+
"p:ph"?: Placeholder;
|
|
23
|
+
}
|
|
24
|
+
interface NvSpPr {
|
|
25
|
+
"p:cNvPr"?: CNvPr;
|
|
26
|
+
"p:nvPr"?: NvPr;
|
|
27
|
+
}
|
|
28
|
+
interface Shape {
|
|
29
|
+
"p:txBody"?: TextBody;
|
|
30
|
+
"p:nvSpPr"?: NvSpPr;
|
|
31
|
+
}
|
|
32
|
+
interface TableCell {
|
|
33
|
+
"a:txBody"?: TextBody;
|
|
34
|
+
}
|
|
35
|
+
interface TableRow {
|
|
36
|
+
"a:tc"?: TableCell | TableCell[];
|
|
37
|
+
}
|
|
38
|
+
interface Table {
|
|
39
|
+
"a:tr"?: TableRow | TableRow[];
|
|
40
|
+
}
|
|
41
|
+
interface GraphicData {
|
|
42
|
+
"a:tbl"?: Table;
|
|
43
|
+
}
|
|
44
|
+
interface Graphic {
|
|
45
|
+
"a:graphicData"?: GraphicData;
|
|
46
|
+
}
|
|
47
|
+
interface GraphicFrame {
|
|
48
|
+
"a:graphic"?: Graphic;
|
|
49
|
+
}
|
|
50
|
+
export declare class PptxConverter implements Converter {
|
|
51
|
+
name: string;
|
|
52
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
53
|
+
convert(input: Buffer, streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
54
|
+
extractText(shape: Shape): string;
|
|
55
|
+
extractTable(gf: GraphicFrame): string | null;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ConversionResult, Converter, StreamInfo } from "../types";
|
|
2
|
+
/** A text value: bare string/number, or a `{ "#text" }` node when the element carries attributes. */
|
|
3
|
+
type XmlText = string | number | {
|
|
4
|
+
"#text"?: string;
|
|
5
|
+
};
|
|
6
|
+
interface RichTextRun {
|
|
7
|
+
t?: XmlText;
|
|
8
|
+
}
|
|
9
|
+
interface StringItem {
|
|
10
|
+
t?: XmlText;
|
|
11
|
+
r?: RichTextRun | RichTextRun[];
|
|
12
|
+
}
|
|
13
|
+
interface Cell {
|
|
14
|
+
"@_t"?: string;
|
|
15
|
+
v?: string | number;
|
|
16
|
+
is?: StringItem;
|
|
17
|
+
}
|
|
18
|
+
export declare class XlsxConverter implements Converter {
|
|
19
|
+
name: string;
|
|
20
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
21
|
+
convert(input: Buffer, _streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
22
|
+
getCellValue(cell: Cell, shared: StringItem[]): string;
|
|
23
|
+
getSharedString(shared: StringItem[], idx: number): string;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ConversionResult, MarkitOptions, StreamInfo } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* In-house document → markdown engine (replaces the `markit-ai` package).
|
|
4
|
+
*
|
|
5
|
+
* Only the document converters omp routes are registered (pdf, docx, pptx,
|
|
6
|
+
* xlsx, epub). The first converter whose `accepts()` returns true and whose
|
|
7
|
+
* `convert()` succeeds wins.
|
|
8
|
+
*/
|
|
9
|
+
export declare class Markit {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(options?: MarkitOptions);
|
|
12
|
+
convertFile(filePath: string, extra?: {
|
|
13
|
+
imageDir?: string;
|
|
14
|
+
}): Promise<ConversionResult>;
|
|
15
|
+
convert(input: Buffer, streamInfo: StreamInfo): Promise<ConversionResult>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface StreamInfo {
|
|
2
|
+
mimetype?: string;
|
|
3
|
+
extension?: string;
|
|
4
|
+
charset?: string;
|
|
5
|
+
filename?: string;
|
|
6
|
+
localPath?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
/** Directory to write extracted images/diagrams. */
|
|
9
|
+
imageDir?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ConversionResult {
|
|
12
|
+
markdown: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface MarkitOptions {
|
|
16
|
+
/** Describe an image, return markdown. Receives raw bytes and mimetype. */
|
|
17
|
+
describe?: (image: Buffer, mimetype: string) => Promise<string>;
|
|
18
|
+
/** Transcribe audio, return text. Receives raw bytes and mimetype. */
|
|
19
|
+
transcribe?: (audio: Buffer, mimetype: string) => Promise<string>;
|
|
20
|
+
/** Extra instructions appended to the image description prompt. */
|
|
21
|
+
prompt?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface Converter {
|
|
24
|
+
/** Human-readable name for error messages. */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Quick check: can this converter handle the given stream? */
|
|
27
|
+
accepts(streamInfo: StreamInfo): boolean;
|
|
28
|
+
/** Convert the source to markdown. */
|
|
29
|
+
convert(input: Buffer, streamInfo: StreamInfo, options?: MarkitOptions): Promise<ConversionResult>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DSH adapter for OMP `sdk.ts` — the `ToolSession` interface consumed by the
|
|
3
|
+
* tool-plus engines (read/write/grep/glob/edit).
|
|
4
|
+
*
|
|
5
|
+
* Shared superset: read/write/grep/glob adapter copies declared the members
|
|
6
|
+
* their engine touches; this shared copy keeps the union (read's
|
|
7
|
+
* conflict-history, grep/glob's `getSessionSpawns`, the native edit store).
|
|
8
|
+
* DSH provides a session adapter implementing this interface.
|
|
9
|
+
*/
|
|
10
|
+
import type { Settings } from './config/settings.ts';
|
|
11
|
+
import type { Skill } from './extensibility/skills.ts';
|
|
12
|
+
import type { ConflictHistory } from './tools/conflict-detect.ts';
|
|
13
|
+
import type { Model } from '@oh-my-pi/pi-ai';
|
|
14
|
+
declare module '@oh-my-pi/pi-agent-core' {
|
|
15
|
+
interface AgentToolContext {
|
|
16
|
+
hasUI?: boolean;
|
|
17
|
+
toolNames?: string[];
|
|
18
|
+
/** Session settings (cross-module nominal Settings — typed loosely). */
|
|
19
|
+
settings?: any;
|
|
20
|
+
/** Session manager (DSH: none). */
|
|
21
|
+
sessionManager?: {
|
|
22
|
+
saveArtifact: (text: string, toolName: string) => Promise<string | undefined>;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Minimal ToolSession surface used by the OMP engines (verbatim member
|
|
28
|
+
* shapes, shared superset). DSH provides a session adapter implementing
|
|
29
|
+
* this interface.
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolSession {
|
|
32
|
+
/** Current working directory */
|
|
33
|
+
cwd: string;
|
|
34
|
+
/** Whether an edit-capable tool is available (controls hashline output) */
|
|
35
|
+
hasEditTool?: boolean;
|
|
36
|
+
/** Session settings (read.* keys; DSH maps them onto tool-plus config). */
|
|
37
|
+
settings: Settings;
|
|
38
|
+
/** Active model string for mode resolution (optional in DSH). */
|
|
39
|
+
getActiveModelString?: () => string | undefined;
|
|
40
|
+
/** Active model object (image-capability checks; optional in DSH). */
|
|
41
|
+
getActiveModel?: () => Model | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* DSH image bridge (拍板#22): attachment store + route vision-capability
|
|
44
|
+
* probe handed to the read/fetch image paths. Optional — engines degrade to
|
|
45
|
+
* a model-facing metadata text when absent.
|
|
46
|
+
*/
|
|
47
|
+
imageBridge?: () => import('../shared/image-bridge.ts').ImageBridge | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Native edit store (created lazily by the engine): the hashline snapshot
|
|
50
|
+
* ring, the `CUT`/`PUT` clipboard registers and the no-op loop guard. Shared
|
|
51
|
+
* by read / search / write / edit through `file-snapshot-store.ts`, and
|
|
52
|
+
* round-tripped across tool calls by `shared/session-state.ts`.
|
|
53
|
+
*/
|
|
54
|
+
editStore?: import('../hashline/native/index.ts').EditStore;
|
|
55
|
+
/** Plan-mode state (DSH plan is a hint layer — never enabled). */
|
|
56
|
+
getPlanModeState?: () => {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
planFilePath: string;
|
|
59
|
+
} | undefined;
|
|
60
|
+
/** Plan reference path (DSH: none). */
|
|
61
|
+
getPlanReferencePath?: () => string | null;
|
|
62
|
+
/** Local protocol options (DSH has no local:// sandbox — optional). */
|
|
63
|
+
localProtocolOptions?: import('./internal-urls/index.ts').LocalProtocolOptions;
|
|
64
|
+
getArtifactsDir?: () => string | null;
|
|
65
|
+
/** Allocate a new artifact path (DSH: none). */
|
|
66
|
+
allocateOutputArtifact?: (toolType: string) => Promise<{
|
|
67
|
+
id?: string;
|
|
68
|
+
path?: string;
|
|
69
|
+
}>;
|
|
70
|
+
getSessionId?: () => string | null;
|
|
71
|
+
/** Session spawn policy (DSH: none — engines fall back to `"*"`). */
|
|
72
|
+
getSessionSpawns?: () => string | boolean | null | undefined;
|
|
73
|
+
/** Fetch implementation for URL reads (DSH: global fetch). */
|
|
74
|
+
fetch?: typeof globalThis.fetch;
|
|
75
|
+
/** Tool-choice queue (resolution devices; DSH: none). */
|
|
76
|
+
getToolChoiceQueue?: () => ToolChoiceQueueLike | undefined;
|
|
77
|
+
/** Plan-proposal handler (resolution devices; DSH: none). */
|
|
78
|
+
peekPlanProposalHandler?: () => PlanProposalHandler | undefined;
|
|
79
|
+
/** Queued/pending invocation peek (resolution devices; DSH: none). */
|
|
80
|
+
peekQueueInvoker?: () => ResolveInvoker | undefined;
|
|
81
|
+
peekPendingInvoker?: () => ResolveInvoker | undefined;
|
|
82
|
+
/** Clear pending invokers (resolution devices; DSH: none). */
|
|
83
|
+
clearPendingInvokers?: () => void;
|
|
84
|
+
/** Whether a built-in tool is active in this turn's tool set. */
|
|
85
|
+
isToolActive?: (name: string) => boolean;
|
|
86
|
+
/** Pre-loaded skills (DSH: none). */
|
|
87
|
+
skills?: readonly Skill[];
|
|
88
|
+
/** Auth storage for search providers (DSH: none). */
|
|
89
|
+
authStorage?: import('@oh-my-pi/pi-ai').AuthStorage;
|
|
90
|
+
/** Conflict history for conflict:// write-back (DSH: absent). */
|
|
91
|
+
conflictHistory?: ConflictHistory;
|
|
92
|
+
}
|
|
93
|
+
/** Tool-choice queue for staged resolution previews (DSH: never present). */
|
|
94
|
+
export interface ToolChoiceQueueLike {
|
|
95
|
+
registerPendingInvoker: (id: string, toolName: string, invoker: ResolveInvoker) => void;
|
|
96
|
+
removePendingInvoker: (id: string) => void;
|
|
97
|
+
}
|
|
98
|
+
/** Plan-proposal approval handler (DSH: never present). */
|
|
99
|
+
export type PlanProposalHandler = (title: string) => Promise<import('@oh-my-pi/pi-agent-core').AgentToolResult<unknown>>;
|
|
100
|
+
/** Staged resolution invocation runner (DSH: never present). */
|
|
101
|
+
export type ResolveInvoker = (invocation: unknown) => Promise<import('@oh-my-pi/pi-agent-core').AgentToolResult<unknown>>;
|
|
102
|
+
/** DSH: no auth storage discovery — search providers have no credentials. */
|
|
103
|
+
export declare function discoverAuthStorage(_agentDir?: string): Promise<import('@oh-my-pi/pi-ai').AuthStorage>;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { type AuthCredential, type AuthCredentialStore, type StoredAuthCredential } from "@oh-my-pi/pi-ai";
|
|
2
|
+
import type { RawSettings as Settings } from "../config/settings";
|
|
3
|
+
/** One completed request's timing, folded into the per-model aggregates. */
|
|
4
|
+
export interface ModelPerfSample {
|
|
5
|
+
/** Output tokens the provider reported for the turn. */
|
|
6
|
+
outputTokens: number;
|
|
7
|
+
/** Total request duration in milliseconds. */
|
|
8
|
+
durationMs: number;
|
|
9
|
+
/** Time to first token in milliseconds; omit when the provider did not report one. */
|
|
10
|
+
ttftMs?: number;
|
|
11
|
+
}
|
|
12
|
+
/** Recency-weighted per-model performance averages. */
|
|
13
|
+
export interface ModelPerfStats {
|
|
14
|
+
/** Decayed sample count backing the averages. */
|
|
15
|
+
samples: number;
|
|
16
|
+
/** Average output tokens/sec over the total request duration. */
|
|
17
|
+
tps: number;
|
|
18
|
+
/** Average time-to-first-token in milliseconds; null when no sample reported one. */
|
|
19
|
+
ttftMs: number | null;
|
|
20
|
+
}
|
|
21
|
+
/** Current agent.db schema version; bump when schema changes require migration. */
|
|
22
|
+
export declare const SCHEMA_VERSION = 6;
|
|
23
|
+
/**
|
|
24
|
+
* Unified SQLite storage for agent settings, model usage, and auth credentials.
|
|
25
|
+
* Delegates auth credential operations to AuthCredentialStore from @oh-my-pi/pi-ai.
|
|
26
|
+
* Uses singleton pattern per database path; access via AgentStorage.open().
|
|
27
|
+
*/
|
|
28
|
+
export declare class AgentStorage {
|
|
29
|
+
#private;
|
|
30
|
+
private constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Returns singleton instance for the given database path, creating if needed.
|
|
33
|
+
* Retries on the `SQLITE_BUSY` family (including `SQLITE_BUSY_RECOVERY`) with
|
|
34
|
+
* exponential backoff. See issue #2421.
|
|
35
|
+
* @param dbPath - Path to the SQLite database file (defaults to config path)
|
|
36
|
+
* @returns AgentStorage instance for the given path
|
|
37
|
+
*/
|
|
38
|
+
static open(dbPath?: string): Promise<AgentStorage>;
|
|
39
|
+
/** @internal Reset all singletons and close their databases — test-only. */
|
|
40
|
+
static resetInstance(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Reads legacy settings persisted in the agent.db `settings` table.
|
|
43
|
+
* The canonical settings store is `config.yml`; this accessor only
|
|
44
|
+
* exists so the config loader can migrate values from older installs.
|
|
45
|
+
* @returns Settings object, or null if no settings are stored
|
|
46
|
+
*/
|
|
47
|
+
getSettings(): Settings | null;
|
|
48
|
+
/**
|
|
49
|
+
* Records model usage, updating the last-used timestamp.
|
|
50
|
+
* @param modelKey - Model key in "provider/modelId" format
|
|
51
|
+
*/
|
|
52
|
+
recordModelUsage(modelKey: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Gets model keys ordered by most recently used.
|
|
55
|
+
* Results are cached until recordModelUsage is called.
|
|
56
|
+
* @returns Array of model keys ("provider/modelId") in MRU order
|
|
57
|
+
*/
|
|
58
|
+
getModelUsageOrder(): string[];
|
|
59
|
+
/**
|
|
60
|
+
* Folds one completed request's timing into the model's perf aggregates.
|
|
61
|
+
* TPS is measured over the total request duration — not the post-TTFT
|
|
62
|
+
* decode window, which undercounts generation time (and so inflates the
|
|
63
|
+
* rate) when reasoning tokens are generated before the first visible
|
|
64
|
+
* token. Invalid samples (no tokens, no duration) are dropped.
|
|
65
|
+
*
|
|
66
|
+
* Deferred like prompt history: samples are batched and written in one
|
|
67
|
+
* transaction after {@link MODEL_PERF_FLUSH_DELAY_MS}, keeping SQLite off
|
|
68
|
+
* the turn-completion hot path. Fire-and-forget safe — flush failures are
|
|
69
|
+
* logged, never thrown; await the returned promise only to observe the flush.
|
|
70
|
+
* @param modelKey - Model key in "provider/modelId" format
|
|
71
|
+
*/
|
|
72
|
+
recordModelPerf(modelKey: string, sample: ModelPerfSample): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Returns recency-weighted TPS/TTFT averages for every model with recorded
|
|
75
|
+
* requests, keyed by "provider/modelId". Read by the /models browser.
|
|
76
|
+
* Also kicks the one-time background stats.db import; until it completes,
|
|
77
|
+
* models without live samples are simply absent.
|
|
78
|
+
*/
|
|
79
|
+
getModelPerf(): Map<string, ModelPerfStats>;
|
|
80
|
+
/**
|
|
81
|
+
* Imports recent measurable request rows from an `omp stats` database
|
|
82
|
+
* (`messages` table) into the model_perf aggregates. Walks newest-first
|
|
83
|
+
* over the timestamp index in {@link MODEL_PERF_BACKFILL_CHUNK}-row chunks,
|
|
84
|
+
* yielding to the event loop between chunks, and keeps at most
|
|
85
|
+
* {@link MODEL_PERF_DECAY_AT} rows per model within the
|
|
86
|
+
* {@link MODEL_PERF_BACKFILL_MAX_AGE_MS} window — beyond either bound the
|
|
87
|
+
* live decay would erase the contribution anyway. Errored turns are
|
|
88
|
+
* excluded; aborted turns with reported usage count, matching live capture.
|
|
89
|
+
* Sums land in one additive transaction at the end, so concurrent live
|
|
90
|
+
* samples merge correctly regardless of order.
|
|
91
|
+
* @param statsDbPath - Path to a stats.db file; opened read-only
|
|
92
|
+
* @returns Number of rows folded in
|
|
93
|
+
* @throws When the stats db cannot be opened or queried
|
|
94
|
+
*/
|
|
95
|
+
backfillModelPerfFromStats(statsDbPath: string): Promise<number>;
|
|
96
|
+
/**
|
|
97
|
+
* Checks if any auth credentials exist in storage.
|
|
98
|
+
* @returns True if at least one credential is stored
|
|
99
|
+
*/
|
|
100
|
+
hasAuthCredentials(): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Returns the underlying {@link AuthCredentialStore} so callers that need
|
|
103
|
+
* the lower-level pi-ai abstraction (e.g. `findAnthropicAuth(store)`) can
|
|
104
|
+
* reuse this storage's open database connection instead of opening their
|
|
105
|
+
* own.
|
|
106
|
+
*/
|
|
107
|
+
get authStore(): AuthCredentialStore;
|
|
108
|
+
/**
|
|
109
|
+
* Lists auth credentials, optionally filtered by provider.
|
|
110
|
+
* Only returns active (non-disabled) credentials by default.
|
|
111
|
+
* @param provider - Optional provider name to filter by
|
|
112
|
+
* @param includeDisabled - If true, includes disabled credentials
|
|
113
|
+
* @returns Array of stored credentials with their database IDs
|
|
114
|
+
*/
|
|
115
|
+
listAuthCredentials(provider?: string, includeDisabled?: boolean): StoredAuthCredential[];
|
|
116
|
+
/**
|
|
117
|
+
* Atomically replaces all credentials for a provider.
|
|
118
|
+
* Useful for OAuth token refresh where old tokens should be discarded.
|
|
119
|
+
* @param provider - Provider name (e.g., "anthropic", "openai")
|
|
120
|
+
* @param credentials - New credentials to store
|
|
121
|
+
* @returns Array of newly stored credentials with their database IDs
|
|
122
|
+
*/
|
|
123
|
+
replaceAuthCredentialsForProvider(provider: string, credentials: AuthCredential[]): StoredAuthCredential[];
|
|
124
|
+
/**
|
|
125
|
+
* Updates an existing auth credential by ID.
|
|
126
|
+
* @param id - Database row ID of the credential to update
|
|
127
|
+
* @param credential - New credential data
|
|
128
|
+
*/
|
|
129
|
+
updateAuthCredential(id: number, credential: AuthCredential): void;
|
|
130
|
+
/**
|
|
131
|
+
* Disables an auth credential by ID with a persisted cause.
|
|
132
|
+
* @param id - Database row ID of the credential to disable
|
|
133
|
+
* @param disabledCause - Human-readable cause stored with the disabled row
|
|
134
|
+
*/
|
|
135
|
+
deleteAuthCredential(id: number, disabledCause: string): void;
|
|
136
|
+
/**
|
|
137
|
+
* Disables all auth credentials for a provider with a persisted cause.
|
|
138
|
+
* @param provider - Provider name whose credentials should be disabled
|
|
139
|
+
* @param disabledCause - Human-readable cause stored with the disabled rows
|
|
140
|
+
*/
|
|
141
|
+
deleteAuthCredentialsForProvider(provider: string, disabledCause: string): void;
|
|
142
|
+
/**
|
|
143
|
+
* Gets a cached value by key. Returns null if not found or expired.
|
|
144
|
+
*/
|
|
145
|
+
getCache(key: string): string | null;
|
|
146
|
+
/**
|
|
147
|
+
* Sets a cached value with expiry time (unix seconds).
|
|
148
|
+
*/
|
|
149
|
+
setCache(key: string, value: string, expiresAtSec: number): void;
|
|
150
|
+
/**
|
|
151
|
+
* Deletes expired cache entries. Call periodically for cleanup.
|
|
152
|
+
*/
|
|
153
|
+
cleanExpiredCache(): void;
|
|
154
|
+
}
|