@toddzheng024/dscode-desktop 0.0.0-stage → 0.7.33
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/LICENSE +21 -0
- package/README.md +120 -2
- package/THIRD_PARTY_NOTICES.md +30 -0
- package/bin/apply_patch +9 -0
- package/cordis.patch.yml +433 -0
- package/docs/CHANGELOG.md +641 -0
- package/docs/account-login.md +44 -0
- package/docs/auto-review.md +128 -0
- package/docs/browser-use.md +783 -0
- package/docs/computer-use.md +81 -0
- package/docs/custom-providers.md +88 -0
- package/docs/demo.md +76 -0
- package/docs/distribution.md +58 -0
- package/docs/dscode-ultra.md +75 -0
- package/docs/email.md +296 -0
- package/docs/exec.md +40 -0
- package/docs/hub-distribution.md +190 -0
- package/docs/memory.md +121 -0
- package/docs/opencode-go.md +61 -0
- package/docs/plugin-hub.md +68 -0
- package/docs/releases/0.2.0.md +28 -0
- package/docs/releases/0.3.0.md +21 -0
- package/docs/releases/0.4.0.md +20 -0
- package/docs/releases/0.5.0.md +19 -0
- package/docs/releases/0.6.0.md +20 -0
- package/docs/releases/0.7.0.md +22 -0
- package/docs/releases/0.7.1.md +20 -0
- package/docs/releases/0.7.10.md +10 -0
- package/docs/releases/0.7.11.md +17 -0
- package/docs/releases/0.7.12.md +11 -0
- package/docs/releases/0.7.13.md +12 -0
- package/docs/releases/0.7.14.md +11 -0
- package/docs/releases/0.7.15.md +11 -0
- package/docs/releases/0.7.16.md +10 -0
- package/docs/releases/0.7.17.md +12 -0
- package/docs/releases/0.7.18.md +13 -0
- package/docs/releases/0.7.19.md +8 -0
- package/docs/releases/0.7.2.md +19 -0
- package/docs/releases/0.7.20.md +10 -0
- package/docs/releases/0.7.21.md +9 -0
- package/docs/releases/0.7.22.md +11 -0
- package/docs/releases/0.7.23.md +14 -0
- package/docs/releases/0.7.24.md +11 -0
- package/docs/releases/0.7.25.md +8 -0
- package/docs/releases/0.7.26.md +18 -0
- package/docs/releases/0.7.27.md +8 -0
- package/docs/releases/0.7.28.md +22 -0
- package/docs/releases/0.7.29.md +12 -0
- package/docs/releases/0.7.3.md +23 -0
- package/docs/releases/0.7.30.md +19 -0
- package/docs/releases/0.7.31.md +14 -0
- package/docs/releases/0.7.32.md +14 -0
- package/docs/releases/0.7.33.md +30 -0
- package/docs/releases/0.7.4.md +16 -0
- package/docs/releases/0.7.5.md +18 -0
- package/docs/releases/0.7.6.md +29 -0
- package/docs/releases/0.7.7.md +36 -0
- package/docs/releases/0.7.8.md +14 -0
- package/docs/releases/0.7.9.md +15 -0
- package/docs/session-bridge.md +80 -0
- package/docs/session-cards.md +53 -0
- package/docs/session-communication.md +186 -0
- package/docs/session-metrics.md +41 -0
- package/docs/skills.md +81 -0
- package/docs/triggers.md +338 -0
- package/docs/tui-commands.md +204 -0
- package/extensions/browser/manifest.json +22 -0
- package/extensions/browser/popup.css +6 -0
- package/extensions/browser/popup.html +11 -0
- package/extensions/browser/popup.mjs +47 -0
- package/extensions/browser/protocol.mjs +168 -0
- package/extensions/browser/worker.mjs +94 -0
- package/icon.svg +7 -0
- package/locale/en.json +6 -0
- package/locale/zh-cn.json +6 -0
- package/node_modules/@deepseek-ai/node-addon-system/LICENSE +21 -0
- package/node_modules/@deepseek-ai/node-addon-system/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/node-addon-system/README.md +15 -0
- package/node_modules/@deepseek-ai/node-addon-system/README.zh.md +15 -0
- package/node_modules/@deepseek-ai/node-addon-system/lib/flock.d.ts +13 -0
- package/node_modules/@deepseek-ai/node-addon-system/lib/flock.js +51 -0
- package/node_modules/@deepseek-ai/node-addon-system/lib/index.d.ts +73 -0
- package/node_modules/@deepseek-ai/node-addon-system/lib/index.js +98 -0
- package/node_modules/@deepseek-ai/node-addon-system/package.json +45 -0
- package/node_modules/@deepseek-ai/node-addon-system/src/flock.c +164 -0
- package/node_modules/@deepseek-ai/node-addon-system/src/main.c +298 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/LICENSE +28 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.md +9 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.zh.md +9 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/bin/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/package.json +31 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/prebuilds.json +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/LICENSE +28 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.md +9 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.zh.md +9 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/bin/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/package.json +31 -0
- package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/prebuilds.json +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/LICENSE +28 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.md +11 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.zh.md +11 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/glibc/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/landlock-run +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/musl/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/package.json +31 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/prebuilds.json +24 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/LICENSE +28 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.md +11 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.zh.md +11 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/glibc/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/landlock-run +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/musl/system.node +0 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/package.json +31 -0
- package/node_modules/@deepseek-ai/node-addon-system-linux-x64/prebuilds.json +24 -0
- package/package.json +156 -4
- package/plugins/account/index.mjs +178 -0
- package/plugins/account/state.mjs +123 -0
- package/plugins/auto-review/audit.mjs +24 -0
- package/plugins/auto-review/index.mjs +267 -0
- package/plugins/auto-review/policy.mjs +92 -0
- package/plugins/browser/SKILL.md +158 -0
- package/plugins/browser/access.mjs +143 -0
- package/plugins/browser/config.mjs +60 -0
- package/plugins/browser/connection.mjs +385 -0
- package/plugins/browser/desktop-client.mjs +282 -0
- package/plugins/browser/desktop-host.mjs +74 -0
- package/plugins/browser/document-identity.mjs +57 -0
- package/plugins/browser/extension-relay.mjs +66 -0
- package/plugins/browser/files.mjs +32 -0
- package/plugins/browser/index.mjs +235 -0
- package/plugins/browser/mcp-entry.mjs +18 -0
- package/plugins/browser/mcp-tools.mjs +21 -0
- package/plugins/browser/presentation.mjs +45 -0
- package/plugins/browser/preview.mjs +77 -0
- package/plugins/browser/review.mjs +20 -0
- package/plugins/browser/screenshots.mjs +35 -0
- package/plugins/clipboard-image/clipboard-image.swift +56 -0
- package/plugins/clipboard-image/index.mjs +70 -0
- package/plugins/code-review/baseline.mjs +143 -0
- package/plugins/code-review/git.mjs +163 -0
- package/plugins/code-review/index.mjs +236 -0
- package/plugins/compaction/engine.mjs +304 -0
- package/plugins/compaction/tetris.mjs +65 -0
- package/plugins/compaction/threshold.mjs +98 -0
- package/plugins/computer-use/DESKTOP-SKILL.md +64 -0
- package/plugins/computer-use/desktop-host.mjs +75 -0
- package/plugins/computer-use/desktop-skill.mjs +28 -0
- package/plugins/computer-use/desktop-upstream.mjs +3 -0
- package/plugins/computer-use/index.mjs +37 -0
- package/plugins/cordis-config/plain.mjs +31 -0
- package/plugins/credentials/index.mjs +73 -0
- package/plugins/custom/adapter.mjs +110 -0
- package/plugins/custom/config.mjs +85 -0
- package/plugins/custom/desktop-client.mjs +150 -0
- package/plugins/custom/desktop-host.mjs +78 -0
- package/plugins/custom/images.mjs +32 -0
- package/plugins/custom/index.mjs +145 -0
- package/plugins/custom/wire.mjs +179 -0
- package/plugins/desktop/client.mjs +1041 -0
- package/plugins/desktop/index.mjs +10 -0
- package/plugins/desktop/shell-environment.mjs +9 -0
- package/plugins/desktop-workspace/hooks.mjs +29 -0
- package/plugins/desktop-workspace/index.mjs +37 -0
- package/plugins/dscode/board.mjs +260 -0
- package/plugins/dscode/child-target.mjs +11 -0
- package/plugins/dscode/control.mjs +17 -0
- package/plugins/dscode/desktop-client.mjs +55 -0
- package/plugins/dscode/desktop-host.mjs +37 -0
- package/plugins/dscode/index.mjs +270 -0
- package/plugins/email/cli.mjs +32 -0
- package/plugins/email/contacts.mjs +36 -0
- package/plugins/email/desktop-client.mjs +117 -0
- package/plugins/email/desktop-host.mjs +54 -0
- package/plugins/email/desktop-service.mjs +106 -0
- package/plugins/email/gmail-oauth.mjs +69 -0
- package/plugins/email/gmail-store.mjs +2 -0
- package/plugins/email/gmail.mjs +194 -0
- package/plugins/email/imap.mjs +136 -0
- package/plugins/email/inbox.d.mts +25 -0
- package/plugins/email/inbox.mjs +76 -0
- package/plugins/email/smtp.mjs +70 -0
- package/plugins/email/store.mjs +32 -0
- package/plugins/email-tools/index.mjs +46 -0
- package/plugins/exec/cli.mjs +64 -0
- package/plugins/exec/index.mjs +112 -0
- package/plugins/grok/adapter.mjs +114 -0
- package/plugins/grok/auth.mjs +76 -0
- package/plugins/grok/billing.mjs +146 -0
- package/plugins/grok/index.mjs +122 -0
- package/plugins/grok/models.mjs +129 -0
- package/plugins/grok/status.mjs +28 -0
- package/plugins/grok/wire.mjs +268 -0
- package/plugins/hub/catalog.mjs +82 -0
- package/plugins/hub/desktop-client.mjs +114 -0
- package/plugins/hub/desktop-host.mjs +129 -0
- package/plugins/i18n/messages.d.mts +21 -0
- package/plugins/i18n/messages.mjs +537 -0
- package/plugins/jev/approval.mjs +131 -0
- package/plugins/jev/client.mjs +74 -0
- package/plugins/jev/index.mjs +99 -0
- package/plugins/memory/content.mjs +57 -0
- package/plugins/memory/desktop-host.mjs +3 -0
- package/plugins/memory/index.mjs +168 -0
- package/plugins/memory/pipeline.mjs +79 -0
- package/plugins/memory/store.mjs +93 -0
- package/plugins/message-source/kind.mjs +20 -0
- package/plugins/opencode-go/adapter.mjs +96 -0
- package/plugins/opencode-go/command.mjs +128 -0
- package/plugins/opencode-go/index.mjs +120 -0
- package/plugins/opencode-go/models.mjs +58 -0
- package/plugins/opencode-go/oauth.mjs +194 -0
- package/plugins/opencode-go/search.mjs +86 -0
- package/plugins/opencode-go/usage.mjs +119 -0
- package/plugins/opencode-go/version.mjs +10 -0
- package/plugins/opencode-go/wire.mjs +73 -0
- package/plugins/openrouter/adapter.mjs +232 -0
- package/plugins/openrouter/index.mjs +123 -0
- package/plugins/openrouter/models.mjs +157 -0
- package/plugins/openrouter/search.mjs +113 -0
- package/plugins/openrouter/wire.mjs +101 -0
- package/plugins/providers/catalog.mjs +160 -0
- package/plugins/providers/chat-messages.mjs +120 -0
- package/plugins/providers/chat-stream.mjs +174 -0
- package/plugins/providers/desktop-client.mjs +84 -0
- package/plugins/providers/desktop-host.mjs +63 -0
- package/plugins/providers/effort.mjs +35 -0
- package/plugins/providers/http-errors.mjs +50 -0
- package/plugins/providers/openrouter-account.mjs +171 -0
- package/plugins/session-bridge/client.mjs +106 -0
- package/plugins/session-bridge/communication.mjs +260 -0
- package/plugins/session-bridge/index.mjs +68 -0
- package/plugins/session-bridge/mailbox.mjs +267 -0
- package/plugins/session-bridge/paths.mjs +21 -0
- package/plugins/session-bridge/server.mjs +172 -0
- package/plugins/session-bridge/tasks.mjs +229 -0
- package/plugins/session-cards/content.mjs +64 -0
- package/plugins/session-cards/index.mjs +38 -0
- package/plugins/session-cards/manager.mjs +140 -0
- package/plugins/session-metrics/attribution.mjs +30 -0
- package/plugins/session-metrics/balance.mjs +81 -0
- package/plugins/session-metrics/desktop-client.mjs +62 -0
- package/plugins/session-metrics/desktop-host.mjs +46 -0
- package/plugins/session-metrics/index.mjs +96 -0
- package/plugins/session-metrics/pricing.mjs +84 -0
- package/plugins/session-metrics/rate.mjs +59 -0
- package/plugins/session-metrics/store.mjs +75 -0
- package/plugins/session-metrics/turns.mjs +134 -0
- package/plugins/session-metrics/view.mjs +271 -0
- package/plugins/time-marks/desktop-host.mjs +2 -0
- package/plugins/time-marks/index.mjs +116 -0
- package/plugins/time-marks/marks.mjs +152 -0
- package/plugins/triggers/cli.mjs +558 -0
- package/plugins/triggers/commands.mjs +143 -0
- package/plugins/triggers/config.mjs +264 -0
- package/plugins/triggers/desktop-client.mjs +155 -0
- package/plugins/triggers/desktop-host.mjs +88 -0
- package/plugins/triggers/desktop-management.mjs +97 -0
- package/plugins/triggers/desktop-scheduler.mjs +125 -0
- package/plugins/triggers/host.mjs +24 -0
- package/plugins/triggers/index.mjs +27 -0
- package/plugins/triggers/job-cli.mjs +110 -0
- package/plugins/triggers/jobs.mjs +156 -0
- package/plugins/triggers/launchd.mjs +101 -0
- package/plugins/triggers/lease.mjs +24 -0
- package/plugins/triggers/log.mjs +104 -0
- package/plugins/triggers/management.mjs +181 -0
- package/plugins/triggers/options.mjs +117 -0
- package/plugins/triggers/overlay.mjs +7 -0
- package/plugins/triggers/poll.mjs +65 -0
- package/plugins/triggers/run.mjs +157 -0
- package/plugins/triggers/schedule.mjs +40 -0
- package/plugins/triggers/scheduler-service.mjs +46 -0
- package/plugins/triggers/scheduler.mjs +92 -0
- package/plugins/triggers/session-run.mjs +125 -0
- package/plugins/triggers/session.mjs +48 -0
- package/plugins/triggers/source-emit.mjs +19 -0
- package/plugins/triggers/source-host.mjs +78 -0
- package/plugins/triggers/source-ingress.mjs +70 -0
- package/plugins/triggers/source-sandbox.mjs +35 -0
- package/plugins/triggers/sources.mjs +45 -0
- package/plugins/triggers/spool.mjs +145 -0
- package/plugins/triggers/tools.mjs +67 -0
- package/plugins/triggers/unattended.mjs +18 -0
- package/plugins/tui-tools/composition.mjs +28 -0
- package/plugins/tui-tools/desktop-host.mjs +2 -0
- package/plugins/tui-tools/doctor-cli.mjs +22 -0
- package/plugins/tui-tools/doctor.mjs +148 -0
- package/plugins/tui-tools/hook-sources.mjs +113 -0
- package/plugins/tui-tools/hooks.mjs +23 -0
- package/plugins/tui-tools/index.mjs +268 -0
- package/plugins/tui-tools/sandbox-runner.mjs +123 -0
- package/plugins/tui-tools/shell.mjs +27 -0
- package/plugins/tui-tools/update.mjs +111 -0
- package/plugins/tui-tools/workspace-discovery.mjs +129 -0
- package/plugins/ultra/policy.mjs +42 -0
- package/plugins/worktree-subagent/worktree.mjs +56 -0
- package/runtime-sources.json +94 -0
- package/vendor/bash/LICENSE +21 -0
- package/vendor/bash/index.js +717 -0
- package/vendor/bash/types/background.d.ts +50 -0
- package/vendor/bash/types/index.d.ts +38 -0
- package/vendor/bash/types/render.d.ts +57 -0
- package/vendor/command-goal/LICENSE +21 -0
- package/vendor/command-goal/index.js +210 -0
- package/vendor/command-goal/types/index.d.ts +10 -0
- package/vendor/computer-use/LICENSE +21 -0
- package/vendor/computer-use/lib/approval-policy.js +12 -0
- package/vendor/computer-use/lib/approval-policy.js.map +1 -0
- package/vendor/computer-use/lib/artifacts.js +79 -0
- package/vendor/computer-use/lib/artifacts.js.map +1 -0
- package/vendor/computer-use/lib/backend.js +3 -0
- package/vendor/computer-use/lib/backend.js.map +1 -0
- package/vendor/computer-use/lib/client.js +369 -0
- package/vendor/computer-use/lib/client.js.map +1 -0
- package/vendor/computer-use/lib/config.js +159 -0
- package/vendor/computer-use/lib/config.js.map +1 -0
- package/vendor/computer-use/lib/confirmations.js +99 -0
- package/vendor/computer-use/lib/confirmations.js.map +1 -0
- package/vendor/computer-use/lib/diff.js +58 -0
- package/vendor/computer-use/lib/diff.js.map +1 -0
- package/vendor/computer-use/lib/errors.js +22 -0
- package/vendor/computer-use/lib/errors.js.map +1 -0
- package/vendor/computer-use/lib/exposure.js +244 -0
- package/vendor/computer-use/lib/exposure.js.map +1 -0
- package/vendor/computer-use/lib/index.js +66 -0
- package/vendor/computer-use/lib/index.js.map +1 -0
- package/vendor/computer-use/lib/leases.js +262 -0
- package/vendor/computer-use/lib/leases.js.map +1 -0
- package/vendor/computer-use/lib/providers/macos.js +243 -0
- package/vendor/computer-use/lib/providers/macos.js.map +1 -0
- package/vendor/computer-use/lib/providers/native-helper.js +726 -0
- package/vendor/computer-use/lib/providers/native-helper.js.map +1 -0
- package/vendor/computer-use/lib/providers/unsupported.js +51 -0
- package/vendor/computer-use/lib/providers/unsupported.js.map +1 -0
- package/vendor/computer-use/lib/service.js +608 -0
- package/vendor/computer-use/lib/service.js.map +1 -0
- package/vendor/computer-use/lib/skill.js +136 -0
- package/vendor/computer-use/lib/skill.js.map +1 -0
- package/vendor/computer-use/lib/target-resolver.js +180 -0
- package/vendor/computer-use/lib/target-resolver.js.map +1 -0
- package/vendor/computer-use/lib/tools.js +511 -0
- package/vendor/computer-use/lib/tools.js.map +1 -0
- package/vendor/computer-use/lib/types/approval-policy.d.ts +13 -0
- package/vendor/computer-use/lib/types/approval-policy.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/artifacts.d.ts +10 -0
- package/vendor/computer-use/lib/types/artifacts.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/backend.d.ts +124 -0
- package/vendor/computer-use/lib/types/backend.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/client/index.d.ts +83 -0
- package/vendor/computer-use/lib/types/client/index.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/config.d.ts +94 -0
- package/vendor/computer-use/lib/types/config.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/confirmations.d.ts +23 -0
- package/vendor/computer-use/lib/types/confirmations.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/diff.d.ts +5 -0
- package/vendor/computer-use/lib/types/diff.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/errors.d.ts +15 -0
- package/vendor/computer-use/lib/types/errors.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/exposure.d.ts +30 -0
- package/vendor/computer-use/lib/types/exposure.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/index.d.ts +21 -0
- package/vendor/computer-use/lib/types/index.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/leases.d.ts +81 -0
- package/vendor/computer-use/lib/types/leases.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/providers/macos.d.ts +39 -0
- package/vendor/computer-use/lib/types/providers/macos.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/providers/native-helper.d.ts +48 -0
- package/vendor/computer-use/lib/types/providers/native-helper.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/providers/unsupported.d.ts +23 -0
- package/vendor/computer-use/lib/types/providers/unsupported.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/service.d.ts +58 -0
- package/vendor/computer-use/lib/types/service.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/skill.d.ts +14 -0
- package/vendor/computer-use/lib/types/skill.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/target-resolver.d.ts +38 -0
- package/vendor/computer-use/lib/types/target-resolver.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/tools.d.ts +6 -0
- package/vendor/computer-use/lib/types/tools.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/types.d.ts +270 -0
- package/vendor/computer-use/lib/types/types.d.ts.map +1 -0
- package/vendor/computer-use/lib/types/web.d.ts +33 -0
- package/vendor/computer-use/lib/types/web.d.ts.map +1 -0
- package/vendor/computer-use/lib/types.js +9 -0
- package/vendor/computer-use/lib/types.js.map +1 -0
- package/vendor/computer-use/lib/web.js +188 -0
- package/vendor/computer-use/lib/web.js.map +1 -0
- package/vendor/computer-use/native/macos/Sources/Fixture/main.swift +412 -0
- package/vendor/computer-use/native/macos/Sources/Helper/CursorImage.swift +11 -0
- package/vendor/computer-use/native/macos/Sources/Helper/CursorMotion.swift +67 -0
- package/vendor/computer-use/native/macos/Sources/Helper/CursorOverlay.swift +840 -0
- package/vendor/computer-use/native/macos/Sources/Helper/TargetedPointer.swift +327 -0
- package/vendor/computer-use/native/macos/Sources/Helper/WindowNumberMatcher.swift +29 -0
- package/vendor/computer-use/native/macos/Sources/Helper/main.swift +1244 -0
- package/vendor/computer-use/native/macos/Sources/Monitor/main.swift +153 -0
- package/vendor/computer-use/native/macos/bin/dsh-computer-use-helper +0 -0
- package/vendor/computer-use/native/macos/manifest.json +14 -0
- package/vendor/persistent/LICENSE +21 -0
- package/vendor/persistent/index.js +411 -0
- package/vendor/persistent/types/index.d.ts +24 -0
- package/vendor/subagent/LICENSE +21 -0
- package/vendor/subagent/index.js +694 -0
- package/vendor/subagent/invariant.js +52 -0
- package/vendor/subagent/model-selection-settings.js +68 -0
- package/vendor/subagent/types/index.d.ts +82 -0
- package/vendor/subagent/types/invariant.d.ts +16 -0
- package/vendor/subagent/types/list-models.d.ts +10 -0
- package/vendor/subagent/types/model-selection-settings.d.ts +45 -0
- package/vendor/subagent/types/model-selection-state.d.ts +48 -0
- package/vendor/subagent/types/model-selection.d.ts +81 -0
- package/vendor/subagent-core/LICENSE +21 -0
- package/vendor/subagent-core/index.js +3202 -0
- package/vendor/subagent-core/invariant.js +76 -0
- package/vendor/subagent-core/typert.host.d.ts +3 -0
- package/vendor/subagent-core/typert.host.js +978 -0
- package/vendor/subagent-core/typert.remote-client.d.ts +25 -0
- package/vendor/subagent-core/typert.remote-client.js +114 -0
- package/vendor/subagent-core/types/archive-admission.d.ts +16 -0
- package/vendor/subagent-core/types/archive-admission.js +151 -0
- package/vendor/subagent-core/types/assistant-output.d.ts +48 -0
- package/vendor/subagent-core/types/assistant-output.js +73 -0
- package/vendor/subagent-core/types/catalog.d.ts +84 -0
- package/vendor/subagent-core/types/catalog.js +109 -0
- package/vendor/subagent-core/types/child-agent.d.ts +156 -0
- package/vendor/subagent-core/types/child-agent.js +213 -0
- package/vendor/subagent-core/types/client.d.ts +8 -0
- package/vendor/subagent-core/types/client.js +7 -0
- package/vendor/subagent-core/types/continuation-activation.d.ts +267 -0
- package/vendor/subagent-core/types/continuation-activation.js +700 -0
- package/vendor/subagent-core/types/continuation-messages.d.ts +62 -0
- package/vendor/subagent-core/types/continuation-messages.js +106 -0
- package/vendor/subagent-core/types/continuation.d.ts +124 -0
- package/vendor/subagent-core/types/continuation.js +455 -0
- package/vendor/subagent-core/types/control-types.d.ts +135 -0
- package/vendor/subagent-core/types/control-types.js +8 -0
- package/vendor/subagent-core/types/control.d.ts +45 -0
- package/vendor/subagent-core/types/control.js +79 -0
- package/vendor/subagent-core/types/depth.d.ts +31 -0
- package/vendor/subagent-core/types/depth.js +39 -0
- package/vendor/subagent-core/types/descriptor.d.ts +144 -0
- package/vendor/subagent-core/types/descriptor.js +193 -0
- package/vendor/subagent-core/types/error.d.ts +11 -0
- package/vendor/subagent-core/types/error.js +14 -0
- package/vendor/subagent-core/types/inbox.d.ts +43 -0
- package/vendor/subagent-core/types/inbox.js +61 -0
- package/vendor/subagent-core/types/index.d.ts +320 -0
- package/vendor/subagent-core/types/index.js +475 -0
- package/vendor/subagent-core/types/internal.d.ts +58 -0
- package/vendor/subagent-core/types/internal.js +58 -0
- package/vendor/subagent-core/types/invariant.d.ts +13 -0
- package/vendor/subagent-core/types/invariant.js +91 -0
- package/vendor/subagent-core/types/lifecycle.d.ts +113 -0
- package/vendor/subagent-core/types/lifecycle.js +180 -0
- package/vendor/subagent-core/types/list-children.d.ts +36 -0
- package/vendor/subagent-core/types/list-children.js +166 -0
- package/vendor/subagent-core/types/out-of-process.d.ts +118 -0
- package/vendor/subagent-core/types/out-of-process.js +219 -0
- package/vendor/subagent-core/types/projection-types.d.ts +82 -0
- package/vendor/subagent-core/types/projection-types.js +7 -0
- package/vendor/subagent-core/types/projection.d.ts +100 -0
- package/vendor/subagent-core/types/projection.js +157 -0
- package/vendor/subagent-core/types/run-settlement.d.ts +17 -0
- package/vendor/subagent-core/types/run-settlement.js +70 -0
- package/vendor/subagent-core/types/types.d.ts +377 -0
- package/vendor/subagent-core/types/types.js +19 -0
- package/vendor/subagent-driver/LICENSE +21 -0
- package/vendor/subagent-driver/index.js +255 -0
- package/vendor/subagent-driver/types/index.d.ts +33 -0
- package/vendor/subagent-driver/types/structured.d.ts +42 -0
- package/vendor/subagent-fork/LICENSE +21 -0
- package/vendor/subagent-fork/index.js +61 -0
- package/vendor/subagent-fork/types/index.d.ts +20 -0
- package/vendor/subagent-spawn/LICENSE +21 -0
- package/vendor/subagent-spawn/index.js +45 -0
- package/vendor/subagent-spawn/types/index.d.ts +19 -0
- package/vendor/terminal/LICENSE +21 -0
- package/vendor/terminal/index.js +1093 -0
- package/vendor/terminal/types/config.d.ts +82 -0
- package/vendor/terminal/types/index.d.ts +36 -0
- package/vendor/terminal/types/sanitize.d.ts +47 -0
- package/vendor/terminal/types/session.d.ts +87 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@deepseek-ai/node-addon-system-darwin-x64",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Prebuilt POSIX flock Node-API binding for macOS x64",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
|
|
8
|
+
"directory": "native/system/packages/darwin-x64"
|
|
9
|
+
},
|
|
10
|
+
"os": [
|
|
11
|
+
"darwin"
|
|
12
|
+
],
|
|
13
|
+
"cpu": [
|
|
14
|
+
"x64"
|
|
15
|
+
],
|
|
16
|
+
"files": [
|
|
17
|
+
"README.md",
|
|
18
|
+
"bin/",
|
|
19
|
+
"prebuilds.json"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"prepack": "node ../../scripts/verify-launcher-binary.mjs"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20"
|
|
26
|
+
},
|
|
27
|
+
"license": "BSD-3-Clause",
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, node-addon-landlock-run contributors
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
2
|
+
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
|
+
# after editing either side, bring the other along and re-record with:
|
|
4
|
+
# pnpm run verify-translation-pairing --write native/system/packages/linux-arm64/README.md
|
|
5
|
+
README.md: b1e97481a3f59b5b7cf85e6565cd3d078e42cd7f
|
|
6
|
+
README.zh.md: 79f3b75e16570c4dff8d7249bcd75481f11cc85c
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Prebuilt Landlock launcher and POSIX flock addons for Linux arm64."
|
|
3
|
+
kind: "package-library"
|
|
4
|
+
---
|
|
5
|
+
# @deepseek-ai/node-addon-system-linux-arm64
|
|
6
|
+
|
|
7
|
+
English | [中文](README.zh.md)
|
|
8
|
+
|
|
9
|
+
This platform package contains the static musl executable `bin/landlock-run` and Node-API v8 addons `bin/glibc/system.node` and `bin/musl/system.node`. The entry chooses the addon matching the running Node process's libc; the Landlock executable serves both libc systems.
|
|
10
|
+
|
|
11
|
+
The package contains no JavaScript or installation build script. Platform prepack checks complete payloads, ELF architecture, Node-API exports, and launcher executability; the installed-artifact rehearsal checks bytes and executes native behavior. See the workspace [support matrix](../../docs/support-matrix.md).
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "为 Linux arm64 提供预编译 Landlock 启动器和 POSIX flock addon。"
|
|
3
|
+
kind: "package-library"
|
|
4
|
+
---
|
|
5
|
+
# @deepseek-ai/node-addon-system-linux-arm64
|
|
6
|
+
|
|
7
|
+
[English](README.md) | 中文
|
|
8
|
+
|
|
9
|
+
此平台包包含静态 musl 可执行文件 `bin/landlock-run`,以及 Node-API v8 addon `bin/glibc/system.node` 和 `bin/musl/system.node`。入口包按运行 Node 进程的 libc 选择 addon;Landlock 可执行文件在两种 libc 系统上共用。
|
|
10
|
+
|
|
11
|
+
包中没有 JavaScript 或安装编译脚本。平台 prepack 检查完整产物、ELF 架构、Node-API 导出和启动器可执行权限;安装演练核对字节并执行原生行为。参见工作区[支持矩阵](../../docs/support-matrix.md)。
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@deepseek-ai/node-addon-system-linux-arm64",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Linux arm64 system binaries: static Landlock launcher and glibc/musl Node-API flock addons",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
|
|
8
|
+
"directory": "native/system/packages/linux-arm64"
|
|
9
|
+
},
|
|
10
|
+
"os": [
|
|
11
|
+
"linux"
|
|
12
|
+
],
|
|
13
|
+
"cpu": [
|
|
14
|
+
"arm64"
|
|
15
|
+
],
|
|
16
|
+
"files": [
|
|
17
|
+
"README.md",
|
|
18
|
+
"bin/",
|
|
19
|
+
"prebuilds.json"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"prepack": "node ../../scripts/verify-launcher-binary.mjs"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20"
|
|
26
|
+
},
|
|
27
|
+
"license": "BSD-3-Clause",
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"platform": "linux-arm64",
|
|
3
|
+
"binaries": [
|
|
4
|
+
{
|
|
5
|
+
"tool": "landlock-run",
|
|
6
|
+
"kind": "static-musl",
|
|
7
|
+
"path": "bin/landlock-run"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"tool": "flock",
|
|
11
|
+
"kind": "node-api",
|
|
12
|
+
"napi": 8,
|
|
13
|
+
"libc": "glibc",
|
|
14
|
+
"path": "bin/glibc/system.node"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"tool": "flock",
|
|
18
|
+
"kind": "node-api",
|
|
19
|
+
"napi": 8,
|
|
20
|
+
"libc": "musl",
|
|
21
|
+
"path": "bin/musl/system.node"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, node-addon-landlock-run contributors
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
2
|
+
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
|
+
# after editing either side, bring the other along and re-record with:
|
|
4
|
+
# pnpm run verify-translation-pairing --write native/system/packages/linux-x64/README.md
|
|
5
|
+
README.md: caebb5d8a888a69a952fc89afb3edfb8ece489fc
|
|
6
|
+
README.zh.md: 6ad1dcf6fe26007f76cdeb98936a94262ece4d7c
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Prebuilt Landlock launcher and POSIX flock addons for Linux x64."
|
|
3
|
+
kind: "package-library"
|
|
4
|
+
---
|
|
5
|
+
# @deepseek-ai/node-addon-system-linux-x64
|
|
6
|
+
|
|
7
|
+
English | [中文](README.zh.md)
|
|
8
|
+
|
|
9
|
+
This platform package contains the static musl executable `bin/landlock-run` and Node-API v8 addons `bin/glibc/system.node` and `bin/musl/system.node`. The entry chooses the addon matching the running Node process's libc; the Landlock executable serves both libc systems.
|
|
10
|
+
|
|
11
|
+
The package contains no JavaScript or installation build script. Platform prepack checks complete payloads, ELF architecture, Node-API exports, and launcher executability; the installed-artifact rehearsal checks bytes and executes native behavior. See the workspace [support matrix](../../docs/support-matrix.md).
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "为 Linux x64 提供预编译 Landlock 启动器和 POSIX flock addon。"
|
|
3
|
+
kind: "package-library"
|
|
4
|
+
---
|
|
5
|
+
# @deepseek-ai/node-addon-system-linux-x64
|
|
6
|
+
|
|
7
|
+
[English](README.md) | 中文
|
|
8
|
+
|
|
9
|
+
此平台包包含静态 musl 可执行文件 `bin/landlock-run`,以及 Node-API v8 addon `bin/glibc/system.node` 和 `bin/musl/system.node`。入口包按运行 Node 进程的 libc 选择 addon;Landlock 可执行文件在两种 libc 系统上共用。
|
|
10
|
+
|
|
11
|
+
包中没有 JavaScript 或安装编译脚本。平台 prepack 检查完整产物、ELF 架构、Node-API 导出和启动器可执行权限;安装演练核对字节并执行原生行为。参见工作区[支持矩阵](../../docs/support-matrix.md)。
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@deepseek-ai/node-addon-system-linux-x64",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Linux x64 system binaries: static Landlock launcher and glibc/musl Node-API flock addons",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/deepseek-harness/deepseek-harness.git",
|
|
8
|
+
"directory": "native/system/packages/linux-x64"
|
|
9
|
+
},
|
|
10
|
+
"os": [
|
|
11
|
+
"linux"
|
|
12
|
+
],
|
|
13
|
+
"cpu": [
|
|
14
|
+
"x64"
|
|
15
|
+
],
|
|
16
|
+
"files": [
|
|
17
|
+
"README.md",
|
|
18
|
+
"bin/",
|
|
19
|
+
"prebuilds.json"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"prepack": "node ../../scripts/verify-launcher-binary.mjs"
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20"
|
|
26
|
+
},
|
|
27
|
+
"license": "BSD-3-Clause",
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"platform": "linux-x64",
|
|
3
|
+
"binaries": [
|
|
4
|
+
{
|
|
5
|
+
"tool": "landlock-run",
|
|
6
|
+
"kind": "static-musl",
|
|
7
|
+
"path": "bin/landlock-run"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"tool": "flock",
|
|
11
|
+
"kind": "node-api",
|
|
12
|
+
"napi": 8,
|
|
13
|
+
"libc": "glibc",
|
|
14
|
+
"path": "bin/glibc/system.node"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"tool": "flock",
|
|
18
|
+
"kind": "node-api",
|
|
19
|
+
"napi": 8,
|
|
20
|
+
"libc": "musl",
|
|
21
|
+
"path": "bin/musl/system.node"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,158 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toddzheng024/dscode-desktop",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"description": "
|
|
6
|
-
|
|
3
|
+
"version": "0.7.33",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "DSCODE for Harness Desktop: coding collaboration, session memory, browser workflows and task management.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/qiz029/dscode.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/qiz029/dscode#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/qiz029/dscode/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"dsh-plugin",
|
|
18
|
+
"deepseek-harness",
|
|
19
|
+
"desktop",
|
|
20
|
+
"coding",
|
|
21
|
+
"collaboration"
|
|
22
|
+
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": "^22.19.0 || >=24.0.0",
|
|
25
|
+
"dsh": "0.2.0-rc.2"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@deepseek-ai/dsh": "0.2.0-rc.2"
|
|
29
|
+
},
|
|
30
|
+
"icon": "./icon.svg",
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public",
|
|
33
|
+
"tag": "preview"
|
|
34
|
+
},
|
|
35
|
+
"exports": {
|
|
36
|
+
"./package.json": "./package.json",
|
|
37
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
38
|
+
".": "./plugins/desktop/index.mjs",
|
|
39
|
+
"./client": "./plugins/desktop/client.mjs",
|
|
40
|
+
"./browser": "./plugins/browser/index.mjs",
|
|
41
|
+
"./auto-review": "./plugins/auto-review/index.mjs",
|
|
42
|
+
"./policy": "./plugins/dscode/index.mjs",
|
|
43
|
+
"./control": "./plugins/dscode/control.mjs",
|
|
44
|
+
"./compaction": "./plugins/compaction/engine.mjs",
|
|
45
|
+
"./code-review": "./plugins/code-review/index.mjs",
|
|
46
|
+
"./workspace": "./plugins/desktop-workspace/index.mjs",
|
|
47
|
+
"./credentials": "./plugins/credentials/index.mjs",
|
|
48
|
+
"./custom": "./plugins/custom/index.mjs",
|
|
49
|
+
"./hub": "./plugins/hub/desktop-host.mjs",
|
|
50
|
+
"./openrouter": "./plugins/openrouter/index.mjs",
|
|
51
|
+
"./grok": "./plugins/grok/index.mjs",
|
|
52
|
+
"./opencode-go": "./plugins/opencode-go/index.mjs",
|
|
53
|
+
"./jev": "./plugins/jev/index.mjs",
|
|
54
|
+
"./session-metrics": "./plugins/session-metrics/index.mjs",
|
|
55
|
+
"./session-cards": "./plugins/session-cards/index.mjs",
|
|
56
|
+
"./session-bridge": "./plugins/session-bridge/index.mjs",
|
|
57
|
+
"./triggers": "./plugins/triggers/desktop-host.mjs",
|
|
58
|
+
"./email": "./plugins/email/desktop-host.mjs",
|
|
59
|
+
"./memory": "./plugins/memory/desktop-host.mjs",
|
|
60
|
+
"./computer-use": "./plugins/computer-use/desktop-host.mjs",
|
|
61
|
+
"./time-marks": "./plugins/time-marks/desktop-host.mjs",
|
|
62
|
+
"./diagnostics": "./plugins/tui-tools/desktop-host.mjs",
|
|
63
|
+
"./metrics-ui": "./plugins/session-metrics/desktop-host.mjs",
|
|
64
|
+
"./delegation-ui": "./plugins/dscode/desktop-host.mjs",
|
|
65
|
+
"./bash": "./vendor/bash/index.js",
|
|
66
|
+
"./persistent": "./vendor/persistent/index.js",
|
|
67
|
+
"./terminal": "./vendor/terminal/index.js",
|
|
68
|
+
"./subagent": "./vendor/subagent/index.js",
|
|
69
|
+
"./subagent-core": "./vendor/subagent-core/index.js",
|
|
70
|
+
"./subagent-driver": "./vendor/subagent-driver/index.js",
|
|
71
|
+
"./subagent-spawn": "./vendor/subagent-spawn/index.js",
|
|
72
|
+
"./subagent-fork": "./vendor/subagent-fork/index.js",
|
|
73
|
+
"./command-goal": "./vendor/command-goal/index.js",
|
|
74
|
+
"./icon": "./icon.svg",
|
|
75
|
+
"./locale/*": "./locale/*"
|
|
76
|
+
},
|
|
77
|
+
"files": [
|
|
78
|
+
"plugins",
|
|
79
|
+
"bin",
|
|
80
|
+
"docs",
|
|
81
|
+
"extensions",
|
|
82
|
+
"vendor",
|
|
83
|
+
"locale",
|
|
84
|
+
"icon.svg",
|
|
85
|
+
"cordis.patch.yml",
|
|
86
|
+
"runtime-sources.json",
|
|
87
|
+
"THIRD_PARTY_NOTICES.md",
|
|
88
|
+
"README.md",
|
|
89
|
+
"LICENSE"
|
|
90
|
+
],
|
|
91
|
+
"dependencies": {
|
|
92
|
+
"@modelcontextprotocol/sdk": "1.30.0",
|
|
93
|
+
"chrome-devtools-mcp": "1.10.1",
|
|
94
|
+
"ws": "8.21.3",
|
|
95
|
+
"@dsh-plugin-hub/schemas": "0.5.0",
|
|
96
|
+
"semver": "7.8.5",
|
|
97
|
+
"imapflow": "2.0.5",
|
|
98
|
+
"mailparser": "3.9.28",
|
|
99
|
+
"nodemailer": "10.0.10",
|
|
100
|
+
"cron-parser": "5.7.0",
|
|
101
|
+
"yaml": "2.9.1",
|
|
102
|
+
"zod": "4.6.5",
|
|
103
|
+
"@deepseek-ai/node-addon-system": "0.1.2"
|
|
104
|
+
},
|
|
105
|
+
"bundledDependencies": [
|
|
106
|
+
"@deepseek-ai/node-addon-system"
|
|
107
|
+
],
|
|
108
|
+
"dsh": {
|
|
109
|
+
"bundle": {
|
|
110
|
+
"patch": "./cordis.patch.yml"
|
|
111
|
+
},
|
|
112
|
+
"hub": {
|
|
113
|
+
"schemaVersion": 1,
|
|
114
|
+
"displayName": "DSCODE Desktop",
|
|
115
|
+
"summary": "Coding collaboration, memory, browser workflows and community plugin discovery for Harness Desktop.",
|
|
116
|
+
"description": "Adds DSCODE to the official Harness Desktop application. Requires the exact DSH runtime 0.2.0-rc.2. Qualified on macOS Apple Silicon. Install the plugin, select the DSCODE agent preset and configure a model account. This package does not include a standalone application or the terminal UI.",
|
|
117
|
+
"homepage": "https://github.com/qiz029/dscode#readme",
|
|
118
|
+
"categories": [
|
|
119
|
+
"developer-tools",
|
|
120
|
+
"agents-orchestration"
|
|
121
|
+
],
|
|
122
|
+
"keywords": [
|
|
123
|
+
"coding",
|
|
124
|
+
"desktop",
|
|
125
|
+
"browser",
|
|
126
|
+
"collaboration",
|
|
127
|
+
"plugin-hub"
|
|
128
|
+
],
|
|
129
|
+
"compatibility": {
|
|
130
|
+
"dsh": "0.2.0-rc.2",
|
|
131
|
+
"node": "^22.19.0 || >=24.0.0",
|
|
132
|
+
"platforms": [
|
|
133
|
+
"darwin"
|
|
134
|
+
],
|
|
135
|
+
"surfaces": [
|
|
136
|
+
"desktop"
|
|
137
|
+
],
|
|
138
|
+
"hmr": "restart"
|
|
139
|
+
},
|
|
140
|
+
"entryIds": [
|
|
141
|
+
"dscode-desktop",
|
|
142
|
+
"dscode-hub",
|
|
143
|
+
"dscode-browser"
|
|
144
|
+
],
|
|
145
|
+
"before": [],
|
|
146
|
+
"after": [],
|
|
147
|
+
"channel": "beta"
|
|
148
|
+
},
|
|
149
|
+
"client": {
|
|
150
|
+
"platform": "web",
|
|
151
|
+
"inject": [
|
|
152
|
+
"@deepseek-ai/dsh-client-ui-settings",
|
|
153
|
+
"@deepseek-ai/dsh-api-remotes",
|
|
154
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right"
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `/account`: the DeepSeek account login, from the terminal.
|
|
3
|
+
*
|
|
4
|
+
* DSH 0.1.7 added an account plane beside API keys: `deepseekAccount` signs in through the
|
|
5
|
+
* system browser with PKCE, keeps the grant in the local credential store, and the DeepSeek
|
|
6
|
+
* route resolves it for the configured inference origin — so a signed-in user needs no
|
|
7
|
+
* `DEEPSEEK_API_KEY` at all. Upstream drives that plane from its Web settings page; this
|
|
8
|
+
* command is DSCODE's terminal equivalent.
|
|
9
|
+
*
|
|
10
|
+
* The provider registers `/oauth/callback` on the Host webserver for the lifetime of one
|
|
11
|
+
* attempt, which is why the TUI profile composes a loopback webserver (see
|
|
12
|
+
* `packages/tui/cordis.patch.yml`). Without it the command says so instead of starting an
|
|
13
|
+
* attempt the browser could never complete.
|
|
14
|
+
*
|
|
15
|
+
* Tokens never pass through here: the service's view is the client-safe projection, and
|
|
16
|
+
* `resolveToken` stays Host-only inside the LLM route.
|
|
17
|
+
*
|
|
18
|
+
* @module dscode-account
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { execFile } from 'node:child_process';
|
|
22
|
+
import { readLanguage, t } from '../i18n/messages.mjs';
|
|
23
|
+
import { ACTIVE_PHASES, TERMINAL_PHASES, callbackOrigin, outcomeLines, signInBlocked, statusLines } from './state.mjs';
|
|
24
|
+
|
|
25
|
+
export const name = 'dscode-account';
|
|
26
|
+
export const inject = ['commands'];
|
|
27
|
+
|
|
28
|
+
/** Upper bound for one terminal-driven attempt; the provider applies its own deadline too. */
|
|
29
|
+
const ATTEMPT_WAIT_MS = 300000;
|
|
30
|
+
|
|
31
|
+
const ok = text => ({ kind: 'success', text });
|
|
32
|
+
const fail = text => ({ kind: 'error', text });
|
|
33
|
+
|
|
34
|
+
/** Open a URL in the user's browser, reporting failure instead of throwing. */
|
|
35
|
+
export function openBrowser(url, { platform = process.platform, run = execFile } = {}) {
|
|
36
|
+
return new Promise(resolve => {
|
|
37
|
+
if (platform === 'win32') { resolve(false); return; }
|
|
38
|
+
run(platform === 'darwin' ? 'open' : 'xdg-open', [url], { timeout: 10000 }, error => resolve(!error));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Follow one attempt until `done(view)` accepts it, the attempt is replaced, or the wait
|
|
44
|
+
* runs out.
|
|
45
|
+
*
|
|
46
|
+
* `watch()` yields the current state first and then on every change, so an already
|
|
47
|
+
* settled attempt returns immediately and a cancelled one does not hang. Both the
|
|
48
|
+
* caller's signal and the bounded wait end the iteration.
|
|
49
|
+
*
|
|
50
|
+
* @param account - the account service.
|
|
51
|
+
* @param id - the attempt this wait belongs to; a different attempt ends the wait.
|
|
52
|
+
* @param done - predicate over each view; true stops the wait.
|
|
53
|
+
* @param signal - the command's cancellation.
|
|
54
|
+
* @returns the last view seen.
|
|
55
|
+
*/
|
|
56
|
+
export async function followAttempt(account, id, done, signal, { timeoutMs = ATTEMPT_WAIT_MS } = {}) {
|
|
57
|
+
const deadline = AbortSignal.any([signal, AbortSignal.timeout(timeoutMs)]);
|
|
58
|
+
let last = await account.getState();
|
|
59
|
+
if (done(last)) return last;
|
|
60
|
+
try {
|
|
61
|
+
for await (const view of account.watch(deadline)) {
|
|
62
|
+
last = view;
|
|
63
|
+
const attempt = view.attempt;
|
|
64
|
+
if (attempt === null || attempt.id !== id) break;
|
|
65
|
+
if (done(view)) break;
|
|
66
|
+
}
|
|
67
|
+
} catch { /* an aborted watch leaves the last view in place */ }
|
|
68
|
+
return last;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** A view whose attempt carries the browser URL, or has already settled without one. */
|
|
72
|
+
export function authorizeReady(view, id) {
|
|
73
|
+
const attempt = view.attempt;
|
|
74
|
+
if (attempt === null || attempt.id !== id) return true;
|
|
75
|
+
return attempt.authorizeUrl !== undefined || TERMINAL_PHASES.includes(attempt.phase);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** A view whose attempt will not change again. */
|
|
79
|
+
export function settled(view, id) {
|
|
80
|
+
const attempt = view.attempt;
|
|
81
|
+
if (attempt === null || attempt.id !== id) return true;
|
|
82
|
+
return TERMINAL_PHASES.includes(attempt.phase);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Run one browser sign-in to settlement.
|
|
87
|
+
*
|
|
88
|
+
* Kept apart from the command so the whole flow — waiting for the URL, opening the
|
|
89
|
+
* browser, following the attempt, reading the result — is drivable with a fake service
|
|
90
|
+
* and a fake opener.
|
|
91
|
+
*
|
|
92
|
+
* @param service - the account service.
|
|
93
|
+
* @param origin - the loopback callback origin.
|
|
94
|
+
* @param locale - DSCODE interface language.
|
|
95
|
+
* @param signal - the command's cancellation.
|
|
96
|
+
* @param open - browser opener returning whether it launched.
|
|
97
|
+
* @returns the lines to print and whether the sign-in succeeded.
|
|
98
|
+
*/
|
|
99
|
+
export async function runSignIn({ service, origin, locale, signal, open = openBrowser }) {
|
|
100
|
+
// An attempt already in flight is returned unchanged rather than replaced, so this also
|
|
101
|
+
// covers "resume the sign-in you started a moment ago".
|
|
102
|
+
const started = await service.startSignIn(locale, origin, 'desktop');
|
|
103
|
+
const attempt = started.attempt;
|
|
104
|
+
if (attempt === null || attempt === undefined) return { ok: false, lines: [t(locale, 'account.startFailed')] };
|
|
105
|
+
const lines = [t(locale, 'account.starting')];
|
|
106
|
+
// The browser URL is not part of `startSignIn`'s answer: the provider returns as soon as
|
|
107
|
+
// the attempt exists and publishes the URL once `auth_init` replies, so it is awaited
|
|
108
|
+
// before anything is opened.
|
|
109
|
+
const ready = await followAttempt(service, attempt.id, view => authorizeReady(view, attempt.id), signal);
|
|
110
|
+
const url = ready.attempt?.id === attempt.id ? ready.attempt.authorizeUrl : undefined;
|
|
111
|
+
if (url !== undefined) {
|
|
112
|
+
lines.push(await open(url) ? t(locale, 'account.browserOpened') : t(locale, 'account.browserManual'));
|
|
113
|
+
lines.push(url);
|
|
114
|
+
}
|
|
115
|
+
const final = settled(ready, attempt.id) ? ready : await followAttempt(service, attempt.id, view => settled(view, attempt.id), signal);
|
|
116
|
+
const details = final.status === 'credential-stored' ? await readDetails(service) : undefined;
|
|
117
|
+
return {
|
|
118
|
+
ok: final.attempt?.phase === 'succeeded' || final.status === 'credential-stored',
|
|
119
|
+
lines: [...lines, '', ...outcomeLines(final, details, locale)],
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function apply(ctx) {
|
|
124
|
+
const language = () => readLanguage();
|
|
125
|
+
const account = () => ctx.get('deepseekAccount');
|
|
126
|
+
|
|
127
|
+
ctx.commands.register({
|
|
128
|
+
name: 'account',
|
|
129
|
+
description: 'Sign in to a DeepSeek account through the browser, or read its status (/account [login|cancel|logout])',
|
|
130
|
+
input: { hint: '[login|cancel|logout]' },
|
|
131
|
+
handler: async ({ rawInput, signal }) => {
|
|
132
|
+
const locale = language();
|
|
133
|
+
const service = account();
|
|
134
|
+
const argument = String(rawInput ?? '').trim().toLowerCase();
|
|
135
|
+
if (service === undefined) return fail(t(locale, 'account.unavailable'));
|
|
136
|
+
|
|
137
|
+
if (argument === '' || argument === 'status') {
|
|
138
|
+
const view = await service.getState();
|
|
139
|
+
const details = view.status === 'credential-stored' ? await readDetails(service) : undefined;
|
|
140
|
+
return ok(statusLines(view, details, locale).join('\n'));
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (argument === 'logout' || argument === 'sign-out' || argument === 'signout') {
|
|
144
|
+
const view = await service.signOut();
|
|
145
|
+
return ok(statusLines(view, undefined, locale).join('\n'));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (argument === 'cancel') {
|
|
149
|
+
const current = await service.getState();
|
|
150
|
+
const attempt = current.attempt;
|
|
151
|
+
if (attempt === null || !ACTIVE_PHASES.includes(attempt.phase)) return ok(t(locale, 'account.nothingToCancel'));
|
|
152
|
+
const view = await service.cancelSignIn(attempt.id);
|
|
153
|
+
return ok(outcomeLines(view, undefined, locale).join('\n'));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (argument !== 'login' && argument !== 'signin' && argument !== 'sign-in') {
|
|
157
|
+
return fail(t(locale, 'account.usage'));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const origin = callbackOrigin(ctx.get('webServer'));
|
|
161
|
+
const blocked = signInBlocked(service, origin, locale);
|
|
162
|
+
if (blocked !== undefined) return fail(blocked);
|
|
163
|
+
|
|
164
|
+
const result = await runSignIn({ service, origin, locale, signal });
|
|
165
|
+
ctx.logger?.info?.(`account: sign-in ${result.ok ? 'succeeded' : 'did not complete'}`);
|
|
166
|
+
return (result.ok ? ok : fail)(result.lines.join('\n'));
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** Read identity and balance, letting either failure render on its own. */
|
|
172
|
+
async function readDetails(service) {
|
|
173
|
+
const [profile, balance] = await Promise.all([
|
|
174
|
+
service.getProfile().catch(() => ({ status: 'failed' })),
|
|
175
|
+
service.getBalance().catch(() => ({ status: 'failed' })),
|
|
176
|
+
]);
|
|
177
|
+
return { profile: profile ?? undefined, balance: balance ?? undefined };
|
|
178
|
+
}
|