Sign inSign up

christopherpetito053/kagent:latest

Multi-platform
Manifest digest

sha256:a7aa523bc2be4417be36f31b99a974f50cd8371141c392dd649904f589be0bd1

Last pushed

3 days by christopherpetito053

Type

Sandbox Kit

Manifest digest

sha256:a7aa523bc2be4417be36f31b99a974f50cd8371141c392dd649904f589be0bd1

yaml
schemaVersion: "3"
displayName: krissetto's Docker Agent hack with async subagents
description: krissetto's Docker Agent hack with an opinionated agent team
sourceUrl: https://github.com/docker/docker-agent
version: 0.1.0
licenses:
    - Apache-2.0
kind: workload
provides:
    - [email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/base-files@14
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/ca-certificates-java@20260311
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/gcc-16-base@16
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/less@668
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/libgcc-s1@16
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/libjpeg8@8
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/libstdc++6@16
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/tzdata@2026
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
    - deb/[email protected]
capabilities:
    - type: com.docker.sandbox/network-policy@1
      config:
        runtime:
            allow:
                - api.openai.com
                - api.anthropic.com
                - generativelanguage.googleapis.com
                - api.github.com
                - github.com
    - type: com.docker.sandbox/credential@1
      config:
        apiKey:
            inject:
                - domain: api.openai.com
                  format: Bearer %s
                  header: Authorization
            name: OPENAI_API_KEY
            proxyManaged: true
        phase: runtime
        service: openai
    - type: com.docker.sandbox/credential@1
      config:
        apiKey:
            inject:
                - domain: api.anthropic.com
                  format: '%s'
                  header: x-api-key
            name: ANTHROPIC_API_KEY
            proxyManaged: true
        phase: runtime
        service: anthropic
    - type: com.docker.sandbox/credential@1
      optional: true
      config:
        apiKey:
            inject:
                - domain: generativelanguage.googleapis.com
                  format: '%s'
                  header: x-goog-api-key
            name: GOOGLE_API_KEY
            proxyManaged: true
        phase: runtime
        service: google
    - type: com.docker.sandbox/credential@1
      optional: true
      config:
        apiKey:
            inject:
                - domain: api.github.com
                  format: Bearer %s
                  header: Authorization
                - domain: github.com
                  format: Bearer %s
                  header: Authorization
            name: GH_TOKEN
            proxyManaged: true
        phase: runtime
        service: github
    - type: com.docker.sandbox/sbx@1
    - type: com.docker.sandbox/agent-sessions@1
      optional: true
      config:
        continue:
            - --exec
            - --session=-1
        list:
            - /opt/async-agent/docker-agent
            - sessions
            - list
            - --managed-api
            - --managed-api-attach
            - --working-dir
            - /workspace
            - --managed-api-state-dir
            - ${{ kit.env.ASYNC_AGENT_KIT_STATE_DIR }}
            - --quiet
        prompt:
            - --exec
            - --
            - '{{.Prompt}}'
        resume:
            - --exec
            - --session
            - '{{.SessionID}}'
    - type: com.docker.sandbox/agent-interactive-sessions@1
      optional: true
      config:
        continue:
            - --session=-1
        list:
            - /opt/async-agent/docker-agent
            - sessions
            - list
            - --managed-api
            - --managed-api-attach
            - --working-dir
            - /workspace
            - --managed-api-state-dir
            - ${{ kit.env.ASYNC_AGENT_KIT_STATE_DIR }}
            - --quiet
        newSession: []
        prompt:
            - --
            - '{{.Prompt}}'
        resume:
            - --session
            - '{{.SessionID}}'
    - type: com.docker.sandbox/agent-context@1
      optional: true
      config:
        filename: ASYNC_AGENT_KIT.md
    - type: com.docker.sandbox/agent-skills@1
      optional: true
      config:
        mode: readonly
        path: /home/agent/.agents/skills
    - type: com.docker.sandbox/git-identity@1
      optional: true
    - type: com.docker.sandbox/ssh-agent@1
      optional: true
      config:
        phase: runtime
        sign:
            - git
        unrestricted: false
    - type: com.docker.sandbox/long-running@1
    - type: com.docker.sandbox/lifecycle@1
      config:
        install:
            - command:
                - /bin/sh
                - -eu
                - -c
                - |
                  [ "${ASYNC_AGENT_KIT_DIAGNOSTICS:-off}" = on ] || exit 0
                  umask 077
                  directory=/home/agent/.local/state/async-agent-kit/probe
                  mkdir -p "$directory"
                  printf '%s\n' installed >> "$directory/install.log"
              description: Record each install invocation when diagnostics are enabled.
              env:
                - ASYNC_AGENT_KIT_DIAGNOSTICS
              user: agent
        startup:
            - command:
                - /bin/sh
                - -eu
                - -c
                - |
                  [ "${ASYNC_AGENT_KIT_DIAGNOSTICS:-off}" = on ] || exit 0
                  umask 077
                  directory=/home/agent/.local/state/async-agent-kit/probe
                  mkdir -p "$directory"
                  temporary=$(mktemp "$directory/.ready.XXXXXX")
                  trap 'rm -f "$temporary"' EXIT HUP INT TERM
                  printf '%s\n' ready > "$temporary"
                  mv -f "$temporary" "$directory/ready"
              description: Atomically refresh the same startup marker when diagnostics are enabled.
              env:
                - ASYNC_AGENT_KIT_DIAGNOSTICS
              user: agent
            - background: true
              command:
                - /opt/async-agent/start.sh
                - ${{ kit.env.ASYNC_AGENT_KIT_TEAM }}
                - ${{ kit.env.ASYNC_AGENT_KIT_STATE_DIR }}
                - ${{ kit.env.ASYNC_AGENT_KIT_MODEL }}
              description: Own the foreground authenticated workspace API until sandbox stop.
              env:
                - ASYNC_AGENT_KIT_TEAM
                - ASYNC_AGENT_KIT_MODEL
                - ASYNC_AGENT_KIT_STATE_DIR
                - OPENAI_API_KEY
                - ANTHROPIC_API_KEY
                - GOOGLE_API_KEY
                - GH_TOKEN
                - HTTP_PROXY
                - HTTPS_PROXY
                - NO_PROXY
                - http_proxy
                - https_proxy
                - no_proxy
                - SSL_CERT_FILE
                - SSL_CERT_DIR
                - SANDBOX_VM_ID
                - SSH_AUTH_SOCK
                - BASH_ENV
                - XDG_CACHE_HOME
                - TMPDIR
                - DOCKER_AGENT_CONFIG_DIR
                - DOCKER_AGENT_TOOLS_DIR
                - DOCKER_AGENT_AUTO_INSTALL
              user: agent
args:
    diagnostics:
        default: "off"
        description: Opt in to local install and startup markers; no provider calls.
        enum:
            - "off"
            - "on"
        env: ASYNC_AGENT_KIT_DIAGNOSTICS
    kitVersion:
        default: 0.1.0
        description: Kit packaging version, not the Docker Agent application version.
        pattern: ^[0-9]+\.[0-9]+\.[0-9]+$
        buildArg: ASYNC_AGENT_KIT_VERSION
    model:
        default: ""
        description: Creation-bound team-wide model override; empty retains team models.
        env: ASYNC_AGENT_KIT_MODEL
    stateDir:
        default: /home/agent/.cagent/managed-api
        description: Creation-bound private managed API state base, outside the workspace.
        env: ASYNC_AGENT_KIT_STATE_DIR
    team:
        default: auto
        description: Creation-bound guest team path; auto selects workspace hackerspace.yaml then bundled team.
        env: ASYNC_AGENT_KIT_TEAM
dockerfile: ./async-agent.dockerfile