# == @deepseek-ai/dsh-sdk-minimal
- id: sdk-app-startup
  name: '@deepseek-ai/dsh-sdk-app'
  config:
    profile: sdk-minimal
- id: sdk-jsonrpc-server
  name: '@deepseek-ai/dsh-sdk-jsonrpc-server'
  inject:
    - sdkAppStartup
    - loader
  config:
    maxTokensAsSuccess: false
- id: deepseek-llm-api-extensions
  name: '@deepseek-ai/dsh-deepseek-llm-api-extensions'
- id: session-log-deepseek
  name: '@deepseek-ai/dsh-session-log-deepseek'
- id: plugin-package-inventory-deepseek
  name: '@deepseek-ai/dsh-plugin-package-inventory-deepseek'
# == @deepseek-ai/dsh-sdk-minimal, patched by /tmp/astra-quality-dsh-preflight/artifacts/checkpoint-2/notes.patch.json
- id: llm-deepseek
  name: '@deepseek-ai/dsh-llm-deepseek-api-key'
  config:
    apiKeyEnv: DEEPSEEK_API_KEY
    baseURL: http://127.0.0.1:38237/v1
    defaultContextWindow: 1000000
    streamIdleTimeoutMs: 5000
# == @deepseek-ai/dsh-sdk-minimal
- id: sandbox
  name: '@deepseek-ai/dsh-sandbox-local'
- id: session-projection
  name: '@deepseek-ai/dsh-session-projection'
- id: sandbox-policy
  name: '@deepseek-ai/dsh-sandbox-policy'
  config:
    mode: danger-full-access
    workspaceRoot: !!js process.cwd()
- id: subprocess
  name: '@deepseek-ai/dsh-subprocess-local'
- id: pty
  name: '@deepseek-ai/dsh-terminal'
- id: terminal-bash
  name: '@deepseek-ai/dsh-terminal-bash'
  disabled: !!js process.platform === 'win32'
  config:
    timeoutMs: 300000
- id: terminal-pwsh
  name: '@deepseek-ai/dsh-terminal-bash'
  disabled: !!js process.platform !== 'win32'
  config:
    shellDialect: pwsh
    timeoutMs: 300000
- id: timer
  name: '@deepseek-ai/cordis-plugin-timer'
- id: llm
  name: '@deepseek-ai/dsh-llm'
- id: session
  name: '@deepseek-ai/dsh-session'
- id: session-title
  name: '@deepseek-ai/dsh-session-title'
  config:
    fallbackMaxWords: 5
    fallbackMaxBytes: 40
    maxTitleBytes: 80
- id: system-prompt
  name: '@deepseek-ai/dsh-system-prompt'
  config:
    includeHarnessIdentity: false
    includeRuntimeContext: false
    personaPrefix: !!js >-
      process.env.DSH_SYSTEM_PROMPT ?? 'You are a helpful software engineer
      assistant.'
- id: tools
  name: '@deepseek-ai/dsh-tools'
- id: mcp-resources
  name: '@deepseek-ai/dsh-mcp-resources'
- id: agent
  name: '@deepseek-ai/dsh-agent'
- id: llm-retry
  name: '@deepseek-ai/dsh-llm-retry'
- id: jobs
  name: '@deepseek-ai/dsh-jobs-local'
- id: invariants
  name: '@deepseek-ai/dsh-invariants'
- id: session-invariant
  name: '@deepseek-ai/dsh-session/invariant'
- id: agent-invariant
  name: '@deepseek-ai/dsh-agent/invariant'
- id: scope-invariant
  name: '@deepseek-ai/dsh-scope/invariant'
- id: agent-loop-invariant
  name: '@deepseek-ai/dsh-agent-loop/invariant'
- id: agent-loop
  name: '@deepseek-ai/dsh-agent-loop'
  config:
    agents: []
# == @deepseek-ai/dsh-sdk-minimal, patched by /tmp/astra-quality-dsh-preflight/artifacts/checkpoint-2/notes.patch.json
- id: persistent-bash
  name: '@deepseek-ai/dsh-tool-bash-persistent'
  disabled: true
  config:
    timeoutMs: 300000
    description: >-
      Run commands in a bash shell

      * When invoking this tool, the contents of the "command" parameter does
      NOT need to be XML-escaped.

      * Network access depends on the task environment. Prefer configured
      mirrors/proxies when they are available.

      * State is persistent across command calls and discussions with the user.

      * To inspect a particular line range of a file, e.g. lines 10-25, try 'sed
      -n 10,25p /path/to/the/file'.

      * Please avoid commands that may produce a very large amount of output.

      * Please run long lived commands in the background, e.g. 'sleep 10 &' or
      start a server in the background.
- id: persistent-pwsh
  name: '@deepseek-ai/dsh-tool-pwsh-persistent'
  disabled: true
  config:
    timeoutMs: 300000
    description: >-
      Run commands in a PowerShell shell

      * When invoking this tool, the contents of the "command" parameter does
      NOT need to be XML-escaped.

      * You don't have access to the internet via this tool.

      * State is persistent across command calls and discussions with the user.

      * Use native Windows paths (C:\...) and $env:NAME variables; this is
      PowerShell, not bash.

      * Please avoid commands that may produce a very large amount of output.

      * Please run long lived commands in the background, e.g. 'Start-Job' or
      start a server with Start-Process.
# == @deepseek-ai/dsh-sdk-minimal
- id: sessions
  name: '@deepseek-ai/dsh-session-persistence-jsonl'
  config:
    root: !!js dshHomePath('sessions')
    compression: none
# == /tmp/astra-quality-dsh-preflight/artifacts/checkpoint-2/notes.patch.json
- id: course-note-provider
  name: file:///tmp/astra-quality-dsh-preflight/dist/json-notes.js
  config:
    path: /tmp/astra-quality-dsh-preflight/artifacts/checkpoint-2/notes.json
- id: course-note-tools
  name: file:///tmp/astra-quality-dsh-preflight/dist/notes-tools.js
  config:
    maxSteps: 8
    previewChars: 24
- id: course-note-policy
  name: file:///tmp/astra-quality-dsh-preflight/dist/notes-policy.js
  config:
    denyReadIds: []
