agentdeck-sdk 6.0.1__tar.gz → 6.0.2__tar.gz
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.
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.gitignore +3 -1
- agentdeck_sdk-6.0.2/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-6.0.2/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/CHANGELOG.md +29 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/PKG-INFO +1 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/reconcile.py +10 -7
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/service.py +63 -13
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/generated-version.ts +1 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/workflows.mdx +5 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/events.mdx +8 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/resources/changelog.mdx +25 -22
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/sessions.mdx +41 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/llms-full.txt +79 -23
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/pyproject.toml +1 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_child_runs.py +164 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_deck.py +18 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/uv.lock +1 -1
- agentdeck_sdk-6.0.1/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-6.0.1/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/release/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.agents/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/agents/deck-cleanup.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/agents/deck-dev.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/agents/deck-reviewer.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/agents/docs-reviewer.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/agents/docs-writer.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/settings.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/references/judging.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/references/queries.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/open-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/release/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/attack.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/classify.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/craft.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/overrun.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/templates.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/design.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/implement.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/self-review.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.codex/agents/deck-cleanup.toml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.codex/agents/deck-dev.toml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.codex/agents/deck-reviewer.toml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.codex/agents/docs-reviewer.toml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.codex/agents/docs-writer.toml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.dockerignore +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.env.example +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.gitattributes +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/dependabot.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/ci.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/docs-check.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/docs-impact.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/docs-pages.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/issue-hygiene.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.github/workflows/release.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.importlinter +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/AGENTS.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/CLAUDE.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/CONTRIBUTING.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/Dockerfile +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/LICENSE +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/Makefile +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/SECURITY.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/adapter.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/native/binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/terminal/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/terminal/binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/memory/port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/native/executor.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/stub/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/stub/executor.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/memory/port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/memory/store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/postgres/store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/redis/store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/sqlite/store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/source.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/transport.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/compile.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/hooks.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/injection.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/instructions.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/interrupts.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/native.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/runners/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/skills.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/tools.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/agui.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/exposure.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/gateway.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/native.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/bindings/terminal.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/cli.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/composition.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/base.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/content.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/context.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/control.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/errors.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/events.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/invocable.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/control.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/executor.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/lease.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/sink.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/tools.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/reporting.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/status.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/core/workers.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/deck.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/errors.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/mcp.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/observers.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/capture.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/discovery.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/dispatch.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/registry.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/runtime/settings.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/skills/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/testing.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/views.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/context7.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docker-compose.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/00-project-index.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/agentdeck-prd.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/ai-agents/harness_change_log.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/ai-agents/sota_style_alignment_findings.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/components/card.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/components/spark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/components/wordmark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/favicon.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-black.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-full.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo-white.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/logo.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-a-master.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-card-a-preview.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-spark-master.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/brand/social-card.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/beta-user-report-v3.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/decision-v3-entry-point.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/discoverability-baseline.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/docs-site-plan.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/findings-register.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/milestone-0-findings.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-166-delivery.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-219-delivery.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-adoption.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-context-injection.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-docs-ia.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-jack-eval.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-multimodal.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-phase4-deck.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-provider-credential-validation.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-skills.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-slop-comment-ratio.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/plan-v2-cutover.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/review-context-injection.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/review-phase4-deck.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/review-v3-outsider.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/roadmap-v3.1.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/roadmap-v3.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/delivery/workflow.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/adr-d5-two-stores.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/agentdeck-v2-architecture.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/event-store-claims.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/execution-api-source.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/execution-api.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/agui.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/bindings.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/exposure.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/gateway.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/invariants.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/native-wire.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/projection.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/roadmap.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/rulings.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/protocols/spi.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/run-identity.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/run-lifecycle.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/run-operations.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design/sink-dispatch.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/design-system.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/architecture.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/coding-agents.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/coding-standards.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/dependencies.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/import-boundaries.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/principles.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/repository-policy.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/runtime-contracts.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/engineering/testing.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/patterns/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/patterns/comments.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/patterns/errors.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/patterns/lifecycle.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/patterns/tests.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/project-brief.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/prompts/pr0-baseline-prompt.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/prompts/pr0-review-prompt.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/prompts/pr1-event-schema-prompt.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs/spec.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/.env.development +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/.env.production +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/.gitignore +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/announcement.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/brand-icons.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/brand.css +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/callout.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/contribute.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/deck-figure.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/design-system.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/diagram.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/docs-slugs.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/hero.css +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/hero.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/icon.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/install-line.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack-answer-link.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack-citations.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack-live.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack-stream.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack.css +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/jack.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/kind-icons.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/landing-components.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/landing.css +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/layout.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/mark.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/not-found.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/page-feedback.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/robots.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/site.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/sitemap.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/app/toc-active.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/agui.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/index.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/native.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/serve.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/terminal.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/write-your-own.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/agents.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/context.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/deck.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/skills.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/tools.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/agent-with-a-skill.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/chat-agent-with-a-tool.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/chat-in-the-terminal.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/index.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/examples/run-events-stream.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/index.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/existing-agents.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/mcp.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/jack/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/jack/notes.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/jack.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/quickstart.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/whats-new-6.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/operate/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/operate/deployment.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/cli.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/deck.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/python-api.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/run.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/reference/settings.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/resources/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/resources/known-issues.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/resources/migration-guides.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/resources/troubleshooting.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/_meta.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/events.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/human-input.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/runs.mdx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/mdx-components.tsx +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/next-env.d.ts +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/next.config.mjs +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/package-lock.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/package.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/a-chevron.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/card.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/favicon.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-black.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-full.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-white.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/social-card.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/spark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/brand/wordmark.svg +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/public/llms.txt +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/docs-site/tsconfig.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/chat-in-the-terminal/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/cloudflared.yml +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/eval.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/evals/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/evals/judge.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/evals/metrics.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/evals/run.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/evalset.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/jack/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/jack/agent.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/jack/corpus.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/jack/server.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/jack/session.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/jack/run.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/run-events-stream/README.md +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/examples/run-events-stream/run.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/changelog_position.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/check_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/check_docs_impact.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/concept_budget.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/generate_docs_reference.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/quality_delta.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/release_bump.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/repomap.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/slopcheck.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/sync_claude_to_codex.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/scripts/sync_roadmap.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/package-lock.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/package.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/run_scenario.js +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/.importlinter +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/__init__.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/channel.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_agui_binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_agui_client_conformance.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_contract.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_deck_verbs.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_gateway_boundary.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_native_binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_terminal_binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/bindings/test_three_bindings_one_deck.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/concurrency_worker.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/conftest.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/context_injection_subjects.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/case_types.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/conftest.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/context_subjects.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/contract_cases.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/live_stores.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/never_yields.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/openai_agents_cases.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_context_parity.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_control.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_control_port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_event_stream.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_lease.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_resume.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/contract/test_store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/conftest.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/agent.changed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/answer.refused.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/report.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.interrupted.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_content.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_context.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_continuation.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_events.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_golden_json.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_import_law.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_model_config.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_old_reader_block_compat.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_old_reader_compat.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_reporting.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_run_lifecycle_tables.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/core/test_vocabularies_agree.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/crash_worker.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/event_log_checks.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/plays.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/project_executors.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_agent_changed.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_agent_model_resolution.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_authoring.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_bindings_binding.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_bindings_exposure.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_bindings_gateway.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_brand_assets.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_changelog.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_cli.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_composition.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_context_injection.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_context_validation.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_crash_reconciliation.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_docs_examples.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_docs_impact.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_docs_site.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_errors.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_examples.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_executor_plays.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_generated_reference.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_governance_workflows.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_handoff_ends_on_user_turn.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_handoff_round_trip.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_instructions_and_hooks.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_invocable_registry.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_jack.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_jack_server.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_langfuse_sink.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_langfuse_tracer.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_mcp.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_mcp_tool_source.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_memory_store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_model_providers.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_multiprocess_concurrency.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_native_workflow.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_observability.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_engine.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_reconcile.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_sessions.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_tool_failure.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_package.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_postgres_store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_public_surface.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_redis_store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_release_bump.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_run_config_parity.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_run_control.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_run_reporting.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_runtime_service.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_settings.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_sink_dispatch.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_skills.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_sqlite_control_port.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_sqlite_store.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_streaming.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_subagents.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_sync_tool_workers.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_tool_compilation.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_uc3_slowpoke.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_views.py +0 -0
- {agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/tests/test_web_search.py +0 -0
|
@@ -8,8 +8,10 @@ __pycache__/
|
|
|
8
8
|
.pytest_cache/
|
|
9
9
|
.env
|
|
10
10
|
|
|
11
|
-
# Claude Code agent worktrees
|
|
11
|
+
# Claude Code agent worktrees, and the local state its tooling writes beside them
|
|
12
12
|
.claude/worktrees/
|
|
13
|
+
.claude/*.lock
|
|
14
|
+
.serena/
|
|
13
15
|
|
|
14
16
|
# Local development container
|
|
15
17
|
.devcontainer/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.adapters.tools.mcp": 1788527440.0654876, "agentdeck.mcp": 1788527440.0672784, "agentdeck.core.ports.store": 1788527440.0672705, "agentdeck.adapters.tools.mcp.wiring": 1788527440.0655286, "agentdeck.bindings": 1788527440.066182, "agentdeck.adapters.executors.openai_agents.sessions": 1788527440.0639248, "agentdeck.adapters.stores": 1788527440.064489, "agentdeck.adapters.tools": 1788527440.0652597, "agentdeck.composition": 1788527440.066406, "agentdeck.bindings.gateway": 1788527440.066406, "agentdeck": 1788527440.0629313, "agentdeck.authoring.runners": 1788527440.0657735, "agentdeck.adapters.executors.native.executor": 1788527440.0637953, "agentdeck.authoring.skills": 1788527440.066182, "agentdeck.adapters.control": 1788527440.0634089, "agentdeck.cli": 1788527440.066406, "agentdeck.adapters.control.sqlite.port": 1788527440.063633, "agentdeck.core.ports.tools": 1788527440.0672705, "agentdeck.adapters.bindings.agui.binding": 1788527440.0631151, "agentdeck.runtime.registry": 1788527440.0681772, "agentdeck.core.ports.control": 1788527440.0672705, "agentdeck.adapters.leases.sqlite.port": 1788527440.064489, "agentdeck.authoring.interrupts": 1788527440.0657735, "agentdeck.core.ports.sink": 1788527440.0672705, "agentdeck.runtime.capture": 1788527440.0681772, "agentdeck.runtime.settings": 1788527440.0682783, "agentdeck.adapters.telemetry.langfuse.sink": 1788527440.0652597, "agentdeck.authoring": 1788527440.0655286, "agentdeck.core.content": 1788527440.0667868, "agentdeck.runtime": 1788527440.0672784, "agentdeck.testing": 1788527440.068847, "agentdeck.adapters.bindings": 1788527440.063022, "agentdeck.adapters.leases": 1788527440.064281, "agentdeck.runtime.discovery": 1788527440.0681772, "agentdeck.adapters.executors": 1788527440.063633, "agentdeck.runtime.service": 1788527440.0681772, "agentdeck.authoring.native": 1788527440.0657735, "agentdeck.adapters.executors.stub.executor": 1788527440.064281, "agentdeck.adapters.leases.memory.port": 1788527440.0644116, "agentdeck.adapters.control.memory": 1788527440.06352, "agentdeck.authoring.compile": 1788527440.0657735, "agentdeck.observers": 1788527440.0672784, "agentdeck.adapters.leases.memory": 1788527440.0643766, "agentdeck.bindings.terminal": 1788527440.066406, "agentdeck.core": 1788527440.066406, "agentdeck.adapters.executors.openai_agents.executor": 1788527440.0639248, "agentdeck.authoring.runners.agent": 1788527440.066182, "agentdeck.runtime.dispatch": 1788527440.0681772, "agentdeck.core.workers": 1788527440.0672705, "agentdeck.adapters.tools.mcp.transport": 1788527440.0655286, "agentdeck.adapters.control.sqlite": 1788527440.06356, "agentdeck.core.ports": 1788527440.0667868, "agentdeck.adapters.bindings.terminal.binding": 1788527440.0634089, "agentdeck.adapters.executors.native": 1788527440.063758, "agentdeck.bindings.native": 1788527440.066406, "agentdeck.core.ports.lease": 1788527440.0672705, "agentdeck.adapters.telemetry.langfuse.client": 1788527440.0652597, "agentdeck.authoring.tools": 1788527440.066182, "agentdeck.skills": 1788527440.0682783, "agentdeck.core.context": 1788527440.0667868, "agentdeck.adapters.tools.mcp.source": 1788527440.0655286, "agentdeck.adapters.telemetry.langfuse.trace": 1788527440.0652597, "agentdeck.adapters.stores.postgres": 1788527440.064635, "agentdeck.adapters.leases.sqlite": 1788527440.0644116, "agentdeck.adapters": 1788527440.0629313, "agentdeck.adapters.executors.openai_agents.reconcile": 1788527440.0639248, "agentdeck.skills.bundle": 1788527440.068847, "agentdeck.views": 1788527440.068847, "agentdeck.deck": 1788527440.0672784, "agentdeck.adapters.stores.postgres.store": 1788527440.0647597, "agentdeck.core.invocable": 1788527440.0667868, "agentdeck.core.base": 1788527440.0667868, "agentdeck.core.reporting": 1788527440.0672705, "agentdeck.adapters.stores.memory.store": 1788527440.064635, "agentdeck.authoring.agent": 1788527440.0657735, "agentdeck.core.ports.executor": 1788527440.0672705, "agentdeck.adapters.executors.openai_agents": 1788527440.0637953, "agentdeck.core.errors": 1788527440.0667868, "agentdeck.adapters.bindings.native.binding": 1788527440.0632992, "agentdeck.errors": 1788527440.0672784, "agentdeck.adapters.stores.memory": 1788527440.064598, "agentdeck.adapters.stores.sqlite.store": 1788527440.0650582, "agentdeck.adapters.telemetry.langfuse": 1788527440.0652184, "agentdeck.bindings.agui": 1788527440.066406, "agentdeck.adapters.executors.openai_agents.translate": 1788527440.0639248, "agentdeck.adapters.tools.mcp.lifecycle": 1788527440.0655286, "agentdeck.bindings.exposure": 1788527440.066406, "agentdeck.core.events": 1788527440.0667868, "agentdeck.adapters.executors.stub": 1788527440.0639248, "agentdeck.adapters.telemetry": 1788527440.0650582, "agentdeck.adapters.stores.redis.store": 1788527440.0649145, "agentdeck.adapters.stores.sqlite": 1788527440.0649145, "agentdeck.core.status": 1788527440.0672705, "agentdeck.authoring.web_search": 1788527440.066182, "agentdeck.bindings.binding": 1788527440.066406, "agentdeck.authoring.injection": 1788527440.0657735, "agentdeck.adapters.stores.redis": 1788527440.0647597, "agentdeck.adapters.bindings.native": 1788527440.0631151, "agentdeck.adapters.bindings.agui": 1788527440.0630713, "agentdeck.core.control": 1788527440.0667868, "agentdeck.adapters.executors.openai_agents.runconfig": 1788527440.0639248, "agentdeck.adapters.control.memory.port": 1788527440.06356, "agentdeck.adapters.bindings.agui.adapter": 1788527440.0631151, "agentdeck.adapters.bindings.terminal": 1788527440.0632992, "agentdeck.authoring.hooks": 1788527440.0657735, "agentdeck.authoring.instructions": 1788527440.0657735}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.adapters.control.memory.port":[["agentdeck.core.ports.control",8,"from agentdeck.core.ports.control import ControlPort"],["__future__",5,"from __future__ import annotations"],["agentdeck.core.control",7,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.authoring.injection":[["inspect",29,"import inspect"],["agentdeck.errors",35,"from agentdeck.errors import ConfigError, ContextTypeError"],["types",30,"import types"],["agentdeck.core.context",34,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["collections",38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["dataclasses",31,"from dataclasses import dataclass"],["typing",32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["__future__",27,"from __future__ import annotations"]],"agentdeck.adapters.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",5,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.core.events":[["__future__",21,"from __future__ import annotations"],["agentdeck.core.base",36,"from agentdeck.core.base import CoreModel, JsonData"],["typing",23,"from typing import Annotated, Any, Literal, get_args"],["pydantic",25,"from pydantic import ("],["agentdeck.core.content",37,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"]],"agentdeck.adapters.executors.openai_agents.sessions":[["agentdeck.runtime.settings",30,"from agentdeck.runtime.settings import SessionSettings"],["agents",23,"from agents import SQLiteSession"],["redis",53,"from redis.asyncio import Redis"],["typing",21,"from typing import TYPE_CHECKING"],["redis",27,"from redis.asyncio import Redis"],["agents",26,"from agents.memory.session import Session"],["agents",68,"from agents.extensions.memory import RedisSession"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",19,"from __future__ import annotations"]],"agentdeck.adapters.executors":[],"agentdeck.adapters.tools.mcp.lifecycle":[["logging",20,"import logging"],["__future__",17,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.adapters.tools.mcp.transport",23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["agentdeck.errors",24,"from agentdeck.errors import ConfigError"],["asyncio",19,"import asyncio"],["collections",27,"from collections.abc import Sequence"],["agents",29,"from agents.mcp import MCPServer"]],"agentdeck.core.workers":[["typing",14,"from typing import TYPE_CHECKING, Any"],["concurrent",13,"from concurrent.futures import Future, ThreadPoolExecutor"],["collections",17,"from collections.abc import Callable"],["__future__",10,"from __future__ import annotations"],["asyncio",12,"import asyncio"]],"agentdeck.adapters.tools":[],"agentdeck.adapters.bindings.native.binding":[["logging",5,"import logging"],["agentdeck",12,"from agentdeck import RunStatus"],["starlette",8,"from starlette.applications import Starlette"],["typing",6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings",13,"from agentdeck.bindings import ("],["agentdeck.errors",21,"from agentdeck.errors import InputError, RunStateError, UnsupportedControlError"],["collections",24,"from collections.abc import AsyncIterator"],["starlette",9,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["agentdeck",28,"from agentdeck import Event, Run"],["starlette",26,"from starlette.requests import Request"],["__future__",3,"from __future__ import annotations"],["agentdeck.bindings",29,"from agentdeck.bindings import Binding"],["starlette",10,"from starlette.routing import Route"]],"agentdeck.authoring.native":[["typing",12,"from typing import TYPE_CHECKING, Any"],["agentdeck.errors",17,"from agentdeck.errors import ConfigError"],["dataclasses",11,"from dataclasses import dataclass"],["agentdeck.authoring.injection",22,"from agentdeck.authoring.injection import CallableAnalysis"],["collections",20,"from collections.abc import Callable"],["agentdeck.authoring.injection",14,"from agentdeck.authoring.injection import analyze_callable, describe_callable"],["agentdeck.core.context",15,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["inspect",10,"import inspect"],["agentdeck.core.invocable",16,"from agentdeck.core.invocable import InvocableKind, NativeExecution"],["__future__",8,"from __future__ import annotations"]],"agentdeck.adapters.bindings.agui.adapter":[["collections",44,"from collections.abc import Callable"],["agentdeck",40,"from agentdeck import AudioBlock, ImageBlock, ResourceBlock, TextBlock"],["json",8,"import json"],["ag_ui",46,"from ag_ui.core import InputContentPart, RunAgentInput"],["agentdeck",48,"from agentdeck import ContentBlock, Event"],["dataclasses",9,"from dataclasses import dataclass"],["__future__",6,"from __future__ import annotations"],["agentdeck.errors",41,"from agentdeck.errors import InputError"],["typing",10,"from typing import TYPE_CHECKING, Any"],["ag_ui",12,"from ag_ui.core import ("]],"agentdeck.core.content":[["agentdeck.core.base",26,"from agentdeck.core.base import CoreModel, JsonData"],["agentdeck.core.errors",170,"from agentdeck.core.errors import InputError"],["pydantic",16,"from pydantic import ("],["base64",13,"import base64"],["agentdeck.core.errors",195,"from agentdeck.core.errors import InputError"],["__future__",11,"from __future__ import annotations"],["typing",14,"from typing import Annotated, Any, Literal, get_args"]],"agentdeck.adapters.telemetry.langfuse.sink":[["asyncio",23,"import asyncio"],["agentdeck.core.content",51,"from agentdeck.core.content import Input"],["agentdeck.core.content",30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["agentdeck.core.ports",45,"from agentdeck.core.ports import Observer"],["collections",48,"from collections.abc import Mapping"],["logging",25,"import logging"],["agentdeck.core.events",31,"from agentdeck.core.events import ("],["typing",28,"from typing import TYPE_CHECKING, Any"],["dataclasses",27,"from dataclasses import dataclass, field"],["agentdeck.core.events",52,"from agentdeck.core.events import Event, Usage"],["agentdeck.adapters.telemetry.langfuse.trace",50,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["json",24,"import json"],["__future__",21,"from __future__ import annotations"],["re",26,"import re"]],"agentdeck.adapters.bindings.agui.binding":[["ag_ui",38,"from ag_ui.core import ResumeEntry"],["logging",8,"import logging"],["ag_ui",12,"from ag_ui.encoder import EventEncoder"],["agentdeck",41,"from agentdeck import Event, Run"],["starlette",39,"from starlette.requests import Request"],["agentdeck.bindings",42,"from agentdeck.bindings import Binding"],["agentdeck.errors",33,"from agentdeck.errors import ConfigError, InputError, RunStateError, UnsupportedControlError"],["agentdeck.bindings",25,"from agentdeck.bindings import ("],["agentdeck",18,"from agentdeck import RunStatus"],["starlette",15,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["collections",36,"from collections.abc import AsyncIterator"],["ag_ui",11,"from ag_ui.core import RunAgentInput, RunErrorEvent, RunStartedEvent"],["agentdeck.adapters.bindings.agui.adapter",19,"from agentdeck.adapters.bindings.agui.adapter import ("],["__future__",5,"from __future__ import annotations"],["asyncio",7,"import asyncio"],["starlette",16,"from starlette.routing import Route"],["pydantic",13,"from pydantic import ValidationError as PydanticValidationError"],["starlette",14,"from starlette.applications import Starlette"],["typing",9,"from typing import TYPE_CHECKING, Any"]],"agentdeck.runtime.discovery":[["__future__",10,"from __future__ import annotations"],["agentdeck.runtime.registry",19,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["collections",22,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["agentdeck.authoring.agent",14,"from agentdeck.authoring.agent import Agent"],["agents",24,"from agents import Agent as SDKAgent"],["agentdeck.core.ports",28,"from agentdeck.core.ports import Executor"],["agentdeck.authoring.compile",27,"from agentdeck.authoring.compile import Delegate"],["typing",12,"from typing import TYPE_CHECKING, Any, Final"],["agentdeck.authoring.compile",15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["agentdeck.authoring.native",16,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.workers",29,"from agentdeck.core.workers import SyncToolWorkers"],["agents",25,"from agents.tool import FunctionTool"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"]],"agentdeck.bindings.gateway":[["agentdeck.errors",17,"from agentdeck.errors import ("],["inspect",10,"import inspect"],["typing",13,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.authoring.native",30,"from agentdeck.authoring.native import NativeDefinition"],["pydantic",15,"from pydantic import create_model"],["dataclasses",11,"from dataclasses import dataclass"],["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["enum",12,"from enum import Enum, auto"],["__future__",8,"from __future__ import annotations"],["agentdeck.deck",32,"from agentdeck.deck import Deck, Run"],["agentdeck.authoring",29,"from agentdeck.authoring import Agent"],["collections",27,"from collections.abc import Awaitable, Callable, Mapping, Sequence"]],"agentdeck.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",10,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.agent",3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.authoring.compile":[["typing",44,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.errors",57,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.core.workers",67,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.hooks",51,"from agentdeck.authoring.hooks import compile_hooks"],["collections",61,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["agentdeck.core.context",56,"from agentdeck.core.context import ToolCtx # noqa: TC001 - a subagent tool's own annotation, resolved at runtime"],["agents",46,"from agents import Agent as SDKAgent"],["agents",48,"from agents import Tool as SDKTool"],["agentdeck.authoring.agent",217,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agents",47,"from agents import ModelSettings"],["__future__",41,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.wiring",50,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agentdeck.authoring.instructions",52,"from agentdeck.authoring.instructions import compile_instructions"],["re",43,"import re"],["agents",63,"from agents.tool import FunctionTool"],["agentdeck.authoring.tools",55,"from agentdeck.authoring.tools import compile_tool"],["agentdeck.authoring.native",53,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.authoring.native",54,"from agentdeck.authoring.native import tool as _native_tool"],["agentdeck.authoring.agent",65,"from agentdeck.authoring.agent import Agent"],["agentdeck.runtime.settings",58,"from agentdeck.runtime.settings import get_settings"],["agentdeck.core.context",66,"from agentdeck.core.context import RunContext"]],"agentdeck.adapters.control.sqlite.port":[["contextlib",11,"from contextlib import suppress"],["functools",12,"from functools import partial"],["agentdeck.core.control",15,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",7,"from __future__ import annotations"],["sqlite3",10,"import sqlite3"],["typing",13,"from typing import TYPE_CHECKING"],["agentdeck.errors",17,"from agentdeck.errors import StoreError"],["collections",20,"from collections.abc import Callable"],["agentdeck.core.ports.control",16,"from agentdeck.core.ports.control import ControlPort"],["asyncio",9,"import asyncio"],["pathlib",21,"from pathlib import Path"]],"agentdeck.cli":[["sys",22,"import sys"],["agentdeck.deck",55,"from agentdeck.deck import Deck"],["agentdeck.adapters.control.sqlite",24,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.core.control",25,"from agentdeck.core.control import Signal"],["argparse",19,"import argparse"],["agentdeck.errors",56,"from agentdeck.errors import ConfigError"],["asyncio",20,"import asyncio"],["agentdeck.bindings",54,"from agentdeck.bindings import Terminal"],["__future__",17,"from __future__ import annotations"],["contextlib",21,"import contextlib"]],"agentdeck":[["agentdeck.authoring.native",15,"from agentdeck.authoring.native import tool, workflow"],["agentdeck.core.content",16,"from agentdeck.core.content import ("],["agentdeck.deck",29,"from agentdeck.deck import Deck, Run, TurnResult"],["agentdeck.core.ports",27,"from agentdeck.core.ports import Observer"],["agentdeck.core.invocable",26,"from agentdeck.core.invocable import AgentInstance"],["importlib",11,"from importlib.metadata import version as _version"],["importlib",10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.core.events",25,"from agentdeck.core.events import Event"],["agentdeck.core.context",24,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.core.status",28,"from agentdeck.core.status import RunStatus"],["agentdeck.views",13,"from agentdeck import views"],["agentdeck.authoring",14,"from agentdeck.authoring import Agent"]],"agentdeck.authoring.skills":[["agents",13,"from agents import function_tool"],["__future__",9,"from __future__ import annotations"],["agentdeck.skills",20,"from agentdeck.skills import Skills"],["agents",18,"from agents.tool import FunctionTool"],["typing",11,"from typing import TYPE_CHECKING"],["collections",16,"from collections.abc import Callable, Sequence"]],"agentdeck.runtime.registry":[["importlib",5,"import importlib"],["importlib",6,"import importlib.util"],["importlib",10,"from importlib.machinery import ModuleSpec"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableKind"],["sys",7,"import sys"],["__future__",3,"from __future__ import annotations"],["dataclasses",9,"from dataclasses import dataclass, field"],["typing",12,"from typing import TYPE_CHECKING, Generic, TypeVar"],["pathlib",11,"from pathlib import Path"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError, NotFoundError"],["types",8,"import types"]],"agentdeck.bindings.native":[["agentdeck.adapters.bindings.native.binding",10,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.composition":[["__future__",16,"from __future__ import annotations"],["logging",18,"import logging"],["agentdeck.adapters.control.memory",21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["datetime",42,"from datetime import timedelta"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["collections",41,"from collections.abc import Mapping, Sequence"],["agentdeck.adapters.stores.memory",26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.core.ports",45,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"],["agentdeck.runtime.settings",31,"from agentdeck.runtime.settings import ("],["agentdeck.runtime.discovery",29,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.adapters.stores.postgres",244,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.adapters.stores.sqlite",27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.observers",112,"from agentdeck.observers import LangfuseObserver"],["typing",19,"from typing import TYPE_CHECKING"],["agentdeck.adapters.leases.memory",24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.runtime.service",30,"from agentdeck.runtime.service import Runtime"],["agentdeck.core.errors",28,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.adapters.stores.redis",235,"from agentdeck.adapters.stores.redis import RedisEventStore"],["agentdeck.adapters.leases.sqlite",25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"]],"agentdeck.core.reporting":[["agentdeck.core.events",24,"from agentdeck.core.events import KnownPayload"],["collections",21,"from collections import deque"],["agentdeck.core.events",18,"from agentdeck.core.events import Reported"],["__future__",12,"from __future__ import annotations"],["threading",15,"import threading"],["logging",14,"import logging"],["agentdeck.core.base",23,"from agentdeck.core.base import JsonData"],["typing",16,"from typing import TYPE_CHECKING"]],"agentdeck.bindings":[["agentdeck.bindings.binding",8,"from agentdeck.bindings.binding import ("],["importlib",5,"from importlib import import_module"],["agentdeck.bindings.native",29,"from agentdeck.bindings.native import Native as Native"],["typing",6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings.agui",28,"from agentdeck.bindings.agui import AGUI as AGUI"],["agentdeck.bindings.exposure",16,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.bindings.gateway",17,"from agentdeck.bindings.gateway import ("],["agentdeck.bindings.terminal",30,"from agentdeck.bindings.terminal import Terminal as Terminal"]],"agentdeck.runtime.service":[["agentdeck.core.events",62,"from agentdeck.core.events import InterruptReason, KnownPayload"],["typing",58,"from typing import Any"],["agentdeck.core.reporting",41,"from agentdeck.core.reporting import Reporter"],["dataclasses",19,"from dataclasses import dataclass, replace"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Mapping, Sequence"],["uuid",22,"from uuid import uuid4"],["agentdeck.errors",53,"from agentdeck.errors import ConfigError, InputError, NotFoundError, RunStateError, SessionBusyError, StoreError"],["logging",16,"import logging"],["contextlib",18,"from contextlib import aclosing, asynccontextmanager, suppress"],["asyncio",15,"import asyncio"],["agentdeck.core.events",28,"from agentdeck.core.events import ("],["agentdeck.core.errors",27,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.core.context",25,"from agentdeck.core.context import RunContext"],["datetime",20,"from datetime import timedelta"],["agentdeck.runtime.dispatch",54,"from agentdeck.runtime.dispatch import SinkDispatch"],["agentdeck.core.control",26,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.invocable",63,"from agentdeck.core.invocable import InvocableSpec"],["typing",21,"from typing import TYPE_CHECKING, Final"],["agentdeck.core.control",61,"from agentdeck.core.control import ControlSignal"],["collections",17,"from collections import deque"],["agentdeck.core.status",42,"from agentdeck.core.status import ("],["__future__",13,"from __future__ import annotations"],["agentdeck.core.content",24,"from agentdeck.core.content import as_answer"],["agentdeck.core.ports.store",65,"from agentdeck.core.ports.store import RunSummary"],["agentdeck.core.content",60,"from agentdeck.core.content import Input"],["agentdeck.core.ports",64,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"]],"agentdeck.core.ports.sink":[["typing",10,"from typing import TYPE_CHECKING"],["__future__",7,"from __future__ import annotations"],["abc",9,"from abc import ABC, abstractmethod"],["agentdeck.core.events",13,"from agentdeck.core.events import Event"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.mcp":[["pathlib",13,"from pathlib import Path"],["json",12,"import json"],["pydantic",16,"from pydantic import BaseModel, ConfigDict, Field"],["typing",14,"from typing import Any"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp.source":[["agentdeck.core.ports.tools",14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.adapters.tools.mcp.wiring",13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["typing",11,"from typing import TYPE_CHECKING"],["__future__",9,"from __future__ import annotations"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.authoring.agent":[["__future__",10,"from __future__ import annotations"],["agents",18,"from agents.lifecycle import AgentHooks"],["collections",15,"from collections.abc import Callable, Mapping, Sequence"],["agents",17,"from agents.agent_output import AgentOutputSchemaBase"],["agentdeck.authoring.runners.agent",169,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["typing",12,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.compile",163,"from agentdeck.authoring.compile import compile_agent"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.core.ports.executor":[["typing",10,"from typing import TYPE_CHECKING, ClassVar"],["abc",9,"from abc import ABC, abstractmethod"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",16,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",17,"from agentdeck.core.events import Event, KnownPayload"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import Input"],["collections",13,"from collections.abc import AsyncGenerator, Sequence"]],"agentdeck.adapters.stores.sqlite.store":[["__future__",9,"from __future__ import annotations"],["functools",16,"from functools import partial"],["pathlib",28,"from pathlib import Path"],["contextlib",14,"from contextlib import suppress"],["agentdeck.core.ports",21,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["agentdeck.adapters.stores",19,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["agentdeck.core.status",32,"from agentdeck.core.status import RunStatus"],["typing",17,"from typing import TYPE_CHECKING"],["agentdeck.core.context",30,"from agentdeck.core.context import RunContext"],["datetime",27,"from datetime import timedelta"],["sqlite3",13,"import sqlite3"],["json",12,"import json"],["agentdeck.core.events",31,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["asyncio",11,"import asyncio"],["agentdeck.core.status",22,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["datetime",15,"from datetime import datetime"],["agentdeck.core.events",20,"from agentdeck.core.events import Event"],["agentdeck.errors",23,"from agentdeck.errors import DuplicateKeyError, StoreError"],["collections",26,"from collections.abc import Callable, Sequence"]],"agentdeck.core.invocable":[["typing",11,"from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable"],["pydantic",13,"from pydantic import ConfigDict, Field"],["enum",10,"from enum import StrEnum"],["agentdeck.core.base",15,"from agentdeck.core.base import CoreModel"],["dataclasses",9,"from dataclasses import dataclass"],["collections",18,"from collections.abc import Callable"],["__future__",7,"from __future__ import annotations"]],"agentdeck.adapters.stores.postgres.store":[["agentdeck.errors",31,"from agentdeck.errors import DuplicateKeyError, StoreError"],["agentdeck.adapters.stores",27,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["agentdeck.core.ports",29,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",24,"from psycopg import errors as pg_errors"],["agentdeck.core.status",39,"from agentdeck.core.status import RunStatus"],["asyncio",19,"import asyncio"],["__future__",17,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.status",30,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["psycopg",25,"from psycopg import sql"],["datetime",35,"from datetime import timedelta"],["collections",34,"from collections.abc import Awaitable, Callable, Sequence"],["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["psycopg",23,"import psycopg"],["agentdeck.core.events",38,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["hashlib",20,"import hashlib"],["agentdeck.core.context",37,"from agentdeck.core.context import RunContext"]],"agentdeck.authoring.instructions":[["agentdeck.authoring.injection",23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["collections",28,"from collections.abc import Callable"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.context",24,"from agentdeck.core.context import RunContext, ToolCtx"],["inspect",20,"import inspect"],["agentdeck.errors",25,"from agentdeck.errors import ConfigError"],["__future__",18,"from __future__ import annotations"]],"agentdeck.errors":[["agentdeck.core.errors",11,"from agentdeck.core.errors import ("],["__future__",9,"from __future__ import annotations"]],"agentdeck.adapters.executors.openai_agents.executor":[["agentdeck.core.ports",29,"from agentdeck.core.ports import Executor"],["agents",36,"from agents.items import TResponseInputItem"],["agents",19,"from agents import Agent, Runner"],["agents",39,"from agents.usage import Usage as SDKUsage"],["typing",17,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.core.status",30,"from agentdeck.core.status import Play, continuation_of"],["__future__",10,"from __future__ import annotations"],["agentdeck.core.content",26,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agents",38,"from agents.result import RunResultStreaming"],["collections",14,"from collections.abc import Callable"],["pydantic",20,"from pydantic import BaseModel"],["agentdeck.core.events",28,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["agentdeck.adapters.executors.openai_agents.reconcile",22,"from agentdeck.adapters.executors.openai_agents.reconcile import reconcile, render_data_block"],["agentdeck.adapters.executors.openai_agents.translate",25,"from agentdeck.adapters.executors.openai_agents.translate import run_artifacts, translate"],["dataclasses",16,"from dataclasses import dataclass"],["agentdeck.adapters.executors.openai_agents.sessions",24,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore"],["agentdeck.core.events",43,"from agentdeck.core.events import Event, KnownPayload"],["contextlib",15,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["agentdeck.core.context",42,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",41,"from agentdeck.core.content import ContentBlock, Input"],["agents",37,"from agents.memory.session import Session"],["agentdeck.core.control",27,"from agentdeck.core.control import ControlSignalled"],["dataclasses",12,"import dataclasses"],["collections",34,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.errors",31,"from agentdeck.errors import ConfigError"],["json",13,"import json"]],"agentdeck.adapters.executors.openai_agents":[["agentdeck.adapters.executors.openai_agents.runconfig",6,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.sessions",7,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore, SessionFactory"],["agentdeck.adapters.executors.openai_agents.executor",5,"from agentdeck.adapters.executors.openai_agents.executor import OpenAIAgentsExecutor"]],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.core.ports":[["agentdeck.core.ports.sink",14,"from agentdeck.core.ports.sink import Observer"],["agentdeck.core.ports.tools",16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.lease",13,"from agentdeck.core.ports.lease import LeasePort"],["agentdeck.core.ports.store",15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.control",11,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.ports.executor",12,"from agentdeck.core.ports.executor import Executor"]],"agentdeck.core.context":[["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["agentdeck.core.events",29,"from agentdeck.core.events import KnownPayload, RunInterrupted"],["agentdeck.core.control",27,"from agentdeck.core.control import Gate, RunPausedError"],["asyncio",36,"from asyncio import AbstractEventLoop"],["typing",24,"from typing import TYPE_CHECKING, Any, NoReturn, Protocol, cast, runtime_checkable"],["inspect",21,"import inspect"],["uuid",25,"from uuid import uuid4"],["collections",37,"from collections.abc import Callable, Coroutine"],["dataclasses",23,"from dataclasses import dataclass, field"],["agentdeck.core.reporting",30,"from agentdeck.core.reporting import Reporter"],["logging",22,"import logging"],["agentdeck.core.base",39,"from agentdeck.core.base import JsonData"],["asyncio",20,"import asyncio"],["__future__",18,"from __future__ import annotations"],["agentdeck.core.invocable",40,"from agentdeck.core.invocable import AgentInstance"],["agentdeck.core.errors",28,"from agentdeck.core.errors import DOCS_URL, ConfigError"]],"agentdeck.testing":[["contextlib",19,"from contextlib import contextmanager"],["threading",18,"import threading"],["agents",24,"from agents.items import ModelResponse"],["asyncio",16,"import asyncio"],["agents",26,"from agents.usage import Usage"],["http",20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["openai",36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["agents",25,"from agents.models.interface import Model"],["typing",21,"from typing import TYPE_CHECKING, Any"],["openai",27,"from openai.types.responses import ("],["unittest",22,"from unittest.mock import patch"],["json",17,"import json"],["__future__",14,"from __future__ import annotations"],["collections",39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"]],"agentdeck.adapters.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",5,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.adapters.bindings.native":[["agentdeck.adapters.bindings.native.binding",6,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.runtime":[],"agentdeck.adapters.leases":[],"agentdeck.adapters.leases.memory.port":[["agentdeck.core.ports.lease",15,"from agentdeck.core.ports.lease import LeasePort"],["__future__",10,"from __future__ import annotations"],["datetime",19,"from datetime import timedelta"],["datetime",12,"from datetime import UTC, datetime"],["collections",18,"from collections.abc import Callable, Collection"],["typing",13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors.native":[["agentdeck.adapters.executors.native.executor",3,"from agentdeck.adapters.executors.native.executor import NativeExecutor"]],"agentdeck.core.control":[["enum",17,"from enum import StrEnum"],["__future__",13,"from __future__ import annotations"],["agentdeck.core.events",26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["time",15,"import time"],["agentdeck.core.status",21,"from agentdeck.core.status import Action, RunStatus, decide"],["dataclasses",16,"from dataclasses import dataclass"],["collections",24,"from collections.abc import Callable, Mapping"],["agentdeck.core.ports.control",27,"from agentdeck.core.ports.control import ControlPort"],["typing",18,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.events",20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"]],"agentdeck.adapters.stores.redis.store":[["agentdeck.adapters.stores",39,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["redis",49,"from redis.asyncio.client import Pipeline"],["urllib",34,"from urllib.parse import quote"],["agentdeck.core.events",40,"from agentdeck.core.events import Event"],["datetime",32,"from datetime import UTC, datetime"],["collections",46,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["__future__",29,"from __future__ import annotations"],["agentdeck.core.context",51,"from agentdeck.core.context import RunContext"],["datetime",47,"from datetime import timedelta"],["typing",33,"from typing import TYPE_CHECKING, cast"],["agentdeck.core.status",42,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.events",52,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["redis",36,"from redis.asyncio import Redis"],["json",31,"import json"],["agentdeck.core.ports",41,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.status",53,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",43,"from agentdeck.errors import DuplicateKeyError, StoreError"],["redis",37,"from redis.exceptions import RedisError, WatchError"]],"agentdeck.core.ports.control":[["typing",17,"from typing import TYPE_CHECKING"],["abc",16,"from abc import ABC, abstractmethod"],["__future__",14,"from __future__ import annotations"],["agentdeck.core.control",20,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.core.base":[["pydantic",12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["typing",10,"from typing import Annotated"],["math",9,"from math import isfinite"],["__future__",7,"from __future__ import annotations"]],"agentdeck.authoring.tools":[["agentdeck.errors",33,"from agentdeck.errors import ConfigError"],["agentdeck.core.context",32,"from agentdeck.core.context import RunContext, ToolCtx"],["inspect",26,"import inspect"],["asyncio",25,"import asyncio"],["agentdeck.core.workers",41,"from agentdeck.core.workers import SyncToolWorkers"],["collections",36,"from collections.abc import Callable"],["agents",29,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["agents",38,"from agents.tool import FunctionTool"],["typing",27,"from typing import TYPE_CHECKING, Any, get_type_hints"],["agentdeck.authoring.injection",40,"from agentdeck.authoring.injection import CallableAnalysis"],["__future__",23,"from __future__ import annotations"],["agentdeck.authoring.injection",31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"]],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.adapters.control":[],"agentdeck.authoring.web_search":[["agents",13,"from agents import function_tool"],["httpx",12,"import httpx"],["agentdeck.runtime.settings",15,"from agentdeck.runtime.settings import get_settings"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.adapters.executors.openai_agents.runconfig":[["__future__",15,"from __future__ import annotations"],["agents",28,"from agents.items import TResponseInputItem"],["os",17,"import os"],["openai",24,"from openai import AsyncOpenAI"],["agents",23,"from agents.models.multi_provider import MultiProviderMap"],["agents",22,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",18,"from dataclasses import dataclass"],["typing",19,"from typing import TYPE_CHECKING, Any, cast"],["agents",27,"from agents.handoffs import HandoffHistoryMapper"],["httpx",21,"import httpx"]],"agentdeck.adapters.telemetry.langfuse.trace":[["collections",18,"from collections.abc import Mapping"],["__future__",13,"from __future__ import annotations"],["typing",15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["agentdeck.core.events",20,"from agentdeck.core.events import Usage"]],"agentdeck.core.errors":[["agentdeck.core.status",20,"from agentdeck.core.status import RunStatus"],["typing",18,"from typing import Any"],["__future__",16,"from __future__ import annotations"]],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.sink",4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"],["agentdeck.adapters.telemetry.langfuse.client",3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"]],"agentdeck.adapters":[],"agentdeck.runtime.capture":[["pydantic",16,"from pydantic import BaseModel"],["__future__",12,"from __future__ import annotations"],["enum",14,"from enum import StrEnum"]],"agentdeck.core.ports.lease":[["typing",17,"from typing import TYPE_CHECKING"],["__future__",14,"from __future__ import annotations"],["collections",20,"from collections.abc import Collection"],["datetime",21,"from datetime import timedelta"],["abc",16,"from abc import ABC, abstractmethod"]],"agentdeck.adapters.bindings":[],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.status",12,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.events",20,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["collections",16,"from collections.abc import Callable, Sequence"],["agentdeck.core.events",10,"from agentdeck.core.events import Event"],["agentdeck.adapters.stores",9,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["datetime",6,"from datetime import UTC, datetime"],["agentdeck.core.ports",11,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["__future__",3,"from __future__ import annotations"],["asyncio",5,"import asyncio"],["agentdeck.errors",13,"from agentdeck.errors import DuplicateKeyError"],["typing",7,"from typing import TYPE_CHECKING"],["datetime",17,"from datetime import timedelta"]],"agentdeck.core.status":[["__future__",17,"from __future__ import annotations"],["agentdeck.core.events",24,"from agentdeck.core.events import TERMINAL_KINDS, RunInterrupted, RunResumed"],["agentdeck.core.content",23,"from agentdeck.core.content import answer_of"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",29,"from agentdeck.core.events import Event"],["enum",20,"from enum import StrEnum"],["dataclasses",19,"from dataclasses import dataclass"],["collections",27,"from collections.abc import Mapping, Sequence"]],"agentdeck.skills.bundle":[["re",5,"import re"],["pathlib",7,"from pathlib import Path"],["typing",8,"from typing import Any"],["yaml",10,"import yaml"],["agentdeck.errors",12,"from agentdeck.errors import ConfigError"],["dataclasses",6,"from dataclasses import dataclass, field"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.source",6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"],["agentdeck.adapters.tools.mcp.lifecycle",5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.wiring",8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["agentdeck.adapters.tools.mcp.transport",7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",3,"from __future__ import annotations"]],"agentdeck.authoring.interrupts":[["typing",10,"from typing import Any, Literal, NotRequired, TypedDict"],["__future__",8,"from __future__ import annotations"]],"agentdeck.adapters.executors.native.executor":[["agentdeck.errors",23,"from agentdeck.errors import ConfigError, InputError"],["agentdeck.core.context",17,"from agentdeck.core.context import WorkflowCtx"],["agentdeck.core.workers",33,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Executor"],["agentdeck.core.events",30,"from agentdeck.core.events import Event, KnownPayload"],["dataclasses",13,"from dataclasses import dataclass, field"],["typing",14,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.core.events",19,"from agentdeck.core.events import RunCompleted, Usage"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import NativeExecution, NativeInvocable"],["asyncio",11,"import asyncio"],["agentdeck.core.invocable",31,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.status",32,"from agentdeck.core.status import Continuation"],["agentdeck.core.content",16,"from agentdeck.core.content import DataBlock, answer_of, coerce_input"],["agentdeck.core.status",22,"from agentdeck.core.status import SUSPENDED_KINDS, Play, continuation_of"],["__future__",9,"from __future__ import annotations"],["agentdeck.core.content",28,"from agentdeck.core.content import Input"],["agentdeck.core.context",29,"from agentdeck.core.context import Agents, Invoker, RunContext"],["collections",26,"from collections.abc import AsyncGenerator, Sequence"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["contextlib",12,"from contextlib import suppress"]],"agentdeck.bindings.exposure":[["starlette",79,"from starlette.routing import Mount"],["agentdeck.bindings.binding",19,"from agentdeck.bindings.binding import Binding, Endpoint"],["collections",8,"from collections import Counter"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError"],["uvicorn",106,"import uvicorn"],["typing",10,"from typing import TYPE_CHECKING, Any"],["__future__",5,"from __future__ import annotations"],["starlette",78,"from starlette.applications import Starlette"],["contextlib",9,"from contextlib import asynccontextmanager"],["asyncio",7,"import asyncio"],["agentdeck.bindings.gateway",13,"from agentdeck.bindings.gateway import DeckGateway"],["agentdeck.deck",20,"from agentdeck.deck import Deck"],["collections",17,"from collections.abc import AsyncIterator, Sequence"],["agentdeck.bindings.binding",12,"from agentdeck.bindings.binding import PROTOCOL_SPI_VERSION, HttpEndpoint, StdioEndpoint"]],"agentdeck.adapters.stores":[["__future__",3,"from __future__ import annotations"],["agentdeck.core.context",11,"from agentdeck.core.context import RunContext"],["agentdeck.errors",8,"from agentdeck.errors import RunStateError"],["typing",5,"from typing import TYPE_CHECKING"],["agentdeck.core.status",7,"from agentdeck.core.status import RunStatus"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.adapters.executors.openai_agents.translate":[["__future__",10,"from __future__ import annotations"],["logging",14,"import logging"],["hashlib",12,"import hashlib"],["agents",20,"from agents.items import ToolCallItem, ToolCallOutputItem"],["typing",17,"from typing import TYPE_CHECKING, Any"],["json",13,"import json"],["agentdeck.core.content",24,"from agentdeck.core.content import ContentBlock, ImageBlock, ResourceBlock"],["re",15,"import re"],["urllib",18,"from urllib.parse import unquote_to_bytes"],["pydantic",22,"from pydantic import ValidationError"],["agents",21,"from agents.tool import ToolOutputFileContent, ToolOutputImage"],["base64",16,"from base64 import b64encode"],["collections",36,"from collections.abc import Iterator, Sequence"],["agentdeck.core.events",25,"from agentdeck.core.events import ("]],"agentdeck.adapters.leases.sqlite.port":[["agentdeck.errors",23,"from agentdeck.errors import StoreError"],["typing",20,"from typing import TYPE_CHECKING"],["pathlib",28,"from pathlib import Path"],["agentdeck.core.ports.lease",22,"from agentdeck.core.ports.lease import LeasePort"],["__future__",14,"from __future__ import annotations"],["sqlite3",17,"import sqlite3"],["datetime",27,"from datetime import timedelta"],["asyncio",16,"import asyncio"],["contextlib",18,"from contextlib import suppress"],["functools",19,"from functools import partial"],["collections",26,"from collections.abc import Callable, Collection"]],"agentdeck.skills":[["__future__",10,"from __future__ import annotations"],["agentdeck.errors",16,"from agentdeck.errors import ConfigError, NotFoundError"],["typing",13,"from typing import TYPE_CHECKING"],["pathlib",12,"from pathlib import Path"],["collections",20,"from collections.abc import Sequence"],["agentdeck.skills.bundle",17,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["agentdeck.core.errors",15,"from agentdeck.core.errors import DOCS_URL"]],"agentdeck.core.ports.tools":[["agentdeck.core.invocable",22,"from agentdeck.core.invocable import InvocableSpec"],["typing",15,"from typing import TYPE_CHECKING, Any"],["__future__",12,"from __future__ import annotations"],["pydantic",17,"from pydantic import ConfigDict"],["agentdeck.core.base",19,"from agentdeck.core.base import CoreModel"],["abc",14,"from abc import ABC, abstractmethod"]],"agentdeck.authoring":[["agentdeck.authoring.agent",7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"],["agentdeck.authoring.interrupts",8,"from agentdeck.authoring.interrupts import InterruptResult"]],"agentdeck.adapters.tools.mcp.wiring":[["__future__",8,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.lifecycle",12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agents",17,"from agents.mcp import MCPServer"],["typing",10,"from typing import TYPE_CHECKING"],["collections",15,"from collections.abc import Iterable, Sequence"]],"agentdeck.adapters.telemetry":[],"agentdeck.authoring.runners.agent":[["__future__",15,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["contextlib",17,"from contextlib import aclosing"],["dataclasses",18,"from dataclasses import dataclass, field"],["agentdeck.runtime.settings",24,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["agents",21,"from agents import Agent, RunConfig, Runner, RunResult"],["collections",27,"from collections.abc import AsyncGenerator, AsyncIterator"],["typing",19,"from typing import TYPE_CHECKING, Any, Self, cast"]],"agentdeck.adapters.telemetry.langfuse.client":[["os",16,"import os"],["agentdeck.adapters.telemetry.langfuse.trace",24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"],["__future__",13,"from __future__ import annotations"],["collections",22,"from collections.abc import Mapping"],["agentdeck.adapters.telemetry.langfuse.sink",19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["langfuse",60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["langfuse",102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["typing",17,"from typing import TYPE_CHECKING, Any"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import LangfuseSettings"],["agentdeck.core.events",25,"from agentdeck.core.events import Usage"],["logging",15,"import logging"]],"agentdeck.core":[["agentdeck.core.context",20,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",21,"from agentdeck.core.events import ("],["agentdeck.core.content",7,"from agentdeck.core.content import ("],["agentdeck.core.status",57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.reporting",56,"from agentdeck.core.reporting import Reporter"],["agentdeck.core.invocable",55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"]],"agentdeck.adapters.bindings.terminal.binding":[["uuid",16,"from uuid import uuid4"],["asyncio",11,"import asyncio"],["contextlib",12,"import contextlib"],["sys",13,"import sys"],["__future__",9,"from __future__ import annotations"],["agentdeck",22,"from agentdeck import Event, Run"],["typing",15,"from typing import TYPE_CHECKING, Any, TextIO"],["agentdeck.bindings",23,"from agentdeck.bindings import Binding"],["agentdeck.errors",19,"from agentdeck.errors import ConfigError, InputError, RunStateError"],["threading",14,"import threading"],["agentdeck.bindings",18,"from agentdeck.bindings import PROTOCOL_SPI_VERSION, BindingInfo, DeckGateway, StdioEndpoint"]],"agentdeck.adapters.executors.stub.executor":[["agentdeck.core.status",22,"from agentdeck.core.status import Play, continuation_of"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["collections",26,"from collections.abc import AsyncGenerator"],["agentdeck.core.events",19,"from agentdeck.core.events import RunInterrupted"],["typing",16,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.errors",23,"from agentdeck.errors import ConfigError"],["agentdeck.core.content",28,"from agentdeck.core.content import Input"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Executor"],["collections",15,"from collections.abc import Sequence"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",30,"from agentdeck.core.events import Event, KnownPayload"],["__future__",13,"from __future__ import annotations"]],"agentdeck.adapters.executors.stub":[["agentdeck.adapters.executors.stub.executor",3,"from agentdeck.adapters.executors.stub.executor import Step, StubExecutor, stub_spec"]],"agentdeck.bindings.binding":[["dataclasses",8,"from dataclasses import dataclass"],["agentdeck.bindings.gateway",14,"from agentdeck.bindings.gateway import DeckGateway"],["__future__",6,"from __future__ import annotations"],["typing",9,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["collections",12,"from collections.abc import Awaitable, Callable"]],"agentdeck.runtime.settings":[["collections",17,"from collections.abc import Mapping"],["collections",28,"from collections.abc import Callable"],["logging",15,"import logging"],["pydantic_settings",25,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["pydantic",24,"from pydantic import BaseModel, ConfigDict, Field, field_validator"],["datetime",18,"from datetime import timedelta"],["os",16,"import os"],["typing",21,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["dotenv",23,"from dotenv import load_dotenv"],["functools",19,"from functools import lru_cache"],["pathlib",20,"from pathlib import Path"],["__future__",13,"from __future__ import annotations"]],"agentdeck.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",9,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.runtime.dispatch":[["collections",29,"from collections.abc import Callable"],["__future__",21,"from __future__ import annotations"],["asyncio",23,"import asyncio"],["logging",24,"import logging"],["agentdeck.core.ports",32,"from agentdeck.core.ports import Observer"],["typing",26,"from typing import TYPE_CHECKING"],["agentdeck.core.events",31,"from agentdeck.core.events import Event"],["time",25,"import time"]],"agentdeck.views":[["__future__",14,"from __future__ import annotations"],["agentdeck.core.events",23,"from agentdeck.core.events import Event"],["agentdeck.core.status",18,"from agentdeck.core.status import LIFECYCLE_KINDS"],["collections",21,"from collections.abc import Callable"],["typing",16,"from typing import TYPE_CHECKING"]],"agentdeck.observers":[["agentdeck.core.events",26,"from agentdeck.core.events import Event"],["pathlib",18,"from pathlib import Path"],["openinference",42,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.runtime.settings",23,"from agentdeck.runtime.settings import get_settings"],["agentdeck.views",27,"from agentdeck.views import View"],["__future__",16,"from __future__ import annotations"],["agentdeck.adapters.telemetry.langfuse.client",116,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["agentdeck.errors",22,"from agentdeck.errors import ConfigError"],["agents",41,"from agents import set_trace_processors"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Observer"],["typing",19,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors.openai_agents.reconcile":[["agentdeck.core.events",42,"from agentdeck.core.events import Event"],["weakref",30,"from weakref import WeakKeyDictionary"],["json",27,"import json"],["agents",38,"from agents.items import TResponseInputItem"],["typing",29,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.core.events",33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"],["agents",39,"from agents.memory.session import Session"],["collections",36,"from collections.abc import Iterable, Sequence"],["agentdeck.core.content",41,"from agentdeck.core.content import Input"],["logging",28,"import logging"],["asyncio",26,"import asyncio"],["__future__",24,"from __future__ import annotations"],["agentdeck.core.content",32,"from agentdeck.core.content import DataBlock, TextBlock"]],"agentdeck.authoring.hooks":[["agents",24,"from agents.lifecycle import AgentHooks"],["agentdeck.authoring.injection",26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["inspect",21,"import inspect"],["__future__",19,"from __future__ import annotations"],["typing",22,"from typing import TYPE_CHECKING, Any"],["agentdeck.errors",28,"from agentdeck.errors import ConfigError"],["agentdeck.core.context",27,"from agentdeck.core.context import RunContext, ToolCtx"],["collections",31,"from collections.abc import Callable"]],"agentdeck.deck":[["agentdeck.mcp",88,"from agentdeck.mcp import MCP"],["agentdeck.adapters.executors.native",48,"from agentdeck.adapters.executors.native import NativeExecutor"],["agentdeck.core.context",65,"from agentdeck.core.context import RunContext"],["typing",46,"from typing import TYPE_CHECKING, Any, Literal, cast"],["agentdeck.runtime.settings",91,"from agentdeck.runtime.settings import Settings, get_settings"],["asyncio",38,"import asyncio"],["agentdeck.authoring.agent",51,"from agentdeck.authoring.agent import Agent"],["logging",40,"import logging"],["agentdeck.errors",79,"from agentdeck.errors import ("],["agentdeck.adapters.tools.mcp.lifecycle",50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.core.status",77,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Controls, Operation, RunStatus, Verdict, can_of"],["agentdeck.composition",57,"from agentdeck.composition import ("],["types",45,"from types import MappingProxyType"],["agentdeck.runtime.service",106,"from agentdeck.runtime.service import PendingRun, Runtime"],["functools",39,"import functools"],["agentdeck.core.events",104,"from agentdeck.core.events import Event, Usage"],["agentdeck.bindings.exposure",102,"from agentdeck.bindings.exposure import Exposure"],["builtins",95,"import builtins"],["__future__",36,"from __future__ import annotations"],["agentdeck.skills",92,"from agentdeck.skills import Skills"],["agentdeck.authoring.interrupts",100,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.interrupts",54,"from agentdeck.authoring.interrupts import interrupt_result"],["uuid",41,"import uuid"],["collections",96,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["agentdeck.authoring.native",55,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.content",103,"from agentdeck.core.content import Input"],["agentdeck.authoring.compile",52,"from agentdeck.authoring.compile import compile_agent, refresh_mcp_status"],["agentdeck.runtime.registry",90,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.authoring.skills",56,"from agentdeck.authoring.skills import skills_resolver"],["agentdeck.bindings.binding",101,"from agentdeck.bindings.binding import Binding"],["collections",42,"from collections import ChainMap"],["agentdeck.core.workers",78,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.bindings.exposure",686,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.core.events",67,"from agentdeck.core.events import ("],["agentdeck.authoring.injection",53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.adapters.executors.openai_agents",49,"from agentdeck.adapters.executors.openai_agents import ExecutionStore, OpenAIAgentsExecutor, SessionFactory"],["agentdeck.core.control",66,"from agentdeck.core.control import Signal"],["agents",98,"from agents.memory.session import Session"],["agentdeck.core.ports",105,"from agentdeck.core.ports import EventStorePort, Executor"],["pathlib",44,"from pathlib import Path"],["agentdeck.core.invocable",75,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["agentdeck.core.ports",76,"from agentdeck.core.ports import Observer"],["agentdeck.runtime.discovery",89,"from agentdeck.runtime.discovery import EXECUTOR_FOR_KIND, InvocableRegistry"],["agentdeck.core.content",64,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["contextlib",43,"from contextlib import aclosing, suppress"]],"agentdeck.core.ports.store":[["typing",11,"from typing import TYPE_CHECKING"],["datetime",17,"from datetime import timedelta"],["dataclasses",10,"from dataclasses import dataclass"],["abc",9,"from abc import ABC, abstractmethod"],["collections",16,"from collections.abc import Sequence"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.status",13,"from agentdeck.core.status import RunStatus, status_of"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",20,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"]],"agentdeck.adapters.tools.mcp.transport":[["contextlib",13,"from contextlib import AsyncExitStack, suppress"],["__future__",9,"from __future__ import annotations"],["asyncio",11,"import asyncio"],["agents",17,"from agents.mcp import MCPServerStreamableHttp"],["collections",20,"from collections.abc import Awaitable, Callable"],["typing",14,"from typing import TYPE_CHECKING, Any, TypeVar"],["httpx",16,"import httpx"],["logging",12,"import logging"]]}
|
|
@@ -8,6 +8,33 @@ Fixed / Security` order - and are written to be attached to a release as-is.
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [6.0.2] - 2026-09-04
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **A `ctx.invoke` child run's events reach an `Observer` under its parent's session** (#491). A
|
|
16
|
+
sink bucketing by conversation now sees the child's `run.started` / `usage.reported` /
|
|
17
|
+
`run.completed` under it, instead of losing them to a process-wide session-less bucket shared
|
|
18
|
+
with every other conversation's children. Live sinks only, and attribution only: the child's
|
|
19
|
+
stored rows stay session-less, so it still claims no session, is still played with its own
|
|
20
|
+
history, and still contributes nothing to the conversation's transcript. Read a stored child
|
|
21
|
+
back through `run.started.parent_run_id`.
|
|
22
|
+
- **A workflow sharing a conversation's `session_id` no longer duplicates its input into the
|
|
23
|
+
agent's next prompt** (#490). Only an agent turn is a conversational turn: a workflow or tool
|
|
24
|
+
run passed the same `session_id` joins that conversation's event stream, so an operator
|
|
25
|
+
surface keyed by the session sees it, but its input is an orchestration argument and never
|
|
26
|
+
reaches the model as something the user said. "Enrich, then answer" on one session is now the
|
|
27
|
+
one obvious path, with no derived `<session>|step` id to invent.
|
|
28
|
+
One limit, for a conversation that already ran a workflow on a shared `session_id` under an
|
|
29
|
+
earlier release: that release replayed the workflow's input into the engine's session, which
|
|
30
|
+
the transcript no longer counts, so the two disagree from that message on. Such a session
|
|
31
|
+
reports `openai_agents.session_diverged` on every later turn and skips crash repair, the
|
|
32
|
+
reconciliation that replays a message the log recorded and a killed process never wrote. Turns
|
|
33
|
+
themselves are unaffected, and nothing is written into a session AgentDeck cannot account for.
|
|
34
|
+
Reset one with `await deck.session_for("<session-id>").clear_session()`, which drops that
|
|
35
|
+
conversation's engine-side memory (the event log is untouched), or move the conversation to a
|
|
36
|
+
new `session_id`. A session that never shared a workflow run is unaffected.
|
|
37
|
+
|
|
11
38
|
## [6.0.1] - 2026-09-04
|
|
12
39
|
|
|
13
40
|
### Changed
|
|
@@ -2732,7 +2759,8 @@ documentation platform and its CI.
|
|
|
2732
2759
|
`runtime/tools.py`, `PluginRegistry.pick`, `skill_runtime` LLM/batch
|
|
2733
2760
|
helpers; deps typer, rich, prompt-toolkit.
|
|
2734
2761
|
|
|
2735
|
-
[Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.
|
|
2762
|
+
[Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.2...HEAD
|
|
2763
|
+
[6.0.2]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.1...v6.0.2
|
|
2736
2764
|
[6.0.1]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.0...v6.0.1
|
|
2737
2765
|
[6.0.0]: https://github.com/agentdecksdk/agentdeck/compare/v5.2.1...v6.0.0
|
|
2738
2766
|
[5.2.1]: https://github.com/agentdecksdk/agentdeck/compare/v5.2.0...v5.2.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentdeck-sdk
|
|
3
|
-
Version: 6.0.
|
|
3
|
+
Version: 6.0.2
|
|
4
4
|
Summary: Build agents, tools and workflows as normal software, and serve them through bindings: one Deck, reachable over its own HTTP wire, the terminal and AG-UI, with the same runs and controls everywhere.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
{agentdeck_sdk-6.0.1 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/reconcile.py
RENAMED
|
@@ -112,12 +112,15 @@ def _log_transcript(history: Sequence[Event]) -> list[Message]:
|
|
|
112
112
|
assistant's side on ``message.completed``. Deltas are streaming UX and tool traffic is not
|
|
113
113
|
message level, so neither belongs here.
|
|
114
114
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
115
|
+
Which ``run.started`` inputs count is the part that is not obvious:
|
|
116
|
+
|
|
117
|
+
| the run | its input | why |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| an agent turn | counts | the SDK persists a turn's input with its output, so the session holds both |
|
|
120
|
+
| cancelled before it produced anything | dropped | the engine read nothing, so the user's retry would arrive behind a copy of itself |
|
|
121
|
+
| cancelled after an answer | counts | dropping it would misalign the two transcripts on every later turn |
|
|
122
|
+
| failed | counts | a session write that died is what a failure looks like here |
|
|
123
|
+
| a workflow or tool (#490) | dropped | no model played it: sharing a conversation's ``session_id`` puts the run on that conversation's event stream, where an operator surface keyed by the session reads it, and its input is an orchestration argument nobody said |
|
|
121
124
|
"""
|
|
122
125
|
cancelled = {event.run_id for event in history if isinstance(event.payload, RunCancelled)}
|
|
123
126
|
answered = {event.run_id for event in history if isinstance(event.payload, MessageCompleted)}
|
|
@@ -125,7 +128,7 @@ def _log_transcript(history: Sequence[Event]) -> list[Message]:
|
|
|
125
128
|
transcript: list[Message] = []
|
|
126
129
|
for event in history:
|
|
127
130
|
payload = event.payload
|
|
128
|
-
if isinstance(payload, RunStarted) and event.run_id in abandoned:
|
|
131
|
+
if isinstance(payload, RunStarted) and (event.run_id in abandoned or payload.kind_of_invocable != "agent"):
|
|
129
132
|
continue
|
|
130
133
|
if isinstance(payload, RunStarted | InputAppended):
|
|
131
134
|
transcript.append(("user", _text_of(payload.input)))
|
|
@@ -95,11 +95,15 @@ class _Delegation:
|
|
|
95
95
|
``spent`` is what this run's *settled children* have used, folded into its own total when it
|
|
96
96
|
ends; ``children`` counts every one it started, not the ones still running, because the bound
|
|
97
97
|
is on the tree a run can build and not on how much of it is in flight at once.
|
|
98
|
+
|
|
99
|
+
``session`` is the conversation the run at the top of this edge was started on, carried down
|
|
100
|
+
it so a child's events can name the conversation they came from (:meth:`Runtime._attributed`).
|
|
98
101
|
"""
|
|
99
102
|
|
|
100
103
|
parent: str | None
|
|
101
104
|
depth: int
|
|
102
105
|
invocable: str
|
|
106
|
+
session: str | None = None
|
|
103
107
|
children: int = 0
|
|
104
108
|
spent: Usage | None = None
|
|
105
109
|
|
|
@@ -221,7 +225,6 @@ class Runtime:
|
|
|
221
225
|
One turn per session at a time: opening the run is a conditional append that fails if
|
|
222
226
|
the session already has one in flight, so a second concurrent turn raises
|
|
223
227
|
``SessionBusyError`` instead of running against a conversation that is still changing.
|
|
224
|
-
|
|
225
228
|
The engine's exception, if any, reaches the caller - but ``run.failed`` is recorded
|
|
226
229
|
first, so the log tells the whole story even when nobody was listening. Every exit
|
|
227
230
|
closes the run in the log: a consumer that walks away gets ``run.cancelled``, whether it
|
|
@@ -232,7 +235,7 @@ class Runtime:
|
|
|
232
235
|
self._new_run_context(run_id=run_id, key=key, session_id=session_id, namespace=namespace, data=context),
|
|
233
236
|
spec,
|
|
234
237
|
)
|
|
235
|
-
self.delegate(ctx.run_id, parent_run_id, spec.name)
|
|
238
|
+
self.delegate(ctx.run_id, parent_run_id, spec.name, session_id)
|
|
236
239
|
# ponytail: whole log per run - window it (or hand the engine a summary) once a
|
|
237
240
|
# session's history outgrows one read, which a real store will notice long before this does
|
|
238
241
|
history = await self._history(ctx)
|
|
@@ -321,7 +324,7 @@ class Runtime:
|
|
|
321
324
|
opened = next((event.payload for event in events if isinstance(event.payload, RunStarted)), None)
|
|
322
325
|
if opened is None:
|
|
323
326
|
return
|
|
324
|
-
self.delegate(ctx.run_id, opened.parent_run_id, spec.name)
|
|
327
|
+
self.delegate(ctx.run_id, opened.parent_run_id, spec.name, await self._inherited(opened, ctx, ctx.session_id))
|
|
325
328
|
if (why := _refuses(events, value)) is not None:
|
|
326
329
|
# Recorded, then raised, and both before the claim: the run is still waiting, so the
|
|
327
330
|
# answerer can send a real one - and the log keeps the fact that somebody tried.
|
|
@@ -399,7 +402,7 @@ class Runtime:
|
|
|
399
402
|
session_id, opened = started
|
|
400
403
|
spec, executor = self._resolve(opened.invocable)
|
|
401
404
|
run_ctx, reports = self._bind(replace(ctx, run_id=run_id, session_id=session_id), spec)
|
|
402
|
-
self.delegate(run_id, opened.parent_run_id, spec.name)
|
|
405
|
+
self.delegate(run_id, opened.parent_run_id, spec.name, await self._inherited(opened, ctx, session_id))
|
|
403
406
|
opening = await self._claim_resume(spec, run_ctx, None, reason)
|
|
404
407
|
if opening is None:
|
|
405
408
|
return
|
|
@@ -753,7 +756,7 @@ class Runtime:
|
|
|
753
756
|
# whole window. The abandoned run stays open instead, and the next turn - which
|
|
754
757
|
# finds it just as stale - closes it then.
|
|
755
758
|
logger.exception("could not close abandoned run %s; leaving it for the next turn", tail.run_id)
|
|
756
|
-
await self._fan_out(event)
|
|
759
|
+
await self._fan_out(event, self._attributed(ctx.run_id))
|
|
757
760
|
return event
|
|
758
761
|
|
|
759
762
|
async def _session_busy_message(self, ctx: RunContext, held_by: str | None) -> str:
|
|
@@ -857,7 +860,7 @@ class Runtime:
|
|
|
857
860
|
session_id, opened = started
|
|
858
861
|
closing = replace(ctx, session_id=session_id)
|
|
859
862
|
event = (await self._store.append([RunCancelled(reason=reason)], closing, opened.invocable))[0]
|
|
860
|
-
await self._fan_out(event)
|
|
863
|
+
await self._fan_out(event, self._attributed(run_id))
|
|
861
864
|
|
|
862
865
|
async def _claim_resume(
|
|
863
866
|
self, spec: InvocableSpec, ctx: RunContext, value: Any, reason: str | None = None
|
|
@@ -885,7 +888,7 @@ class Runtime:
|
|
|
885
888
|
event = await self._store.claim_resume(resumed, ctx, spec.name)
|
|
886
889
|
if event is None:
|
|
887
890
|
return None
|
|
888
|
-
await self._fan_out(event)
|
|
891
|
+
await self._fan_out(event, self._attributed(ctx.run_id))
|
|
889
892
|
return event
|
|
890
893
|
|
|
891
894
|
async def pending(self, *, namespace: str | None = None) -> list[PendingRun]:
|
|
@@ -1028,7 +1031,7 @@ class Runtime:
|
|
|
1028
1031
|
)
|
|
1029
1032
|
return replace(ctx, gate=gate, reporter=Reporter(reports), agent=spec.metadata.get("agent")), reports
|
|
1030
1033
|
|
|
1031
|
-
def delegate(self, run_id: str, parent_run_id: str | None, invocable: str) -> None:
|
|
1034
|
+
def delegate(self, run_id: str, parent_run_id: str | None, invocable: str, session_id: str | None = None) -> None:
|
|
1032
1035
|
"""Place ``run_id`` in the delegation tree, refusing it if that puts the tree past a bound.
|
|
1033
1036
|
|
|
1034
1037
|
Called wherever a run is played, so a child answered or resumed in a later segment is
|
|
@@ -1064,7 +1067,12 @@ class Runtime:
|
|
|
1064
1067
|
f"a workflow that starts them as runs of its own."
|
|
1065
1068
|
)
|
|
1066
1069
|
above.children += 1
|
|
1067
|
-
self._tree[run_id] = _Delegation(
|
|
1070
|
+
self._tree[run_id] = _Delegation(
|
|
1071
|
+
parent=parent_run_id,
|
|
1072
|
+
depth=depth,
|
|
1073
|
+
invocable=invocable,
|
|
1074
|
+
session=above.session if above is not None else session_id,
|
|
1075
|
+
)
|
|
1068
1076
|
|
|
1069
1077
|
def _rolling_up(self, payload: KnownPayload, ctx: RunContext) -> KnownPayload:
|
|
1070
1078
|
"""A terminal payload with what this run delegated folded into it, and its own total
|
|
@@ -1143,19 +1151,61 @@ class Runtime:
|
|
|
1143
1151
|
"""
|
|
1144
1152
|
if ctx.run_id in self._abandoned:
|
|
1145
1153
|
raise asyncio.CancelledError(f"run {ctx.run_id} was abandoned by the deck closing")
|
|
1154
|
+
# Read before the roll-up, which retires this run's place in the tree along with its
|
|
1155
|
+
# total: the terminal event is the one a consumer most needs attributed.
|
|
1156
|
+
session = self._attributed(ctx.run_id)
|
|
1146
1157
|
event = (await self._store.append([self._rolling_up(payload, ctx)], ctx, spec.name))[0]
|
|
1147
|
-
await self._fan_out(event)
|
|
1158
|
+
await self._fan_out(event, session)
|
|
1148
1159
|
return event
|
|
1149
1160
|
|
|
1150
|
-
async def _fan_out(self, event: Event) -> None:
|
|
1151
|
-
"""Sinks get a copy of the stream and no say in it: never called inline, never fatal
|
|
1161
|
+
async def _fan_out(self, event: Event, session: str | None = None) -> None:
|
|
1162
|
+
"""Sinks get a copy of the stream and no say in it: never called inline, never fatal -
|
|
1163
|
+
with ``session`` stamped on that copy when the run has one to inherit
|
|
1164
|
+
(:meth:`_attributed`), which is the one place a sink's envelope differs from the log's.
|
|
1152
1165
|
|
|
1153
1166
|
Each sink gets a queue put rather than an ``emit``, and a full queue costs one loop
|
|
1154
1167
|
turn before it starts dropping - so the run is never waiting on a sink, only ever on
|
|
1155
1168
|
the loop it already shares with one.
|
|
1156
1169
|
"""
|
|
1170
|
+
emitted = event if session is None else event.model_copy(update={"session_id": session})
|
|
1157
1171
|
for dispatch in self._sinks:
|
|
1158
|
-
await dispatch.submit(
|
|
1172
|
+
await dispatch.submit(emitted)
|
|
1173
|
+
|
|
1174
|
+
async def _inherited(self, opening: RunStarted, ctx: RunContext, session_id: str | None) -> str | None:
|
|
1175
|
+
"""The session a run being played belongs to: ``session_id``, its own, unless it is a
|
|
1176
|
+
child - then the conversation above it, walked up the recorded delegation edge.
|
|
1177
|
+
|
|
1178
|
+
Walked rather than read once, because an invoker that is itself a child has a
|
|
1179
|
+
session-less opening by this design, so one hop up answers only at depth 1. For the
|
|
1180
|
+
worker that never played the parent and so has no tree entry to inherit from; one this
|
|
1181
|
+
worker *is* playing carries the answer already, which :meth:`delegate` prefers.
|
|
1182
|
+
"""
|
|
1183
|
+
parent_run_id = opening.parent_run_id
|
|
1184
|
+
if parent_run_id is None or parent_run_id in self._tree:
|
|
1185
|
+
return session_id
|
|
1186
|
+
for _ in range(MAX_DELEGATION_DEPTH):
|
|
1187
|
+
found = await self._opening_of(parent_run_id, ctx)
|
|
1188
|
+
if found is None:
|
|
1189
|
+
return None
|
|
1190
|
+
inherited, above = found
|
|
1191
|
+
if inherited is not None:
|
|
1192
|
+
return inherited
|
|
1193
|
+
if above.parent_run_id is None:
|
|
1194
|
+
return None
|
|
1195
|
+
parent_run_id = above.parent_run_id
|
|
1196
|
+
return None
|
|
1197
|
+
|
|
1198
|
+
def _attributed(self, run_id: str) -> str | None:
|
|
1199
|
+
"""The conversation a delegated run's events name - ``None`` for a run that is nobody's
|
|
1200
|
+
child, which already carries its own session on every envelope the store writes.
|
|
1201
|
+
|
|
1202
|
+
Stamped as the event goes out rather than written, because a child written under the
|
|
1203
|
+
conversation would be *in* it: that log is the transcript its executor is played with
|
|
1204
|
+
and the set its claim scans, so the child would be prompted with the conversation and
|
|
1205
|
+
refused for the very run that invoked it (#491).
|
|
1206
|
+
"""
|
|
1207
|
+
placed = self._tree.get(run_id)
|
|
1208
|
+
return placed.session if placed is not None and placed.parent is not None else None
|
|
1159
1209
|
|
|
1160
1210
|
|
|
1161
1211
|
def _summed(one: Usage, other: Usage) -> Usage:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by scripts/generate_docs_reference.py. Do not edit by hand.
|
|
2
|
-
export const CURRENT_VERSION = "6.0.
|
|
2
|
+
export const CURRENT_VERSION = "6.0.2"
|
|
@@ -113,3 +113,8 @@ the rest up.
|
|
|
113
113
|
| `deck.run("summarize", {"a": 1})` | `summarize(ctx, payload)` gets the mapping whole |
|
|
114
114
|
|
|
115
115
|
One parameter is one value, a mapping included. Several parameters bind by name.
|
|
116
|
+
|
|
117
|
+
That input is an argument, never a conversational turn. Pass a workflow the `session_id` an
|
|
118
|
+
agent is using and its run joins that conversation's event stream, so one operator surface sees
|
|
119
|
+
both; the argument stays out of the message history the agent's model call is handed. See
|
|
120
|
+
[Sessions](/runs-and-control/sessions) for "enrich, then answer" on one conversation.
|
|
@@ -33,6 +33,13 @@ Every event carries the same envelope, whatever its kind:
|
|
|
33
33
|
`seq` and `ts` are assigned by the store, not the producer, so ordering is the store's to
|
|
34
34
|
guarantee rather than a caller's to get right.
|
|
35
35
|
|
|
36
|
+
A `ctx.invoke` child run has no session of its own, so its stored `session_id` is null. An
|
|
37
|
+
`Observer` gets that one field rewritten to the session the child's invoker was started on, so a
|
|
38
|
+
live consumer can bucket the child under the conversation. Every read of the log returns the
|
|
39
|
+
null - `Run.events()`, `deck.stream()` and `GET /runs/{run_id}/events` all replay stored rows - so
|
|
40
|
+
correlate a stored child through `run.started.parent_run_id`, following it up until a run that
|
|
41
|
+
has a session, since a nested child's invoker is session-less too.
|
|
42
|
+
|
|
36
43
|
`v` is `{major: 4, minor: 0}`. A reader refuses any other major outright rather than guessing at a
|
|
37
44
|
wire shape it was never taught, so a log written by another major is read with the release that
|
|
38
45
|
wrote it or replayed into a new store. There is no migration.
|
|
@@ -43,7 +50,7 @@ Each of these sets the run's status. See [Lifecycle & Control](/runs-and-control
|
|
|
43
50
|
|
|
44
51
|
| Kind | Payload | Notes |
|
|
45
52
|
|---|---|---|
|
|
46
|
-
| `run.started` | `invocable`, `kind_of_invocable`, `input` | Opens the run |
|
|
53
|
+
| `run.started` | `invocable`, `kind_of_invocable`, `input`, `parent_run_id` | Opens the run. `parent_run_id` is set on a `ctx.invoke` child and names the run that invoked it |
|
|
47
54
|
| `run.completed` | `output`, `usage` | Terminal. `usage` is the authoritative total |
|
|
48
55
|
| `run.failed` | `error_code`, `message`, `retryable` | Terminal. `error_code` is closed, so branch on it rather than parsing the message |
|
|
49
56
|
| `run.paused` | `reason` | Not terminal, and not waiting on an answer |
|
|
@@ -14,39 +14,42 @@ description: What changed in each release of AgentDeck, and what to do about it
|
|
|
14
14
|
Rendered from the repository's own `CHANGELOG.md`, so this page cannot drift from it. Entries
|
|
15
15
|
are written for someone using the package: what changed, and what to do about it.
|
|
16
16
|
|
|
17
|
-
The current release is **v6.0.
|
|
17
|
+
The current release is **v6.0.2**. Earlier releases are listed at the bottom.
|
|
18
18
|
|
|
19
|
-
## v6.0.
|
|
19
|
+
## v6.0.2
|
|
20
20
|
|
|
21
21
|
*Released 2026-09-04.*
|
|
22
22
|
|
|
23
|
-
### Changed
|
|
24
|
-
|
|
25
|
-
- **A completed run reports the artifacts it produced** (#636). `run.completed`'s
|
|
26
|
-
`output: list[ContentBlock]` now leads with the media the run made - a hosted
|
|
27
|
-
`ImageGenerationTool` image, a rich tool's image or file - and closes with the final text or
|
|
28
|
-
structured block, so a channel can send the image and caption it from one result instead of
|
|
29
|
-
reassembling it from executor events. Nothing else from the transcript is promoted, and a
|
|
30
|
-
text-only run is byte for byte what it was. The inline cap on `ImageBlock`/`AudioBlock` moves
|
|
31
|
-
from 1 MB to 8 MB decoded, because a generated PNG does not fit under 1 MB.
|
|
32
|
-
|
|
33
23
|
### Fixed
|
|
34
24
|
|
|
35
|
-
- **A
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
25
|
+
- **A `ctx.invoke` child run's events reach an `Observer` under its parent's session** (#491). A
|
|
26
|
+
sink bucketing by conversation now sees the child's `run.started` / `usage.reported` /
|
|
27
|
+
`run.completed` under it, instead of losing them to a process-wide session-less bucket shared
|
|
28
|
+
with every other conversation's children. Live sinks only, and attribution only: the child's
|
|
29
|
+
stored rows stay session-less, so it still claims no session, is still played with its own
|
|
30
|
+
history, and still contributes nothing to the conversation's transcript. Read a stored child
|
|
31
|
+
back through `run.started.parent_run_id`.
|
|
32
|
+
- **A workflow sharing a conversation's `session_id` no longer duplicates its input into the
|
|
33
|
+
agent's next prompt** (#490). Only an agent turn is a conversational turn: a workflow or tool
|
|
34
|
+
run passed the same `session_id` joins that conversation's event stream, so an operator
|
|
35
|
+
surface keyed by the session sees it, but its input is an orchestration argument and never
|
|
36
|
+
reaches the model as something the user said. "Enrich, then answer" on one session is now the
|
|
37
|
+
one obvious path, with no derived `<session>|step` id to invent.
|
|
38
|
+
One limit, for a conversation that already ran a workflow on a shared `session_id` under an
|
|
39
|
+
earlier release: that release replayed the workflow's input into the engine's session, which
|
|
40
|
+
the transcript no longer counts, so the two disagree from that message on. Such a session
|
|
41
|
+
reports `openai_agents.session_diverged` on every later turn and skips crash repair, the
|
|
42
|
+
reconciliation that replays a message the log recorded and a killed process never wrote. Turns
|
|
43
|
+
themselves are unaffected, and nothing is written into a session AgentDeck cannot account for.
|
|
44
|
+
Reset one with `await deck.session_for("<session-id>").clear_session()`, which drops that
|
|
45
|
+
conversation's engine-side memory (the event log is untouched), or move the conversation to a
|
|
46
|
+
new `session_id`. A session that never shared a workflow run is unaffected.
|
|
45
47
|
|
|
46
48
|
## Earlier releases
|
|
47
49
|
|
|
48
50
|
| Version | Date | Notes |
|
|
49
51
|
|---|---|---|
|
|
52
|
+
| [v6.0.1](https://github.com/agentdecksdk/agentdeck/releases/tag/v6.0.1) | 2026-09-04 | [release notes](https://github.com/agentdecksdk/agentdeck/releases/tag/v6.0.1) |
|
|
50
53
|
| [v6.0.0](https://github.com/agentdecksdk/agentdeck/releases/tag/v6.0.0) | 2026-09-03 | [release notes](https://github.com/agentdecksdk/agentdeck/releases/tag/v6.0.0) |
|
|
51
54
|
| [v5.2.1](https://github.com/agentdecksdk/agentdeck/releases/tag/v5.2.1) | 2026-08-29 | [release notes](https://github.com/agentdecksdk/agentdeck/releases/tag/v5.2.1) |
|
|
52
55
|
| [v5.2.0](https://github.com/agentdecksdk/agentdeck/releases/tag/v5.2.0) | 2026-08-29 | [release notes](https://github.com/agentdecksdk/agentdeck/releases/tag/v5.2.0) |
|
|
@@ -39,6 +39,47 @@ Both runs share `session_id="conversation-1"`, so the second run's model call ca
|
|
|
39
39
|
run's messages along with its own. Every run gets a session either way: leave `session_id` out and
|
|
40
40
|
it is scoped to that run's own `run.id`, so nothing carries into the next call.
|
|
41
41
|
|
|
42
|
+
## What a session carries
|
|
43
|
+
|
|
44
|
+
A session carries two things, and they are separate: the **event stream** every run on it
|
|
45
|
+
appears in, and the **message history** the model is handed. Joining the first is not joining
|
|
46
|
+
the second. Only a turn the conversation itself asked an agent for contributes to the message
|
|
47
|
+
history: a workflow or tool run passed the same `session_id` is on the stream, and its
|
|
48
|
+
input stays out of the transcript, because an orchestration argument is not something a person
|
|
49
|
+
said.
|
|
50
|
+
|
|
51
|
+
That is what makes "enrich, then answer" one conversation:
|
|
52
|
+
|
|
53
|
+
```python run
|
|
54
|
+
import asyncio
|
|
55
|
+
|
|
56
|
+
from agentdeck import Agent, Deck, WorkflowCtx, workflow
|
|
57
|
+
|
|
58
|
+
steward = Agent(name="Steward", instructions="Keep replies to one short sentence.")
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
@workflow
|
|
62
|
+
async def discovery(ctx: WorkflowCtx, said: str) -> dict[str, str]:
|
|
63
|
+
"""Whatever enrichment a turn needs before the agent answers it."""
|
|
64
|
+
return {"said": said, "length": str(len(said))}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
async def main() -> None:
|
|
68
|
+
said = "Hi, I run a studio in Ornit."
|
|
69
|
+
async with Deck(agents=[steward], workflows=[discovery]) as deck:
|
|
70
|
+
enriched = await deck.run("discovery", said, session_id="conversation-3")
|
|
71
|
+
answer = await deck.run("Steward", said, session_id="conversation-3")
|
|
72
|
+
print(enriched["length"], answer.output)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
asyncio.run(main())
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Both runs are on `conversation-3`, so every event either produced carries that `session_id` and
|
|
79
|
+
an operator surface keyed by it shows both. The steward's model call still sees `said` exactly
|
|
80
|
+
once. Before this, sharing the session was the only way to get the workflow onto the stream, and
|
|
81
|
+
it cost the model an extra user message on the first turn.
|
|
82
|
+
|
|
42
83
|
## One turn per session at a time
|
|
43
84
|
|
|
44
85
|
A session's history changes while a run is using it, so only one run may hold a session at a time.
|