@qqbrowser/qbot-dsh 0.1.4 → 0.1.6
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/config/agent-presets/code/agent.cordis.yml +2 -0
- package/config/agent-presets/standard/agent.cordis.yml +2 -0
- package/config/skills/bilibili-video-download/SKILL.md +7 -22
- package/cordis.patch.yml +4 -0
- package/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +2 -0
- package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/lib/invariant.js +1 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/lib/types/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/lib/types/invariant.js +1 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/lib/types/types.js +1 -0
- package/node_modules/@deepseek-ai/dsh-browser-jsapi/package.json +1 -0
- package/node_modules/@deepseek-ai/dsh-client-connection/lib/client.js +13 -13
- package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-modules/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-modules/lib/index.js +3 -3
- package/node_modules/@deepseek-ai/dsh-client-runtime/lib/client.js +4 -4
- package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +6 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/lib/client.js +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/lib/invariant.js +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-jsapi-bridge/package.json +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +3 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-web/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/index.js +7 -7
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/types/api/browser-jsapi.js +1 -0
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/types/api/browser-jsapi.schema.js +1 -0
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/types/api/events.schema.js +1 -1
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/types/api-proxy.js +1 -1
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-webserver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session/lib/types/known-event-types.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-timeout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-browser/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-tool-browser/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-tool-browser/lib/invariant.js +1 -0
- package/node_modules/@deepseek-ai/dsh-tool-browser/package.json +1 -0
- package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-cordis/lib/index.js +14 -5
- package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-registry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-user-questions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-app/cordis.patch.yml +3 -0
- package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/{index-fPGOmJjK.js → index-DfZHS_gV.js} +31 -31
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +1 -1
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var gn=Object.defineProperty;var u=(s,i)=>gn(s,"name",{value:i,configurable:!0});import{randomUUID as W}from"node:crypto";import{mkdir as mn,stat as hn}from"node:fs/promises";import{dirname as yn}from"node:path";import{installModelSelection as wn}from"@deepseek-ai/dsh-agent";import{AttachmentError as de}from"@deepseek-ai/dsh-attachment";import{contentHasImage as Ne,createUserMessage as vn,freezeMessage as bn,ReasoningEffortId as In}from"@deepseek-ai/dsh-llm";import{errorChain as kn}from"@deepseek-ai/dsh-llm";import{isAppendSurfaceEvent as Sn,isJsonValue as Pn}from"@deepseek-ai/dsh-session";import{SessionQueryError as ce}from"@deepseek-ai/dsh-session-query";import{SubagentError as j}from"@deepseek-ai/dsh-subagent";import{isUserInvocable as En}from"@deepseek-ai/dsh-skill";import{workspaceDomainState as An,workspaceRecord as $n,WorkspaceId as U,WorkspaceMoveInvalidError as Nn,WorkspaceOrderInvalidError as Cn,WorkspaceUnknownSessionError as Mn}from"@deepseek-ai/dsh-workspace";import{InvalidPresetIdError as Rn,PresetExistsError as _n,PresetMountError as On,PresetNotWritableError as Ce,resolveSessionPreset as L,UnknownPresetError as Me}from"@deepseek-ai/dsh-agent-presets";import{DEFAULT_SESSION_LOG_COMPRESSION_LEVEL as Tn,flushLiveSessionLog as Ln,sessionLogExportDeps as jn,sessionLogZipFilename as Un,streamSessionLogZip as Dn}from"./session-export.js";import{SESSION_SEARCH_RESULT_LIMIT as D,SESSION_SEARCH_SNIPPET_MAX_CODE_POINTS as Fn,truncateUnicodeCodePoints as Bn}from"./api/session-search.js";import{GoalError as Zn}from"@deepseek-ai/dsh-goal";import{SettingsConflictError as zn,settingsNamespace as Qn}from"@deepseek-ai/dsh-settings";import{credentialRef as le}from"@deepseek-ai/dsh-credentials";import{SessionTitleInvalidError as Wn}from"@deepseek-ai/dsh-session-title";import{approvalResponsePayloadSchema as Vn}from"./api/approvals.schema.js";import{imageLimitsProjectionSchema as Gn,sessionListMetadataProjectionSchema as Jn}from"./api/sessions.schema.js";import{questionResponsePayloadSchema as Hn}from"./api/questions.schema.js";import{RpcId as ue}from"./api/rpc.js";import{UserQuestionError as Y}from"@deepseek-ai/dsh-user-questions";import{DirectoryPickerError as Kn}from"@deepseek-ai/dsh-host-directory-picker";import{ApiRemoteSessionNotFound as X,ApiRemoteSubagentSessionOwnership as F,API_REMOTE_FORWARDED_EVENTS as Yn,apiRemoteSubagentOwnershipError as Xn,createApiRemoteAgentResolver as xn,hasApiRemoteSubagentOwner as qn,inspectApiRemoteSession as et}from"@deepseek-ai/dsh-api-remotes";import{canOpenNativePath as nt,openNativePath as tt,openNativeTextFile as st}from"./native-path-opener.js";const rt=50,Re=100,_e=16;export const DEFAULT_COLD_BLANK_PROBE_MAX_BYTES=1024;const Oe=new Set(["user/message","assistant/message"]);function ot(s){const i=Buffer.from(s,"base64");if(s.length===0||i.toString("base64")!==s)throw new de("Image upload is not canonical base64.","INVALID_IMAGE_BASE64");return new Uint8Array(i)}u(ot,"decodeBase64");async function it(s,i){if(i.every(y=>y.type==="text"))return i.map(y=>({type:"text",text:y.text}));const f=i.map(y=>y.type==="text"?y:{part:y,data:ot(y.data)}),m=f.filter(y=>"data"in y),h=await s.attachments.saveImages(m.map(y=>({data:y.data,mediaType:y.part.mediaType,...y.part.name===void 0?{}:{name:y.part.name}}))),S=[];let k=0;for(const y of f){if(!("data"in y)){S.push({type:"text",text:y.text});continue}const P=h[k++];if(P===void 0)throw new Error("attachment batch result did not preserve input cardinality");S.push({type:"image",attachment:P})}return S}u(it,"durablePromptContent");function V(s,i){if(Array.isArray(s))for(const f of s){if(typeof f!="object"||f===null||Array.isArray(f))continue;const m=f;if(m.type==="image"&&typeof m.attachment=="object"&&m.attachment!==null){const h=m.attachment;if(i(h))return h}if(m.type==="tool-result"){const h=V(m.content,i);if(h!==void 0)return h}}}u(V,"imageBlockIn");function at(s,i){const f=s.data,m=V(f.content,i);if(m!==void 0)return m;if(f.message!==void 0){const h=V(f.message.content,i);if(h!==void 0)return h}if(f.inserted!==void 0)for(const h of f.inserted){const S=V(h.content,i);if(S!==void 0)return S}if(s.type==="assistant/chunk"&&f.chunk?.type==="block-end")return V([f.chunk.block],i)}u(at,"imageInEvent");function dt(s){return s.some(i=>Ne(i.content))}u(dt,"messagesHaveImage");function ct(s,i){for(const f of s){const m=at(f,h=>String(h.attachmentId)===i);if(m!==void 0)return m}}u(ct,"referencedImage");const Te=/^[A-Za-z][A-Za-z0-9_+.-]*(?:\/[A-Za-z0-9_+.-]+)+$/;function Le(s){if(!(s.length===0||s.trim()!==s||s!=="UTC"&&!Te.test(s)))try{const i=new Intl.DateTimeFormat("en-US",{timeZone:s}).resolvedOptions().timeZone;return i!=="UTC"&&!Te.test(i)?void 0:i}catch{return}}u(Le,"canonicalClientTimeZone");function R(s){return s.aborted}u(R,"isAborted");function lt(s,i,f){const m=i===void 0?[...s]:s.filter(y=>y.seq<i);let h=0,S=0;for(let y=m.length-1;y>=0;y--){const P=m[y];if(!Oe.has(P.type)||!Sn(P))continue;h++;const $=P.sourceEventSeqs;let C=P.seq;if($!==void 0)for(const _ of $)_<C&&(C=_);if(h>=f){S=C;break}}return{events:m.filter(y=>y.seq>=S),hasMore:S>0}}u(lt,"paginate");function b(s,i){return{rpcId:s.rpcId,result:{ok:!0,value:i}}}u(b,"ok");async function je(s){const i=await Promise.all(s.llm.listProviders().map(async f=>{try{const m=await s.llm.listModels(f.id),h=await Promise.all(m.map(async k=>{const y=await s.llm.resolveModelInfo(f.id,k.id),P=y.reasoning===void 0?void 0:{efforts:y.reasoning.efforts.map($=>({id:$.id,name:$.name,...$.description===void 0?{}:{description:$.description}})),...y.reasoning.defaultEffort===void 0?{}:{defaultEffort:y.reasoning.defaultEffort}};return{id:k.id,name:k.name,...k.description===void 0?{}:{description:k.description},...P===void 0?{}:{reasoning:P}}}));return{kind:"group",group:{id:f.id,name:f.name,models:h}}}catch(m){return{kind:"failure",failure:{id:f.id,name:f.name,message:m instanceof Error?m.message:String(m)}}}}));return{groups:i.flatMap(f=>f.kind==="group"?[f.group]:[]).filter(f=>f.models.length>0),failures:i.flatMap(f=>f.kind==="failure"?[f.failure]:[])}}u(je,"buildModelCatalog");function c(s,i){return{rpcId:s.rpcId,result:{ok:!1,error:i}}}u(c,"err");function Ue(s,i){if(i instanceof Me)return c(s,{code:"agent-preset-not-found",message:i.message,details:{agentPreset:i.presetId,available:[...i.available]}});if(i instanceof On)return c(s,{code:"agent-preset-invalid",message:i.message,details:{agentPreset:i.presetId,reason:i.reason}})}u(Ue,"presetFailure");class De{static{u(this,"FrameQueue")}buffer=[];waiter;done=!1;push(i){this.done||(this.buffer.push(i),this.waiter?.())}end(){this.done=!0,this.waiter?.()}async*iterate(i,f){const m=u(()=>{this.end()},"onAbort");i.addEventListener("abort",m,{once:!0});try{for(;;){for(;this.buffer.length>0;)yield this.buffer.shift();if(this.done||i.aborted)return;await new Promise(h=>{this.waiter=h}),this.waiter=void 0}}finally{i.removeEventListener("abort",m),f()}}}function A(s){return{rpcId:ue(W()),payload:s}}u(A,"frame");export function assertJsonArgs(s,i){for(const[f,m]of i.entries())if(!Pn(m))throw new Error(`forwarded host event "${s}" argument ${f} is not lossless JSON data`);return i}u(assertJsonArgs,"assertJsonArgs");function Fe(s,i){s.push(A({type:"session/subscribed",sessionId:i.id,lastSeq:i.seq-1}))}u(Fe,"subscribeSession");function x(s){return s.map(i=>({id:i.id,kind:i.kind,label:i.label,status:i.status,...i.detail===void 0?{}:{detail:i.detail},startedAt:i.startedAt,...i.finishedAt===void 0?{}:{finishedAt:i.finishedAt}}))}u(x,"jobViews");function Be(s){return!s.events.some(i=>i.type==="turn/start")}u(Be,"sessionBlank");function Ze(s,i){const f=s.blank&&i.type!=="turn/start",m=i.type==="user/message"&&i.data.source.kind==="user"?i.time:s.lastPromptAt;return f===s.blank&&m===s.lastPromptAt?s:{blank:f,lastPromptAt:m}}u(Ze,"applySessionListMetadata");function ze(s){let i={blank:!0,lastPromptAt:null};for(const f of s)i=Ze(i,f);return i}u(ze,"sessionListMetadata");function Qe(s,i){return Math.max(s.createdAt,i?.lastPromptAt??0)}u(Qe,"sessionListUpdatedAt");function fe(s,i=[]){const f=L({header:s,events:i});return{...s.parentSession===void 0?{}:{parentSessionId:s.parentSession},...s.origin===void 0?{}:{origin:s.origin},...s.cwd===void 0?{}:{cwd:s.cwd},...f===void 0?{}:{agentPreset:f}}}u(fe,"sessionListFields");function ut(s,i){const f=ze(s.events);return{sessionId:s.id,updatedAt:Qe(s.header,f),running:i,blank:f.blank,...fe(s.header,s.events)}}u(ut,"summarize");async function ft(s,i,f,m,h){if(m===0)return;h?.throwIfAborted();const S=i.locate(f);if(S===void 0)return;h?.throwIfAborted();let k;try{k=(await hn(S.path)).size}catch{h?.throwIfAborted();return}if(!(k>m))try{const{events:y}=await i.readFrom(f.id,0,h);return h?.throwIfAborted(),ze(y)}catch(y){h?.throwIfAborted(),s.logger.warn(`session.list: blank probe for "${f.id}" failed (serving it as visible): ${String(y)}`);return}}u(ft,"probeColdSessionMetadata");async function pt(s,i,f,m,h,S){const k=m?.blank===!1?void 0:await ft(s,i,f,h,S);return{sessionId:f.id,updatedAt:Qe(f,k??m),running:!1,blank:m?.blank===!1?!1:k?.blank??!1,...fe(f)}}u(pt,"summarizeCold");function We(s){return s instanceof Kn?{code:s.code,message:s.message,details:{path:s.path}}:{code:"internal",message:s instanceof Error?s.message:String(s),details:{}}}u(We,"directoryError");function Ve(s){return{rpcId:s.rpcId,payload:{type:"approval/requested",sessionId:s.sessionId,approvalId:s.approvalId,toolName:s.toolName,...s.callId===void 0?{}:{callId:s.callId},...s.reason===void 0?{}:{reason:s.reason}}}}u(Ve,"requestedFrame");function gt(s,i){if(s.sessionId!==i.sessionId)return!1;const f=s.answer.answers;return f.length!==i.questions.length?!1:f.every((m,h)=>{const S=i.questions[h];if(m.id!==S.id||new Set(m.selected).size!==m.selected.length)return!1;const k=m.custom?.trim();if(k!==void 0&&k===""||S.multiSelect!==!0&&(k!==void 0&&m.selected.length>0||m.selected.length>1))return!1;const y=new Set(S.options?.map(P=>P.label)??[]);return m.selected.every(P=>y.has(P))})}u(gt,"matchesQuestions");function Ge(s,i,f,m){try{if(i.type==="tool/call"){const{name:h,arguments:S}=i.data,k=s.tools.get(h,m)?.presentCall?.(JSON.parse(S));return k===void 0?void 0:{for:"call",view:k}}if(i.type==="tool/result"){const{message:h,meta:S}=i.data,[k]=h.content,y=h.source.callId,P=f(y);if(P===void 0)return;const $=s.tools.get(P.name,m)?.presentResult?.(P.args,{content:k.content,isError:k.isError===!0,...S===void 0?{}:{meta:S}});return $===void 0?void 0:{for:"result",view:$}}}catch(h){console.error(`api-proxy: presenter failed for ${i.type}, falling back to generic: ${String(h)}`)}}u(Ge,"viewFor");function Je(s,i){for(let f=s.length-1;f>=0;f--){const m=s[f];if(m.type!=="tool/call")continue;const h=m.data;if(h.callId===i)try{return{name:h.name,args:JSON.parse(h.arguments)}}catch{return}}}u(Je,"backscanArgs");function He(s,i,f,m,h){const S=lt(i,f,m??rt);return{events:S.events.map(k=>{const y=Ge(s,k,P=>Je(S.events,P),h);return{event:k,...y===void 0?{}:{view:y}}}),hasMore:S.hasMore}}u(He,"historyPage");function Ke(s,i){const f=s.get("sessionProjections");if(f!==void 0)return f.snapshot(i)}u(Ke,"projectionsFor");function Ye(s,i,f){try{const m=f!==void 0?s.get("sessionProjections")?.snapshot(f):s.get("sessionProjectionCache")?.cachedSnapshot(i);return m!==void 0&&Object.keys(m.values).length>0?m:void 0}catch(m){s.logger.warn(`session.list: projection column for "${i.id}" failed (serving the row without it): ${String(m)}`);return}}u(Ye,"listProjectionsFor");function Xe(s,i){const f=s.get("sessionProjections");if(f!==void 0)return f.restore({},i,0).snapshot}u(Xe,"detachedProjectionsFor");function xe(s,i,f){try{return f()}catch(m){s.logger.warn(`subagent.history: projections for "${i}" failed (serving the page without them): ${String(m)}`);return}}u(xe,"subagentHistoryProjections");function mt(s,i,f){const m=s.payload.childSessionId;if(f.aborted)return c(s,{code:"cancelled",message:"subagent prompt was cancelled",details:{}});if(i instanceof j)switch(i.code){case"NOT_RESUMABLE":return c(s,{code:"subagent-not-resumable",message:"subagent cannot be resumed",details:{childSessionId:m}});case"UNAUTHORIZED":return c(s,{code:"subagent-unauthorized",message:"subagent does not belong to this parent",details:{childSessionId:m}});case"DRAINING":case"ACTIVATION_CLOSING":case"CONTINUATION_UNAVAILABLE":case"PERSISTENCE_UNAVAILABLE":return c(s,{code:"subagent-delivery-unavailable",message:"subagent follow-up is temporarily unavailable",details:{childSessionId:m}});default:break}return c(s,{code:"internal",message:"subagent prompt failed",details:{}})}u(mt,"subagentPromptError");function qe(){return{code:"internal",message:"subagent catalog is unavailable: this deployment does not mount the sessionProjections registry (load @deepseek-ai/dsh-session-projection)",details:{}}}u(qe,"projectionsUnavailableError");async function en(s,i,f){const{parentSessionId:m,childSessionId:h,mode:S}=i;try{const y=(await s.subagents.listChildren(m,f)).find(P=>P.id===h);return y===void 0||y.kind==="child"&&y.mode!==S?{error:{code:"subagent-not-found",message:`session "${h}" is not a ${S} direct child of "${m}"`,details:{parentSessionId:m,childSessionId:h}}}:y.kind==="diagnostic"?{error:{code:"subagent-catalog-diagnostic",message:`subagent "${h}" is ${y.reason}`,details:{parentSessionId:m,childSessionId:h,reason:y.reason}}}:{entry:y}}catch(k){return f?.aborted||k instanceof j&&k.code==="CANCELLED"?{error:{code:"cancelled",message:"subagent catalog read was cancelled",details:{}}}:k instanceof j&&k.code==="SUBAGENT_CONTROL_PROJECTIONS_UNAVAILABLE"?{error:qe()}:{error:{code:"internal",message:"subagent catalog read failed",details:{}}}}}u(en,"catalogChild");function q(s){return{code:"agent-preset-not-found",message:"this deployment composes no agent presets",details:{agentPreset:s,available:[]}}}u(q,"noRoster");function ee(s,i){return i instanceof Me?{code:"agent-preset-not-found",message:i.message,details:{agentPreset:i.presetId,available:[...i.available]}}:i instanceof Ce?{code:"agent-preset-read-only",message:i.message,details:{agentPreset:s,reason:i.message}}:i instanceof Rn||i instanceof _n?{code:"agent-preset-invalid",message:i.message,details:{agentPreset:s,reason:i.message}}:{code:"internal",message:`agent preset "${s}": ${String(i)}`,details:{}}}u(ee,"presetError");class nn extends Error{static{u(this,"AgentPresetConflict")}sessionId;requestedPreset;existingPreset;constructor(i,f,m){super(m===void 0?`session "${i}" records no agent preset, so it cannot be adopted under one; a deployment composing no roster records none on any session — `:`session "${i}" already runs agent preset ${JSON.stringify(m)}; requested ${JSON.stringify(f)}. A session's preset is fixed at creation.`),this.sessionId=i,this.requestedPreset=f,this.existingPreset=m}}class pe extends Error{static{u(this,"SessionCwdConflict")}sessionId;requestedCwd;existingCwd;constructor(i,f,m){super(`session "${i}" already exists with cwd ${JSON.stringify(m)}; requested ${JSON.stringify(f)}`),this.sessionId=i,this.requestedCwd=f,this.existingCwd=m}}class tn extends Error{static{u(this,"WorkspaceNameConflictError")}workspaceName;constructor(i){super(`workspace name '${i}' is already in use`),this.workspaceName=i,this.name="WorkspaceNameConflictError"}}function ne(s,i){return c(s,{code:"workspace-not-found",message:`workspace "${i}" not found`,details:{workspaceId:i}})}u(ne,"workspaceNotFound");function G(s){return{workspaceId:s.id,path:s.path,title:s.title,sessionIds:[...s.sessionIds],createdAt:s.createdAt,updatedAt:s.updatedAt}}u(G,"workspaceView");function ht(s,i){const f=$n.parse(i);return{workspaceId:s,path:f.path,title:f.title,sessionIds:[...f.sessionIds],createdAt:f.createdAt,updatedAt:f.updatedAt}}u(ht,"changedWorkspaceView");export function createApiProxy(s,i){const f=i.sessionExportCompressionLevel??Tn,m=i.coldBlankProbeMaxBytes??DEFAULT_COLD_BLANK_PROBE_MAX_BYTES,h=u(()=>{const{provider:e,model:n}=i.defaultModelSelection();return{provider:e,model:n}},"agentOptions"),S=new WeakMap,k=new Map,y=new Map;let P=Promise.resolve();const $=new Map,C=new Map,_=new Set,ge=new WeakMap;function me(e,n){const t=(ge.get(e)??Promise.resolve()).then(n);return ge.set(e,t.then(()=>{},()=>{})),t}u(me,"serializeImageAdmission");function B(e){const n=S.get(e);if(n!==void 0)return n;let t;const r={get current(){if(t!==void 0)return t;const o=e.session.requestHeader()?.config;return o===void 0?i.defaultModelSelection():{provider:o.provider,model:o.model,...o.reasoningEffort===void 0?{}:{reasoningEffort:o.reasoningEffort}}},set current(o){t=o},assembled:void 0};return wn(e.ctx,r),S.set(e,r),r}u(B,"selectionFor");function he(e){const n=e.agent;if(n===void 0)throw new Error("api-proxy: agent setup has no scoped agent");B(n)}u(he,"installSelection");function ye(e,n,t){if(!(n===void 0||n===t))throw new nn(e,n,t)}u(ye,"assertPresetUnchanged");async function J(e){const n=s.get("agentPresets");if(n===void 0)return{setup:u(r=>(he(r),Promise.resolve()),"setup")};const t=(await n.resolve(e)).id;return{agentPreset:t,setup:u(async r=>{he(r),await n.mount(r,t)},"setup")}}u(J,"composeAgent");const O=u((e,n)=>qn(s,e,n),"hasSubagentOwner"),te=u(e=>Xn(e),"subagentOwnershipError"),se=u(e=>et(s,e),"inspectServable"),T=xn(s,{agentOptions:h,setup:u(async({meta:e,events:n})=>(await J(L({header:e,events:n}))).setup,"setup")});function H(e){const n=A(e);for(const t of _)t.push(n)}u(H,"broadcast"),s.inject(["sessionProjections"],e=>{e.sessionProjections.onChanged((n,t,r,o)=>{H({type:"session/projection",sessionId:n.id,key:t,value:r,seq:o})})}),s.inject(["sessionProjections"],e=>{e.sessionProjections.register({key:"sessionListMetadata",schema:Jn,init:u(()=>({blank:!0,lastPromptAt:null}),"init"),apply:Ze,view:u(n=>n,"view"),stateVersion:1})}),s.inject(["sessionProjections","attachments"],e=>{e.sessionProjections.register({key:"imageLimits",schema:Gn,init:u(()=>null,"init"),apply:u(n=>n,"apply"),view:u(()=>e.attachments.imageLimits,"view"),stateVersion:1})});const we=u((e,n)=>{const t=u(r=>{const o=r==="next-turn"?e.inbox.nextTurn:e.inbox.nextStep;return n?.target===r?o.toSpliced(n.start,n.removedCount??0,...n.inserted):o},"project");return[...t("next-turn").map(r=>({id:r.id,placement:"queued",message:r})),...t("next-step").map(r=>({id:r.id,placement:r.source.kind==="user"?"steering":"context",message:r}))]},"queueItems");s.on("session/event",(e,n)=>{if(n.type!=="agent/inbox/spliced")return;const t=s.agents.get(e.id);t?.session===e&&H({type:"session/queue",sessionId:e.id,items:we(t,n.data)})});function K(e,n){$.delete(e.rpcId),e.signal!==void 0&&e.onAbort!==void 0&&e.signal.removeEventListener("abort",e.onAbort),H({type:"question/resolved",sessionId:e.sessionId,questionRpcId:e.rpcId,outcome:n})}u(K,"claimQuestion");const sn=s.userQuestions.registerProvider({ask(e){const n=e.agent?.id;return n===void 0?Promise.reject(new Y("web user interaction requires an agent-owned session","ASK_MISSING_AGENT")):new Promise((t,r)=>{const o=ue(W()),a={rpcId:o,sessionId:n,questions:e.questions,resolve:t,reject:r,...e.signal===void 0?{}:{signal:e.signal}},d=u(()=>{K(a,"cancelled"),r(new Y("ask_user_question was aborted before the user answered","ASK_ABORTED"))},"onAbort");a.onAbort=d,$.set(o,a),e.signal?.addEventListener("abort",d,{once:!0});const l={rpcId:o,payload:{type:"question/requested",sessionId:n,questions:e.questions}};for(const p of _)p.push(l)})}});s.effect(()=>()=>{sn();for(const e of[...$.values()])K(e,"cancelled"),e.reject(new Y("web user-questions provider was disposed","ASK_ABORTED"))},"api-proxy: user-questions provider"),s.get("approval")!==void 0&&(s.effect(()=>()=>{for(const e of[...C.values()])e.resolve("cancelled")},"api-proxy: approval registry teardown"),s.on("approval/request",(e,n)=>{if(e.signal?.aborted===!0)return Promise.resolve("cancelled");const t=e.agent.session.events,r=new Set;for(const l of C.values())r.add(l.approvalId);const o=new Set;let a;for(let l=t.length-1;l>=0;l-=1){const p=t[l];if(p.type==="approval/decided")o.add(p.data.id);else if(p.type==="approval/asked"){if(o.has(p.data.id)||r.has(p.data.id)||(e.callId??null)!==(p.data.callId??null))continue;a=p.data.id;break}}if(a===void 0)return n();const d=a;return new Promise(l=>{const p=u(w=>{C.delete(I.rpcId)&&(e.signal?.removeEventListener("abort",g),H({type:"approval/resolved",sessionId:I.sessionId,approvalId:d,outcome:w}),l(w))},"settle"),g=u(()=>{p("cancelled")},"onAbort"),I={rpcId:ue(W()),sessionId:e.agent.session.id,approvalId:d,toolName:e.toolName,...e.callId===void 0?{}:{callId:e.callId},...e.reason===void 0?{}:{reason:e.reason},resolve:p};C.set(I.rpcId,I),e.signal?.addEventListener("abort",g,{once:!0});const v=Ve(I);for(const w of _)w.push(v)})}));async function ve(e){const n=s.sessions.get(e);if(n!==void 0)return{id:n.id,header:n.header,events:[...n.events]};const t=await se(e);return{id:t.meta.id,header:t.meta,events:t.events}}u(ve,"readSessionState");async function rn(e){const n=s.workspaceRegistry.list(),t=n.find(o=>o.sessionIds.includes(e.id));if(t!==void 0||e.header.origin!=="subagent")return t;const r=await s.sessionQuery.traceSession(e.id);for(const o of r.ancestors){const a=n.find(d=>d.sessionIds.includes(o.header.id));if(a!==void 0)return a}}u(rn,"forkWorkspace");async function on(e){const n=s.sessions.get(e);if(n!==void 0)return{kind:"attached",session:n};const t=await se(e);return{kind:"detached",header:t.meta,events:t.events}}u(on,"historySourceFor");function an(e){return e.kind==="detached"?{header:e.header,events:e.events}:{header:e.session.header,events:e.session.events}}u(an,"sourceSession");function dn(e,n){if(e.kind==="detached"){const o=n?Xe(s,e.events):void 0;return{events:e.events,...o===void 0?{}:{projections:o}}}const t=[...e.session.events],r=n?Ke(s,e.session):void 0;return{events:t,...r===void 0?{}:{projections:r}}}u(dn,"historyCutOf");async function be(e,n){const t=s.get("agents")?.get(e);if(t!==void 0)return t;const r=s.get("agentPresets");if(r!==void 0)try{return await r.standingKeyFor(L(n))}catch{return}}u(be,"presenterScopeFor");async function cn(e,n,t,r){let o=y.get(e);o===void 0&&(o=(async()=>{const d=s.sessions.get(e),l=s.agents.get(e);if(d!==void 0&&O(d,l))throw new F(e);if(l!==void 0)return l;const p=t?s.get("sessionPersistence"):void 0,g=p===void 0?void 0:(await p.list()).find(v=>v.id===e);if(p!==void 0&&g!==void 0){const v=await p.inspect(e);if(O({header:v.meta},void 0))throw new F(e);if(v.meta.cwd!==n)throw new pe(e,n,v.meta.cwd);const w=L({header:v.meta,events:v.events});return ye(e,r,w),(await s.agents.resume({resumeSessionId:e,agentOptions:h(),setup:(await J(w)).setup})).agent}try{await mn(n,{recursive:!0})}catch(v){throw new Error(`failed to ensure project directory "${n}": ${String(v)}`,{cause:v})}const I=await J(r);return(await s.agents.create({sessionId:e,agentOptions:h(),meta:{cwd:n,...I.agentPreset===void 0?{}:{agentPreset:I.agentPreset}},setup:I.setup})).agent})().catch(d=>{const l=s.agents.get(e);if(l!==void 0){if(O(l.session,l))throw new F(e);return l}const p=s.sessions.get(e);throw p!==void 0&&O(p,void 0)?new F(e):d}).finally(()=>{y.delete(e)}),y.set(e,o));const a=await o;if(O(a.session,a))throw new F(e);if(ye(e,r,L(a.session)),a.session.header.cwd!==n)throw new pe(e,n,a.session.header.cwd);return a}u(cn,"ensureSession");function ln(e){const n=P.then(async()=>{const t=await s.workspaceRegistry.resolveByPath(e);return t!==void 0?{workspace:t,created:!1}:{workspace:await s.workspaceRegistry.create(e),created:!0}});return P=n.then(()=>{},()=>{}),n}u(ln,"ensureWorkspace");async function Ie(e){e?.throwIfAborted();const n=u(a=>{const d=s.agents.get(a.id),l=Ye(s,a.header,a);return{...ut(a,d?.status==="running"),...l===void 0?{}:{projections:l}}},"summarizeAttached"),t=s.sessions.list().map(n);e?.throwIfAborted();const r=new Set(t.map(a=>a.sessionId)),o=s.get("sessionPersistence");if(o!==void 0){const a=(await o.list(e)).filter(d=>!r.has(d.id)&&d.cwd!==void 0);e?.throwIfAborted();for(let d=0;d<a.length;d+=_e){e?.throwIfAborted();const l=a.slice(d,d+_e),p=await Promise.allSettled(l.map(async w=>{const E=Ye(s,w,void 0),M=await pt(s,o,w,E?.values.sessionListMetadata,m,e),z=s.sessions.get(w.id);return z!==void 0?n(z):{...M,...E===void 0?{}:{projections:E}}})),g=[];let I=!1,v;for(const w of p)w.status==="fulfilled"?g.push(w.value):I||(I=!0,v=w.reason);if(I)throw v;e?.throwIfAborted(),t.push(...g)}}return t.sort((a,d)=>d.updatedAt-a.updatedAt),t}u(Ie,"listVisibleSessionSummaries");function ke(e){const t=s.get("agentPresets")?.serviceFor(e,"goals")??s.get("goals");return t===void 0?{error:{code:"internal",message:"goal service is absent: neither this session's agent preset nor the host composition mounts @deepseek-ai/dsh-goal",details:{}}}:t}u(ke,"goalServiceFor");function Se(e,n){const t=n instanceof Zn?{goalCode:n.code}:{};return c(e,{code:"internal",message:String(n),details:t})}u(Se,"goalError");async function Z(e,n){const t=await T(e.payload.sessionId);if("error"in t)return c(e,t.error);const r=ke(t.agent);if("error"in r)return c(e,r.error);try{const o=n(r,t.agent);return b(e,{ref:{id:o.id,revision:o.revision}})}catch(o){return Se(e,o)}}u(Z,"mutateGoal");function Pe(e){const n=s.get("llm");return n===void 0||n.listProviders().some(t=>t.id===e)}u(Pe,"routeServed");async function un(e,n){const t=await T(n);if("error"in t)return{refused:c(e,t.error)};const r=t.agent,o=B(r).current;return Pe(o.provider)?{agent:r}:{refused:c(e,{code:"model-unavailable",message:`no adapter serves provider "${o.provider}"; select a model for this session`,details:{provider:o.provider,model:o.model}})}}u(un,"turnAgentFor");function re(){return{code:"internal",message:"settings service is absent: this deployment does not mount a settings provider (e.g. @deepseek-ai/dsh-settings-file) in its composition",details:{}}}u(re,"settingsAbsent");async function Ee(e,n,t,r){try{return await r(n,t),b(e,{opened:!0})}catch(o){return t.aborted?c(e,{code:"cancelled",message:"path open was aborted",details:{}}):c(e,{code:"internal",message:`path open failed: ${o instanceof Error?o.message:String(o)}`,details:{}})}}u(Ee,"openTarget");function Ae(e,n,t){const r=i.openPath??((o,a)=>tt(o,a));return Ee(e,n,t,r)}u(Ae,"openPath");function fn(e,n,t){const r=i.openTextFile??((o,a)=>st(o,a));return Ee(e,n,t,r)}u(fn,"openTextFile");function oe(){return i.canOpenPath!==void 0?i.canOpenPath():i.openPath!==void 0||nt()}u(oe,"canOpenPaths");function ie(){return{code:"internal",message:"credentials service is absent: this deployment does not mount a credential provider (e.g. @deepseek-ai/dsh-credentials-local) in its composition",details:{}}}u(ie,"credentialsAbsent");function $e(e){return{ns:String(e.ns),schema:e.schema,value:e.value,...e.base===void 0?{}:{base:e.base},...e.user===void 0?{}:{user:e.user},applies:e.applies,secrets:(e.secrets??[]).map(n=>({path:[...n.path],set:n.set})),revision:e.revision}}u($e,"namespaceView");async function ae(e,n,t,r,o){const a=s.get("settings");if(a===void 0)return c(e,re());const d=u(g=>g instanceof zn?c(e,{code:"settings-conflict",message:g.message,details:{ns:n,expected:g.expected,actual:g.actual}}):c(e,{code:"settings-rejected",message:g instanceof Error?g.message:String(g),details:{ns:n}}),"rejected");let l;try{l=Qn(n)}catch(g){return d(g)}try{t==="update"?await a.update(l,r,o):t==="replace"?await a.replace(l,r,o):await a.mutate(l,r,o)}catch(g){return d(g)}const p=a.describe({redactSecrets:!0}).find(g=>g.ns===l);return p===void 0?c(e,{code:"internal",message:`settings namespace "${n}" was disposed after the ${t}`,details:{}}):b(e,$e(p))}return u(ae,"settingsWrite"),{sessions:{async list(e){return b(e,{items:await Ie()})},async search(e,n){const t=u(()=>c(e,{code:"cancelled",message:"session search was aborted",details:{}}),"cancelled");if(R(n))return t();const r=s.get("sessionQuery");if(r===void 0)return c(e,{code:"internal",message:"session search is unavailable: this deployment does not mount @deepseek-ai/dsh-session-query",details:{}});try{const o=await Ie(n);if(R(n))return t();if(o.length===0)return b(e,{items:[],hasMore:!1});const a=new Set(o.map(w=>w.sessionId)),d=[],l=new Set,p=new Set;let g,I=0,v=D;for(;d.length<=D;){if(R(n))return t();if(I>=Re)throw new Error(`session search provider exceeded the ${Re}-call work budget`);I++;const w=g,E=v;let M;try{M=await r.searchSessions({query:e.payload.query,eventFilters:[{kind:"type",values:["user/message","assistant/message"]},{kind:"surface",values:["current"]}],limit:E,...w===void 0?{}:{cursor:w}},{signal:n})}catch(N){if(R(n))return t();if(w===void 0&&N instanceof ce&&N.code==="SESSION_QUERY_INVALID_LIMIT"&&E>1){v=Math.max(1,Math.floor(E/2));continue}if(w!==void 0&&N instanceof ce&&N.code==="SESSION_QUERY_STALE_CURSOR"){d.length=0,l.clear(),p.clear(),g=void 0;continue}throw N}if(R(n))return t();const z=M.items.length;if(z>E)throw new Error(`session search provider returned ${z} items; maximum is ${E}`);for(const N of M.items){if(d.length>D||!a.has(N.header.id)||N.bestMatch.sessionId!==N.header.id||N.bestMatch.surface!=="current"||!Oe.has(N.bestMatch.type)||l.has(N.header.id))continue;const pn=Bn(N.bestMatch.snippet,Fn);l.add(N.header.id),d.push({sessionId:N.header.id,snippet:pn})}const Q=M.nextCursor;if(Q!==void 0){if(p.has(Q))throw new Error("session search provider repeated a continuation cursor");p.add(Q)}if(d.length>D||Q===void 0)break;g=Q}return b(e,{items:d.slice(0,D),hasMore:d.length>D})}catch(o){return R(n)||o instanceof ce&&o.code==="SESSION_QUERY_ABORTED"?t():c(e,{code:"internal",message:`session search failed: ${String(o)}`,details:{}})}},async create(e){const n=e.payload.sessionId??`session-${W()}`;let t;if(e.payload.workspaceId!==void 0&&(t=s.workspaceRegistry.get(U(e.payload.workspaceId)),t===void 0))return c(e,{code:"workspace-not-found",message:`workspace "${e.payload.workspaceId}" not found`,details:{workspaceId:e.payload.workspaceId}});const r=t?.path??e.payload.cwd??i.cwd,o=e.payload.agentPreset;try{await cn(n,r,e.payload.sessionId!==void 0,o)}catch(l){if(l instanceof nn)return c(e,{code:"agent-preset-conflict",message:l.message,details:{sessionId:l.sessionId,requestedPreset:l.requestedPreset,...l.existingPreset===void 0?{}:{existingPreset:l.existingPreset}}});const p=Ue(e,l);return p!==void 0?p:l instanceof pe?c(e,{code:"session-conflict",message:l.message,details:{sessionId:l.sessionId,requestedCwd:l.requestedCwd,...l.existingCwd===void 0?{}:{existingCwd:l.existingCwd}}}):l instanceof F?c(e,te(l.sessionId)):c(e,{code:"internal",message:`failed to create session "${n}": ${String(l)}`,details:{}})}if(t!==void 0)try{await t.attachSession(n)}catch(l){return c(e,{code:"workspace-attach-failed",message:`session "${n}" was created but could not attach to workspace "${t.id}": ${String(l)}`,details:{sessionId:n,workspaceId:t.id}})}const a=s.agents.get(n),d=a===void 0?void 0:L(a.session);return b(e,{sessionId:n,...d===void 0?{}:{agentPreset:d}})},async history(e){const{sessionId:n,beforeSeq:t,maxMessages:r}=e.payload;try{const o=await on(n),a=await be(n,an(o)),d=dn(o,t===void 0),l=He(s,d.events,t,r,a);return b(e,{events:l.events,hasMore:l.hasMore,...d.projections===void 0?{}:{projections:d.projections}})}catch(o){return o instanceof X?c(e,{code:"session-not-found",message:o.message,details:{sessionId:n}}):c(e,{code:"internal",message:`history unavailable for session "${n}": ${String(o)}`,details:{}})}},async models(e){const{sessionId:n}=e.payload,t=await T(n);if("error"in t)return c(e,t.error);const r=B(t.agent).current,{groups:o,failures:a}=await je(s),d=Pe(r.provider);return b(e,{current:{...r},routable:d,groups:o,failures:a})},async selectModel(e){const{sessionId:n,provider:t,model:r,reasoningEffort:o}=e.payload,a=await T(n);return"error"in a?c(e,a.error):me(a.agent,async()=>{try{const d=await s.llm.resolveCallConfig({provider:t,model:r,...o===void 0?{}:{reasoningEffort:In(o)}});if([...a.agent.inbox.nextTurn,...a.agent.inbox.nextStep].some(g=>Ne(g.content))||dt(a.agent.session.deriveMessages())){const g=await s.llm.resolveModelInfo(d.provider,d.model);if(g.inputModalities!==void 0&&!g.inputModalities.includes("image"))return c(e,{code:"model-unavailable",message:`Model "${d.model}" does not accept image input, but this session already contains images; select an image-capable model.`,details:{provider:t,model:r}})}const p={provider:d.provider,model:d.model,...d.reasoningEffort===void 0?{}:{reasoningEffort:d.reasoningEffort}};B(a.agent).current=p;try{await i.saveDefaultModelSelection?.(p)}catch(g){s.logger.warn(`api-proxy: the model switch applies to this session but was not saved as the default: ${String(g)}`)}return b(e,{selected:{...p}})}catch(d){return c(e,{code:"model-unavailable",message:d instanceof Error?d.message:String(d),details:{provider:t,model:r}})}})},async rename(e){const{sessionId:n,title:t}=e.payload,r=await T(n);if("error"in r)return c(e,r.error);const o=s.get("sessionTitle");if(o===void 0)return c(e,{code:"internal",message:"renaming is unavailable: this deployment mounts no session-title service",details:{}});try{const a=o.rename(r.agent.session,t);return b(e,{title:a.title,seq:a.eventSeq})}catch(a){return a instanceof Wn?c(e,{code:"title-invalid",message:a.message,details:{sessionId:n}}):c(e,{code:"internal",message:`failed to rename session "${n}": ${String(a)}`,details:{}})}},async fork(e){const{sessionId:n,atSeq:t}=e.payload;let r;try{r=await ve(n)}catch(w){return w instanceof X?c(e,{code:"session-not-found",message:w.message,details:{sessionId:n}}):c(e,{code:"internal",message:`fork source unavailable for session "${n}": ${String(w)}`,details:{}})}const o=r.events,a=o.at(-1)?.seq??-1,l=(t===void 0?void 0:o.find(w=>w.type==="turn/end"&&w.seq>=t))??(t===void 0||t>a?o.findLast(w=>w.type==="turn/end"):void 0);if(l===void 0)return c(e,{code:"fork-unavailable",message:t!==void 0&&t<=a?`session "${n}" has not completed the turn containing event ${String(t)}`:`session "${n}" has no completed turn to fork from`,details:{sessionId:n}});let p=l.seq+1;for(;p<o.length&&o[p]?.type!=="turn/start";)p++;let g;try{g=await rn(r)}catch(w){return c(e,{code:"internal",message:`failed to resolve fork workspace for session "${n}": ${String(w)}`,details:{}})}const I=`session-${W()}`,v=await J(L(r));try{await s.agents.create({sessionId:I,seed:o.slice(0,p),meta:{...r.header.cwd===void 0?{}:{cwd:r.header.cwd},parentSession:r.id,seedLength:p,...v.agentPreset===void 0?{}:{agentPreset:v.agentPreset}},agentOptions:h(),setup:v.setup})}catch(w){return c(e,{code:"internal",message:`failed to fork session "${n}": ${String(w)}`,details:{}})}if(g!==void 0)try{await g.attachSession(I)}catch(w){return c(e,{code:"workspace-attach-failed",message:`session "${I}" was forked but could not attach to workspace "${g.id}": ${String(w)}`,details:{sessionId:I,workspaceId:g.id}})}return b(e,{sessionId:I})},async prompt(e){const{sessionId:n,mode:t,content:r,clientTimeZone:o}=e.payload,a=o===void 0?void 0:Le(o);if(o!==void 0&&a===void 0)return c(e,{code:"invalid-time-zone",message:"clientTimeZone must be UTC or a valid IANA Area/Location name",details:{value:o}});const d=await un(e,n);if("refused"in d)return d.refused;const l=d.agent,p={kind:"user",rpcId:e.rpcId,...a===void 0?{}:{clientTimeZone:a}},g=r.some(v=>v.type==="image"),I=u(async()=>{try{if(g){const E=B(l).current,M=await s.llm.resolveModelInfo(E.provider,E.model);if(M.inputModalities!==void 0&&!M.inputModalities.includes("image"))return c(e,{code:"attachment-error",message:`Model "${E.model}" does not support image input.`,details:{reason:"MODEL_DOES_NOT_SUPPORT_IMAGES"}})}const v=await it(s,r),w=vn({content:v,source:p});t==="steer"?l.steer(w):l.followup(w)}catch(v){return v instanceof de?c(e,{code:"attachment-error",message:v.message,details:{reason:v.code}}):c(e,{code:"agent-busy",message:"prompt rejected",details:{reason:String(v)}})}return b(e,{accepted:!0})},"admit");return g?me(l,I):I()},async attachment(e){const{sessionId:n,attachmentId:t}=e.payload;let r;try{r=await ve(n)}catch(a){return a instanceof X?c(e,{code:"session-not-found",message:a.message,details:{sessionId:n}}):c(e,{code:"internal",message:`attachment authorization unavailable for session "${n}": ${String(a)}`,details:{}})}const o=ct(r.events,String(t));if(o===void 0)return c(e,{code:"attachment-error",message:"Image is not referenced by this session.",details:{reason:"ATTACHMENT_NOT_REFERENCED"}});try{const a=await s.attachments.readImage(o);return b(e,{attachment:a.ref,data:Buffer.from(a.data).toString("base64")})}catch(a){return a instanceof de?c(e,{code:"attachment-error",message:a.message,details:{reason:a.code}}):c(e,{code:"internal",message:"Unable to read image attachment.",details:{}})}},updateQueue(e){const{sessionId:n,itemId:t,action:r}=e.payload;if(r.kind==="edit"&&r.content.some(l=>l.type!=="text"))return Promise.resolve(c(e,{code:"attachment-error",message:"queue edits accept text content only",details:{reason:"QUEUE_EDIT_NON_TEXT"}}));const o=s.agents.get(n);if(o!==void 0&&O(o.session,o))return Promise.resolve(c(e,te(n)));if(o===void 0)return Promise.resolve(c(e,{code:"queue-item-not-found",message:"queued item is no longer pending",details:{itemId:t}}));const a=o.inbox.nextTurn.some(l=>l.id===t)?"next-turn":o.inbox.nextStep.some(l=>l.id===t)?"next-step":void 0,d=a===void 0?void 0:(a==="next-turn"?o.inbox.nextTurn:o.inbox.nextStep).find(l=>l.id===t);return a===void 0||d===void 0?Promise.resolve(c(e,{code:"queue-item-not-found",message:"queued item is no longer pending",details:{itemId:t}})):r.kind==="steer"&&(a!=="next-turn"||o.status!=="running")?Promise.resolve(c(e,{code:"steer-unavailable",message:"current turn no longer accepts steering",details:{itemId:t}})):(r.kind==="edit"?o.inbox.replace(t,bn({...d,content:r.content})):(o.inbox.remove(t),r.kind==="steer"&&o.steer(d)),Promise.resolve(b(e,{accepted:!0})))},cancel(e){const{sessionId:n}=e.payload,t=s.agents.get(n);return t===void 0?Promise.resolve(c(e,{code:"session-not-found",message:`session "${n}" not found (not attached)`,details:{sessionId:n}})):O(t.session,t)?Promise.resolve(c(e,te(n))):(t.cancel({kind:"user"},{keepInbox:!0}),Promise.resolve(b(e,{accepted:!0})))}},subagents:{async list(e,n){try{const t=await s.subagents.listChildren(e.payload.parentSessionId,n);return b(e,{entries:t.map(r=>r.kind==="child"?{...r,activity:s.agents.get(r.id)?.status==="running"?"running":"inactive"}:r),parentAvailable:s.agents.get(e.payload.parentSessionId)!==void 0})}catch(t){return n?.aborted||t instanceof j&&t.code==="CANCELLED"?c(e,{code:"cancelled",message:"subagent catalog read was cancelled",details:{}}):t instanceof j&&t.code==="SUBAGENT_CONTROL_PROJECTIONS_UNAVAILABLE"?c(e,qe()):c(e,{code:"internal",message:"subagent catalog read failed",details:{}})}},async history(e,n){const{parentSessionId:t,childSessionId:r,mode:o,beforeSeq:a,maxMessages:d}=e.payload,l=await en(s,{parentSessionId:t,childSessionId:r,mode:o},n);if(l.error!==void 0)return c(e,l.error);let p,g,I;const v=s.sessions.get(r);if(v!==void 0)p=v.header,g=[...v.events],I=a===void 0?xe(s,r,()=>Ke(s,v)):void 0;else try{const E=await se(r);p=E.meta,g=E.events,I=a===void 0?xe(s,r,()=>Xe(s,E.events)):void 0}catch(E){return n?.aborted?c(e,{code:"cancelled",message:"subagent history read was cancelled",details:{}}):E instanceof X?c(e,{code:"subagent-not-found",message:"subagent disappeared during history read",details:{parentSessionId:t,childSessionId:r}}):c(e,{code:"internal",message:"subagent history read failed",details:{}})}if(n?.aborted)return c(e,{code:"cancelled",message:"subagent history read was cancelled",details:{}});if(p.parentSession!==t)return c(e,{code:"subagent-unauthorized",message:"subagent parent changed during history read",details:{childSessionId:r}});const w=He(s,g,a,d);return b(e,{...w,...I===void 0?{}:{projections:I}})},async prompt(e,n){const{parentSessionId:t,childSessionId:r,content:o,clientTimeZone:a}=e.payload,d=a===void 0?void 0:Le(a);if(a!==void 0&&d===void 0)return c(e,{code:"invalid-time-zone",message:"clientTimeZone must be UTC or a valid IANA Area/Location name",details:{value:a}});const l=s.agents.get(t);if(l===void 0)return c(e,{code:"subagent-parent-unavailable",message:`parent session "${t}" is not live`,details:{parentSessionId:t}});const p=await en(s,{parentSessionId:t,childSessionId:r,mode:"continuable"},n);if(p.error!==void 0)return c(e,p.error);try{const g=await s.subagents.followup(l,r,o,{source:{kind:"user",rpcId:e.rpcId,...d===void 0?{}:{clientTimeZone:d}},signal:n});return b(e,{messageId:g})}catch(g){return mt(e,g,n)}},interrupt(e){const{parentSessionId:n,childSessionId:t}=e.payload;try{s.subagents.interrupt(t,{kind:"user",parentSessionId:n})}catch(r){return r instanceof j&&r.code==="UNAUTHORIZED"?Promise.resolve(c(e,{code:"subagent-unauthorized",message:"subagent does not belong to this parent",details:{childSessionId:t}})):Promise.resolve(c(e,{code:"internal",message:"subagent interrupt failed",details:{}}))}return Promise.resolve(b(e,{accepted:!0}))}},workspace:{list(e){return Promise.resolve(b(e,{items:s.workspaceRegistry.list().map(G),archivedSessionIds:[...s.workspaceRegistry.archivedSessionIds]}))},async create(e){const{path:n}=e.payload;try{const{workspace:t,created:r}=await ln(n);return b(e,{workspace:G(t),created:r})}catch(t){return c(e,{code:"workspace-invalid-path",message:`cannot create a workspace at "${n}": ${t instanceof Error?t.message:String(t)}`,details:{path:n}})}},async rename(e){const{payload:n}=e,t=s.workspaceRegistry.get(U(n.workspaceId));if(t===void 0)return ne(e,n.workspaceId);const r=n.title.trim(),o=P.then(async()=>{if(r!==t.title){if(s.workspaceRegistry.list().some(a=>a.id!==t.id&&a.title===r))throw new tn(r);await t.setTitle(r)}});P=o.then(()=>{},()=>{});try{await o}catch(a){if(a instanceof tn)return c(e,{code:"workspace-name-conflict",message:a.message,details:{name:a.workspaceName}});throw a}return b(e,{workspace:G(t)})},async delete(e){const{workspaceId:n}=e.payload,t=P.then(()=>s.workspaceRegistry.delete(U(n)));return P=t.then(()=>{},()=>{}),await t?b(e,{deleted:!0}):ne(e,n)},async insertBefore(e){const{workspaceId:n,beforeWorkspaceId:t}=e.payload;try{const r=await s.workspaceRegistry.insertBefore(U(n),t===void 0?void 0:U(t));return b(e,{workspaceIds:[...r]})}catch(r){if(!(r instanceof Cn))throw r;return ne(e,r.workspaceId)}},async insertSessionBefore(e){const{payload:n}=e,t=s.workspaceRegistry.get(U(n.workspaceId));if(t===void 0)return ne(e,n.workspaceId);try{await t.insertSessionBefore(n.sessionId,n.beforeSessionId)}catch(r){if(!(r instanceof Nn))throw r;return c(e,{code:"workspace-move-invalid",message:r.message,details:{workspaceId:n.workspaceId,sessionId:n.sessionId,...n.beforeSessionId===void 0?{}:{beforeSessionId:n.beforeSessionId}}})}return b(e,{workspace:G(t)})},async archiveSession(e){const{sessionId:n}=e.payload;try{await s.workspaceRegistry.archiveSession(n)}catch(t){if(!(t instanceof Mn))throw t;return c(e,{code:"session-not-found",message:t.message,details:{sessionId:n}})}return b(e,{archivedSessionIds:[...s.workspaceRegistry.archivedSessionIds]})}},host:{describe(e){const n=i.defaultModelSelection();return Promise.resolve(b(e,{version:"0.0.1",cwd:i.cwd,provider:n.provider,model:n.model,attachedSessions:s.agents.list().length,canOpenPath:oe()}))},async pickDirectory(e,n){const t=s.directoryPicker.capability();if(t.kind!=="native")return c(e,{code:"directory-picker-unavailable",message:`host.pickDirectory needs the native capability; the composed picker serves "${t.kind}"`,details:{capability:t.kind}});try{const r=await t.pick(n);return b(e,{path:r})}catch(r){return n.aborted?c(e,{code:"cancelled",message:"directory picker was aborted",details:{}}):c(e,{code:"internal",message:`directory picker failed: ${r instanceof Error?r.message:String(r)}`,details:{}})}},async listDirectory(e,n){const t=s.directoryPicker.capability();if(t.kind!=="browse")return c(e,{code:"directory-picker-unavailable",message:`host.listDirectory needs the browse capability; the composed picker serves "${t.kind}"`,details:{capability:t.kind}});try{return b(e,await t.list(e.payload.path,n))}catch(r){return n.aborted?c(e,{code:"cancelled",message:"directory listing was aborted",details:{}}):c(e,We(r))}},async createDirectory(e){const n=s.directoryPicker.capability();if(n.kind!=="browse")return c(e,{code:"directory-picker-unavailable",message:`host.createDirectory needs the browse capability; the composed picker serves "${n.kind}"`,details:{capability:n.kind}});try{return b(e,{path:await n.createDirectory(e.payload.path,e.payload.name)})}catch(t){return c(e,We(t))}},async openPath(e,n){return Ae(e,e.payload.path,n)}},goals:{async create(e){const{objective:n,maxGoalRounds:t}=e.payload;return Z(e,(r,o)=>r.create(o,{objective:n,...t!==void 0?{maxGoalRounds:t}:{}}))},async edit(e){const{ref:n,objective:t,maxGoalRounds:r}=e.payload;return Z(e,(o,a)=>o.edit(a,n,{...t!==void 0?{objective:t}:{},...r!==void 0?{maxGoalRounds:r}:{}}))},async pause(e){return Z(e,(n,t)=>n.pause(t,e.payload.ref))},async resume(e){return Z(e,(n,t)=>n.resume(t,e.payload.ref))},async complete(e){return Z(e,(n,t)=>n.complete(t,e.payload.ref))},async clear(e){const n=await T(e.payload.sessionId);if("error"in n)return c(e,n.error);const t=ke(n.agent);if("error"in t)return c(e,t.error);try{return t.clear(n.agent,e.payload.ref),b(e,{cleared:!0})}catch(r){return Se(e,r)}}},agentPresets:{async list(e){const n=s.get("agentPresets");if(n===void 0)return b(e,{presets:[],authorable:!1,hasDocument:!1});const t=n.defaultId;return b(e,{presets:(await n.list()).map(r=>({id:r.id,trust:r.trust,isDefault:r.id===t,...r.name===void 0?{}:{name:r.name},...r.description===void 0?{}:{description:r.description},...r.broken===void 0?{}:{broken:r.broken}})),authorable:n.authorable,hasDocument:oe()})},async select(e){const{sessionId:n,agentPreset:t}=e.payload,r=s.get("agentPresets");if(r===void 0)return c(e,{code:"agent-preset-not-found",message:"this deployment composes no agent presets",details:{agentPreset:t,available:[]}});const o=await T(n);if("error"in o)return c(e,o.error);const{agent:a}=o,d=u(async()=>{if(!Be(a.session))return c(e,{code:"agent-preset-locked",message:`session "${n}" has already started; its agent preset is fixed`,details:{sessionId:n,agentPreset:t}});try{const g=await r.recompose(a.ctx,t);return a.session.append("agent-preset/selected",{agentPreset:g.id}),b(e,{agentPreset:g.id})}catch(g){const I=Ue(e,g);return I!==void 0?I:c(e,{code:"internal",message:`failed to select agent preset "${t}": ${String(g)}`,details:{}})}},"swap"),p=(k.get(n)??Promise.resolve()).then(d);k.set(n,p.catch(()=>{}));try{return await p}finally{k.get(n)===p&&k.delete(n)}},async read(e){const{agentPreset:n}=e.payload,t=s.get("agentPresets");if(t===void 0)return c(e,q(n));try{const r=await t.resolve(n);return b(e,{agentPreset:r.id,trust:r.trust,content:await t.read(r.id),...r.name===void 0?{}:{name:r.name},...r.description===void 0?{}:{description:r.description}})}catch(r){return c(e,ee(n,r))}},async copy(e){const{from:n,agentPreset:t,name:r}=e.payload,o=s.get("agentPresets");if(o===void 0)return c(e,q(t));try{return await o.copy(n,t,r),b(e,{agentPreset:t})}catch(a){return c(e,ee(t,a))}},async openDocument(e,n){const{agentPreset:t}=e.payload,r=s.get("agentPresets");if(r===void 0)return c(e,q(t));try{const o=await r.resolve(t);if(o.trust!=="user")throw new Ce(o.id,"it ships with the deployment");const a=yn(o.path);return oe()?await Ae(e,a,n):b(e,{opened:!1,path:a})}catch(o){return c(e,ee(t,o))}},async remove(e){const{agentPreset:n}=e.payload,t=s.get("agentPresets");if(t===void 0)return c(e,q(n));try{return await t.remove(n),b(e,{})}catch(r){return c(e,ee(n,r))}}},skills:{async list(e){const{sessionId:n}=e.payload,t=s.sessions.get(n);if(t===void 0)return c(e,{code:"session-not-found",message:`session "${n}" not found (not attached)`,details:{sessionId:n}});if(t.header.cwd===void 0)return c(e,{code:"internal",message:`session "${n}" has no project cwd`,details:{}});const r=t.header.cwd,o=s.agents.get(n),a=s.get("agentPresets"),l=(o===void 0?void 0:a?.serviceFor(o,"skills"))??s.get("skills");if(l===void 0)return c(e,{code:"internal",message:"skill registry is absent: neither this session's agent preset nor the host composition mounts @deepseek-ai/dsh-skill",details:{}});const p=await be(n,t);try{const g=(await l.list({cwd:r,scope:p})).filter(En);return b(e,{skills:g.map(I=>({name:I.name,description:I.description,...I.whenToUse===void 0?{}:{whenToUse:I.whenToUse},modelInvocable:I.invocation.modelInvocable}))})}catch(g){return c(e,{code:"internal",message:`skill listing failed: ${String(g)}`,details:{}})}}},settings:{describe(e){const n=s.get("settings");return n===void 0?Promise.resolve(c(e,re())):Promise.resolve(b(e,{writable:n.writable,hasDocument:n.documentPath!==void 0,namespaces:n.describe({redactSecrets:!0}).map($e)}))},async openDocument(e,n){const t=s.get("settings");if(t===void 0)return c(e,re());if(R(n))return c(e,{code:"cancelled",message:"settings document open was aborted",details:{}});let r;try{r=await t.prepareDocument()}catch(o){return R(n)?c(e,{code:"cancelled",message:"settings document preparation was aborted",details:{}}):c(e,{code:"internal",message:`settings document preparation failed: ${o instanceof Error?o.message:String(o)}`,details:{}})}return r===void 0?c(e,{code:"internal",message:"settings provider has no local document to open",details:{}}):R(n)?c(e,{code:"cancelled",message:"settings document open was aborted",details:{}}):fn(e,r,n)},update:u(e=>ae(e,e.payload.ns,"update",e.payload.patch,e.payload.expectedRevision),"update"),replace:u(e=>ae(e,e.payload.ns,"replace",e.payload.section,e.payload.expectedRevision),"replace"),mutate:u(e=>ae(e,e.payload.ns,"mutate",e.payload.ops,e.payload.expectedRevision),"mutate")},credentials:{async describe(e){const n=s.get("credentials");if(n===void 0)return c(e,ie());const t=await Promise.all(e.payload.refs.map(async r=>{const o=await n.describe(le(r)),a={configured:o.configured,...o.source===void 0?{}:{source:o.source},writable:o.writable};return[r,a]}));return b(e,{credentials:Object.fromEntries(t)})},async set(e){const n=s.get("credentials");if(n===void 0)return c(e,ie());const{ref:t,value:r}=e.payload;try{await n.set(le(t),r)}catch(o){return c(e,{code:"credential-rejected",message:o instanceof Error?o.message:String(o),details:{ref:t}})}return b(e,{})},async unset(e){const n=s.get("credentials");if(n===void 0)return c(e,ie());const{ref:t}=e.payload;try{await n.unset(le(t))}catch(r){return c(e,{code:"credential-rejected",message:r instanceof Error?r.message:String(r),details:{ref:t}})}return b(e,{})}},llm:{providers(e){const n=s.llm.listProviders(),t=new Set(n.map(d=>d.id)),r=s.llm.listConfigurableProviders(),o=new Set(r.map(d=>d.provider)),a=r.map(d=>({provider:d.provider,displayName:d.displayName,settingsNs:d.settingsNs,settingsPath:[...d.settingsPath],active:t.has(d.provider),...d.declared===void 0?{}:{declared:d.declared}}));for(const d of n)o.has(d.id)||a.push({provider:d.id,displayName:d.name,settingsNs:"",settingsPath:[],active:!0});return Promise.resolve(b(e,{providers:a}))},async models(e){return b(e,await je(s))},async discoverModels(e,n){const{settingsNs:t,provider:r,baseURL:o,api:a,apiKey:d}=e.payload;try{const l=await s.llm.discoverModels(t,{...r===void 0?{}:{provider:r},...o===void 0?{}:{baseURL:o},...a===void 0?{}:{api:a},...d===void 0?{}:{apiKey:d},...n===void 0?{}:{signal:n}});return b(e,{models:l})}catch(l){return c(e,{code:"model-discovery-failed",message:l instanceof Error?l.message:String(l),details:{settingsNs:t,...o===void 0?{}:{baseURL:o}}})}}},events:{mux(e,n){const t=new De;_.add(t);for(const d of s.sessions.list())Fe(t,d);for(const d of $.values())t.push({rpcId:d.rpcId,payload:{type:"question/requested",sessionId:d.sessionId,questions:d.questions}});for(const d of C.values())t.push(Ve(d));for(const d of s.sessions.list()){const l=s.agents.get(d.id);l?.session===d&&l.inbox.hasPending&&t.push(A({type:"session/queue",sessionId:d.id,items:we(l)}))}const r=s.get("jobs");if(r!==void 0)for(const d of s.sessions.list()){const l=x(r.list(s.agents.get(d.id)));l.length>0&&t.push(A({type:"session/jobs",sessionId:d.id,jobs:l}))}const o=new Map,a=[s.on("session/event",(d,l)=>{if(l.type==="tool/call"){const g=l.data;try{let I=o.get(d.id);I===void 0&&o.set(d.id,I=new Map),I.set(g.callId,{name:g.name,args:JSON.parse(g.arguments)})}catch{}}else l.type==="turn/end"&&o.delete(d.id);const p=Ge(s,l,g=>o.get(d.id)?.get(g)??Je(d.events,g),s.agents.get(d.id));t.push(A({type:"session/event",sessionId:d.id,event:l,...p===void 0?{}:{view:p}}))}),s.on("session/created",d=>{Fe(t,d);const l=r===void 0?[]:x(r.list(s.agents.get(d.id)));l.length>0&&t.push(A({type:"session/jobs",sessionId:d.id,jobs:l}))}),s.on("session/disposed",d=>{o.delete(d.id)}),...r===void 0?[]:[r.onJobsChanged(d=>{if(d!==void 0){t.push(A({type:"session/jobs",sessionId:d.id,jobs:x(r.list(d))}));return}for(const l of s.sessions.list())t.push(A({type:"session/jobs",sessionId:l.id,jobs:x(r.list(s.agents.get(l.id)))}))})]];return t.iterate(n,()=>{_.delete(t);for(const d of a)d()})},host(e,n){const t=new De,r=s.workspaceRegistry.list(),o=new Set(r.map(p=>String(p.id)));let a=r.map(p=>p.id),d=s.workspaceRegistry.archivedSessionIds;const l=[s.on("session/created",p=>{t.push(A({type:"host/session-added",sessionId:p.id,blank:Be(p),...fe(p.header,p.events)}))}),s.on("session/disposed",p=>{t.push(A({type:"host/session-removed",sessionId:p.id}))}),s.on("agent/status",({agent:p,status:g})=>{t.push(A({type:"host/session-status",sessionId:p.id,running:g==="running"}))}),s.on("agent/error",({agent:p,error:g})=>{t.push(A({type:"host/agent-error",sessionId:p.id,message:kn(g)}))}),s.on("domain/changed",p=>{if(p.domain==="workspace"){if(p.table===""){if(p.operation!=="put")return;const g=An.parse(p.value),I=g.workspaceIds.length===a.length&&g.workspaceIds.every(v=>o.has(String(v)))&&g.workspaceIds.some((v,w)=>v!==a[w]);for(const v of g.workspaceIds){if(o.has(v))continue;const w=s.workspaceRegistry.get(v);if(w===void 0)throw new Error(`committed workspace registry references missing workspace "${v}"`);o.add(v),t.push(A({type:"host/workspace-changed",workspace:G(w)}))}a=[...g.workspaceIds],I&&t.push(A({type:"host/workspace-order-changed",workspaceIds:[...g.workspaceIds]})),(g.archivedSessionIds.length!==d.length||g.archivedSessionIds.some((v,w)=>v!==d[w]))&&(d=g.archivedSessionIds,t.push(A({type:"host/archived-sessions-changed",archivedSessionIds:[...g.archivedSessionIds]})));return}if(p.table==="workspaces"){if(p.operation==="deleted"){if(!o.delete(p.key))return;t.push(A({type:"host/workspace-removed",workspaceId:p.key}));return}o.has(p.key)&&t.push(A({type:"host/workspace-changed",workspace:ht(p.key,p.value)}))}}}),...Yn.map(p=>s.on(p,((...g)=>{t.push(A({type:"host/remote-event",event:p,args:assertJsonArgs(p,g)}))})))];return t.iterate(n,()=>{for(const p of l)p()})}},downloads:{async sessionLog(e,n){const t=jn(s);if(t.sessionQuery===void 0||t.sessionPersistence===void 0||t.attachments===void 0)return new Response("session log export is unavailable: missing session-query, session-persistence, or attachments service",{status:500});if(!t.sessionPersistence.supportsRawArtifacts)return new Response("session log export is unavailable: the persistence backend does not expose per-session raw artifacts",{status:501});const r={sessionQuery:t.sessionQuery,sessionPersistence:t.sessionPersistence,attachments:t.attachments,sessions:t.sessions};let o;try{await Ln(t,e.sessionId,n),o=await t.sessionPersistence.readRaw(e.sessionId,n),n.throwIfAborted()}catch{return n.throwIfAborted(),new Response("session log export failed to prepare the stored artifact",{status:500})}return o===void 0?new Response("session not found",{status:404}):new Response(Dn(r,o,e.sessionId,e.includeDescendants===!0,f,n),{headers:{"content-type":"application/zip","content-disposition":`attachment; filename="${Un(e.sessionId)}"`}})}},respond(e){const n=C.get(e.rpcId);if(n!==void 0){if(!e.result.ok)return Promise.resolve({accepted:!1,reason:"bad-response"});const a=Vn.safeParse(e.result.value);return!a.success||a.data.approvalId!==n.approvalId||a.data.sessionId!==n.sessionId?Promise.resolve({accepted:!1,reason:"bad-response"}):(n.resolve(a.data.outcome),Promise.resolve({accepted:!0}))}const t=$.get(e.rpcId);if(t===void 0)return Promise.resolve({accepted:!1,reason:"not-pending"});if(!e.result.ok)return e.result.error.code!=="cancelled"?Promise.resolve({accepted:!1,reason:"bad-response"}):(K(t,"cancelled"),t.reject(new Y("the user cancelled ask_user_question","ASK_CANCELLED")),Promise.resolve({accepted:!0}));const r=Hn.safeParse(e.result.value);if(!r.success)return Promise.resolve({accepted:!1,reason:"bad-response"});const o={sessionId:r.data.sessionId,answer:{answers:r.data.answer.answers.map(a=>({id:a.id,selected:a.selected,...a.custom===void 0?{}:{custom:a.custom}}))}};return gt(o,t)?(K(t,"answered"),t.resolve(o.answer),Promise.resolve({accepted:!0})):Promise.resolve({accepted:!1,reason:"bad-response"})}}}u(createApiProxy,"createApiProxy");
|
|
1
|
+
var wn=Object.defineProperty;var u=(s,a)=>wn(s,"name",{value:a,configurable:!0});import{randomUUID as D}from"node:crypto";import{mkdir as yn,stat as vn}from"node:fs/promises";import{dirname as bn}from"node:path";import{installModelSelection as In}from"@deepseek-ai/dsh-agent";import{AttachmentError as fe}from"@deepseek-ai/dsh-attachment";import{contentHasImage as Te,createUserMessage as kn,freezeMessage as Sn,ReasoningEffortId as Pn}from"@deepseek-ai/dsh-llm";import{errorChain as En}from"@deepseek-ai/dsh-llm";import{isAppendSurfaceEvent as An,isJsonValue as Nn}from"@deepseek-ai/dsh-session";import{SessionQueryError as pe}from"@deepseek-ai/dsh-session-query";import{SubagentError as B}from"@deepseek-ai/dsh-subagent";import{isUserInvocable as $n}from"@deepseek-ai/dsh-skill";import{workspaceDomainState as Mn,workspaceRecord as Rn,WorkspaceId as F,WorkspaceMoveInvalidError as Tn,WorkspaceOrderInvalidError as Cn,WorkspaceUnknownSessionError as On}from"@deepseek-ai/dsh-workspace";import{InvalidPresetIdError as Ln,PresetExistsError as _n,PresetMountError as jn,PresetNotWritableError as Ce,resolveSessionPreset as _,UnknownPresetError as Oe}from"@deepseek-ai/dsh-agent-presets";import{DEFAULT_SESSION_LOG_COMPRESSION_LEVEL as Un,flushLiveSessionLog as Dn,sessionLogExportDeps as Bn,sessionLogZipFilename as Fn,streamSessionLogZip as Jn}from"./session-export.js";import{SESSION_SEARCH_RESULT_LIMIT as J,SESSION_SEARCH_SNIPPET_MAX_CODE_POINTS as Zn,truncateUnicodeCodePoints as zn}from"./api/session-search.js";import{GoalError as Qn}from"@deepseek-ai/dsh-goal";import{SettingsConflictError as Vn,settingsNamespace as Wn}from"@deepseek-ai/dsh-settings";import{credentialRef as me}from"@deepseek-ai/dsh-credentials";import{SessionTitleInvalidError as Gn}from"@deepseek-ai/dsh-session-title";import{approvalResponsePayloadSchema as Hn}from"./api/approvals.schema.js";import{imageLimitsProjectionSchema as Kn,sessionListMetadataProjectionSchema as Yn}from"./api/sessions.schema.js";import{questionResponsePayloadSchema as Xn}from"./api/questions.schema.js";import{RpcId as q}from"./api/rpc.js";import{UserQuestionError as ee}from"@deepseek-ai/dsh-user-questions";import{BrowserJsapiError as H}from"@deepseek-ai/dsh-browser-jsapi";import{browserJsapiResponsePayloadSchema as xn}from"./api/browser-jsapi.schema.js";import{DirectoryPickerError as qn}from"@deepseek-ai/dsh-host-directory-picker";import{ApiRemoteSessionNotFound as ne,ApiRemoteSubagentSessionOwnership as Z,API_REMOTE_FORWARDED_EVENTS as et,apiRemoteSubagentOwnershipError as nt,createApiRemoteAgentResolver as tt,hasApiRemoteSubagentOwner as st,inspectApiRemoteSession as rt}from"@deepseek-ai/dsh-api-remotes";import{canOpenNativePath as ot,openNativePath as it,openNativeTextFile as at}from"./native-path-opener.js";const dt=50,Le=100,_e=16;export const DEFAULT_COLD_BLANK_PROBE_MAX_BYTES=1024;const je=new Set(["user/message","assistant/message"]);function ct(s){const a=Buffer.from(s,"base64");if(s.length===0||a.toString("base64")!==s)throw new fe("Image upload is not canonical base64.","INVALID_IMAGE_BASE64");return new Uint8Array(a)}u(ct,"decodeBase64");async function lt(s,a){if(a.every(w=>w.type==="text"))return a.map(w=>({type:"text",text:w.text}));const f=a.map(w=>w.type==="text"?w:{part:w,data:ct(w.data)}),g=f.filter(w=>"data"in w),h=await s.attachments.saveImages(g.map(w=>({data:w.data,mediaType:w.part.mediaType,...w.part.name===void 0?{}:{name:w.part.name}}))),S=[];let k=0;for(const w of f){if(!("data"in w)){S.push({type:"text",text:w.text});continue}const P=h[k++];if(P===void 0)throw new Error("attachment batch result did not preserve input cardinality");S.push({type:"image",attachment:P})}return S}u(lt,"durablePromptContent");function K(s,a){if(Array.isArray(s))for(const f of s){if(typeof f!="object"||f===null||Array.isArray(f))continue;const g=f;if(g.type==="image"&&typeof g.attachment=="object"&&g.attachment!==null){const h=g.attachment;if(a(h))return h}if(g.type==="tool-result"){const h=K(g.content,a);if(h!==void 0)return h}}}u(K,"imageBlockIn");function ut(s,a){const f=s.data,g=K(f.content,a);if(g!==void 0)return g;if(f.message!==void 0){const h=K(f.message.content,a);if(h!==void 0)return h}if(f.inserted!==void 0)for(const h of f.inserted){const S=K(h.content,a);if(S!==void 0)return S}if(s.type==="assistant/chunk"&&f.chunk?.type==="block-end")return K([f.chunk.block],a)}u(ut,"imageInEvent");function ft(s){return s.some(a=>Te(a.content))}u(ft,"messagesHaveImage");function pt(s,a){for(const f of s){const g=ut(f,h=>String(h.attachmentId)===a);if(g!==void 0)return g}}u(pt,"referencedImage");const Ue=/^[A-Za-z][A-Za-z0-9_+.-]*(?:\/[A-Za-z0-9_+.-]+)+$/;function De(s){if(!(s.length===0||s.trim()!==s||s!=="UTC"&&!Ue.test(s)))try{const a=new Intl.DateTimeFormat("en-US",{timeZone:s}).resolvedOptions().timeZone;return a!=="UTC"&&!Ue.test(a)?void 0:a}catch{return}}u(De,"canonicalClientTimeZone");function C(s){return s.aborted}u(C,"isAborted");function mt(s,a,f){const g=a===void 0?[...s]:s.filter(w=>w.seq<a);let h=0,S=0;for(let w=g.length-1;w>=0;w--){const P=g[w];if(!je.has(P.type)||!An(P))continue;h++;const N=P.sourceEventSeqs;let M=P.seq;if(N!==void 0)for(const R of N)R<M&&(M=R);if(h>=f){S=M;break}}return{events:g.filter(w=>w.seq>=S),hasMore:S>0}}u(mt,"paginate");function I(s,a){return{rpcId:s.rpcId,result:{ok:!0,value:a}}}u(I,"ok");async function Be(s){const a=await Promise.all(s.llm.listProviders().map(async f=>{try{const g=await s.llm.listModels(f.id),h=await Promise.all(g.map(async k=>{const w=await s.llm.resolveModelInfo(f.id,k.id),P=w.reasoning===void 0?void 0:{efforts:w.reasoning.efforts.map(N=>({id:N.id,name:N.name,...N.description===void 0?{}:{description:N.description}})),...w.reasoning.defaultEffort===void 0?{}:{defaultEffort:w.reasoning.defaultEffort}};return{id:k.id,name:k.name,...k.description===void 0?{}:{description:k.description},...P===void 0?{}:{reasoning:P}}}));return{kind:"group",group:{id:f.id,name:f.name,models:h}}}catch(g){return{kind:"failure",failure:{id:f.id,name:f.name,message:g instanceof Error?g.message:String(g)}}}}));return{groups:a.flatMap(f=>f.kind==="group"?[f.group]:[]).filter(f=>f.models.length>0),failures:a.flatMap(f=>f.kind==="failure"?[f.failure]:[])}}u(Be,"buildModelCatalog");function c(s,a){return{rpcId:s.rpcId,result:{ok:!1,error:a}}}u(c,"err");function Fe(s,a){if(a instanceof Oe)return c(s,{code:"agent-preset-not-found",message:a.message,details:{agentPreset:a.presetId,available:[...a.available]}});if(a instanceof jn)return c(s,{code:"agent-preset-invalid",message:a.message,details:{agentPreset:a.presetId,reason:a.reason}})}u(Fe,"presetFailure");class Je{static{u(this,"FrameQueue")}buffer=[];waiter;done=!1;push(a){this.done||(this.buffer.push(a),this.waiter?.())}end(){this.done=!0,this.waiter?.()}async*iterate(a,f){const g=u(()=>{this.end()},"onAbort");a.addEventListener("abort",g,{once:!0});try{for(;;){for(;this.buffer.length>0;)yield this.buffer.shift();if(this.done||a.aborted)return;await new Promise(h=>{this.waiter=h}),this.waiter=void 0}}finally{a.removeEventListener("abort",g),f()}}}function A(s){return{rpcId:q(D()),payload:s}}u(A,"frame");export function assertJsonArgs(s,a){for(const[f,g]of a.entries())if(!Nn(g))throw new Error(`forwarded host event "${s}" argument ${f} is not lossless JSON data`);return a}u(assertJsonArgs,"assertJsonArgs");function Ze(s,a){s.push(A({type:"session/subscribed",sessionId:a.id,lastSeq:a.seq-1}))}u(Ze,"subscribeSession");function te(s){return s.map(a=>({id:a.id,kind:a.kind,label:a.label,status:a.status,...a.detail===void 0?{}:{detail:a.detail},startedAt:a.startedAt,...a.finishedAt===void 0?{}:{finishedAt:a.finishedAt}}))}u(te,"jobViews");function ze(s){return!s.events.some(a=>a.type==="turn/start")}u(ze,"sessionBlank");function Qe(s,a){const f=s.blank&&a.type!=="turn/start",g=a.type==="user/message"&&a.data.source.kind==="user"?a.time:s.lastPromptAt;return f===s.blank&&g===s.lastPromptAt?s:{blank:f,lastPromptAt:g}}u(Qe,"applySessionListMetadata");function Ve(s){let a={blank:!0,lastPromptAt:null};for(const f of s)a=Qe(a,f);return a}u(Ve,"sessionListMetadata");function We(s,a){return Math.max(s.createdAt,a?.lastPromptAt??0)}u(We,"sessionListUpdatedAt");function ge(s,a=[]){const f=_({header:s,events:a});return{...s.parentSession===void 0?{}:{parentSessionId:s.parentSession},...s.origin===void 0?{}:{origin:s.origin},...s.cwd===void 0?{}:{cwd:s.cwd},...f===void 0?{}:{agentPreset:f}}}u(ge,"sessionListFields");function gt(s,a){const f=Ve(s.events);return{sessionId:s.id,updatedAt:We(s.header,f),running:a,blank:f.blank,...ge(s.header,s.events)}}u(gt,"summarize");async function ht(s,a,f,g,h){if(g===0)return;h?.throwIfAborted();const S=a.locate(f);if(S===void 0)return;h?.throwIfAborted();let k;try{k=(await vn(S.path)).size}catch{h?.throwIfAborted();return}if(!(k>g))try{const{events:w}=await a.readFrom(f.id,0,h);return h?.throwIfAborted(),Ve(w)}catch(w){h?.throwIfAborted(),s.logger.warn(`session.list: blank probe for "${f.id}" failed (serving it as visible): ${String(w)}`);return}}u(ht,"probeColdSessionMetadata");async function wt(s,a,f,g,h,S){const k=g?.blank===!1?void 0:await ht(s,a,f,h,S);return{sessionId:f.id,updatedAt:We(f,k??g),running:!1,blank:g?.blank===!1?!1:k?.blank??!1,...ge(f)}}u(wt,"summarizeCold");function Ge(s){return s instanceof qn?{code:s.code,message:s.message,details:{path:s.path}}:{code:"internal",message:s instanceof Error?s.message:String(s),details:{}}}u(Ge,"directoryError");function He(s){return{rpcId:s.rpcId,payload:{type:"approval/requested",sessionId:s.sessionId,approvalId:s.approvalId,toolName:s.toolName,...s.callId===void 0?{}:{callId:s.callId},...s.reason===void 0?{}:{reason:s.reason}}}}u(He,"requestedFrame");function yt(s,a){if(s.sessionId!==a.sessionId)return!1;const f=s.answer.answers;return f.length!==a.questions.length?!1:f.every((g,h)=>{const S=a.questions[h];if(g.id!==S.id||new Set(g.selected).size!==g.selected.length)return!1;const k=g.custom?.trim();if(k!==void 0&&k===""||S.multiSelect!==!0&&(k!==void 0&&g.selected.length>0||g.selected.length>1))return!1;const w=new Set(S.options?.map(P=>P.label)??[]);return g.selected.every(P=>w.has(P))})}u(yt,"matchesQuestions");function Ke(s,a,f,g){try{if(a.type==="tool/call"){const{name:h,arguments:S}=a.data,k=s.tools.get(h,g)?.presentCall?.(JSON.parse(S));return k===void 0?void 0:{for:"call",view:k}}if(a.type==="tool/result"){const{message:h,meta:S}=a.data,[k]=h.content,w=h.source.callId,P=f(w);if(P===void 0)return;const N=s.tools.get(P.name,g)?.presentResult?.(P.args,{content:k.content,isError:k.isError===!0,...S===void 0?{}:{meta:S}});return N===void 0?void 0:{for:"result",view:N}}}catch(h){console.error(`api-proxy: presenter failed for ${a.type}, falling back to generic: ${String(h)}`)}}u(Ke,"viewFor");function Ye(s,a){for(let f=s.length-1;f>=0;f--){const g=s[f];if(g.type!=="tool/call")continue;const h=g.data;if(h.callId===a)try{return{name:h.name,args:JSON.parse(h.arguments)}}catch{return}}}u(Ye,"backscanArgs");function Xe(s,a,f,g,h){const S=mt(a,f,g??dt);return{events:S.events.map(k=>{const w=Ke(s,k,P=>Ye(S.events,P),h);return{event:k,...w===void 0?{}:{view:w}}}),hasMore:S.hasMore}}u(Xe,"historyPage");function xe(s,a){const f=s.get("sessionProjections");if(f!==void 0)return f.snapshot(a)}u(xe,"projectionsFor");function qe(s,a,f){try{const g=f!==void 0?s.get("sessionProjections")?.snapshot(f):s.get("sessionProjectionCache")?.cachedSnapshot(a);return g!==void 0&&Object.keys(g.values).length>0?g:void 0}catch(g){s.logger.warn(`session.list: projection column for "${a.id}" failed (serving the row without it): ${String(g)}`);return}}u(qe,"listProjectionsFor");function en(s,a){const f=s.get("sessionProjections");if(f!==void 0)return f.restore({},a,0).snapshot}u(en,"detachedProjectionsFor");function nn(s,a,f){try{return f()}catch(g){s.logger.warn(`subagent.history: projections for "${a}" failed (serving the page without them): ${String(g)}`);return}}u(nn,"subagentHistoryProjections");function vt(s,a,f){const g=s.payload.childSessionId;if(f.aborted)return c(s,{code:"cancelled",message:"subagent prompt was cancelled",details:{}});if(a instanceof B)switch(a.code){case"NOT_RESUMABLE":return c(s,{code:"subagent-not-resumable",message:"subagent cannot be resumed",details:{childSessionId:g}});case"UNAUTHORIZED":return c(s,{code:"subagent-unauthorized",message:"subagent does not belong to this parent",details:{childSessionId:g}});case"DRAINING":case"ACTIVATION_CLOSING":case"CONTINUATION_UNAVAILABLE":case"PERSISTENCE_UNAVAILABLE":return c(s,{code:"subagent-delivery-unavailable",message:"subagent follow-up is temporarily unavailable",details:{childSessionId:g}});default:break}return c(s,{code:"internal",message:"subagent prompt failed",details:{}})}u(vt,"subagentPromptError");function tn(){return{code:"internal",message:"subagent catalog is unavailable: this deployment does not mount the sessionProjections registry (load @deepseek-ai/dsh-session-projection)",details:{}}}u(tn,"projectionsUnavailableError");async function sn(s,a,f){const{parentSessionId:g,childSessionId:h,mode:S}=a;try{const w=(await s.subagents.listChildren(g,f)).find(P=>P.id===h);return w===void 0||w.kind==="child"&&w.mode!==S?{error:{code:"subagent-not-found",message:`session "${h}" is not a ${S} direct child of "${g}"`,details:{parentSessionId:g,childSessionId:h}}}:w.kind==="diagnostic"?{error:{code:"subagent-catalog-diagnostic",message:`subagent "${h}" is ${w.reason}`,details:{parentSessionId:g,childSessionId:h,reason:w.reason}}}:{entry:w}}catch(k){return f?.aborted||k instanceof B&&k.code==="CANCELLED"?{error:{code:"cancelled",message:"subagent catalog read was cancelled",details:{}}}:k instanceof B&&k.code==="SUBAGENT_CONTROL_PROJECTIONS_UNAVAILABLE"?{error:tn()}:{error:{code:"internal",message:"subagent catalog read failed",details:{}}}}}u(sn,"catalogChild");function se(s){return{code:"agent-preset-not-found",message:"this deployment composes no agent presets",details:{agentPreset:s,available:[]}}}u(se,"noRoster");function re(s,a){return a instanceof Oe?{code:"agent-preset-not-found",message:a.message,details:{agentPreset:a.presetId,available:[...a.available]}}:a instanceof Ce?{code:"agent-preset-read-only",message:a.message,details:{agentPreset:s,reason:a.message}}:a instanceof Ln||a instanceof _n?{code:"agent-preset-invalid",message:a.message,details:{agentPreset:s,reason:a.message}}:{code:"internal",message:`agent preset "${s}": ${String(a)}`,details:{}}}u(re,"presetError");class rn extends Error{static{u(this,"AgentPresetConflict")}sessionId;requestedPreset;existingPreset;constructor(a,f,g){super(g===void 0?`session "${a}" records no agent preset, so it cannot be adopted under one; a deployment composing no roster records none on any session — `:`session "${a}" already runs agent preset ${JSON.stringify(g)}; requested ${JSON.stringify(f)}. A session's preset is fixed at creation.`),this.sessionId=a,this.requestedPreset=f,this.existingPreset=g}}class he extends Error{static{u(this,"SessionCwdConflict")}sessionId;requestedCwd;existingCwd;constructor(a,f,g){super(`session "${a}" already exists with cwd ${JSON.stringify(g)}; requested ${JSON.stringify(f)}`),this.sessionId=a,this.requestedCwd=f,this.existingCwd=g}}class on extends Error{static{u(this,"WorkspaceNameConflictError")}workspaceName;constructor(a){super(`workspace name '${a}' is already in use`),this.workspaceName=a,this.name="WorkspaceNameConflictError"}}function oe(s,a){return c(s,{code:"workspace-not-found",message:`workspace "${a}" not found`,details:{workspaceId:a}})}u(oe,"workspaceNotFound");function Y(s){return{workspaceId:s.id,path:s.path,title:s.title,sessionIds:[...s.sessionIds],createdAt:s.createdAt,updatedAt:s.updatedAt}}u(Y,"workspaceView");function bt(s,a){const f=Rn.parse(a);return{workspaceId:s,path:f.path,title:f.title,sessionIds:[...f.sessionIds],createdAt:f.createdAt,updatedAt:f.updatedAt}}u(bt,"changedWorkspaceView");export function createApiProxy(s,a){const f=a.sessionExportCompressionLevel??Un,g=a.coldBlankProbeMaxBytes??DEFAULT_COLD_BLANK_PROBE_MAX_BYTES,h=u(()=>{const{provider:e,model:t}=a.defaultModelSelection();return{provider:e,model:t}},"agentOptions"),S=new WeakMap,k=new Map,w=new Map;let P=Promise.resolve();const N=new Map,M=new Map,R=new Map,j=new Set,we=new WeakMap;function ye(e,t){const n=(we.get(e)??Promise.resolve()).then(t);return we.set(e,n.then(()=>{},()=>{})),n}u(ye,"serializeImageAdmission");function z(e){const t=S.get(e);if(t!==void 0)return t;let n;const r={get current(){if(n!==void 0)return n;const o=e.session.requestHeader()?.config;return o===void 0?a.defaultModelSelection():{provider:o.provider,model:o.model,...o.reasoningEffort===void 0?{}:{reasoningEffort:o.reasoningEffort}}},set current(o){n=o},assembled:void 0};return In(e.ctx,r),S.set(e,r),r}u(z,"selectionFor");function ve(e){const t=e.agent;if(t===void 0)throw new Error("api-proxy: agent setup has no scoped agent");z(t)}u(ve,"installSelection");function be(e,t,n){if(!(t===void 0||t===n))throw new rn(e,t,n)}u(be,"assertPresetUnchanged");async function X(e){const t=s.get("agentPresets");if(t===void 0)return{setup:u(r=>(ve(r),Promise.resolve()),"setup")};const n=(await t.resolve(e)).id;return{agentPreset:n,setup:u(async r=>{ve(r),await t.mount(r,n)},"setup")}}u(X,"composeAgent");const O=u((e,t)=>st(s,e,t),"hasSubagentOwner"),ie=u(e=>nt(e),"subagentOwnershipError"),ae=u(e=>rt(s,e),"inspectServable"),L=tt(s,{agentOptions:h,setup:u(async({meta:e,events:t})=>(await X(_({header:e,events:t}))).setup,"setup")});function Q(e){const t=A(e);for(const n of j)n.push(t)}u(Q,"broadcast"),s.inject(["sessionProjections"],e=>{e.sessionProjections.onChanged((t,n,r,o)=>{Q({type:"session/projection",sessionId:t.id,key:n,value:r,seq:o})})}),s.inject(["sessionProjections"],e=>{e.sessionProjections.register({key:"sessionListMetadata",schema:Yn,init:u(()=>({blank:!0,lastPromptAt:null}),"init"),apply:Qe,view:u(t=>t,"view"),stateVersion:1})}),s.inject(["sessionProjections","attachments"],e=>{e.sessionProjections.register({key:"imageLimits",schema:Kn,init:u(()=>null,"init"),apply:u(t=>t,"apply"),view:u(()=>e.attachments.imageLimits,"view"),stateVersion:1})});const Ie=u((e,t)=>{const n=u(r=>{const o=r==="next-turn"?e.inbox.nextTurn:e.inbox.nextStep;return t?.target===r?o.toSpliced(t.start,t.removedCount??0,...t.inserted):o},"project");return[...n("next-turn").map(r=>({id:r.id,placement:"queued",message:r})),...n("next-step").map(r=>({id:r.id,placement:r.source.kind==="user"?"steering":"context",message:r}))]},"queueItems");s.on("session/event",(e,t)=>{if(t.type!=="agent/inbox/spliced")return;const n=s.agents.get(e.id);n?.session===e&&Q({type:"session/queue",sessionId:e.id,items:Ie(n,t.data)})});function x(e,t){N.delete(e.rpcId),e.signal!==void 0&&e.onAbort!==void 0&&e.signal.removeEventListener("abort",e.onAbort),Q({type:"question/resolved",sessionId:e.sessionId,questionRpcId:e.rpcId,outcome:t})}u(x,"claimQuestion");const an=s.userQuestions.registerProvider({ask(e){const t=e.agent?.id;return t===void 0?Promise.reject(new ee("web user interaction requires an agent-owned session","ASK_MISSING_AGENT")):new Promise((n,r)=>{const o=q(D()),d={rpcId:o,sessionId:t,questions:e.questions,resolve:n,reject:r,...e.signal===void 0?{}:{signal:e.signal}},i=u(()=>{x(d,"cancelled"),r(new ee("ask_user_question was aborted before the user answered","ASK_ABORTED"))},"onAbort");d.onAbort=i,N.set(o,d),e.signal?.addEventListener("abort",i,{once:!0});const l={rpcId:o,payload:{type:"question/requested",sessionId:t,questions:e.questions}};for(const p of j)p.push(l)})}});s.effect(()=>()=>{an();for(const e of[...N.values()])x(e,"cancelled"),e.reject(new ee("web user-questions provider was disposed","ASK_ABORTED"))},"api-proxy: user-questions provider");function U(e,t){M.delete(e.rpcId),e.signal!==void 0&&e.onAbort!==void 0&&e.signal.removeEventListener("abort",e.onAbort),e.timer!==void 0&&clearTimeout(e.timer),Q({type:"browser-jsapi/resolved",sessionId:e.sessionId,jsapiRpcId:e.rpcId,outcome:t})}u(U,"claimBrowserJsapi"),s.inject(["browserJsapi"],e=>{const t=e.browserJsapi.registerProvider({call(n,r,o){return new Promise((d,i)=>{const l=q(D()),p={rpcId:l,sessionId:r,method:n.method,params:n.params,resolve:d,reject:i,signal:o},m=u(()=>{U(p,"error"),i(new H(`browser-jsapi call '${n.method}' was aborted before the browser answered`,"ABORTED"))},"onAbort");p.onAbort=m,p.timer=setTimeout(()=>{U(p,"error"),i(new H(`browser-jsapi call '${n.method}' timed out after ${String(n.timeoutMs)}ms`,"TIMEOUT"))},n.timeoutMs),M.set(l,p),o.addEventListener("abort",m,{once:!0});const b={rpcId:l,payload:{type:"browser-jsapi/requested",sessionId:r,method:n.method,params:n.params}};for(const y of j)y.push(b)})}});e.effect(()=>()=>{t();for(const n of[...M.values()])U(n,"error"),n.reject(new H("web browser-jsapi provider was disposed","UNAVAILABLE"))},"api-proxy: browser-jsapi provider")}),s.get("approval")!==void 0&&(s.effect(()=>()=>{for(const e of[...R.values()])e.resolve("cancelled")},"api-proxy: approval registry teardown"),s.on("approval/request",(e,t)=>{if(e.signal?.aborted===!0)return Promise.resolve("cancelled");const n=e.agent.session.events,r=new Set;for(const l of R.values())r.add(l.approvalId);const o=new Set;let d;for(let l=n.length-1;l>=0;l-=1){const p=n[l];if(p.type==="approval/decided")o.add(p.data.id);else if(p.type==="approval/asked"){if(o.has(p.data.id)||r.has(p.data.id)||(e.callId??null)!==(p.data.callId??null))continue;d=p.data.id;break}}if(d===void 0)return t();const i=d;return new Promise(l=>{const p=u(v=>{R.delete(b.rpcId)&&(e.signal?.removeEventListener("abort",m),Q({type:"approval/resolved",sessionId:b.sessionId,approvalId:i,outcome:v}),l(v))},"settle"),m=u(()=>{p("cancelled")},"onAbort"),b={rpcId:q(D()),sessionId:e.agent.session.id,approvalId:i,toolName:e.toolName,...e.callId===void 0?{}:{callId:e.callId},...e.reason===void 0?{}:{reason:e.reason},resolve:p};R.set(b.rpcId,b),e.signal?.addEventListener("abort",m,{once:!0});const y=He(b);for(const v of j)v.push(y)})}));async function ke(e){const t=s.sessions.get(e);if(t!==void 0)return{id:t.id,header:t.header,events:[...t.events]};const n=await ae(e);return{id:n.meta.id,header:n.meta,events:n.events}}u(ke,"readSessionState");async function dn(e){const t=s.workspaceRegistry.list(),n=t.find(o=>o.sessionIds.includes(e.id));if(n!==void 0||e.header.origin!=="subagent")return n;const r=await s.sessionQuery.traceSession(e.id);for(const o of r.ancestors){const d=t.find(i=>i.sessionIds.includes(o.header.id));if(d!==void 0)return d}}u(dn,"forkWorkspace");async function cn(e){const t=s.sessions.get(e);if(t!==void 0)return{kind:"attached",session:t};const n=await ae(e);return{kind:"detached",header:n.meta,events:n.events}}u(cn,"historySourceFor");function ln(e){return e.kind==="detached"?{header:e.header,events:e.events}:{header:e.session.header,events:e.session.events}}u(ln,"sourceSession");function un(e,t){if(e.kind==="detached"){const o=t?en(s,e.events):void 0;return{events:e.events,...o===void 0?{}:{projections:o}}}const n=[...e.session.events],r=t?xe(s,e.session):void 0;return{events:n,...r===void 0?{}:{projections:r}}}u(un,"historyCutOf");async function Se(e,t){const n=s.get("agents")?.get(e);if(n!==void 0)return n;const r=s.get("agentPresets");if(r!==void 0)try{return await r.standingKeyFor(_(t))}catch{return}}u(Se,"presenterScopeFor");async function fn(e,t,n,r){let o=w.get(e);o===void 0&&(o=(async()=>{const i=s.sessions.get(e),l=s.agents.get(e);if(i!==void 0&&O(i,l))throw new Z(e);if(l!==void 0)return l;const p=n?s.get("sessionPersistence"):void 0,m=p===void 0?void 0:(await p.list()).find(y=>y.id===e);if(p!==void 0&&m!==void 0){const y=await p.inspect(e);if(O({header:y.meta},void 0))throw new Z(e);if(y.meta.cwd!==t)throw new he(e,t,y.meta.cwd);const v=_({header:y.meta,events:y.events});return be(e,r,v),(await s.agents.resume({resumeSessionId:e,agentOptions:h(),setup:(await X(v)).setup})).agent}try{await yn(t,{recursive:!0})}catch(y){throw new Error(`failed to ensure project directory "${t}": ${String(y)}`,{cause:y})}const b=await X(r);return(await s.agents.create({sessionId:e,agentOptions:h(),meta:{cwd:t,...b.agentPreset===void 0?{}:{agentPreset:b.agentPreset}},setup:b.setup})).agent})().catch(i=>{const l=s.agents.get(e);if(l!==void 0){if(O(l.session,l))throw new Z(e);return l}const p=s.sessions.get(e);throw p!==void 0&&O(p,void 0)?new Z(e):i}).finally(()=>{w.delete(e)}),w.set(e,o));const d=await o;if(O(d.session,d))throw new Z(e);if(be(e,r,_(d.session)),d.session.header.cwd!==t)throw new he(e,t,d.session.header.cwd);return d}u(fn,"ensureSession");function pn(e){const t=P.then(async()=>{const n=await s.workspaceRegistry.resolveByPath(e);return n!==void 0?{workspace:n,created:!1}:{workspace:await s.workspaceRegistry.create(e),created:!0}});return P=t.then(()=>{},()=>{}),t}u(pn,"ensureWorkspace");async function Pe(e){e?.throwIfAborted();const t=u(d=>{const i=s.agents.get(d.id),l=qe(s,d.header,d);return{...gt(d,i?.status==="running"),...l===void 0?{}:{projections:l}}},"summarizeAttached"),n=s.sessions.list().map(t);e?.throwIfAborted();const r=new Set(n.map(d=>d.sessionId)),o=s.get("sessionPersistence");if(o!==void 0){const d=(await o.list(e)).filter(i=>!r.has(i.id)&&i.cwd!==void 0);e?.throwIfAborted();for(let i=0;i<d.length;i+=_e){e?.throwIfAborted();const l=d.slice(i,i+_e),p=await Promise.allSettled(l.map(async v=>{const E=qe(s,v,void 0),T=await wt(s,o,v,E?.values.sessionListMetadata,g,e),W=s.sessions.get(v.id);return W!==void 0?t(W):{...T,...E===void 0?{}:{projections:E}}})),m=[];let b=!1,y;for(const v of p)v.status==="fulfilled"?m.push(v.value):b||(b=!0,y=v.reason);if(b)throw y;e?.throwIfAborted(),n.push(...m)}}return n.sort((d,i)=>i.updatedAt-d.updatedAt),n}u(Pe,"listVisibleSessionSummaries");function Ee(e){const n=s.get("agentPresets")?.serviceFor(e,"goals")??s.get("goals");return n===void 0?{error:{code:"internal",message:"goal service is absent: neither this session's agent preset nor the host composition mounts @deepseek-ai/dsh-goal",details:{}}}:n}u(Ee,"goalServiceFor");function Ae(e,t){const n=t instanceof Qn?{goalCode:t.code}:{};return c(e,{code:"internal",message:String(t),details:n})}u(Ae,"goalError");async function V(e,t){const n=await L(e.payload.sessionId);if("error"in n)return c(e,n.error);const r=Ee(n.agent);if("error"in r)return c(e,r.error);try{const o=t(r,n.agent);return I(e,{ref:{id:o.id,revision:o.revision}})}catch(o){return Ae(e,o)}}u(V,"mutateGoal");function Ne(e){const t=s.get("llm");return t===void 0||t.listProviders().some(n=>n.id===e)}u(Ne,"routeServed");async function mn(e,t){const n=await L(t);if("error"in n)return{refused:c(e,n.error)};const r=n.agent,o=z(r).current;return Ne(o.provider)?{agent:r}:{refused:c(e,{code:"model-unavailable",message:`no adapter serves provider "${o.provider}"; select a model for this session`,details:{provider:o.provider,model:o.model}})}}u(mn,"turnAgentFor");function de(){return{code:"internal",message:"settings service is absent: this deployment does not mount a settings provider (e.g. @deepseek-ai/dsh-settings-file) in its composition",details:{}}}u(de,"settingsAbsent");async function $e(e,t,n,r){try{return await r(t,n),I(e,{opened:!0})}catch(o){return n.aborted?c(e,{code:"cancelled",message:"path open was aborted",details:{}}):c(e,{code:"internal",message:`path open failed: ${o instanceof Error?o.message:String(o)}`,details:{}})}}u($e,"openTarget");function Me(e,t,n){const r=a.openPath??((o,d)=>it(o,d));return $e(e,t,n,r)}u(Me,"openPath");function gn(e,t,n){const r=a.openTextFile??((o,d)=>at(o,d));return $e(e,t,n,r)}u(gn,"openTextFile");function ce(){return a.canOpenPath!==void 0?a.canOpenPath():a.openPath!==void 0||ot()}u(ce,"canOpenPaths");function le(){return{code:"internal",message:"credentials service is absent: this deployment does not mount a credential provider (e.g. @deepseek-ai/dsh-credentials-local) in its composition",details:{}}}u(le,"credentialsAbsent");function Re(e){return{ns:String(e.ns),schema:e.schema,value:e.value,...e.base===void 0?{}:{base:e.base},...e.user===void 0?{}:{user:e.user},applies:e.applies,secrets:(e.secrets??[]).map(t=>({path:[...t.path],set:t.set})),revision:e.revision}}u(Re,"namespaceView");async function ue(e,t,n,r,o){const d=s.get("settings");if(d===void 0)return c(e,de());const i=u(m=>m instanceof Vn?c(e,{code:"settings-conflict",message:m.message,details:{ns:t,expected:m.expected,actual:m.actual}}):c(e,{code:"settings-rejected",message:m instanceof Error?m.message:String(m),details:{ns:t}}),"rejected");let l;try{l=Wn(t)}catch(m){return i(m)}try{n==="update"?await d.update(l,r,o):n==="replace"?await d.replace(l,r,o):await d.mutate(l,r,o)}catch(m){return i(m)}const p=d.describe({redactSecrets:!0}).find(m=>m.ns===l);return p===void 0?c(e,{code:"internal",message:`settings namespace "${t}" was disposed after the ${n}`,details:{}}):I(e,Re(p))}return u(ue,"settingsWrite"),{sessions:{async list(e){return I(e,{items:await Pe()})},async search(e,t){const n=u(()=>c(e,{code:"cancelled",message:"session search was aborted",details:{}}),"cancelled");if(C(t))return n();const r=s.get("sessionQuery");if(r===void 0)return c(e,{code:"internal",message:"session search is unavailable: this deployment does not mount @deepseek-ai/dsh-session-query",details:{}});try{const o=await Pe(t);if(C(t))return n();if(o.length===0)return I(e,{items:[],hasMore:!1});const d=new Set(o.map(v=>v.sessionId)),i=[],l=new Set,p=new Set;let m,b=0,y=J;for(;i.length<=J;){if(C(t))return n();if(b>=Le)throw new Error(`session search provider exceeded the ${Le}-call work budget`);b++;const v=m,E=y;let T;try{T=await r.searchSessions({query:e.payload.query,eventFilters:[{kind:"type",values:["user/message","assistant/message"]},{kind:"surface",values:["current"]}],limit:E,...v===void 0?{}:{cursor:v}},{signal:t})}catch($){if(C(t))return n();if(v===void 0&&$ instanceof pe&&$.code==="SESSION_QUERY_INVALID_LIMIT"&&E>1){y=Math.max(1,Math.floor(E/2));continue}if(v!==void 0&&$ instanceof pe&&$.code==="SESSION_QUERY_STALE_CURSOR"){i.length=0,l.clear(),p.clear(),m=void 0;continue}throw $}if(C(t))return n();const W=T.items.length;if(W>E)throw new Error(`session search provider returned ${W} items; maximum is ${E}`);for(const $ of T.items){if(i.length>J||!d.has($.header.id)||$.bestMatch.sessionId!==$.header.id||$.bestMatch.surface!=="current"||!je.has($.bestMatch.type)||l.has($.header.id))continue;const hn=zn($.bestMatch.snippet,Zn);l.add($.header.id),i.push({sessionId:$.header.id,snippet:hn})}const G=T.nextCursor;if(G!==void 0){if(p.has(G))throw new Error("session search provider repeated a continuation cursor");p.add(G)}if(i.length>J||G===void 0)break;m=G}return I(e,{items:i.slice(0,J),hasMore:i.length>J})}catch(o){return C(t)||o instanceof pe&&o.code==="SESSION_QUERY_ABORTED"?n():c(e,{code:"internal",message:`session search failed: ${String(o)}`,details:{}})}},async create(e){const t=e.payload.sessionId??`session-${D()}`;let n;if(e.payload.workspaceId!==void 0&&(n=s.workspaceRegistry.get(F(e.payload.workspaceId)),n===void 0))return c(e,{code:"workspace-not-found",message:`workspace "${e.payload.workspaceId}" not found`,details:{workspaceId:e.payload.workspaceId}});const r=n?.path??e.payload.cwd??a.cwd,o=e.payload.agentPreset;try{await fn(t,r,e.payload.sessionId!==void 0,o)}catch(l){if(l instanceof rn)return c(e,{code:"agent-preset-conflict",message:l.message,details:{sessionId:l.sessionId,requestedPreset:l.requestedPreset,...l.existingPreset===void 0?{}:{existingPreset:l.existingPreset}}});const p=Fe(e,l);return p!==void 0?p:l instanceof he?c(e,{code:"session-conflict",message:l.message,details:{sessionId:l.sessionId,requestedCwd:l.requestedCwd,...l.existingCwd===void 0?{}:{existingCwd:l.existingCwd}}}):l instanceof Z?c(e,ie(l.sessionId)):c(e,{code:"internal",message:`failed to create session "${t}": ${String(l)}`,details:{}})}if(n!==void 0)try{await n.attachSession(t)}catch(l){return c(e,{code:"workspace-attach-failed",message:`session "${t}" was created but could not attach to workspace "${n.id}": ${String(l)}`,details:{sessionId:t,workspaceId:n.id}})}const d=s.agents.get(t),i=d===void 0?void 0:_(d.session);return I(e,{sessionId:t,...i===void 0?{}:{agentPreset:i}})},async history(e){const{sessionId:t,beforeSeq:n,maxMessages:r}=e.payload;try{const o=await cn(t),d=await Se(t,ln(o)),i=un(o,n===void 0),l=Xe(s,i.events,n,r,d);return I(e,{events:l.events,hasMore:l.hasMore,...i.projections===void 0?{}:{projections:i.projections}})}catch(o){return o instanceof ne?c(e,{code:"session-not-found",message:o.message,details:{sessionId:t}}):c(e,{code:"internal",message:`history unavailable for session "${t}": ${String(o)}`,details:{}})}},async models(e){const{sessionId:t}=e.payload,n=await L(t);if("error"in n)return c(e,n.error);const r=z(n.agent).current,{groups:o,failures:d}=await Be(s),i=Ne(r.provider);return I(e,{current:{...r},routable:i,groups:o,failures:d})},async selectModel(e){const{sessionId:t,provider:n,model:r,reasoningEffort:o}=e.payload,d=await L(t);return"error"in d?c(e,d.error):ye(d.agent,async()=>{try{const i=await s.llm.resolveCallConfig({provider:n,model:r,...o===void 0?{}:{reasoningEffort:Pn(o)}});if([...d.agent.inbox.nextTurn,...d.agent.inbox.nextStep].some(m=>Te(m.content))||ft(d.agent.session.deriveMessages())){const m=await s.llm.resolveModelInfo(i.provider,i.model);if(m.inputModalities!==void 0&&!m.inputModalities.includes("image"))return c(e,{code:"model-unavailable",message:`Model "${i.model}" does not accept image input, but this session already contains images; select an image-capable model.`,details:{provider:n,model:r}})}const p={provider:i.provider,model:i.model,...i.reasoningEffort===void 0?{}:{reasoningEffort:i.reasoningEffort}};z(d.agent).current=p;try{await a.saveDefaultModelSelection?.(p)}catch(m){s.logger.warn(`api-proxy: the model switch applies to this session but was not saved as the default: ${String(m)}`)}return I(e,{selected:{...p}})}catch(i){return c(e,{code:"model-unavailable",message:i instanceof Error?i.message:String(i),details:{provider:n,model:r}})}})},async rename(e){const{sessionId:t,title:n}=e.payload,r=await L(t);if("error"in r)return c(e,r.error);const o=s.get("sessionTitle");if(o===void 0)return c(e,{code:"internal",message:"renaming is unavailable: this deployment mounts no session-title service",details:{}});try{const d=o.rename(r.agent.session,n);return I(e,{title:d.title,seq:d.eventSeq})}catch(d){return d instanceof Gn?c(e,{code:"title-invalid",message:d.message,details:{sessionId:t}}):c(e,{code:"internal",message:`failed to rename session "${t}": ${String(d)}`,details:{}})}},async fork(e){const{sessionId:t,atSeq:n}=e.payload;let r;try{r=await ke(t)}catch(v){return v instanceof ne?c(e,{code:"session-not-found",message:v.message,details:{sessionId:t}}):c(e,{code:"internal",message:`fork source unavailable for session "${t}": ${String(v)}`,details:{}})}const o=r.events,d=o.at(-1)?.seq??-1,l=(n===void 0?void 0:o.find(v=>v.type==="turn/end"&&v.seq>=n))??(n===void 0||n>d?o.findLast(v=>v.type==="turn/end"):void 0);if(l===void 0)return c(e,{code:"fork-unavailable",message:n!==void 0&&n<=d?`session "${t}" has not completed the turn containing event ${String(n)}`:`session "${t}" has no completed turn to fork from`,details:{sessionId:t}});let p=l.seq+1;for(;p<o.length&&o[p]?.type!=="turn/start";)p++;let m;try{m=await dn(r)}catch(v){return c(e,{code:"internal",message:`failed to resolve fork workspace for session "${t}": ${String(v)}`,details:{}})}const b=`session-${D()}`,y=await X(_(r));try{await s.agents.create({sessionId:b,seed:o.slice(0,p),meta:{...r.header.cwd===void 0?{}:{cwd:r.header.cwd},parentSession:r.id,seedLength:p,...y.agentPreset===void 0?{}:{agentPreset:y.agentPreset}},agentOptions:h(),setup:y.setup})}catch(v){return c(e,{code:"internal",message:`failed to fork session "${t}": ${String(v)}`,details:{}})}if(m!==void 0)try{await m.attachSession(b)}catch(v){return c(e,{code:"workspace-attach-failed",message:`session "${b}" was forked but could not attach to workspace "${m.id}": ${String(v)}`,details:{sessionId:b,workspaceId:m.id}})}return I(e,{sessionId:b})},async prompt(e){const{sessionId:t,mode:n,content:r,clientTimeZone:o}=e.payload,d=o===void 0?void 0:De(o);if(o!==void 0&&d===void 0)return c(e,{code:"invalid-time-zone",message:"clientTimeZone must be UTC or a valid IANA Area/Location name",details:{value:o}});const i=await mn(e,t);if("refused"in i)return i.refused;const l=i.agent,p={kind:"user",rpcId:e.rpcId,...d===void 0?{}:{clientTimeZone:d}},m=r.some(y=>y.type==="image"),b=u(async()=>{try{if(m){const E=z(l).current,T=await s.llm.resolveModelInfo(E.provider,E.model);if(T.inputModalities!==void 0&&!T.inputModalities.includes("image"))return c(e,{code:"attachment-error",message:`Model "${E.model}" does not support image input.`,details:{reason:"MODEL_DOES_NOT_SUPPORT_IMAGES"}})}const y=await lt(s,r),v=kn({content:y,source:p});n==="steer"?l.steer(v):l.followup(v)}catch(y){return y instanceof fe?c(e,{code:"attachment-error",message:y.message,details:{reason:y.code}}):c(e,{code:"agent-busy",message:"prompt rejected",details:{reason:String(y)}})}return I(e,{accepted:!0})},"admit");return m?ye(l,b):b()},async attachment(e){const{sessionId:t,attachmentId:n}=e.payload;let r;try{r=await ke(t)}catch(d){return d instanceof ne?c(e,{code:"session-not-found",message:d.message,details:{sessionId:t}}):c(e,{code:"internal",message:`attachment authorization unavailable for session "${t}": ${String(d)}`,details:{}})}const o=pt(r.events,String(n));if(o===void 0)return c(e,{code:"attachment-error",message:"Image is not referenced by this session.",details:{reason:"ATTACHMENT_NOT_REFERENCED"}});try{const d=await s.attachments.readImage(o);return I(e,{attachment:d.ref,data:Buffer.from(d.data).toString("base64")})}catch(d){return d instanceof fe?c(e,{code:"attachment-error",message:d.message,details:{reason:d.code}}):c(e,{code:"internal",message:"Unable to read image attachment.",details:{}})}},updateQueue(e){const{sessionId:t,itemId:n,action:r}=e.payload;if(r.kind==="edit"&&r.content.some(l=>l.type!=="text"))return Promise.resolve(c(e,{code:"attachment-error",message:"queue edits accept text content only",details:{reason:"QUEUE_EDIT_NON_TEXT"}}));const o=s.agents.get(t);if(o!==void 0&&O(o.session,o))return Promise.resolve(c(e,ie(t)));if(o===void 0)return Promise.resolve(c(e,{code:"queue-item-not-found",message:"queued item is no longer pending",details:{itemId:n}}));const d=o.inbox.nextTurn.some(l=>l.id===n)?"next-turn":o.inbox.nextStep.some(l=>l.id===n)?"next-step":void 0,i=d===void 0?void 0:(d==="next-turn"?o.inbox.nextTurn:o.inbox.nextStep).find(l=>l.id===n);return d===void 0||i===void 0?Promise.resolve(c(e,{code:"queue-item-not-found",message:"queued item is no longer pending",details:{itemId:n}})):r.kind==="steer"&&(d!=="next-turn"||o.status!=="running")?Promise.resolve(c(e,{code:"steer-unavailable",message:"current turn no longer accepts steering",details:{itemId:n}})):(r.kind==="edit"?o.inbox.replace(n,Sn({...i,content:r.content})):(o.inbox.remove(n),r.kind==="steer"&&o.steer(i)),Promise.resolve(I(e,{accepted:!0})))},cancel(e){const{sessionId:t}=e.payload,n=s.agents.get(t);return n===void 0?Promise.resolve(c(e,{code:"session-not-found",message:`session "${t}" not found (not attached)`,details:{sessionId:t}})):O(n.session,n)?Promise.resolve(c(e,ie(t))):(n.cancel({kind:"user"},{keepInbox:!0}),Promise.resolve(I(e,{accepted:!0})))}},subagents:{async list(e,t){try{const n=await s.subagents.listChildren(e.payload.parentSessionId,t);return I(e,{entries:n.map(r=>r.kind==="child"?{...r,activity:s.agents.get(r.id)?.status==="running"?"running":"inactive"}:r),parentAvailable:s.agents.get(e.payload.parentSessionId)!==void 0})}catch(n){return t?.aborted||n instanceof B&&n.code==="CANCELLED"?c(e,{code:"cancelled",message:"subagent catalog read was cancelled",details:{}}):n instanceof B&&n.code==="SUBAGENT_CONTROL_PROJECTIONS_UNAVAILABLE"?c(e,tn()):c(e,{code:"internal",message:"subagent catalog read failed",details:{}})}},async history(e,t){const{parentSessionId:n,childSessionId:r,mode:o,beforeSeq:d,maxMessages:i}=e.payload,l=await sn(s,{parentSessionId:n,childSessionId:r,mode:o},t);if(l.error!==void 0)return c(e,l.error);let p,m,b;const y=s.sessions.get(r);if(y!==void 0)p=y.header,m=[...y.events],b=d===void 0?nn(s,r,()=>xe(s,y)):void 0;else try{const E=await ae(r);p=E.meta,m=E.events,b=d===void 0?nn(s,r,()=>en(s,E.events)):void 0}catch(E){return t?.aborted?c(e,{code:"cancelled",message:"subagent history read was cancelled",details:{}}):E instanceof ne?c(e,{code:"subagent-not-found",message:"subagent disappeared during history read",details:{parentSessionId:n,childSessionId:r}}):c(e,{code:"internal",message:"subagent history read failed",details:{}})}if(t?.aborted)return c(e,{code:"cancelled",message:"subagent history read was cancelled",details:{}});if(p.parentSession!==n)return c(e,{code:"subagent-unauthorized",message:"subagent parent changed during history read",details:{childSessionId:r}});const v=Xe(s,m,d,i);return I(e,{...v,...b===void 0?{}:{projections:b}})},async prompt(e,t){const{parentSessionId:n,childSessionId:r,content:o,clientTimeZone:d}=e.payload,i=d===void 0?void 0:De(d);if(d!==void 0&&i===void 0)return c(e,{code:"invalid-time-zone",message:"clientTimeZone must be UTC or a valid IANA Area/Location name",details:{value:d}});const l=s.agents.get(n);if(l===void 0)return c(e,{code:"subagent-parent-unavailable",message:`parent session "${n}" is not live`,details:{parentSessionId:n}});const p=await sn(s,{parentSessionId:n,childSessionId:r,mode:"continuable"},t);if(p.error!==void 0)return c(e,p.error);try{const m=await s.subagents.followup(l,r,o,{source:{kind:"user",rpcId:e.rpcId,...i===void 0?{}:{clientTimeZone:i}},signal:t});return I(e,{messageId:m})}catch(m){return vt(e,m,t)}},interrupt(e){const{parentSessionId:t,childSessionId:n}=e.payload;try{s.subagents.interrupt(n,{kind:"user",parentSessionId:t})}catch(r){return r instanceof B&&r.code==="UNAUTHORIZED"?Promise.resolve(c(e,{code:"subagent-unauthorized",message:"subagent does not belong to this parent",details:{childSessionId:n}})):Promise.resolve(c(e,{code:"internal",message:"subagent interrupt failed",details:{}}))}return Promise.resolve(I(e,{accepted:!0}))}},workspace:{list(e){return Promise.resolve(I(e,{items:s.workspaceRegistry.list().map(Y),archivedSessionIds:[...s.workspaceRegistry.archivedSessionIds]}))},async create(e){const{path:t}=e.payload;try{const{workspace:n,created:r}=await pn(t);return I(e,{workspace:Y(n),created:r})}catch(n){return c(e,{code:"workspace-invalid-path",message:`cannot create a workspace at "${t}": ${n instanceof Error?n.message:String(n)}`,details:{path:t}})}},async rename(e){const{payload:t}=e,n=s.workspaceRegistry.get(F(t.workspaceId));if(n===void 0)return oe(e,t.workspaceId);const r=t.title.trim(),o=P.then(async()=>{if(r!==n.title){if(s.workspaceRegistry.list().some(d=>d.id!==n.id&&d.title===r))throw new on(r);await n.setTitle(r)}});P=o.then(()=>{},()=>{});try{await o}catch(d){if(d instanceof on)return c(e,{code:"workspace-name-conflict",message:d.message,details:{name:d.workspaceName}});throw d}return I(e,{workspace:Y(n)})},async delete(e){const{workspaceId:t}=e.payload,n=P.then(()=>s.workspaceRegistry.delete(F(t)));return P=n.then(()=>{},()=>{}),await n?I(e,{deleted:!0}):oe(e,t)},async insertBefore(e){const{workspaceId:t,beforeWorkspaceId:n}=e.payload;try{const r=await s.workspaceRegistry.insertBefore(F(t),n===void 0?void 0:F(n));return I(e,{workspaceIds:[...r]})}catch(r){if(!(r instanceof Cn))throw r;return oe(e,r.workspaceId)}},async insertSessionBefore(e){const{payload:t}=e,n=s.workspaceRegistry.get(F(t.workspaceId));if(n===void 0)return oe(e,t.workspaceId);try{await n.insertSessionBefore(t.sessionId,t.beforeSessionId)}catch(r){if(!(r instanceof Tn))throw r;return c(e,{code:"workspace-move-invalid",message:r.message,details:{workspaceId:t.workspaceId,sessionId:t.sessionId,...t.beforeSessionId===void 0?{}:{beforeSessionId:t.beforeSessionId}}})}return I(e,{workspace:Y(n)})},async archiveSession(e){const{sessionId:t}=e.payload;try{await s.workspaceRegistry.archiveSession(t)}catch(n){if(!(n instanceof On))throw n;return c(e,{code:"session-not-found",message:n.message,details:{sessionId:t}})}return I(e,{archivedSessionIds:[...s.workspaceRegistry.archivedSessionIds]})}},host:{describe(e){const t=a.defaultModelSelection();return Promise.resolve(I(e,{version:"0.0.1",cwd:a.cwd,provider:t.provider,model:t.model,attachedSessions:s.agents.list().length,canOpenPath:ce()}))},async pickDirectory(e,t){const n=s.directoryPicker.capability();if(n.kind!=="native")return c(e,{code:"directory-picker-unavailable",message:`host.pickDirectory needs the native capability; the composed picker serves "${n.kind}"`,details:{capability:n.kind}});try{const r=await n.pick(t);return I(e,{path:r})}catch(r){return t.aborted?c(e,{code:"cancelled",message:"directory picker was aborted",details:{}}):c(e,{code:"internal",message:`directory picker failed: ${r instanceof Error?r.message:String(r)}`,details:{}})}},async listDirectory(e,t){const n=s.directoryPicker.capability();if(n.kind!=="browse")return c(e,{code:"directory-picker-unavailable",message:`host.listDirectory needs the browse capability; the composed picker serves "${n.kind}"`,details:{capability:n.kind}});try{return I(e,await n.list(e.payload.path,t))}catch(r){return t.aborted?c(e,{code:"cancelled",message:"directory listing was aborted",details:{}}):c(e,Ge(r))}},async createDirectory(e){const t=s.directoryPicker.capability();if(t.kind!=="browse")return c(e,{code:"directory-picker-unavailable",message:`host.createDirectory needs the browse capability; the composed picker serves "${t.kind}"`,details:{capability:t.kind}});try{return I(e,{path:await t.createDirectory(e.payload.path,e.payload.name)})}catch(n){return c(e,Ge(n))}},async openPath(e,t){return Me(e,e.payload.path,t)}},goals:{async create(e){const{objective:t,maxGoalRounds:n}=e.payload;return V(e,(r,o)=>r.create(o,{objective:t,...n!==void 0?{maxGoalRounds:n}:{}}))},async edit(e){const{ref:t,objective:n,maxGoalRounds:r}=e.payload;return V(e,(o,d)=>o.edit(d,t,{...n!==void 0?{objective:n}:{},...r!==void 0?{maxGoalRounds:r}:{}}))},async pause(e){return V(e,(t,n)=>t.pause(n,e.payload.ref))},async resume(e){return V(e,(t,n)=>t.resume(n,e.payload.ref))},async complete(e){return V(e,(t,n)=>t.complete(n,e.payload.ref))},async clear(e){const t=await L(e.payload.sessionId);if("error"in t)return c(e,t.error);const n=Ee(t.agent);if("error"in n)return c(e,n.error);try{return n.clear(t.agent,e.payload.ref),I(e,{cleared:!0})}catch(r){return Ae(e,r)}}},agentPresets:{async list(e){const t=s.get("agentPresets");if(t===void 0)return I(e,{presets:[],authorable:!1,hasDocument:!1});const n=t.defaultId;return I(e,{presets:(await t.list()).map(r=>({id:r.id,trust:r.trust,isDefault:r.id===n,...r.name===void 0?{}:{name:r.name},...r.description===void 0?{}:{description:r.description},...r.broken===void 0?{}:{broken:r.broken}})),authorable:t.authorable,hasDocument:ce()})},async select(e){const{sessionId:t,agentPreset:n}=e.payload,r=s.get("agentPresets");if(r===void 0)return c(e,{code:"agent-preset-not-found",message:"this deployment composes no agent presets",details:{agentPreset:n,available:[]}});const o=await L(t);if("error"in o)return c(e,o.error);const{agent:d}=o,i=u(async()=>{if(!ze(d.session))return c(e,{code:"agent-preset-locked",message:`session "${t}" has already started; its agent preset is fixed`,details:{sessionId:t,agentPreset:n}});try{const m=await r.recompose(d.ctx,n);return d.session.append("agent-preset/selected",{agentPreset:m.id}),I(e,{agentPreset:m.id})}catch(m){const b=Fe(e,m);return b!==void 0?b:c(e,{code:"internal",message:`failed to select agent preset "${n}": ${String(m)}`,details:{}})}},"swap"),p=(k.get(t)??Promise.resolve()).then(i);k.set(t,p.catch(()=>{}));try{return await p}finally{k.get(t)===p&&k.delete(t)}},async read(e){const{agentPreset:t}=e.payload,n=s.get("agentPresets");if(n===void 0)return c(e,se(t));try{const r=await n.resolve(t);return I(e,{agentPreset:r.id,trust:r.trust,content:await n.read(r.id),...r.name===void 0?{}:{name:r.name},...r.description===void 0?{}:{description:r.description}})}catch(r){return c(e,re(t,r))}},async copy(e){const{from:t,agentPreset:n,name:r}=e.payload,o=s.get("agentPresets");if(o===void 0)return c(e,se(n));try{return await o.copy(t,n,r),I(e,{agentPreset:n})}catch(d){return c(e,re(n,d))}},async openDocument(e,t){const{agentPreset:n}=e.payload,r=s.get("agentPresets");if(r===void 0)return c(e,se(n));try{const o=await r.resolve(n);if(o.trust!=="user")throw new Ce(o.id,"it ships with the deployment");const d=bn(o.path);return ce()?await Me(e,d,t):I(e,{opened:!1,path:d})}catch(o){return c(e,re(n,o))}},async remove(e){const{agentPreset:t}=e.payload,n=s.get("agentPresets");if(n===void 0)return c(e,se(t));try{return await n.remove(t),I(e,{})}catch(r){return c(e,re(t,r))}}},skills:{async list(e){const{sessionId:t}=e.payload,n=s.sessions.get(t);if(n===void 0)return c(e,{code:"session-not-found",message:`session "${t}" not found (not attached)`,details:{sessionId:t}});if(n.header.cwd===void 0)return c(e,{code:"internal",message:`session "${t}" has no project cwd`,details:{}});const r=n.header.cwd,o=s.agents.get(t),d=s.get("agentPresets"),l=(o===void 0?void 0:d?.serviceFor(o,"skills"))??s.get("skills");if(l===void 0)return c(e,{code:"internal",message:"skill registry is absent: neither this session's agent preset nor the host composition mounts @deepseek-ai/dsh-skill",details:{}});const p=await Se(t,n);try{const m=(await l.list({cwd:r,scope:p})).filter($n);return I(e,{skills:m.map(b=>({name:b.name,description:b.description,...b.whenToUse===void 0?{}:{whenToUse:b.whenToUse},modelInvocable:b.invocation.modelInvocable}))})}catch(m){return c(e,{code:"internal",message:`skill listing failed: ${String(m)}`,details:{}})}}},settings:{describe(e){const t=s.get("settings");return t===void 0?Promise.resolve(c(e,de())):Promise.resolve(I(e,{writable:t.writable,hasDocument:t.documentPath!==void 0,namespaces:t.describe({redactSecrets:!0}).map(Re)}))},async openDocument(e,t){const n=s.get("settings");if(n===void 0)return c(e,de());if(C(t))return c(e,{code:"cancelled",message:"settings document open was aborted",details:{}});let r;try{r=await n.prepareDocument()}catch(o){return C(t)?c(e,{code:"cancelled",message:"settings document preparation was aborted",details:{}}):c(e,{code:"internal",message:`settings document preparation failed: ${o instanceof Error?o.message:String(o)}`,details:{}})}return r===void 0?c(e,{code:"internal",message:"settings provider has no local document to open",details:{}}):C(t)?c(e,{code:"cancelled",message:"settings document open was aborted",details:{}}):gn(e,r,t)},update:u(e=>ue(e,e.payload.ns,"update",e.payload.patch,e.payload.expectedRevision),"update"),replace:u(e=>ue(e,e.payload.ns,"replace",e.payload.section,e.payload.expectedRevision),"replace"),mutate:u(e=>ue(e,e.payload.ns,"mutate",e.payload.ops,e.payload.expectedRevision),"mutate")},credentials:{async describe(e){const t=s.get("credentials");if(t===void 0)return c(e,le());const n=await Promise.all(e.payload.refs.map(async r=>{const o=await t.describe(me(r)),d={configured:o.configured,...o.source===void 0?{}:{source:o.source},writable:o.writable};return[r,d]}));return I(e,{credentials:Object.fromEntries(n)})},async set(e){const t=s.get("credentials");if(t===void 0)return c(e,le());const{ref:n,value:r}=e.payload;try{await t.set(me(n),r)}catch(o){return c(e,{code:"credential-rejected",message:o instanceof Error?o.message:String(o),details:{ref:n}})}return I(e,{})},async unset(e){const t=s.get("credentials");if(t===void 0)return c(e,le());const{ref:n}=e.payload;try{await t.unset(me(n))}catch(r){return c(e,{code:"credential-rejected",message:r instanceof Error?r.message:String(r),details:{ref:n}})}return I(e,{})}},llm:{providers(e){const t=s.llm.listProviders(),n=new Set(t.map(i=>i.id)),r=s.llm.listConfigurableProviders(),o=new Set(r.map(i=>i.provider)),d=r.map(i=>({provider:i.provider,displayName:i.displayName,settingsNs:i.settingsNs,settingsPath:[...i.settingsPath],active:n.has(i.provider),...i.declared===void 0?{}:{declared:i.declared}}));for(const i of t)o.has(i.id)||d.push({provider:i.id,displayName:i.name,settingsNs:"",settingsPath:[],active:!0});return Promise.resolve(I(e,{providers:d}))},async models(e){return I(e,await Be(s))},async discoverModels(e,t){const{settingsNs:n,provider:r,baseURL:o,api:d,apiKey:i}=e.payload;try{const l=await s.llm.discoverModels(n,{...r===void 0?{}:{provider:r},...o===void 0?{}:{baseURL:o},...d===void 0?{}:{api:d},...i===void 0?{}:{apiKey:i},...t===void 0?{}:{signal:t}});return I(e,{models:l})}catch(l){return c(e,{code:"model-discovery-failed",message:l instanceof Error?l.message:String(l),details:{settingsNs:n,...o===void 0?{}:{baseURL:o}}})}}},events:{mux(e,t){const n=new Je;j.add(n);for(const i of s.sessions.list())Ze(n,i);for(const i of N.values())n.push({rpcId:i.rpcId,payload:{type:"question/requested",sessionId:i.sessionId,questions:i.questions}});for(const i of M.values())n.push({rpcId:i.rpcId,payload:{type:"browser-jsapi/requested",sessionId:i.sessionId,method:i.method,params:i.params}});for(const i of R.values())n.push(He(i));for(const i of s.sessions.list()){const l=s.agents.get(i.id);l?.session===i&&l.inbox.hasPending&&n.push(A({type:"session/queue",sessionId:i.id,items:Ie(l)}))}const r=s.get("jobs");if(r!==void 0)for(const i of s.sessions.list()){const l=te(r.list(s.agents.get(i.id)));l.length>0&&n.push(A({type:"session/jobs",sessionId:i.id,jobs:l}))}const o=new Map,d=[s.on("session/event",(i,l)=>{if(l.type==="tool/call"){const m=l.data;try{let b=o.get(i.id);b===void 0&&o.set(i.id,b=new Map),b.set(m.callId,{name:m.name,args:JSON.parse(m.arguments)})}catch{}}else l.type==="turn/end"&&o.delete(i.id);const p=Ke(s,l,m=>o.get(i.id)?.get(m)??Ye(i.events,m),s.agents.get(i.id));n.push(A({type:"session/event",sessionId:i.id,event:l,...p===void 0?{}:{view:p}}))}),s.on("session/created",i=>{Ze(n,i);const l=r===void 0?[]:te(r.list(s.agents.get(i.id)));l.length>0&&n.push(A({type:"session/jobs",sessionId:i.id,jobs:l}))}),s.on("session/disposed",i=>{o.delete(i.id)}),...r===void 0?[]:[r.onJobsChanged(i=>{if(i!==void 0){n.push(A({type:"session/jobs",sessionId:i.id,jobs:te(r.list(i))}));return}for(const l of s.sessions.list())n.push(A({type:"session/jobs",sessionId:l.id,jobs:te(r.list(s.agents.get(l.id)))}))})]];return n.iterate(t,()=>{j.delete(n);for(const i of d)i()})},host(e,t){const n=new Je,r=s.workspaceRegistry.list(),o=new Set(r.map(p=>String(p.id)));let d=r.map(p=>p.id),i=s.workspaceRegistry.archivedSessionIds;const l=[s.on("session/created",p=>{n.push(A({type:"host/session-added",sessionId:p.id,blank:ze(p),...ge(p.header,p.events)}))}),s.on("session/disposed",p=>{n.push(A({type:"host/session-removed",sessionId:p.id}))}),s.on("agent/status",({agent:p,status:m})=>{n.push(A({type:"host/session-status",sessionId:p.id,running:m==="running"}))}),s.on("agent/error",({agent:p,error:m})=>{n.push(A({type:"host/agent-error",sessionId:p.id,message:En(m)}))}),s.on("domain/changed",p=>{if(p.domain==="workspace"){if(p.table===""){if(p.operation!=="put")return;const m=Mn.parse(p.value),b=m.workspaceIds.length===d.length&&m.workspaceIds.every(y=>o.has(String(y)))&&m.workspaceIds.some((y,v)=>y!==d[v]);for(const y of m.workspaceIds){if(o.has(y))continue;const v=s.workspaceRegistry.get(y);if(v===void 0)throw new Error(`committed workspace registry references missing workspace "${y}"`);o.add(y),n.push(A({type:"host/workspace-changed",workspace:Y(v)}))}d=[...m.workspaceIds],b&&n.push(A({type:"host/workspace-order-changed",workspaceIds:[...m.workspaceIds]})),(m.archivedSessionIds.length!==i.length||m.archivedSessionIds.some((y,v)=>y!==i[v]))&&(i=m.archivedSessionIds,n.push(A({type:"host/archived-sessions-changed",archivedSessionIds:[...m.archivedSessionIds]})));return}if(p.table==="workspaces"){if(p.operation==="deleted"){if(!o.delete(p.key))return;n.push(A({type:"host/workspace-removed",workspaceId:p.key}));return}o.has(p.key)&&n.push(A({type:"host/workspace-changed",workspace:bt(p.key,p.value)}))}}}),...et.map(p=>s.on(p,((...m)=>{n.push(A({type:"host/remote-event",event:p,args:assertJsonArgs(p,m)}))})))];return n.iterate(t,()=>{for(const p of l)p()})}},downloads:{async sessionLog(e,t){const n=Bn(s);if(n.sessionQuery===void 0||n.sessionPersistence===void 0||n.attachments===void 0)return new Response("session log export is unavailable: missing session-query, session-persistence, or attachments service",{status:500});if(!n.sessionPersistence.supportsRawArtifacts)return new Response("session log export is unavailable: the persistence backend does not expose per-session raw artifacts",{status:501});const r={sessionQuery:n.sessionQuery,sessionPersistence:n.sessionPersistence,attachments:n.attachments,sessions:n.sessions};let o;try{await Dn(n,e.sessionId,t),o=await n.sessionPersistence.readRaw(e.sessionId,t),t.throwIfAborted()}catch{return t.throwIfAborted(),new Response("session log export failed to prepare the stored artifact",{status:500})}return o===void 0?new Response("session not found",{status:404}):new Response(Jn(r,o,e.sessionId,e.includeDescendants===!0,f,t),{headers:{"content-type":"application/zip","content-disposition":`attachment; filename="${Fn(e.sessionId)}"`}})}},respond(e){const t=R.get(e.rpcId);if(t!==void 0){if(!e.result.ok)return Promise.resolve({accepted:!1,reason:"bad-response"});const i=Hn.safeParse(e.result.value);return!i.success||i.data.approvalId!==t.approvalId||i.data.sessionId!==t.sessionId?Promise.resolve({accepted:!1,reason:"bad-response"}):(t.resolve(i.data.outcome),Promise.resolve({accepted:!0}))}const n=N.get(e.rpcId),r=M.get(e.rpcId);if(r!==void 0){if(!e.result.ok)return U(r,"error"),r.reject(new H(e.result.error.message,"INTERNAL")),Promise.resolve({accepted:!0});const i=xn.safeParse(e.result.value);return!i.success||i.data.sessionId!==r.sessionId?Promise.resolve({accepted:!1,reason:"bad-response"}):i.data.ok?(U(r,"ok"),r.resolve(i.data.result??null),Promise.resolve({accepted:!0})):(U(r,"error"),r.reject(new H(i.data.error?.message??"browser-jsapi call failed without an error payload",i.data.error?.code??"INTERNAL")),Promise.resolve({accepted:!0}))}if(n===void 0)return Promise.resolve({accepted:!1,reason:"not-pending"});if(!e.result.ok)return e.result.error.code!=="cancelled"?Promise.resolve({accepted:!1,reason:"bad-response"}):(x(n,"cancelled"),n.reject(new ee("the user cancelled ask_user_question","ASK_CANCELLED")),Promise.resolve({accepted:!0}));const o=Xn.safeParse(e.result.value);if(!o.success)return Promise.resolve({accepted:!1,reason:"bad-response"});const d={sessionId:o.data.sessionId,answer:{answers:o.data.answer.answers.map(i=>({id:i.id,selected:i.selected,...i.custom===void 0?{}:{custom:i.custom}}))}};return yt(d,n)?(x(n,"answered"),n.resolve(d.answer),Promise.resolve({accepted:!0})):Promise.resolve({accepted:!1,reason:"bad-response"})}}}u(createApiProxy,"createApiProxy");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-apiproxy","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json","./api":{"types":"./lib/types/api/index.d.ts","default":"./lib/types/api/index.js"},"./api/*":{"types":"./lib/types/api/*.d.ts","default":"./lib/types/api/*.js"},"./client":{"types":"./lib/types/fetch/client.d.ts","default":"./lib/types/fetch/client.js"}},"license":"MIT","dependencies":{"fflate":"^0.8.2","zod":"^4.4.3","@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-apiproxy","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json","./api":{"types":"./lib/types/api/index.d.ts","default":"./lib/types/api/index.js"},"./api/*":{"types":"./lib/types/api/*.d.ts","default":"./lib/types/api/*.js"},"./client":{"types":"./lib/types/fetch/client.d.ts","default":"./lib/types/fetch/client.js"}},"license":"MIT","dependencies":{"fflate":"^0.8.2","zod":"^4.4.3","@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.7","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.7","@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-browser-jsapi":"^0.1.0-rc.7","@deepseek-ai/dsh-commands":"^0.1.0-rc.7","@deepseek-ai/dsh-credentials":"^0.1.0-rc.7","@deepseek-ai/dsh-goal":"^0.1.0-rc.7","@deepseek-ai/dsh-host-directory-picker":"^0.1.0-rc.7","@deepseek-ai/dsh-native-command":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/dsh-session-persistence":"^0.1.0-rc.7","@deepseek-ai/dsh-session-projection-cache":"^0.1.0-rc.7","@deepseek-ai/dsh-session-query":"^0.1.0-rc.7","@deepseek-ai/dsh-session-projection":"^0.1.0-rc.7","@deepseek-ai/dsh-session-title":"^0.1.0-rc.7","@deepseek-ai/dsh-skill":"^0.1.0-rc.7","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-subagent":"^0.1.0-rc.7","@deepseek-ai/dsh-jobs":"^0.1.0-rc.7","@deepseek-ai/dsh-tools":"^0.1.0-rc.7","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.7","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-workspace":"^0.1.0-rc.7","@deepseek-ai/dsh-user-approval":"^0.1.0-rc.7"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-cordis-host-runner":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-agent-presets":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-directory-picker-auto","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-directory-picker-auto","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-client-ui-directory-picker-browse":"^0.1.0-rc.7","@deepseek-ai/dsh-host-directory-picker-native":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.7","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-client-ui-directory-picker-native":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-host-directory-picker-browse":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-directory-picker-browse","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/dsh-host-directory-picker":"^0.1.0-rc.7","@deepseek-ai/
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-directory-picker-browse","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-host-directory-picker":"^0.1.0-rc.7"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-directory-picker-native","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./worker":{"types":"./lib/types/win32-dialog-worker.d.ts","default":"./lib/worker.cjs"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"koffi":"^3.1.0","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-directory-picker-native","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./worker":{"types":"./lib/types/win32-dialog-worker.d.ts","default":"./lib/worker.cjs"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"koffi":"^3.1.0","@deepseek-ai/dsh-native-command":"^0.1.0-rc.7","@deepseek-ai/dsh-host-directory-picker":"^0.1.0-rc.7"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-plugin-inventory","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-plugin-inventory","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-typert-protocol":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-host-webserver","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/
|
|
1
|
+
{"name":"@deepseek-ai/dsh-host-webserver","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-jobs","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-jobs","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-jobs-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-jobs-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-scope":"^0.1.0-rc.7","@deepseek-ai/dsh-jobs":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-llm","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./message":{"types":"./lib/types/message.d.ts","default":"./lib/types/message.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-llm","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./brand":{"types":"./lib/types/brand.d.ts","default":"./lib/types/brand.js"},"./message":{"types":"./lib/types/message.d.ts","default":"./lib/types/message.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-llm-deepseek","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-llm-deepseek","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.7","@deepseek-ai/dsh-credentials":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/dsh-anonymous-user-id":"^0.1.0-rc.7","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"eventsource-parser":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-llm-pi-ai","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-llm-pi-ai","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-credentials":"^0.1.0-rc.7","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.7","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.7"},"dependencies":{"@earendil-works/pi-ai":"^0.82.1","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-llm-retry","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-llm-retry","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-mcp-client","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-mcp-client","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.7","@deepseek-ai/dsh-tools":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-message-feedback","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-message-feedback","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-session-persistence":"^0.1.0-rc.7","@deepseek-ai/dsh-storage-domain":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-typert-protocol":"^0.1.0-rc.7"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-permission-presets","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-permission-presets","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-sandbox-policy":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-commands":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/dsh-session-projection":"^0.1.0-rc.7","@deepseek-ai/dsh-sandbox":"^0.1.0-rc.7","@deepseek-ai/dsh-user-approval":"^0.1.0-rc.7","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-plan-mode","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-plan-mode","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/dsh-session-projection":"^0.1.0-rc.7","@deepseek-ai/dsh-commands":"^0.1.0-rc.7","@deepseek-ai/dsh-tools":"^0.1.0-rc.7","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.7","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@deepseek-ai/dsh-commands":{"optional":true}},"dependencies":{"zod":"^4.4.3"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-subprocess":"^0.1.0-rc.7","@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-pwsh-sandbox","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-pwsh-sandbox","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-sandbox-policy":"^0.1.0-rc.7","@deepseek-ai/dsh-sandbox":"^0.1.0-rc.7","@deepseek-ai/dsh-pwsh-local":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-repeat-tool-reminder","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-repeat-tool-reminder","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-tools":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.7"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-sandbox","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-sandbox","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-sandbox-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-sandbox-local","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-sandbox":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.7"},"dependencies":{"@deepseek-ai/dsh-sandbox-windows-acl":"^0.1.0-rc.7","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/node-addon-landlock-run":"^0.1.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-sandbox-policy","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-sandbox-policy","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-sandbox":"^0.1.0-rc.7","@deepseek-ai/dsh-session":"^0.1.0-rc.7"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-sandbox-windows-acl","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./runner":{"types":"./lib/types/runner.d.ts","default":"./lib/runner.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/
|
|
1
|
+
{"name":"@deepseek-ai/dsh-sandbox-windows-acl","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./runner":{"types":"./lib/types/runner.d.ts","default":"./lib/runner.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"koffi":"^3.1.0"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-schedule","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-
|
|
1
|
+
{"name":"@deepseek-ai/dsh-schedule","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-brand":"^0.1.0-rc.7","@deepseek-ai/dsh-agent":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-session-persistence":"^0.1.0-rc.7","@deepseek-ai/dsh-tools":"^0.1.0-rc.7","@deepseek-ai/dsh-llm":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":"^0.1.0-rc.7"}}
|