agentdeck-sdk 6.0.4__tar.gz → 6.0.6__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.4 → agentdeck_sdk-6.0.6}/.claude/agents/deck-dev.md +2 -0
- agentdeck_sdk-6.0.6/.claude/agents/deck-insight.md +39 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/agents/deck-reviewer.md +3 -1
- agentdeck_sdk-6.0.6/.claude/progress.md +18 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/open-issue/SKILL.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/review-pr/SKILL.md +4 -1
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/review-pr/references/craft.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/review-pr/references/templates.md +8 -2
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/ship-pr/SKILL.md +5 -4
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/ship-pr/references/design.md +5 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/ship-pr/references/self-review.md +25 -0
- agentdeck_sdk-6.0.6/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-6.0.6/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/CHANGELOG.md +36 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/CLAUDE.md +22 -5
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/PKG-INFO +16 -8
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/README.md +8 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/brand/README.md +8 -9
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/deck-capability-wrapper-pattern.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/docs-site-plan.md +4 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-219-delivery.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-context-injection.md +4 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-jack-eval.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-phase4-deck.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-skills.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/delivery/plan-slop-comment-ratio.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/adr-d11-store-assigns-seq-and-time.md +4 -4
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/adr-d5-two-stores.md +4 -4
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/event-store-claims.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/execution-api.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/agui.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/bindings.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/exposure.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/gateway.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/invariants.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/native-wire.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/projection.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/roadmap.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/rulings.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/protocols/spi.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/run-identity.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/run-lifecycle.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/run-operations.md +4 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/design/sink-dispatch.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/architecture.md +4 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/coding-agents.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/coding-standards.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/dependencies.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/documentation.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/principles.md +25 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/repository-policy.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/testing.md +2 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/patterns/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/patterns/comments.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/patterns/errors.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/patterns/lifecycle.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/patterns/tests.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/README.md +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/jack.css +16 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/panel.tsx +30 -5
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/stream.ts +27 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/blocks.tsx +21 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/landing.css +7 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/announcement.tsx +1 -1
- agentdeck_sdk-6.0.6/docs-site/content/examples/index.mdx +40 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meet-agentdeck/whats-new-6.mdx +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/resources/changelog.mdx +12 -65
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/resources/meta.json +1 -0
- agentdeck_sdk-6.0.6/docs-site/content/resources/roadmap.mdx +61 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/lib/version.ts +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/package-lock.json +43 -43
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/package.json +8 -8
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/brand/a-chevron.svg +1 -1
- agentdeck_sdk-6.0.6/docs-site/public/llms/examples.md +29 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/meet-agentdeck/whats-new-6.md +3 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/resources/changelog.md +12 -65
- agentdeck_sdk-6.0.6/docs-site/public/llms/resources/roadmap.md +50 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms-full.txt +85 -73
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms.txt +1 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/agent-with-a-skill/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/chat-agent-with-a-tool/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/chat-in-the-terminal/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/jack/server.py +8 -2
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/run-events-stream/README.md +2 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/pyproject.toml +8 -8
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/concept_budget.py +32 -6
- agentdeck_sdk-6.0.6/scripts/finding_tags.py +92 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_brand_assets.py +1 -5
- agentdeck_sdk-6.0.6/tests/test_concept_budget.py +32 -0
- agentdeck_sdk-6.0.6/tests/test_finding_tags.py +14 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_jack_server.py +1 -1
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/uv.lock +149 -133
- agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/SKILL.md +0 -48
- agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/agents/openai.yaml +0 -4
- agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -49
- agentdeck_sdk-6.0.4/.agents/skills/open-issue/SKILL.md +0 -39
- agentdeck_sdk-6.0.4/.agents/skills/review-pr/SKILL.md +0 -87
- agentdeck_sdk-6.0.4/.agents/skills/review-pr/references/templates.md +0 -136
- agentdeck_sdk-6.0.4/.agents/skills/ship-pr/references/self-review.md +0 -43
- agentdeck_sdk-6.0.4/.claude/progress.md +0 -85
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/SKILL.md +0 -66
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/judging.md +0 -103
- agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/queries.md +0 -132
- agentdeck_sdk-6.0.4/.claude/skills/release/SKILL.md +0 -65
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/attack.md +0 -55
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/classify.md +0 -54
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/craft.md +0 -69
- agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/overrun.md +0 -46
- agentdeck_sdk-6.0.4/.claude/skills/ship-issue/SKILL.md +0 -67
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/SKILL.md +0 -140
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/design.md +0 -66
- agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/implement.md +0 -42
- agentdeck_sdk-6.0.4/.codex/agents/deck-cleanup.toml +0 -5
- agentdeck_sdk-6.0.4/.codex/agents/deck-dev.toml +0 -5
- agentdeck_sdk-6.0.4/.codex/agents/deck-reviewer.toml +0 -5
- agentdeck_sdk-6.0.4/.codex/agents/docs-reviewer.toml +0 -5
- agentdeck_sdk-6.0.4/.codex/agents/docs-writer.toml +0 -5
- agentdeck_sdk-6.0.4/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-6.0.4/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- agentdeck_sdk-6.0.4/AGENTS.md +0 -1
- agentdeck_sdk-6.0.4/docs/brand/components/a.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/components/card-a.svg +0 -8
- agentdeck_sdk-6.0.4/docs/brand/components/card.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/components/spark.svg +0 -6
- agentdeck_sdk-6.0.4/docs/brand/components/wordmark.svg +0 -17
- agentdeck_sdk-6.0.4/docs/brand/contributor-merged.svg +0 -22
- agentdeck_sdk-6.0.4/docs/brand/contributor-welcome.svg +0 -17
- agentdeck_sdk-6.0.4/docs/brand/favicon.svg +0 -9
- agentdeck_sdk-6.0.4/docs/brand/logo-black.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/logo-blue.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/logo-mark.svg +0 -5
- agentdeck_sdk-6.0.4/docs/brand/logo-traced-original.svg +0 -38
- agentdeck_sdk-6.0.4/docs/brand/logo-white.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/logo.svg +0 -8
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-a-master.svg +0 -10
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +0 -5
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-card-a-preview.svg +0 -16
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +0 -8
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +0 -17
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +0 -18
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +0 -21
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +0 -21
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +0 -22
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +0 -18
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +0 -17
- agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-spark-master.svg +0 -7
- agentdeck_sdk-6.0.4/docs/brand/social-card.svg +0 -30
- agentdeck_sdk-6.0.4/docs/delivery/plan-docs-ia.md +0 -613
- agentdeck_sdk-6.0.4/docs/delivery/plan-v2-cutover.md +0 -89
- agentdeck_sdk-6.0.4/docs/delivery/review-v3-outsider.md +0 -110
- agentdeck_sdk-6.0.4/docs/design-system.md +0 -63
- agentdeck_sdk-6.0.4/docs/docs-site-spec.md +0 -1452
- agentdeck_sdk-6.0.4/docs/prompts/pr0-baseline-prompt.md +0 -103
- agentdeck_sdk-6.0.4/docs/prompts/pr0-review-prompt.md +0 -95
- agentdeck_sdk-6.0.4/docs/prompts/pr1-event-schema-prompt.md +0 -161
- agentdeck_sdk-6.0.4/docs-site/content/examples/index.mdx +0 -35
- agentdeck_sdk-6.0.4/docs-site/public/brand/logo-traced-original.svg +0 -38
- agentdeck_sdk-6.0.4/docs-site/public/llms/examples.md +0 -24
- agentdeck_sdk-6.0.4/scripts/sync_claude_to_codex.py +0 -122
- agentdeck_sdk-6.0.4/tests/test_codex_sync.py +0 -37
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/agents/deck-cleanup.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/agents/docs-reviewer.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/agents/docs-writer.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/progress.archive.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/settings.json +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/milestone-retro/SKILL.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/milestone-retro/references/judging.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/milestone-retro/references/queries.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/release/SKILL.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/review-pr/references/attack.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/review-pr/references/classify.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/review-pr/references/overrun.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/ship-issue/SKILL.md +0 -0
- {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/ship-pr/references/implement.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.dockerignore +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.env.example +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.gitattributes +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/assets/social-card.png +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/dependabot.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/ci.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/docs-check.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/docs-impact.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/issue-hygiene.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.github/workflows/release.yml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.gitignore +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.importlinter +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/CONTRIBUTING.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/Dockerfile +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/LICENSE +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/Makefile +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/SECURITY.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/README.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/agui/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/agui/adapter.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/agui/binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/native/binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/terminal/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/bindings/terminal/binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/control/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/control/memory/port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/control/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/native/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/native/executor.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/stub/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/executors/stub/executor.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/leases/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/leases/memory/port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/leases/sqlite/port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/memory/store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/postgres/store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/redis/store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/stores/sqlite/store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/telemetry/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/mcp/source.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/mcp/transport.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/compile.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/hooks.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/injection.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/instructions.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/interrupts.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/native.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/runners/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/skills.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/tools.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/agui.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/exposure.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/gateway.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/native.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/bindings/terminal.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/cli.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/composition.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/base.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/content.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/context.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/control.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/errors.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/events.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/invocable.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/control.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/executor.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/lease.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/sink.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/ports/tools.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/reporting.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/status.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/core/workers.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/deck.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/errors.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/mcp.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/observers.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/capture.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/discovery.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/dispatch.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/registry.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/service.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/runtime/settings.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/skills/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/testing.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/agentdeck/views.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/context7.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docker-compose.yml +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.6/docs/brand/components}/a.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.6/docs/brand/components}/card-a.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.6/docs/brand/components}/card.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.6/docs/brand/components}/spark.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.6/docs/brand/components}/wordmark.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/favicon.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/logo-black.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/brand/logo-full.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/logo-white.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/logo.svg +0 -0
- {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.6/docs}/brand/social-card.svg +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/import-boundaries.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs/engineering/runtime-contracts.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/.env.development +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/.env.production +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/.gitignore +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/[...slug]/layout.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/[...slug]/page.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/icon.svg +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/layout.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/not-found.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/page.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/robots.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/app/sitemap.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/callout.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/callout.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/contribute.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/contribute.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/diagram.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/diagram.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/frame.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/page-actions.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/page-feedback.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/page-feedback.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/page.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/shell.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/sidebar-footer.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/sidebar-item.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/sidebar.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/theme-switch.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/toc.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/docs/use-doc-slugs.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/answer-link.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/citations.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/jack/live.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/announcement/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/banner/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/code-block/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/code-block/server.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/snippet/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/status/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/theme-switcher/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/kibo-ui/tree/index.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/deck-figure.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/hero.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/hero.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/install-line.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/landing/install-line.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/announcement.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/brand-marks.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/footer.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/footer.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/header.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/header.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/mark.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/providers.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/search-context.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/site/search-dialog.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/alert.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/badge.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/brand-icons.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/button.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/command.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/dialog.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/input-group.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/input.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/kind-icons.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/select.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/separator.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/sheet.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/sidebar.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/skeleton.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/tabs.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/textarea.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components/ui/tooltip.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/components.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/agui.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/index.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/native.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/serve.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/terminal.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/bindings/write-your-own.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/agents.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/context.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/deck.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/skills.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/tools.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/build-your-deck/workflows.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/examples/agent-with-a-skill.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/examples/chat-agent-with-a-tool.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/examples/chat-in-the-terminal.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/examples/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/examples/run-events-stream.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/index.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/integrations/existing-agents.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/integrations/mcp.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/integrations/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/jack/index.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/jack/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/jack/notes.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meet-agentdeck/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meet-agentdeck/quickstart.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/operate/deployment.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/operate/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/cli.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/deck.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/events.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/python-api.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/run.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/reference/settings.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/resources/known-issues.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/resources/migration-guides.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/resources/troubleshooting.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/events.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/human-input.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/meta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/runs.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/content/runs-and-control/sessions.mdx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/hooks/use-mobile.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/lib/sheet.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/lib/site.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/lib/source.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/lib/utils.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/mdx-components.tsx +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/next.config.mjs +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/postcss.config.mjs +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/brand/logo-full.svg +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings/agui.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings/native.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings/serve.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings/terminal.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings/write-your-own.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/bindings.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/agents.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/context.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/deck.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/skills.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/tools.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/build-your-deck/workflows.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/examples/agent-with-a-skill.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/examples/chat-agent-with-a-tool.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/examples/chat-in-the-terminal.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/examples/run-events-stream.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/integrations/existing-agents.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/integrations/mcp.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/integrations/openai-agents-sdk.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/jack/notes.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/jack.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/meet-agentdeck/mental-model.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/meet-agentdeck/overview.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/meet-agentdeck/quickstart.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/operate/deployment.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/cli.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/deck.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/events.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/python-api.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/run.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/reference/settings.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/resources/known-issues.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/resources/migration-guides.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/resources/troubleshooting.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/events.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/human-input.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/lifecycle-and-control.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/pause-resume.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/runs.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/public/llms/runs-and-control/sessions.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/source.config.ts +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/styles/base.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/styles/docs.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/styles/global.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/styles/sheet.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/styles/tokens.css +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/docs-site/tsconfig.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/eval.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/evals/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/evals/judge.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/evals/metrics.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/evals/run.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/evalset.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/jack/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/jack/agent.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/jack/corpus.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/jack/session.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/jack/run.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/examples/run-events-stream/run.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/changelog_position.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/check_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/check_docs_impact.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/generate_docs_reference.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/head_parity.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/quality_delta.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/release_bump.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/repomap.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/scripts/slopcheck.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/agui_client/package-lock.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/agui_client/package.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/agui_client/run_scenario.js +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/fixture_plugin/.importlinter +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/fixture_plugin/__init__.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/fixture_plugin/channel.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_agui_binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_agui_client_conformance.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_contract.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_deck_verbs.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_gateway_boundary.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_native_binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_terminal_binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/bindings/test_three_bindings_one_deck.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/concurrency_worker.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/conftest.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/context_injection_subjects.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/case_types.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/conftest.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/context_subjects.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/contract_cases.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/live_stores.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/never_yields.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/openai_agents_cases.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_context_parity.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_control.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_control_port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_event_stream.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_lease.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_resume.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/contract/test_store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/conftest.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/agent.changed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/answer.refused.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/report.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.interrupted.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_content.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_context.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_continuation.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_events.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_golden_json.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_import_law.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_model_config.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_old_reader_block_compat.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_old_reader_compat.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_reporting.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_run_lifecycle_tables.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/core/test_vocabularies_agree.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/crash_worker.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/event_log_checks.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/plays.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/project_executors.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_agent_changed.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_agent_model_resolution.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_authoring.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_bindings_binding.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_bindings_exposure.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_bindings_gateway.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_changelog.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_child_runs.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_cli.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_commit_hygiene.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_composition.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_context_injection.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_context_validation.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_crash_reconciliation.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_deck.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_docs_examples.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_docs_impact.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_docs_site.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_errors.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_examples.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_executor_plays.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_generated_reference.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_governance_workflows.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_handoff_ends_on_user_turn.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_handoff_round_trip.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_head_parity.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_instructions_and_hooks.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_invocable_registry.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_jack.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_langfuse_sink.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_langfuse_tracer.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_mcp.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_mcp_tool_source.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_memory_store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_model_providers.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_multiprocess_concurrency.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_native_workflow.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_observability.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_openai_agents_engine.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_openai_agents_reconcile.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_openai_agents_sessions.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_openai_agents_tool_failure.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_package.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_postgres_store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_public_surface.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_redis_store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_release_bump.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_run_config_parity.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_run_control.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_run_reporting.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_runtime_service.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_settings.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_sink_dispatch.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_skills.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_slopcheck.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_sqlite_control_port.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_sqlite_store.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_streaming.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_subagents.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_sync_tool_workers.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_tool_compilation.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_uc3_slowpoke.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_views.py +0 -0
- {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/tests/test_web_search.py +0 -0
|
@@ -13,6 +13,8 @@ You implement one agentdeck GitHub issue end-to-end and open a PR.
|
|
|
13
13
|
|
|
14
14
|
**Objective: implement the issue with the smallest coherent change.** Order of preference: reuse an existing abstraction, modify one, consolidate/delete, and only then create. Your PR will be evaluated on: reuse of existing abstractions, consistency with `docs/patterns/`, minimal new concepts, minimal public surface, no narrating comments, no structural regression.
|
|
15
15
|
|
|
16
|
+
**Direction:** read `docs-site/content/resources/roadmap.mdx`. It names the arc your issue sits in and, for anything binding-shaped, the boundary that keeps Reach narrow: it changes *where* AgentDeck runs, never what a Run is. A change that crosses that boundary is a design question for the issue, never a decision taken inside a PR.
|
|
17
|
+
|
|
16
18
|
**First action:** read `.claude/skills/ship-pr/SKILL.md` and its `references/`, and follow it. Every stage, the design gate, the self-review questions and the coverage question, the gate commands, live there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
|
|
17
19
|
|
|
18
20
|
**Progress:** name each stage (Understand / Design / Implement / Self-review / Gate) as you enter it. A silent multi-stage run reads as a stall.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deck-insight
|
|
3
|
+
description: Counts the behavior tags on this repository's review findings and, for one that has recurred three times or more, opens one issue carrying one refinement against one named harness file.
|
|
4
|
+
model: sonnet
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You decide whether a repeated dev-agent behavior has earned a change to the harness. The evidence is the `tag:` line every BLOCK and DISCUSS carries, counted out of this repository's review comments by `scripts/finding_tags.py`. A finding that was never tagged is one that cannot recur, and that is the reviewer's defect, not yours to reconstruct.
|
|
8
|
+
|
|
9
|
+
Triggered by the orchestrator, never per PR. Per-PR insight is what the Harvest bar exists to prevent: 47 PRs of observations is volume, and volume is what `milestone-retro/references/judging.md` bans.
|
|
10
|
+
|
|
11
|
+
**Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
|
|
12
|
+
|
|
13
|
+
## What you do
|
|
14
|
+
|
|
15
|
+
1. Run `uv run scripts/finding_tags.py`. It prints the tag histogram and names any tag at three findings or more. Report that histogram in your return, every run, including the runs that emit nothing: tag sprawl is invisible unless it is printed, and a histogram where no tag ever reaches three means nobody is reusing tags.
|
|
16
|
+
2. Take the tags at three or more. Drop any tag a merged refinement already cites, `git log --all --grep "<tag>"`. What is left is your candidate set.
|
|
17
|
+
3. Nothing left, or nothing at three: return the histogram and stop. This is the common outcome and it is not a failure.
|
|
18
|
+
4. One candidate, the one with the most findings: read them at the sites their comments name, and write **one** refinement.
|
|
19
|
+
5. Open an issue carrying the refinement text, `enhancement` plus `area:ci`, naming the target file. Never commit it, the rule Harvest already applies to pattern entries: a harness change goes under review like any other change.
|
|
20
|
+
|
|
21
|
+
## The refinement
|
|
22
|
+
|
|
23
|
+
- **One per run.** Two is a backlog, and a backlog of harness opinions is what nobody reads.
|
|
24
|
+
- **One target file**, named: `.claude/agents/deck-dev.md`, one `.claude/skills/ship-pr/references/*.md`, or one `docs/patterns/*.md`. A refinement touching three files is a proposal, not a refinement, and belongs on an issue as a design question.
|
|
25
|
+
- **Every refinement carries its PR numbers.** One with no citation is an opinion.
|
|
26
|
+
- **Never a new mechanical guard.** Slop rules caught 0 of 14 findings in v6 and 0 of 8 in v5, and three of those v5 findings were themselves guard proposals. The refinement changes what an agent is told, not what a script rejects.
|
|
27
|
+
- **Name the behavior, not the defect.** The tag said `assertion-cannot-fail`; the refinement says what a dev agent should do differently, not that six tests were weak.
|
|
28
|
+
|
|
29
|
+
## What you do not do
|
|
30
|
+
|
|
31
|
+
You do not grade `deck-reviewer`. Escape rate is recall, recall is `milestone-retro`'s job, and an agent scoring the reviewer that feeds it is the circularity `judging.md` already forbids.
|
|
32
|
+
|
|
33
|
+
You do not count findings as progress, and you do not open a second issue because the first one is still open.
|
|
34
|
+
|
|
35
|
+
**Progress:** name each phase (read / filter / write) as you enter it.
|
|
36
|
+
|
|
37
|
+
**Subagents:** any agent you spawn passes an explicit `model: "sonnet"`. Never omit it, never fable, never opus.
|
|
38
|
+
|
|
39
|
+
Return: the tag histogram verbatim, the candidate tag or "none at three", and the issue URL if you opened one.
|
|
@@ -4,10 +4,12 @@ description: Review gate for an agentdeck PR before merge. Verifies correctness,
|
|
|
4
4
|
model: sonnet
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never push a commit anywhere. You DO write review artifacts: the PR review itself, inline comments, and any DEFER, harness-note or Harvest issue.
|
|
7
|
+
You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never push a commit anywhere. You DO write review artifacts: the PR review itself, inline comments carrying their `tag:` line, and any DEFER, harness-note or Harvest issue.
|
|
8
8
|
|
|
9
9
|
**Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
|
|
10
10
|
|
|
11
|
+
**Direction:** read `docs-site/content/resources/roadmap.mdx`. A PR that quietly widens an arc is a Scope finding even when every line of it is good: a channel that brings its own execution or session model, or a binding that changes what a Run is, has crossed the boundary the roadmap draws.
|
|
12
|
+
|
|
11
13
|
**First action:** read `.claude/skills/review-pr/SKILL.md` and its `references/`, and follow it. Everything procedural, the phases, the finding classes, the verdict format, the delivery mechanics, lives there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
|
|
12
14
|
|
|
13
15
|
**Progress:** say which phase you are entering as you enter it. A silent review reads as a stall.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# #723, one PR: express the vision, philosophy and roadmap
|
|
2
|
+
|
|
3
|
+
Branch `docs/723-express-the-canon`. Plan approved 2026-09-14, delivered as PR #757, closing
|
|
4
|
+
#723 and #756. All seven items are in it; CI green, ready for review.
|
|
5
|
+
|
|
6
|
+
- [x] 1. `principles.md` Q1-Q7 + `CLAUDE.md` §1 states the frame
|
|
7
|
+
- [x] 2. `ship-pr`, `open-issue`, `review-pr` cite the questions
|
|
8
|
+
- [x] 3. `README.md`: what you do not write, before the install line
|
|
9
|
+
- [x] 4. docs-site landing: the ladder, in `blocks.tsx` `BUYS`
|
|
10
|
+
- [x] 5. `docs-site/content/resources/roadmap.mdx`: the six arcs
|
|
11
|
+
- [x] 6. `examples/*/README.md` name their rung
|
|
12
|
+
- [x] 7. `docs/` status sweep, 52 files, + `CLAUDE.md` names the set
|
|
13
|
+
|
|
14
|
+
Then: the harness gaps (the design gate, the outside question, the second reader, the direction),
|
|
15
|
+
the behavior tags and `deck-insight` from #697, and the Codex trees deleted.
|
|
16
|
+
|
|
17
|
+
Rulings: refusals stay internal; headline unchanged; roadmap is a site page, no dates, no issue
|
|
18
|
+
numbers; Claude is the only agent harness this repo carries.
|
|
@@ -14,7 +14,7 @@ Issues are implementation-ready specifications. Be concise, precise, and dense w
|
|
|
14
14
|
What is broken or missing, and why it matters. For bugs: exact traceback and minimal reproduction steps.
|
|
15
15
|
|
|
16
16
|
## Proposed shape
|
|
17
|
-
The clean, user-intent API or behavior with minimal code snippets. Show the simplest path with zero leaked plumbing. Explicitly state what is out of scope.
|
|
17
|
+
The clean, user-intent API or behavior with minimal code snippets. Show the simplest path with zero leaked plumbing. Explicitly state what is out of scope. For a feature, answer Q4 here (`docs/engineering/principles.md`): is this absorbing complexity, or transferring it to the user? That is the question we most often fail, and proposal time is when it is cheapest to fail it.
|
|
18
18
|
|
|
19
19
|
## Notes
|
|
20
20
|
Constraints, affected modules, existing patterns to follow, related issues/PRs.
|
|
@@ -43,7 +43,9 @@ Review progress:
|
|
|
43
43
|
**The default is to write nothing.** Most reviews produce neither output below. `docs/patterns/` is 106 lines total across four files; that shortness is what makes it worth reading, and a reviewer appending once per PR would double it in a week. Pattern entries are not scored by volume: the measure is whether a later review cites one, never how many exist. Full bar and rationale: `references/craft.md`.
|
|
44
44
|
|
|
45
45
|
- **A `docs/patterns/` entry**, only when all four of `references/craft.md`'s tests pass: it recurred, it generalizes past this module, it is a real cited good/bad pair, and it is not already covered by the four existing files. Extending an existing file beats creating one. You never commit it: open an issue containing the finished entry text and the file it belongs in, and a dev agent lands it. A reviewer that commits has reviewed nothing, and taste belongs under review like any other change.
|
|
46
|
-
- **A harness note**, only when the same dev-agent *behavior* (not output) has appeared in two PRs,
|
|
46
|
+
- **A harness note**, only when the same dev-agent *behavior* (not output) has appeared in two PRs. Establish that with `uv run scripts/finding_tags.py`, which counts the `tag:` lines your own findings and every earlier review's findings carry, not with recall: across sessions a reviewer has no memory, and before the tags existed this bar was reachable only by luck. File the note the same way as a DEFER (`finding: <gap>` issue) but name the behavior, not a proposed rule. Not a new mechanical guard: guards caught 0 of 8 v5 findings, and three of those findings were themselves guard proposals.
|
|
47
|
+
|
|
48
|
+
**Tagging is not optional, and it is the one thing Harvest always does.** Every BLOCK and DISCUSS carries a `tag:` line naming the dev-agent behavior (`references/templates.md`, Template A). Run `uv run scripts/finding_tags.py` before you write findings and reuse a tag from the histogram whenever one fits: a tag invented per finding can never reach a count, and a count is the only thing tags are for. Nothing is written to the tree; the comment you post is the record.
|
|
47
49
|
|
|
48
50
|
Anything that surfaces but fails its bar is a NIT, or it is nothing. It is never a pattern.
|
|
49
51
|
|
|
@@ -58,6 +60,7 @@ BLOCK / DISCUSS / DEFER / NIT replace ERROR / WARNING / NOTE. Each is defined by
|
|
|
58
60
|
| DEFER | real, but not this PR's job, whether or not it is actionable yet | reviewer files the issue and links it | no |
|
|
59
61
|
| NIT | small, cheap, optional | nobody, unless the author wants to | no |
|
|
60
62
|
|
|
63
|
+
- A major feature that leaves one of Q1-Q7 (`docs/engineering/principles.md`) unanswered is a DISCUSS, and what would settle it is the answer. Q4 is the one the project fails most: a PR that moves work to the caller and does not say so has failed it whatever the diff looks like.
|
|
61
64
|
- DISCUSS resolves when the author *answers*, not when the author agrees. Disagreement after an answer goes to the user; neither side rules.
|
|
62
65
|
- A DISCUSS must state what would settle it. A shrug is not a DISCUSS.
|
|
63
66
|
- A public API finding classifies on what you are asserting, never on what the fix touches. A choice among several valid shapes is a DISCUSS, where a reviewer holds no more authority than the author. A demonstrated broken contract is a BLOCK even when the fix changes a signature.
|
{agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/review-pr/references/craft.md
RENAMED
|
@@ -38,6 +38,8 @@ Pattern entries are not scored by volume. The measure is whether a later review
|
|
|
38
38
|
never how many were written. Something that fails any of the four tests is a NIT, or nothing; it
|
|
39
39
|
is never a pattern.
|
|
40
40
|
- Product philosophy (`docs/engineering/principles.md`): does the change leak internal plumbing (stores, resolvers, internal contexts) into a public API; does it keep "one obvious path"; is it free of speculative abstraction and configuration nothing needs yet.
|
|
41
|
+
- From outside: write the smallest call a user makes against the new surface and count what they must know to write it. Every other phase reads the diff, and "simple on the outside" is not visible from there. A concept in that call the issue never introduced is a Q4 finding, whatever the diff looks like.
|
|
42
|
+
- The second reader: anything a human can see or drive here needs a structured path too, whether a typed payload, a return value, an event on the log or a CLI read path. Terminal output as the only way a program learns what happened is a Q7 finding, and it is the argument the binding SPI was built on.
|
|
41
43
|
|
|
42
44
|
## Reuse and duplication
|
|
43
45
|
|
{agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/review-pr/references/templates.md
RENAMED
|
@@ -14,13 +14,19 @@ ALWAYS use this exact template structure:
|
|
|
14
14
|
|
|
15
15
|
Settled by: <DISCUSS only, one line>
|
|
16
16
|
|
|
17
|
+
tag: <BLOCK and DISCUSS only, kebab-case>
|
|
18
|
+
|
|
17
19
|
```suggestion
|
|
18
20
|
<optional, only when the fix is a literal line replacement>
|
|
19
21
|
```
|
|
20
22
|
|
|
21
|
-
- **40 words maximum**, excluding a suggestion block. One paragraph. No
|
|
22
|
-
second paragraph.
|
|
23
|
+
- **40 words maximum**, excluding a suggestion block and the two colon lines. One paragraph. No
|
|
24
|
+
headings, no lists, no second paragraph.
|
|
23
25
|
- The first token is the class in bold. Nothing precedes it.
|
|
26
|
+
- `tag:` names the *dev-agent behavior*, never the defect: `assertion-cannot-fail`, not
|
|
27
|
+
`missing test`. It is what makes recurrence countable, and `uv run scripts/finding_tags.py`
|
|
28
|
+
reads it back out of GitHub. Reuse a tag from that histogram whenever one fits; a tag invented
|
|
29
|
+
per finding can never reach a count.
|
|
24
30
|
- `Settled by:` appears on DISCUSS and nowhere else. It names the evidence or decision that would
|
|
25
31
|
resolve it, so a DISCUSS can never be a shrug.
|
|
26
32
|
|
|
@@ -19,7 +19,7 @@ Ship progress:
|
|
|
19
19
|
- [ ] 0. Understand: spec gate, engineering docs, seed the worktree
|
|
20
20
|
- [ ] 1. Design: PR body sections, then stop and wait for the design gate
|
|
21
21
|
- [ ] 2. Implement: match the analog, stay in budget (references/implement.md)
|
|
22
|
-
- [ ] 3. Self-review: ten shape questions
|
|
22
|
+
- [ ] 3. Self-review: the standard, ten shape questions, the coverage question (references/self-review.md)
|
|
23
23
|
- [ ] 4. Gate: make check green, gh pr ready
|
|
24
24
|
```
|
|
25
25
|
|
|
@@ -56,13 +56,14 @@ demote it.
|
|
|
56
56
|
| 0. Understand | LOW / CONSTRAINT on the gate | Read the issue as spec. Spec gate below. Seed the worktree. | nothing, or a gate comment |
|
|
57
57
|
| 1. Design | LOW / CONSTRAINT on format | PR body sections, then stop. `references/design.md` | draft PR, then wait |
|
|
58
58
|
| 2. Implement | HIGH / JUDGMENT | Match the analog, stay in budget, test what the change exposes. `references/implement.md` | source, tests, CHANGELOG |
|
|
59
|
-
| 3. Self-review | LOW / CONSTRAINT |
|
|
59
|
+
| 3. Self-review | LOW / CONSTRAINT | The standard (major features), ten shape questions, the coverage question, answered in writing. `references/self-review.md` | the answers, visible in your response |
|
|
60
60
|
| 4. Gate | LOW / CONSTRAINT | `make check` green, compact the body, `gh pr ready`. Below. | ready PR |
|
|
61
61
|
|
|
62
62
|
## Stage 0: Understand
|
|
63
63
|
|
|
64
|
-
CONSTRAINT: read the issue (`gh issue view <n>`), `docs/engineering/` in full,
|
|
65
|
-
`docs/patterns/` file for your concern,
|
|
64
|
+
CONSTRAINT: read the issue (`gh issue view <n>`), `docs/engineering/` in full, the
|
|
65
|
+
`docs/patterns/` file for your concern, and `docs-site/content/resources/roadmap.mdx` for the arc
|
|
66
|
+
this issue sits in, before any edit. Consequence: skip it and Stage 1's
|
|
66
67
|
design has nothing real to bind against, and the design gate has nothing to compare it to.
|
|
67
68
|
|
|
68
69
|
CONSTRAINT, spec gate: if the issue lacks `Done when` outcomes or scope bounds (what must NOT be
|
{agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.6/.claude}/skills/ship-pr/references/design.md
RENAMED
|
@@ -18,6 +18,11 @@ ALWAYS use this exact structure, written into the draft PR body before the first
|
|
|
18
18
|
- `## Expected delta` (1 line): predicted net code LOC.
|
|
19
19
|
- `## Design` (max 200 words, no subsections): what the change does. A subsection means it grew
|
|
20
20
|
past what the issue ruled; split the PR instead.
|
|
21
|
+
- `Q1-Q7:` one line naming the questions the change implicates and their answers, major features
|
|
22
|
+
only (`docs/engineering/principles.md`). Omit the line entirely for a bugfix. CONSTRAINT: a
|
|
23
|
+
question you name and cannot answer is a design that is not finished. Raise it on the issue and
|
|
24
|
+
stop, exactly as a missing `Done when` stops Stage 0. The gate rejects an unanswered one, and it
|
|
25
|
+
costs nothing here against a design and everything later against working code.
|
|
21
26
|
- `Closes #<n>`, a `## Left for the docs-site pass` list, and the docs-impact acknowledgement
|
|
22
27
|
(`make check` names the affected pages; open each and either fix it or list it as reviewed).
|
|
23
28
|
|
{agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.6}/.claude/skills/ship-pr/references/self-review.md
RENAMED
|
@@ -27,6 +27,31 @@ In each case the primary flow had a test and the adjacent path the same change c
|
|
|
27
27
|
did not. Naming the gap is not lesser than closing it, but naming nothing is a failed answer:
|
|
28
28
|
"none" only holds if you can point to the test that actually exercises the adjacent path.
|
|
29
29
|
|
|
30
|
+
## The standard
|
|
31
|
+
|
|
32
|
+
CONSTRAINT for a major feature, skip for a bugfix: the `Q1-Q7:` line you wrote into the body at
|
|
33
|
+
Stage 1 is now checkable against real code. Confirm each answer still holds, or name the one that
|
|
34
|
+
stopped being true and what you did about it. Q2 (can a developer who does not need it ignore it
|
|
35
|
+
completely) and Q4 (are we absorbing complexity, or transferring it to the user) are the two the
|
|
36
|
+
project fails most, so a feature touching the public surface answers those two whatever else it
|
|
37
|
+
implicates.
|
|
38
|
+
|
|
39
|
+
## The outside question
|
|
40
|
+
|
|
41
|
+
CONSTRAINT for any change to a public symbol: write the smallest call a user makes, as they would
|
|
42
|
+
write it, and count what they have to know to write it. A concept in that line the issue did not
|
|
43
|
+
introduce is this change transferring complexity, whatever the diff looks like.
|
|
44
|
+
|
|
45
|
+
Every other question here reads the diff. "Simple on the outside" is not visible from inside it,
|
|
46
|
+
which is why this one is asked separately and answered with a call rather than an argument.
|
|
47
|
+
|
|
48
|
+
## The second reader
|
|
49
|
+
|
|
50
|
+
CONSTRAINT: whatever a human can see or drive here, a coding agent can reach the same way. A typed
|
|
51
|
+
payload, a return value, an event on the log, a CLI read path: any one of them answers this. If the
|
|
52
|
+
only way a program learns what happened is parsing terminal output, the capability is half-built and
|
|
53
|
+
Q7 fails, which is the argument the binding SPI itself was built on.
|
|
54
|
+
|
|
30
55
|
## The shape questions
|
|
31
56
|
|
|
32
57
|
CONSTRAINT: answer all ten, against `git diff dev...HEAD`, honestly.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.bindings.exposure": 1789393531.0459454, "agentdeck.core.errors": 1789393531.0464041, "agentdeck.core.status": 1789393531.0470262, "agentdeck.cli": 1789393531.0459454, "agentdeck.deck": 1789393531.047061, "agentdeck.core.content": 1789393531.0464041, "agentdeck.adapters.stores.postgres.store": 1789393531.0438468, "agentdeck.adapters.executors.stub": 1789393531.0427048, "agentdeck.adapters.telemetry": 1789393531.04422, "agentdeck.errors": 1789393531.047061, "agentdeck.adapters.bindings.agui.adapter": 1789393531.0416114, "agentdeck.core.reporting": 1789393531.0470262, "agentdeck.skills.bundle": 1789393531.0490258, "agentdeck.authoring.native": 1789393531.0451314, "agentdeck.adapters.stores.redis": 1789393531.0438468, "agentdeck.skills": 1789393531.0481424, "agentdeck.authoring": 1789393531.0448618, "agentdeck.authoring.skills": 1789393531.0456643, "agentdeck.authoring.interrupts": 1789393531.0451314, "agentdeck.adapters.executors.openai_agents.reconcile": 1789393531.0427048, "agentdeck.authoring.tools": 1789393531.0456643, "agentdeck.adapters.bindings.terminal": 1789393531.0418472, "agentdeck.adapters.bindings.agui": 1789393531.0415413, "agentdeck.adapters.telemetry.langfuse": 1789393531.0444148, "agentdeck.core.control": 1789393531.0464041, "agentdeck.authoring.instructions": 1789393531.0451314, "agentdeck.core.ports.store": 1789393531.0470262, "agentdeck.adapters.tools.mcp.lifecycle": 1789393531.0448618, "agentdeck.authoring.injection": 1789393531.0451314, "agentdeck.adapters.executors": 1789393531.0422857, "agentdeck.adapters.executors.native": 1789393531.0424254, "agentdeck.core.invocable": 1789393531.0464041, "agentdeck.bindings.gateway": 1789393531.0459454, "agentdeck.adapters.stores.memory": 1789393531.0436456, "agentdeck.authoring.runners.agent": 1789393531.0456643, "agentdeck.adapters.leases.memory.port": 1789393531.043349, "agentdeck.adapters.bindings.terminal.binding": 1789393531.0419834, "agentdeck.adapters.control.memory.port": 1789393531.0421824, "agentdeck.core": 1789393531.0459454, "agentdeck.adapters.telemetry.langfuse.sink": 1789393531.0444708, "agentdeck.adapters.leases.sqlite": 1789393531.043349, "agentdeck.observers": 1789393531.047061, "agentdeck.adapters.executors.native.executor": 1789393531.0424767, "agentdeck.core.ports.sink": 1789393531.0470262, "agentdeck.bindings.native": 1789393531.0459454, "agentdeck.authoring.web_search": 1789393531.0456643, "agentdeck.core.events": 1789393531.0464041, "agentdeck.runtime.discovery": 1789393531.0481424, "agentdeck.composition": 1789393531.0459454, "agentdeck.adapters.stores.sqlite.store": 1789393531.04422, "agentdeck.views": 1789393531.0490258, "agentdeck.adapters.stores.postgres": 1789393531.043705, "agentdeck.adapters.bindings": 1789393531.041475, "agentdeck.adapters.tools.mcp.wiring": 1789393531.0448618, "agentdeck.adapters.leases.sqlite.port": 1789393531.0434513, "agentdeck.core.ports.tools": 1789393531.0470262, "agentdeck.core.ports.control": 1789393531.0470262, "agentdeck.adapters.stores.sqlite": 1789393531.0440385, "agentdeck.adapters.bindings.native": 1789393531.0416114, "agentdeck.adapters.control.sqlite": 1789393531.0421824, "agentdeck.adapters.stores": 1789393531.0434513, "agentdeck.runtime.capture": 1789393531.0481424, "agentdeck.adapters": 1789393531.0413566, "agentdeck.adapters.executors.stub.executor": 1789393531.0431678, "agentdeck.authoring.agent": 1789393531.0451314, "agentdeck.runtime.registry": 1789393531.0481424, "agentdeck.authoring.compile": 1789393531.0451314, "agentdeck.adapters.stores.redis.store": 1789393531.0440385, "agentdeck.core.context": 1789393531.0464041, "agentdeck.core.ports": 1789393531.0464041, "agentdeck.adapters.telemetry.langfuse.trace": 1789393531.0444708, "agentdeck.adapters.control.sqlite.port": 1789393531.0422857, "agentdeck.adapters.leases.memory": 1789393531.043301, "agentdeck.core.workers": 1789393531.0470262, "agentdeck.adapters.bindings.native.binding": 1789393531.0418472, "agentdeck.bindings.agui": 1789393531.0459454, "agentdeck.adapters.tools.mcp.transport": 1789393531.0448618, "agentdeck.adapters.executors.openai_agents.translate": 1789393531.0427048, "agentdeck.adapters.bindings.agui.binding": 1789393531.0416114, "agentdeck.adapters.control.memory": 1789393531.0421321, "agentdeck": 1789393531.0413566, "agentdeck.runtime.dispatch": 1789393531.0481424, "agentdeck.bindings": 1789393531.0456643, "agentdeck.adapters.tools.mcp": 1789393531.0448062, "agentdeck.authoring.hooks": 1789393531.0451314, "agentdeck.mcp": 1789393531.047061, "agentdeck.adapters.executors.openai_agents": 1789393531.0424767, "agentdeck.core.ports.lease": 1789393531.0470262, "agentdeck.runtime.service": 1789393531.0481424, "agentdeck.adapters.executors.openai_agents.sessions": 1789393531.0427048, "agentdeck.adapters.control": 1789393531.0419834, "agentdeck.testing": 1789393531.0490258, "agentdeck.core.base": 1789393531.0464041, "agentdeck.adapters.tools.mcp.source": 1789393531.0448618, "agentdeck.adapters.telemetry.langfuse.client": 1789393531.0444708, "agentdeck.adapters.stores.memory.store": 1789393531.043705, "agentdeck.adapters.tools": 1789393531.0444708, "agentdeck.bindings.binding": 1789393531.0459454, "agentdeck.authoring.runners": 1789393531.0451314, "agentdeck.adapters.executors.openai_agents.executor": 1789393531.0427048, "agentdeck.core.ports.executor": 1789393531.0470262, "agentdeck.bindings.terminal": 1789393531.0459454, "agentdeck.runtime.settings": 1789393531.0481424, "agentdeck.adapters.leases": 1789393531.0431678, "agentdeck.runtime": 1789393531.047061, "agentdeck.adapters.executors.openai_agents.runconfig": 1789393531.0427048}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"imports_by_module":{"agentdeck":[["agentdeck.authoring.native",false,15,"from agentdeck.authoring.native import tool, workflow"],["importlib",false,10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.authoring",false,14,"from agentdeck.authoring import Agent"],["agentdeck.core.ports",false,27,"from agentdeck.core.ports import Observer"],["agentdeck.core.content",false,16,"from agentdeck.core.content import ("],["agentdeck.views",false,13,"from agentdeck import views"],["agentdeck.deck",false,29,"from agentdeck.deck import Deck, Run, TurnResult"],["agentdeck.core.status",false,28,"from agentdeck.core.status import RunStatus"],["agentdeck.core.context",false,24,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.core.invocable",false,26,"from agentdeck.core.invocable import AgentInstance"],["importlib",false,11,"from importlib.metadata import version as _version"],["agentdeck.core.events",false,25,"from agentdeck.core.events import Event"]],"agentdeck.adapters":[],"agentdeck.adapters.bindings":[],"agentdeck.adapters.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",false,5,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.adapters.bindings.agui.adapter":[["typing",false,10,"from typing import TYPE_CHECKING, Any"],["agentdeck",false,40,"from agentdeck import AudioBlock, ImageBlock, ResourceBlock, TextBlock"],["collections",false,44,"from collections.abc import Callable"],["ag_ui",false,12,"from ag_ui.core import ("],["ag_ui",false,46,"from ag_ui.core import InputContentPart, RunAgentInput"],["__future__",false,6,"from __future__ import annotations"],["json",false,8,"import json"],["agentdeck",false,48,"from agentdeck import ContentBlock, Event"],["dataclasses",false,9,"from dataclasses import dataclass"],["agentdeck.errors",false,41,"from agentdeck.errors import InputError"]],"agentdeck.adapters.bindings.agui.binding":[["collections",false,36,"from collections.abc import AsyncIterator"],["ag_ui",false,38,"from ag_ui.core import ResumeEntry"],["__future__",false,5,"from __future__ import annotations"],["agentdeck.adapters.bindings.agui.adapter",false,19,"from agentdeck.adapters.bindings.agui.adapter import ("],["pydantic",false,13,"from pydantic import ValidationError as PydanticValidationError"],["agentdeck.bindings",false,42,"from agentdeck.bindings import Binding"],["agentdeck.bindings",false,25,"from agentdeck.bindings import ("],["starlette",false,15,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["agentdeck",false,18,"from agentdeck import RunStatus"],["asyncio",false,7,"import asyncio"],["ag_ui",false,11,"from ag_ui.core import RunAgentInput, RunErrorEvent, RunStartedEvent"],["starlette",false,14,"from starlette.applications import Starlette"],["typing",false,9,"from typing import TYPE_CHECKING, Any"],["agentdeck",false,41,"from agentdeck import Event, Run"],["logging",false,8,"import logging"],["starlette",false,16,"from starlette.routing import Route"],["starlette",false,39,"from starlette.requests import Request"],["ag_ui",false,12,"from ag_ui.encoder import EventEncoder"],["agentdeck.errors",false,33,"from agentdeck.errors import ConfigError, InputError, RunStateError, UnsupportedControlError"]],"agentdeck.adapters.bindings.native":[["agentdeck.adapters.bindings.native.binding",false,6,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.adapters.bindings.native.binding":[["typing",false,6,"from typing import TYPE_CHECKING, Any"],["collections",false,24,"from collections.abc import AsyncIterator"],["agentdeck",false,28,"from agentdeck import Event, Run"],["starlette",false,8,"from starlette.applications import Starlette"],["starlette",false,26,"from starlette.requests import Request"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.bindings",false,13,"from agentdeck.bindings import ("],["starlette",false,9,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["starlette",false,10,"from starlette.routing import Route"],["agentdeck",false,12,"from agentdeck import RunStatus"],["agentdeck.bindings",false,29,"from agentdeck.bindings import Binding"],["logging",false,5,"import logging"],["agentdeck.errors",false,21,"from agentdeck.errors import InputError, RunStateError, UnsupportedControlError"]],"agentdeck.adapters.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",false,5,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.adapters.bindings.terminal.binding":[["sys",false,13,"import sys"],["agentdeck.bindings",false,23,"from agentdeck.bindings import Binding"],["__future__",false,9,"from __future__ import annotations"],["uuid",false,16,"from uuid import uuid4"],["threading",false,14,"import threading"],["typing",false,15,"from typing import TYPE_CHECKING, Any, TextIO"],["contextlib",false,12,"import contextlib"],["agentdeck.errors",false,19,"from agentdeck.errors import ConfigError, InputError, RunStateError"],["asyncio",false,11,"import asyncio"],["agentdeck",false,22,"from agentdeck import Event, Run"],["agentdeck.bindings",false,18,"from agentdeck.bindings import PROTOCOL_SPI_VERSION, BindingInfo, DeckGateway, StdioEndpoint"]],"agentdeck.adapters.control":[],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",false,3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.adapters.control.memory.port":[["__future__",false,5,"from __future__ import annotations"],["agentdeck.core.ports.control",false,8,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.control",false,7,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",false,3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.adapters.control.sqlite.port":[["__future__",false,7,"from __future__ import annotations"],["asyncio",false,9,"import asyncio"],["sqlite3",false,10,"import sqlite3"],["agentdeck.errors",false,17,"from agentdeck.errors import StoreError"],["collections",false,20,"from collections.abc import Callable"],["pathlib",false,21,"from pathlib import Path"],["agentdeck.core.ports.control",false,16,"from agentdeck.core.ports.control import ControlPort"],["functools",false,12,"from functools import partial"],["contextlib",false,11,"from contextlib import suppress"],["agentdeck.core.control",false,15,"from agentdeck.core.control import ControlSignal, Signal"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors":[],"agentdeck.adapters.executors.native":[["agentdeck.adapters.executors.native.executor",false,3,"from agentdeck.adapters.executors.native.executor import NativeExecutor"]],"agentdeck.adapters.executors.native.executor":[["agentdeck.core.events",false,19,"from agentdeck.core.events import RunCompleted, Usage"],["__future__",false,9,"from __future__ import annotations"],["agentdeck.core.invocable",false,31,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",false,29,"from agentdeck.core.context import Agents, Invoker, RunContext"],["agentdeck.core.context",false,17,"from agentdeck.core.context import WorkflowCtx"],["agentdeck.core.content",false,28,"from agentdeck.core.content import Input"],["agentdeck.core.content",false,16,"from agentdeck.core.content import DataBlock, answer_of, coerce_input"],["typing",false,14,"from typing import TYPE_CHECKING, Any, ClassVar"],["contextlib",false,12,"from contextlib import suppress"],["agentdeck.core.control",false,18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.status",false,32,"from agentdeck.core.status import Continuation"],["asyncio",false,11,"import asyncio"],["agentdeck.core.invocable",false,20,"from agentdeck.core.invocable import NativeExecution, NativeInvocable"],["agentdeck.errors",false,23,"from agentdeck.errors import ConfigError, InputError"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Executor"],["dataclasses",false,13,"from dataclasses import dataclass, field"],["collections",false,26,"from collections.abc import AsyncGenerator, Sequence"],["agentdeck.core.events",false,30,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.status",false,22,"from agentdeck.core.status import SUSPENDED_KINDS, Play, continuation_of"],["agentdeck.core.workers",false,33,"from agentdeck.core.workers import SyncToolWorkers"]],"agentdeck.adapters.executors.openai_agents":[["agentdeck.adapters.executors.openai_agents.runconfig",false,6,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.executors.openai_agents.executor",false,5,"from agentdeck.adapters.executors.openai_agents.executor import OpenAIAgentsExecutor"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.sessions",false,7,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore, SessionFactory"]],"agentdeck.adapters.executors.openai_agents.executor":[["__future__",false,10,"from __future__ import annotations"],["agents",false,36,"from agents.items import TResponseInputItem"],["dataclasses",false,16,"from dataclasses import dataclass"],["agentdeck.adapters.executors.openai_agents.sessions",false,24,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["agents",false,39,"from agents.usage import Usage as SDKUsage"],["collections",false,34,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agents",false,19,"from agents import Agent, Runner"],["agentdeck.errors",false,31,"from agentdeck.errors import ConfigError"],["agentdeck.core.context",false,42,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",false,28,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["pydantic",false,20,"from pydantic import BaseModel"],["dataclasses",false,12,"import dataclasses"],["collections",false,14,"from collections.abc import Callable"],["agentdeck.core.content",false,41,"from agentdeck.core.content import ContentBlock, Input"],["agentdeck.core.events",false,43,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.adapters.executors.openai_agents.reconcile",false,22,"from agentdeck.adapters.executors.openai_agents.reconcile import reconcile, render_data_block"],["contextlib",false,15,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["typing",false,17,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.adapters.executors.openai_agents.translate",false,25,"from agentdeck.adapters.executors.openai_agents.translate import run_artifacts, translate"],["agentdeck.core.invocable",false,44,"from agentdeck.core.invocable import InvocableSpec"],["agents",false,38,"from agents.result import RunResultStreaming"],["json",false,13,"import json"],["agentdeck.core.control",false,27,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.content",false,26,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agentdeck.core.status",false,30,"from agentdeck.core.status import Play, continuation_of"],["agentdeck.core.ports",false,29,"from agentdeck.core.ports import Executor"],["agents",false,37,"from agents.memory.session import Session"]],"agentdeck.adapters.executors.openai_agents.reconcile":[["typing",false,29,"from typing import TYPE_CHECKING, Any, Literal"],["collections",false,36,"from collections.abc import Iterable, Sequence"],["weakref",false,30,"from weakref import WeakKeyDictionary"],["json",false,27,"import json"],["agents",false,38,"from agents.items import TResponseInputItem"],["__future__",false,24,"from __future__ import annotations"],["agentdeck.core.events",false,42,"from agentdeck.core.events import Event"],["agentdeck.core.content",false,32,"from agentdeck.core.content import DataBlock, TextBlock"],["asyncio",false,26,"import asyncio"],["agents",false,39,"from agents.memory.session import Session"],["logging",false,28,"import logging"],["agentdeck.core.content",false,41,"from agentdeck.core.content import Input"],["agentdeck.core.events",false,33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"]],"agentdeck.adapters.executors.openai_agents.runconfig":[["agents",false,28,"from agents.items import TResponseInputItem"],["typing",false,19,"from typing import TYPE_CHECKING, Any, cast"],["agents",false,22,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",false,18,"from dataclasses import dataclass"],["httpx",false,21,"import httpx"],["agents",false,23,"from agents.models.multi_provider import MultiProviderMap"],["__future__",false,15,"from __future__ import annotations"],["openai",false,24,"from openai import AsyncOpenAI"],["os",false,17,"import os"],["agents",false,27,"from agents.handoffs import HandoffHistoryMapper"]],"agentdeck.adapters.executors.openai_agents.sessions":[["agents",false,23,"from agents import SQLiteSession"],["__future__",false,19,"from __future__ import annotations"],["agentdeck.runtime.settings",false,30,"from agentdeck.runtime.settings import SessionSettings"],["typing",false,21,"from typing import TYPE_CHECKING"],["agents",false,68,"from agents.extensions.memory import RedisSession"],["agents",false,26,"from agents.memory.session import Session"],["redis",false,53,"from redis.asyncio import Redis"],["redis",false,27,"from redis.asyncio import Redis"],["agentdeck.core.context",false,29,"from agentdeck.core.context import RunContext"]],"agentdeck.adapters.executors.openai_agents.translate":[["hashlib",false,12,"import hashlib"],["typing",false,17,"from typing import TYPE_CHECKING, Any"],["pydantic",false,22,"from pydantic import ValidationError"],["collections",false,36,"from collections.abc import Iterator, Sequence"],["re",false,15,"import re"],["agents",false,21,"from agents.tool import ToolOutputFileContent, ToolOutputImage"],["agentdeck.core.events",false,25,"from agentdeck.core.events import ("],["agents",false,20,"from agents.items import ToolCallItem, ToolCallOutputItem"],["base64",false,16,"from base64 import b64encode"],["logging",false,14,"import logging"],["urllib",false,18,"from urllib.parse import unquote_to_bytes"],["json",false,13,"import json"],["agentdeck.core.content",false,24,"from agentdeck.core.content import ContentBlock, ImageBlock, ResourceBlock"],["__future__",false,10,"from __future__ import annotations"]],"agentdeck.adapters.executors.stub":[["agentdeck.adapters.executors.stub.executor",false,3,"from agentdeck.adapters.executors.stub.executor import Step, StubExecutor, stub_spec"]],"agentdeck.adapters.executors.stub.executor":[["agentdeck.core.invocable",false,20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.core.events",false,19,"from agentdeck.core.events import RunInterrupted"],["agentdeck.core.control",false,18,"from agentdeck.core.control import ControlSignalled"],["__future__",false,13,"from __future__ import annotations"],["agentdeck.errors",false,23,"from agentdeck.errors import ConfigError"],["agentdeck.core.content",false,28,"from agentdeck.core.content import Input"],["typing",false,16,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Executor"],["agentdeck.core.context",false,29,"from agentdeck.core.context import RunContext"],["agentdeck.core.status",false,22,"from agentdeck.core.status import Play, continuation_of"],["collections",false,26,"from collections.abc import AsyncGenerator"],["agentdeck.core.events",false,30,"from agentdeck.core.events import Event, KnownPayload"],["collections",false,15,"from collections.abc import Sequence"]],"agentdeck.adapters.leases":[],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",false,3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.leases.memory.port":[["datetime",false,12,"from datetime import UTC, datetime"],["agentdeck.core.ports.lease",false,15,"from agentdeck.core.ports.lease import LeasePort"],["collections",false,18,"from collections.abc import Callable, Collection"],["datetime",false,19,"from datetime import timedelta"],["__future__",false,10,"from __future__ import annotations"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",false,3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.adapters.leases.sqlite.port":[["asyncio",false,16,"import asyncio"],["datetime",false,27,"from datetime import timedelta"],["agentdeck.core.ports.lease",false,22,"from agentdeck.core.ports.lease import LeasePort"],["agentdeck.errors",false,23,"from agentdeck.errors import StoreError"],["contextlib",false,18,"from contextlib import suppress"],["typing",false,20,"from typing import TYPE_CHECKING"],["functools",false,19,"from functools import partial"],["pathlib",false,28,"from pathlib import Path"],["collections",false,26,"from collections.abc import Callable, Collection"],["__future__",false,14,"from __future__ import annotations"],["sqlite3",false,17,"import sqlite3"]],"agentdeck.adapters.stores":[["typing",false,5,"from typing import TYPE_CHECKING"],["agentdeck.core.context",false,11,"from agentdeck.core.context import RunContext"],["agentdeck.errors",false,8,"from agentdeck.errors import RunStateError"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.core.status",false,7,"from agentdeck.core.status import RunStatus"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",false,3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.status",false,12,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.ports",false,11,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["typing",false,7,"from typing import TYPE_CHECKING"],["agentdeck.core.context",false,19,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",false,20,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.events",false,10,"from agentdeck.core.events import Event"],["datetime",false,17,"from datetime import timedelta"],["agentdeck.errors",false,13,"from agentdeck.errors import DuplicateKeyError"],["collections",false,16,"from collections.abc import Callable, Sequence"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.adapters.stores",false,9,"from agentdeck.adapters.stores import _refuse_if_sealed"],["datetime",false,6,"from datetime import UTC, datetime"],["asyncio",false,5,"import asyncio"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",false,3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.adapters.stores.postgres.store":[["agentdeck.core.events",false,28,"from agentdeck.core.events import Event"],["collections",false,34,"from collections.abc import Awaitable, Callable, Sequence"],["datetime",false,35,"from datetime import timedelta"],["agentdeck.core.status",false,30,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["psycopg",false,25,"from psycopg import sql"],["agentdeck.adapters.stores",false,27,"from agentdeck.adapters.stores import _refuse_if_sealed"],["agentdeck.errors",false,31,"from agentdeck.errors import DuplicateKeyError, StoreError"],["agentdeck.core.status",false,39,"from agentdeck.core.status import RunStatus"],["agentdeck.core.context",false,37,"from agentdeck.core.context import RunContext"],["agentdeck.core.ports",false,29,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",false,23,"import psycopg"],["agentdeck.core.events",false,38,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["hashlib",false,20,"import hashlib"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["asyncio",false,19,"import asyncio"],["psycopg",false,24,"from psycopg import errors as pg_errors"],["__future__",false,17,"from __future__ import annotations"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",false,3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.adapters.stores.redis.store":[["agentdeck.core.ports",false,41,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["redis",false,49,"from redis.asyncio.client import Pipeline"],["agentdeck.adapters.stores",false,39,"from agentdeck.adapters.stores import _refuse_if_sealed"],["json",false,31,"import json"],["agentdeck.core.events",false,40,"from agentdeck.core.events import Event"],["agentdeck.core.status",false,42,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["collections",false,46,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["datetime",false,32,"from datetime import UTC, datetime"],["urllib",false,34,"from urllib.parse import quote"],["redis",false,36,"from redis.asyncio import Redis"],["datetime",false,47,"from datetime import timedelta"],["__future__",false,29,"from __future__ import annotations"],["agentdeck.core.events",false,52,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["typing",false,33,"from typing import TYPE_CHECKING, cast"],["agentdeck.core.context",false,51,"from agentdeck.core.context import RunContext"],["redis",false,37,"from redis.exceptions import RedisError, WatchError"],["agentdeck.core.status",false,53,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",false,43,"from agentdeck.errors import DuplicateKeyError, StoreError"]],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",false,3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.adapters.stores.sqlite.store":[["agentdeck.core.status",false,32,"from agentdeck.core.status import RunStatus"],["datetime",false,15,"from datetime import datetime"],["agentdeck.core.events",false,31,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["datetime",false,27,"from datetime import timedelta"],["pathlib",false,28,"from pathlib import Path"],["collections",false,26,"from collections.abc import Callable, Sequence"],["typing",false,17,"from typing import TYPE_CHECKING"],["agentdeck.adapters.stores",false,19,"from agentdeck.adapters.stores import _refuse_if_sealed"],["agentdeck.core.status",false,22,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["sqlite3",false,13,"import sqlite3"],["agentdeck.core.context",false,30,"from agentdeck.core.context import RunContext"],["contextlib",false,14,"from contextlib import suppress"],["agentdeck.core.events",false,20,"from agentdeck.core.events import Event"],["__future__",false,9,"from __future__ import annotations"],["agentdeck.errors",false,23,"from agentdeck.errors import DuplicateKeyError, StoreError"],["functools",false,16,"from functools import partial"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["asyncio",false,11,"import asyncio"],["json",false,12,"import json"]],"agentdeck.adapters.telemetry":[],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.client",false,3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",false,5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["agentdeck.adapters.telemetry.langfuse.sink",false,4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"]],"agentdeck.adapters.telemetry.langfuse.client":[["__future__",false,13,"from __future__ import annotations"],["typing",false,17,"from typing import TYPE_CHECKING, Any"],["agentdeck.adapters.telemetry.langfuse.trace",false,24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"],["os",false,16,"import os"],["langfuse",false,102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.adapters.telemetry.langfuse.sink",false,19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["agentdeck.core.events",false,25,"from agentdeck.core.events import Usage"],["langfuse",false,60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["logging",false,15,"import logging"],["collections",false,22,"from collections.abc import Mapping"],["agentdeck.runtime.settings",false,26,"from agentdeck.runtime.settings import LangfuseSettings"]],"agentdeck.adapters.telemetry.langfuse.sink":[["agentdeck.core.events",false,31,"from agentdeck.core.events import ("],["agentdeck.core.content",false,30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["logging",false,25,"import logging"],["agentdeck.adapters.telemetry.langfuse.trace",false,50,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["re",false,26,"import re"],["__future__",false,21,"from __future__ import annotations"],["agentdeck.core.events",false,52,"from agentdeck.core.events import Event, Usage"],["collections",false,48,"from collections.abc import Mapping"],["agentdeck.core.ports",false,45,"from agentdeck.core.ports import Observer"],["typing",false,28,"from typing import TYPE_CHECKING, Any"],["dataclasses",false,27,"from dataclasses import dataclass, field"],["json",false,24,"import json"],["asyncio",false,23,"import asyncio"],["agentdeck.core.content",false,51,"from agentdeck.core.content import Input"]],"agentdeck.adapters.telemetry.langfuse.trace":[["collections",false,18,"from collections.abc import Mapping"],["typing",false,15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["agentdeck.core.events",false,20,"from agentdeck.core.events import Usage"],["__future__",false,13,"from __future__ import annotations"]],"agentdeck.adapters.tools":[],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.source",false,6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"],["agentdeck.adapters.tools.mcp.wiring",false,8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["agentdeck.adapters.tools.mcp.lifecycle",false,5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.transport",false,7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",false,3,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp.lifecycle":[["typing",false,21,"from typing import TYPE_CHECKING, Any"],["agents",false,29,"from agents.mcp import MCPServer"],["agentdeck.adapters.tools.mcp.transport",false,23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",false,17,"from __future__ import annotations"],["logging",false,20,"import logging"],["asyncio",false,19,"import asyncio"],["agentdeck.errors",false,24,"from agentdeck.errors import ConfigError"],["collections",false,27,"from collections.abc import Sequence"]],"agentdeck.adapters.tools.mcp.source":[["agentdeck.core.ports.tools",false,14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.adapters.tools.mcp.wiring",false,13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["__future__",false,9,"from __future__ import annotations"],["typing",false,11,"from typing import TYPE_CHECKING"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.adapters.tools.mcp.transport":[["asyncio",false,11,"import asyncio"],["httpx",false,16,"import httpx"],["logging",false,12,"import logging"],["__future__",false,9,"from __future__ import annotations"],["typing",false,14,"from typing import TYPE_CHECKING, Any, TypeVar"],["agents",false,17,"from agents.mcp import MCPServerStreamableHttp"],["collections",false,20,"from collections.abc import Awaitable, Callable"],["contextlib",false,13,"from contextlib import AsyncExitStack, suppress"]],"agentdeck.adapters.tools.mcp.wiring":[["agentdeck.adapters.tools.mcp.lifecycle",false,12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agents",false,17,"from agents.mcp import MCPServer"],["__future__",false,8,"from __future__ import annotations"],["typing",false,10,"from typing import TYPE_CHECKING"],["collections",false,15,"from collections.abc import Iterable, Sequence"]],"agentdeck.authoring":[["agentdeck.authoring.interrupts",false,8,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.agent",false,7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"]],"agentdeck.authoring.agent":[["agentdeck.authoring.runners.agent",false,169,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["agents",false,17,"from agents.agent_output import AgentOutputSchemaBase"],["__future__",false,10,"from __future__ import annotations"],["agents",false,18,"from agents.lifecycle import AgentHooks"],["collections",false,15,"from collections.abc import Callable, Mapping, Sequence"],["typing",false,12,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.compile",false,163,"from agentdeck.authoring.compile import compile_agent"]],"agentdeck.authoring.compile":[["agentdeck.core.context",false,66,"from agentdeck.core.context import RunContext"],["collections",false,61,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["typing",false,44,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.runtime.settings",false,58,"from agentdeck.runtime.settings import get_settings"],["agents",false,47,"from agents import ModelSettings"],["agentdeck.authoring.agent",false,65,"from agentdeck.authoring.agent import Agent"],["agentdeck.authoring.tools",false,55,"from agentdeck.authoring.tools import compile_tool"],["agents",false,46,"from agents import Agent as SDKAgent"],["agentdeck.errors",false,57,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.adapters.tools.mcp.wiring",false,50,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agents",false,48,"from agents import Tool as SDKTool"],["agentdeck.authoring.agent",false,217,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agents",false,63,"from agents.tool import FunctionTool"],["__future__",false,41,"from __future__ import annotations"],["agentdeck.core.workers",false,67,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.native",false,53,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.authoring.hooks",false,51,"from agentdeck.authoring.hooks import compile_hooks"],["agentdeck.authoring.native",false,54,"from agentdeck.authoring.native import tool as _native_tool"],["agentdeck.authoring.instructions",false,52,"from agentdeck.authoring.instructions import compile_instructions"],["agentdeck.core.context",false,56,"from agentdeck.core.context import ToolCtx # noqa: TC001 - a subagent tool's own annotation, resolved at runtime"],["re",false,43,"import re"]],"agentdeck.authoring.hooks":[["agentdeck.errors",false,28,"from agentdeck.errors import ConfigError"],["agents",false,24,"from agents.lifecycle import AgentHooks"],["agentdeck.core.context",false,27,"from agentdeck.core.context import RunContext, ToolCtx"],["collections",false,31,"from collections.abc import Callable"],["__future__",false,19,"from __future__ import annotations"],["inspect",false,21,"import inspect"],["agentdeck.authoring.injection",false,26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["typing",false,22,"from typing import TYPE_CHECKING, Any"]],"agentdeck.authoring.injection":[["collections",false,38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["agentdeck.errors",false,35,"from agentdeck.errors import ConfigError, ContextTypeError"],["agentdeck.core.context",false,34,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["inspect",false,29,"import inspect"],["__future__",false,27,"from __future__ import annotations"],["dataclasses",false,31,"from dataclasses import dataclass"],["typing",false,32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["types",false,30,"import types"]],"agentdeck.authoring.instructions":[["inspect",false,20,"import inspect"],["collections",false,28,"from collections.abc import Callable"],["__future__",false,18,"from __future__ import annotations"],["agentdeck.authoring.injection",false,23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.core.context",false,24,"from agentdeck.core.context import RunContext, ToolCtx"],["agentdeck.errors",false,25,"from agentdeck.errors import ConfigError"],["typing",false,21,"from typing import TYPE_CHECKING, Any"]],"agentdeck.authoring.interrupts":[["__future__",false,8,"from __future__ import annotations"],["typing",false,10,"from typing import Any, Literal, NotRequired, TypedDict"]],"agentdeck.authoring.native":[["agentdeck.authoring.injection",false,14,"from agentdeck.authoring.injection import analyze_callable, describe_callable"],["dataclasses",false,11,"from dataclasses import dataclass"],["__future__",false,8,"from __future__ import annotations"],["collections",false,20,"from collections.abc import Callable"],["agentdeck.core.context",false,15,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["inspect",false,10,"import inspect"],["agentdeck.core.invocable",false,16,"from agentdeck.core.invocable import InvocableKind, NativeExecution"],["agentdeck.authoring.injection",false,22,"from agentdeck.authoring.injection import CallableAnalysis"],["typing",false,12,"from typing import TYPE_CHECKING, Any"],["agentdeck.errors",false,17,"from agentdeck.errors import ConfigError"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.agent",false,3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.authoring.runners.agent":[["typing",false,19,"from typing import TYPE_CHECKING, Any, Self, cast"],["dataclasses",false,18,"from dataclasses import dataclass, field"],["agents",false,21,"from agents import Agent, RunConfig, Runner, RunResult"],["agentdeck.runtime.settings",false,24,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["collections",false,27,"from collections.abc import AsyncGenerator, AsyncIterator"],["contextlib",false,17,"from contextlib import aclosing"],["__future__",false,15,"from __future__ import annotations"]],"agentdeck.authoring.skills":[["__future__",false,9,"from __future__ import annotations"],["collections",false,16,"from collections.abc import Callable, Sequence"],["typing",false,11,"from typing import TYPE_CHECKING"],["agents",false,13,"from agents import function_tool"],["agentdeck.skills",false,20,"from agentdeck.skills import Skills"],["agents",false,18,"from agents.tool import FunctionTool"]],"agentdeck.authoring.tools":[["agents",false,38,"from agents.tool import FunctionTool"],["agents",false,29,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["__future__",false,23,"from __future__ import annotations"],["inspect",false,26,"import inspect"],["asyncio",false,25,"import asyncio"],["agentdeck.authoring.injection",false,40,"from agentdeck.authoring.injection import CallableAnalysis"],["agentdeck.core.workers",false,41,"from agentdeck.core.workers import SyncToolWorkers"],["typing",false,27,"from typing import TYPE_CHECKING, Any, get_type_hints"],["agentdeck.authoring.injection",false,31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["collections",false,36,"from collections.abc import Callable"],["agentdeck.core.context",false,32,"from agentdeck.core.context import RunContext, ToolCtx"],["agentdeck.errors",false,33,"from agentdeck.errors import ConfigError"]],"agentdeck.authoring.web_search":[["agentdeck.runtime.settings",false,15,"from agentdeck.runtime.settings import get_settings"],["__future__",false,10,"from __future__ import annotations"],["agents",false,13,"from agents import function_tool"],["httpx",false,12,"import httpx"]],"agentdeck.bindings":[["agentdeck.bindings.native",false,29,"from agentdeck.bindings.native import Native as Native"],["agentdeck.bindings.agui",false,28,"from agentdeck.bindings.agui import AGUI as AGUI"],["agentdeck.bindings.exposure",false,16,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.bindings.binding",false,8,"from agentdeck.bindings.binding import ("],["agentdeck.bindings.terminal",false,30,"from agentdeck.bindings.terminal import Terminal as Terminal"],["importlib",false,5,"from importlib import import_module"],["agentdeck.bindings.gateway",false,17,"from agentdeck.bindings.gateway import ("],["typing",false,6,"from typing import TYPE_CHECKING, Any"]],"agentdeck.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",false,10,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.bindings.binding":[["collections",false,12,"from collections.abc import Awaitable, Callable"],["__future__",false,6,"from __future__ import annotations"],["agentdeck.bindings.gateway",false,14,"from agentdeck.bindings.gateway import DeckGateway"],["typing",false,9,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["dataclasses",false,8,"from dataclasses import dataclass"]],"agentdeck.bindings.exposure":[["agentdeck.bindings.binding",false,12,"from agentdeck.bindings.binding import PROTOCOL_SPI_VERSION, HttpEndpoint, StdioEndpoint"],["uvicorn",false,106,"import uvicorn"],["__future__",false,5,"from __future__ import annotations"],["agentdeck.bindings.binding",false,19,"from agentdeck.bindings.binding import Binding, Endpoint"],["agentdeck.errors",false,14,"from agentdeck.errors import ConfigError"],["agentdeck.deck",false,20,"from agentdeck.deck import Deck"],["starlette",false,79,"from starlette.routing import Mount"],["contextlib",false,9,"from contextlib import asynccontextmanager"],["collections",false,8,"from collections import Counter"],["starlette",false,78,"from starlette.applications import Starlette"],["typing",false,10,"from typing import TYPE_CHECKING, Any"],["asyncio",false,7,"import asyncio"],["collections",false,17,"from collections.abc import AsyncIterator, Sequence"],["agentdeck.bindings.gateway",false,13,"from agentdeck.bindings.gateway import DeckGateway"]],"agentdeck.bindings.gateway":[["collections",false,27,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["pydantic",false,15,"from pydantic import create_model"],["agentdeck.errors",false,17,"from agentdeck.errors import ("],["inspect",false,10,"import inspect"],["__future__",false,8,"from __future__ import annotations"],["enum",false,12,"from enum import Enum, auto"],["dataclasses",false,11,"from dataclasses import dataclass"],["agentdeck.deck",false,32,"from agentdeck.deck import Deck, Run"],["agentdeck.authoring.native",false,30,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.status",false,31,"from agentdeck.core.status import RunStatus"],["agentdeck.authoring",false,29,"from agentdeck.authoring import Agent"],["typing",false,13,"from typing import TYPE_CHECKING, Any, Literal"]],"agentdeck.bindings.native":[["agentdeck.adapters.bindings.native.binding",false,10,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",false,9,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.cli":[["__future__",false,13,"from __future__ import annotations"],["agentdeck.errors",false,52,"from agentdeck.errors import ConfigError"],["agentdeck.deck",false,51,"from agentdeck.deck import Deck"],["argparse",false,15,"import argparse"],["agentdeck.core.control",false,21,"from agentdeck.core.control import Signal"],["agentdeck.bindings",false,50,"from agentdeck.bindings import Terminal"],["sys",false,18,"import sys"],["contextlib",false,17,"import contextlib"],["agentdeck.adapters.control.sqlite",false,20,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["asyncio",false,16,"import asyncio"]],"agentdeck.composition":[["agentdeck.adapters.leases.sqlite",false,25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"],["collections",false,41,"from collections.abc import Mapping, Sequence"],["__future__",false,16,"from __future__ import annotations"],["agentdeck.core.invocable",false,44,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.adapters.stores.postgres",false,244,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.observers",false,112,"from agentdeck.observers import LangfuseObserver"],["agentdeck.runtime.settings",false,31,"from agentdeck.runtime.settings import ("],["agentdeck.adapters.stores.sqlite",false,27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["typing",false,19,"from typing import TYPE_CHECKING"],["agentdeck.adapters.control.memory",false,21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.runtime.service",false,30,"from agentdeck.runtime.service import Runtime"],["agentdeck.adapters.leases.memory",false,24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.adapters.stores.memory",false,26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.adapters.control.sqlite",false,22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["logging",false,18,"import logging"],["agentdeck.adapters.stores.redis",false,235,"from agentdeck.adapters.stores.redis import RedisEventStore"],["agentdeck.core.errors",false,28,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.core.ports",false,45,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"],["agentdeck.runtime.discovery",false,29,"from agentdeck.runtime.discovery import InvocableRegistry"],["datetime",false,42,"from datetime import timedelta"]],"agentdeck.core":[["agentdeck.core.invocable",false,55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.core.status",false,57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.context",false,20,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",false,7,"from agentdeck.core.content import ("],["agentdeck.core.reporting",false,56,"from agentdeck.core.reporting import Reporter"],["agentdeck.core.events",false,21,"from agentdeck.core.events import ("]],"agentdeck.core.base":[["pydantic",false,12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["__future__",false,7,"from __future__ import annotations"],["math",false,9,"from math import isfinite"],["typing",false,10,"from typing import Annotated"]],"agentdeck.core.content":[["pydantic",false,16,"from pydantic import ("],["typing",false,14,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.errors",false,170,"from agentdeck.core.errors import InputError"],["base64",false,13,"import base64"],["agentdeck.core.errors",false,195,"from agentdeck.core.errors import InputError"],["__future__",false,11,"from __future__ import annotations"],["agentdeck.core.base",false,26,"from agentdeck.core.base import CoreModel, JsonData"]],"agentdeck.core.context":[["agentdeck.core.errors",false,28,"from agentdeck.core.errors import DOCS_URL, ConfigError"],["agentdeck.core.events",false,29,"from agentdeck.core.events import KnownPayload, RunInterrupted"],["uuid",false,25,"from uuid import uuid4"],["asyncio",false,20,"import asyncio"],["agentdeck.core.base",false,39,"from agentdeck.core.base import JsonData"],["agentdeck.core.reporting",false,30,"from agentdeck.core.reporting import Reporter"],["typing",false,24,"from typing import TYPE_CHECKING, Any, NoReturn, Protocol, cast, runtime_checkable"],["agentdeck.core.status",false,31,"from agentdeck.core.status import RunStatus"],["asyncio",false,36,"from asyncio import AbstractEventLoop"],["__future__",false,18,"from __future__ import annotations"],["dataclasses",false,23,"from dataclasses import dataclass, field"],["inspect",false,21,"import inspect"],["logging",false,22,"import logging"],["agentdeck.core.control",false,27,"from agentdeck.core.control import Gate, RunPausedError"],["collections",false,37,"from collections.abc import Callable, Coroutine"],["agentdeck.core.invocable",false,40,"from agentdeck.core.invocable import AgentInstance"]],"agentdeck.core.control":[["collections",false,24,"from collections.abc import Callable, Mapping"],["agentdeck.core.ports.control",false,27,"from agentdeck.core.ports.control import ControlPort"],["typing",false,18,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.events",false,26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["time",false,15,"import time"],["enum",false,17,"from enum import StrEnum"],["agentdeck.core.events",false,20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"],["agentdeck.core.status",false,21,"from agentdeck.core.status import Action, RunStatus, decide"],["__future__",false,13,"from __future__ import annotations"],["dataclasses",false,16,"from dataclasses import dataclass"]],"agentdeck.core.errors":[["__future__",false,16,"from __future__ import annotations"],["typing",false,18,"from typing import Any"],["agentdeck.core.status",false,20,"from agentdeck.core.status import RunStatus"]],"agentdeck.core.events":[["agentdeck.core.content",false,37,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"],["agentdeck.core.base",false,36,"from agentdeck.core.base import CoreModel, JsonData"],["typing",false,23,"from typing import Annotated, Any, Literal, get_args"],["__future__",false,21,"from __future__ import annotations"],["pydantic",false,25,"from pydantic import ("]],"agentdeck.core.invocable":[["agentdeck.core.base",false,15,"from agentdeck.core.base import CoreModel"],["dataclasses",false,9,"from dataclasses import dataclass"],["typing",false,11,"from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable"],["pydantic",false,13,"from pydantic import ConfigDict, Field"],["enum",false,10,"from enum import StrEnum"],["collections",false,18,"from collections.abc import Callable"],["__future__",false,7,"from __future__ import annotations"]],"agentdeck.core.ports":[["agentdeck.core.ports.control",false,11,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.ports.lease",false,13,"from agentdeck.core.ports.lease import LeasePort"],["agentdeck.core.ports.tools",false,16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.sink",false,14,"from agentdeck.core.ports.sink import Observer"],["agentdeck.core.ports.store",false,15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.executor",false,12,"from agentdeck.core.ports.executor import Executor"]],"agentdeck.core.ports.control":[["typing",false,17,"from typing import TYPE_CHECKING"],["agentdeck.core.control",false,20,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",false,14,"from __future__ import annotations"],["abc",false,16,"from abc import ABC, abstractmethod"]],"agentdeck.core.ports.executor":[["typing",false,10,"from typing import TYPE_CHECKING, ClassVar"],["abc",false,9,"from abc import ABC, abstractmethod"],["__future__",false,7,"from __future__ import annotations"],["agentdeck.core.content",false,15,"from agentdeck.core.content import Input"],["agentdeck.core.invocable",false,18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",false,16,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",false,17,"from agentdeck.core.events import Event, KnownPayload"],["collections",false,13,"from collections.abc import AsyncGenerator, Sequence"]],"agentdeck.core.ports.lease":[["__future__",false,14,"from __future__ import annotations"],["abc",false,16,"from abc import ABC, abstractmethod"],["typing",false,17,"from typing import TYPE_CHECKING"],["collections",false,20,"from collections.abc import Collection"],["datetime",false,21,"from datetime import timedelta"]],"agentdeck.core.ports.sink":[["__future__",false,7,"from __future__ import annotations"],["agentdeck.core.events",false,13,"from agentdeck.core.events import Event"],["typing",false,10,"from typing import TYPE_CHECKING"],["abc",false,9,"from abc import ABC, abstractmethod"]],"agentdeck.core.ports.store":[["typing",false,13,"from typing import TYPE_CHECKING"],["datetime",false,19,"from datetime import timedelta"],["collections",false,18,"from collections.abc import Sequence"],["agentdeck.core.context",false,21,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",false,22,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"],["dataclasses",false,12,"from dataclasses import dataclass"],["__future__",false,9,"from __future__ import annotations"],["agentdeck.core.status",false,15,"from agentdeck.core.status import RunStatus, status_of"],["abc",false,11,"from abc import ABC, abstractmethod"]],"agentdeck.core.ports.tools":[["typing",false,15,"from typing import TYPE_CHECKING, Any"],["pydantic",false,17,"from pydantic import ConfigDict"],["agentdeck.core.invocable",false,22,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.base",false,19,"from agentdeck.core.base import CoreModel"],["abc",false,14,"from abc import ABC, abstractmethod"],["__future__",false,12,"from __future__ import annotations"]],"agentdeck.core.reporting":[["typing",false,13,"from typing import TYPE_CHECKING"],["agentdeck.core.events",false,15,"from agentdeck.core.events import Reported"],["__future__",false,11,"from __future__ import annotations"],["collections",false,18,"from collections.abc import Callable"],["agentdeck.core.base",false,20,"from agentdeck.core.base import JsonData"]],"agentdeck.core.status":[["agentdeck.core.content",false,23,"from agentdeck.core.content import answer_of"],["agentdeck.core.events",false,24,"from agentdeck.core.events import TERMINAL_KINDS, RunInterrupted, RunResumed"],["dataclasses",false,19,"from dataclasses import dataclass"],["collections",false,27,"from collections.abc import Mapping, Sequence"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",false,29,"from agentdeck.core.events import Event"],["__future__",false,17,"from __future__ import annotations"],["enum",false,20,"from enum import StrEnum"]],"agentdeck.core.workers":[["concurrent",false,13,"from concurrent.futures import Future, ThreadPoolExecutor"],["collections",false,17,"from collections.abc import Callable"],["asyncio",false,12,"import asyncio"],["__future__",false,10,"from __future__ import annotations"],["typing",false,14,"from typing import TYPE_CHECKING, Any"]],"agentdeck.deck":[["agentdeck.bindings.exposure",false,102,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.runtime.registry",false,90,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.core.content",false,64,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["agentdeck.mcp",false,88,"from agentdeck.mcp import MCP"],["agents",false,98,"from agents.memory.session import Session"],["functools",false,39,"import functools"],["agentdeck.authoring.interrupts",false,54,"from agentdeck.authoring.interrupts import interrupt_result"],["agentdeck.authoring.native",false,55,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.context",false,65,"from agentdeck.core.context import RunContext"],["agentdeck.authoring.interrupts",false,100,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.core.events",false,67,"from agentdeck.core.events import ("],["pathlib",false,44,"from pathlib import Path"],["agentdeck.core.events",false,104,"from agentdeck.core.events import Event, Usage"],["agentdeck.bindings.binding",false,101,"from agentdeck.bindings.binding import Binding"],["contextlib",false,43,"from contextlib import aclosing, suppress"],["agentdeck.runtime.service",false,106,"from agentdeck.runtime.service import PendingRun, Runtime"],["agentdeck.composition",false,57,"from agentdeck.composition import ("],["agentdeck.core.status",false,77,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Controls, Operation, RunStatus, Verdict, can_of"],["collections",false,42,"from collections import ChainMap"],["agentdeck.bindings.exposure",false,686,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.core.ports",false,105,"from agentdeck.core.ports import EventStorePort, Executor"],["agentdeck.adapters.executors.openai_agents",false,49,"from agentdeck.adapters.executors.openai_agents import ExecutionStore, OpenAIAgentsExecutor, SessionFactory"],["agentdeck.authoring.skills",false,56,"from agentdeck.authoring.skills import skills_resolver"],["types",false,45,"from types import MappingProxyType"],["collections",false,96,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["agentdeck.runtime.settings",false,91,"from agentdeck.runtime.settings import Settings, get_settings"],["builtins",false,95,"import builtins"],["agentdeck.skills",false,92,"from agentdeck.skills import Skills"],["agentdeck.authoring.compile",false,52,"from agentdeck.authoring.compile import compile_agent, refresh_mcp_status"],["agentdeck.runtime.discovery",false,89,"from agentdeck.runtime.discovery import EXECUTOR_FOR_KIND, InvocableRegistry"],["agentdeck.core.ports",false,76,"from agentdeck.core.ports import Observer"],["typing",false,46,"from typing import TYPE_CHECKING, Any, Literal, cast"],["agentdeck.core.invocable",false,75,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["uuid",false,41,"import uuid"],["agentdeck.core.content",false,103,"from agentdeck.core.content import Input"],["agentdeck.authoring.injection",false,53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.authoring.agent",false,51,"from agentdeck.authoring.agent import Agent"],["__future__",false,36,"from __future__ import annotations"],["agentdeck.adapters.executors.native",false,48,"from agentdeck.adapters.executors.native import NativeExecutor"],["asyncio",false,38,"import asyncio"],["agentdeck.errors",false,79,"from agentdeck.errors import ("],["logging",false,40,"import logging"],["agentdeck.core.control",false,66,"from agentdeck.core.control import Signal"],["agentdeck.core.workers",false,78,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.adapters.tools.mcp.lifecycle",false,50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"]],"agentdeck.errors":[["agentdeck.core.errors",false,11,"from agentdeck.core.errors import ("],["__future__",false,9,"from __future__ import annotations"]],"agentdeck.mcp":[["json",false,12,"import json"],["agentdeck.errors",false,18,"from agentdeck.errors import ConfigError"],["pydantic",false,16,"from pydantic import BaseModel, ConfigDict, Field"],["pathlib",false,13,"from pathlib import Path"],["typing",false,14,"from typing import Any"],["__future__",false,10,"from __future__ import annotations"]],"agentdeck.observers":[["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Observer"],["agentdeck.adapters.telemetry.langfuse.client",false,116,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["__future__",false,16,"from __future__ import annotations"],["agents",false,41,"from agents import set_trace_processors"],["typing",false,19,"from typing import TYPE_CHECKING"],["agentdeck.views",false,27,"from agentdeck.views import View"],["agentdeck.runtime.settings",false,23,"from agentdeck.runtime.settings import get_settings"],["pathlib",false,18,"from pathlib import Path"],["openinference",false,42,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.core.events",false,26,"from agentdeck.core.events import Event"],["agentdeck.errors",false,22,"from agentdeck.errors import ConfigError"]],"agentdeck.runtime":[],"agentdeck.runtime.capture":[["enum",false,14,"from enum import StrEnum"],["__future__",false,12,"from __future__ import annotations"],["pydantic",false,16,"from pydantic import BaseModel"]],"agentdeck.runtime.discovery":[["agentdeck.authoring.compile",false,27,"from agentdeck.authoring.compile import Delegate"],["__future__",false,10,"from __future__ import annotations"],["agentdeck.authoring.native",false,16,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.authoring.agent",false,14,"from agentdeck.authoring.agent import Agent"],["collections",false,22,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.core.ports",false,28,"from agentdeck.core.ports import Executor"],["agents",false,24,"from agents import Agent as SDKAgent"],["agentdeck.core.workers",false,29,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.compile",false,15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["agentdeck.runtime.registry",false,19,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["agentdeck.errors",false,18,"from agentdeck.errors import ConfigError"],["agents",false,25,"from agents.tool import FunctionTool"],["typing",false,12,"from typing import TYPE_CHECKING, Any, Final"]],"agentdeck.runtime.dispatch":[["collections",false,29,"from collections.abc import Callable"],["agentdeck.core.events",false,31,"from agentdeck.core.events import Event"],["__future__",false,21,"from __future__ import annotations"],["time",false,25,"import time"],["logging",false,24,"import logging"],["asyncio",false,23,"import asyncio"],["agentdeck.core.ports",false,32,"from agentdeck.core.ports import Observer"],["typing",false,26,"from typing import TYPE_CHECKING"]],"agentdeck.runtime.registry":[["pathlib",false,11,"from pathlib import Path"],["types",false,8,"import types"],["agentdeck.errors",false,14,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import InvocableKind"],["importlib",false,10,"from importlib.machinery import ModuleSpec"],["sys",false,7,"import sys"],["dataclasses",false,9,"from dataclasses import dataclass, field"],["typing",false,12,"from typing import TYPE_CHECKING, Generic, TypeVar"],["importlib",false,6,"import importlib.util"],["importlib",false,5,"import importlib"],["__future__",false,3,"from __future__ import annotations"]],"agentdeck.runtime.service":[["agentdeck.runtime.dispatch",false,55,"from agentdeck.runtime.dispatch import SinkDispatch"],["agentdeck.core.errors",false,27,"from agentdeck.core.errors import DOCS_URL"],["dataclasses",false,19,"from dataclasses import dataclass, replace"],["agentdeck.core.control",false,62,"from agentdeck.core.control import ControlSignal"],["contextlib",false,18,"from contextlib import aclosing, asynccontextmanager, suppress"],["agentdeck.core.events",false,28,"from agentdeck.core.events import ("],["logging",false,16,"import logging"],["datetime",false,20,"from datetime import timedelta"],["agentdeck.core.ports.store",false,66,"from agentdeck.core.ports.store import RunSummary"],["agentdeck.core.status",false,43,"from agentdeck.core.status import ("],["asyncio",false,15,"import asyncio"],["collections",false,58,"from collections.abc import AsyncGenerator, AsyncIterator, Awaitable, Callable, Mapping, Sequence"],["typing",false,21,"from typing import TYPE_CHECKING, Final"],["agentdeck.core.control",false,26,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.events",false,63,"from agentdeck.core.events import InterruptReason, KnownPayload"],["typing",false,59,"from typing import Any, Literal"],["uuid",false,22,"from uuid import uuid4"],["agentdeck.core.content",false,61,"from agentdeck.core.content import Input"],["agentdeck.errors",false,54,"from agentdeck.errors import ConfigError, InputError, NotFoundError, RunStateError, SessionBusyError, StoreError"],["collections",false,17,"from collections import deque"],["agentdeck.core.ports",false,65,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"],["agentdeck.core.context",false,25,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",false,24,"from agentdeck.core.content import as_answer"],["__future__",false,13,"from __future__ import annotations"],["agentdeck.core.reporting",false,42,"from agentdeck.core.reporting import Reporter"],["agentdeck.core.invocable",false,64,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.runtime.settings":[["pydantic_settings",false,25,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["__future__",false,13,"from __future__ import annotations"],["pathlib",false,20,"from pathlib import Path"],["collections",false,28,"from collections.abc import Callable"],["collections",false,17,"from collections.abc import Mapping"],["pydantic",false,24,"from pydantic import BaseModel, ConfigDict, Field, field_validator"],["datetime",false,18,"from datetime import timedelta"],["os",false,16,"import os"],["typing",false,21,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["functools",false,19,"from functools import lru_cache"],["dotenv",false,23,"from dotenv import load_dotenv"],["logging",false,15,"import logging"]],"agentdeck.skills":[["__future__",false,10,"from __future__ import annotations"],["agentdeck.errors",false,16,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.skills.bundle",false,17,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["pathlib",false,12,"from pathlib import Path"],["collections",false,20,"from collections.abc import Sequence"],["agentdeck.core.errors",false,15,"from agentdeck.core.errors import DOCS_URL"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.skills.bundle":[["pathlib",false,7,"from pathlib import Path"],["dataclasses",false,6,"from dataclasses import dataclass, field"],["__future__",false,3,"from __future__ import annotations"],["yaml",false,10,"import yaml"],["agentdeck.errors",false,12,"from agentdeck.errors import ConfigError"],["re",false,5,"import re"],["typing",false,8,"from typing import Any"]],"agentdeck.testing":[["threading",false,18,"import threading"],["asyncio",false,16,"import asyncio"],["__future__",false,14,"from __future__ import annotations"],["agents",false,25,"from agents.models.interface import Model"],["unittest",false,22,"from unittest.mock import patch"],["openai",false,27,"from openai.types.responses import ("],["http",false,20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["json",false,17,"import json"],["contextlib",false,19,"from contextlib import contextmanager"],["openai",false,36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["agents",false,26,"from agents.usage import Usage"],["agents",false,24,"from agents.items import ModelResponse"],["collections",false,39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"],["typing",false,21,"from typing import TYPE_CHECKING, Any"]],"agentdeck.views":[["typing",false,16,"from typing import TYPE_CHECKING"],["collections",false,21,"from collections.abc import Callable"],["agentdeck.core.status",false,18,"from agentdeck.core.status import LIFECYCLE_KINDS"],["__future__",false,14,"from __future__ import annotations"],["agentdeck.core.events",false,23,"from agentdeck.core.events import Event"]]},"version":2}
|
|
@@ -8,6 +8,39 @@ Fixed / Security` order - and are written to be attached to a release as-is.
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [6.0.6] - 2026-09-14
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **The Ask Jack launcher no longer reads as broken when Jack is fine.** Its liveness probe asked
|
|
16
|
+
for `/health` on the site's own origin, which the deployment routes nowhere, so it answered 404
|
|
17
|
+
whether or not the assistant was running and the launcher sat disabled saying he had errored. It
|
|
18
|
+
now probes the path that is routed.
|
|
19
|
+
- **A locally run Jack accepts the local docs site.** The default origin allowlist named port 3030,
|
|
20
|
+
which nothing has served since `npm run dev` moved to 3040, so a contributor running both saw
|
|
21
|
+
"Jack is away" against a healthy backend.
|
|
22
|
+
|
|
23
|
+
## [6.0.5] - 2026-09-14
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- **A public roadmap** (#723). `/resources/roadmap` states where AgentDeck is going: reach across
|
|
28
|
+
protocols through 6.x, programmable execution and debugging in v7, isolation and sandboxing in
|
|
29
|
+
v8, and rooms, automation, batteries and operations as directions rather than a release order. No
|
|
30
|
+
dates. Protocol sequencing stays authoritative in the repository's protocol roadmap.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **Ask Jack says he is away before you type, rather than after** (#224). The docs site checks the
|
|
35
|
+
assistant's `/health` on load: when it is unreachable the launcher reads "Jack is away" and takes
|
|
36
|
+
no question, instead of accepting one and failing on send. A backend that answers with an error
|
|
37
|
+
reads differently from one that is not running.
|
|
38
|
+
- **The `observability` extra now requires Langfuse 4.x** (#748). `langfuse>=4.15.2` and
|
|
39
|
+
`openinference-instrumentation-openai-agents>=2.4.1`, up from `>=2.60` and `>=0.1`. Langfuse 4
|
|
40
|
+
is past their OpenTelemetry rewrite, so an environment pinning Langfuse 2.x will not resolve
|
|
41
|
+
`agentdeck-sdk[observability]` until it moves. AgentDeck's own observer surface is unchanged:
|
|
42
|
+
`Deck(observers=[Langfuse()])` is the same call and the same behavior.
|
|
43
|
+
|
|
11
44
|
## [6.0.4] - 2026-09-13
|
|
12
45
|
|
|
13
46
|
### Changed
|
|
@@ -2865,7 +2898,9 @@ documentation platform and its CI.
|
|
|
2865
2898
|
`runtime/tools.py`, `PluginRegistry.pick`, `skill_runtime` LLM/batch
|
|
2866
2899
|
helpers; deps typer, rich, prompt-toolkit.
|
|
2867
2900
|
|
|
2868
|
-
[Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.
|
|
2901
|
+
[Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.6...HEAD
|
|
2902
|
+
[6.0.6]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.5...v6.0.6
|
|
2903
|
+
[6.0.5]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.4...v6.0.5
|
|
2869
2904
|
[6.0.4]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.3...v6.0.4
|
|
2870
2905
|
[6.0.3]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.2...v6.0.3
|
|
2871
2906
|
[6.0.2]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.1...v6.0.2
|
|
@@ -3,25 +3,40 @@
|
|
|
3
3
|
AgentDeck is a declarative runtime harness for multi-agent systems and workflows (OpenAI Agents SDK, plus AgentDeck-native `@tool`/`@workflow`).
|
|
4
4
|
|
|
5
5
|
**Core standards:** `docs/engineering/`: the linked suite of binding engineering law:
|
|
6
|
-
1. [`docs/engineering/principles.md`](docs/engineering/principles.md): Product philosophy
|
|
6
|
+
1. [`docs/engineering/principles.md`](docs/engineering/principles.md): Product philosophy, and the standard a feature is held to (Q1-Q7).
|
|
7
7
|
2. [`docs/engineering/coding-standards.md`](docs/engineering/coding-standards.md): Binding front door for every code change.
|
|
8
8
|
3. [`docs/engineering/coding-agents.md`](docs/engineering/coding-agents.md): Mandatory rules for coding agents.
|
|
9
9
|
4. [`docs/engineering/documentation.md`](docs/engineering/documentation.md): Binding for every page under `docs-site/content/`.
|
|
10
10
|
5. Specialized standards: [`architecture.md`](docs/engineering/architecture.md), [`runtime-contracts.md`](docs/engineering/runtime-contracts.md), [`testing.md`](docs/engineering/testing.md), [`dependencies.md`](docs/engineering/dependencies.md), [`repository-policy.md`](docs/engineering/repository-policy.md), [`import-boundaries.md`](docs/engineering/import-boundaries.md).
|
|
11
11
|
6. [`docs/patterns/`](docs/patterns/README.md): the project's taste as real good/bad pairs. Read the file for your concern before writing; match the good side.
|
|
12
12
|
|
|
13
|
+
**Every file under `docs/` declares its status on line 3**, from four words, so law is distinguishable from archaeology without opening it:
|
|
14
|
+
|
|
15
|
+
| Status | Means | Where |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| **Binding** | a change that violates it is wrong | all of `docs/engineering/` and `docs/patterns/`, the 16 files above |
|
|
18
|
+
| **Design of record** | live rulings; amend it rather than contradicting it | `docs/design/` including `protocols/`, and `docs/delivery/`, whose plans are cited by ruling number from tests and source |
|
|
19
|
+
| **Reference** | true, not law | `docs/brand/README.md` |
|
|
20
|
+
| **History** | a state the project has left. Usually it is deleted instead: git is the archive, and #734 deleted the eight that nothing read | nothing, currently |
|
|
21
|
+
|
|
22
|
+
A version in a **History** title is that document's own subject, not a stale claim about this repository.
|
|
23
|
+
|
|
13
24
|
---
|
|
14
25
|
|
|
15
26
|
## 1. Product Philosophy & North Star
|
|
16
27
|
|
|
17
|
-
> **
|
|
18
|
-
> **
|
|
28
|
+
> **You build the software. AgentDeck handles the agentic machinery.**
|
|
29
|
+
> **Simple on the outside, elegant on the inside.**
|
|
30
|
+
|
|
31
|
+
Suspending a run on a human and resuming it days later on another machine is hard. So is cancelling a live run from another process, one conversation that spans turns and surfaces and restarts, and one run readable over HTTP, stdio and AG-UI at once. Our position is that we write those once, carefully, instead of every team writing them again under deadline. These subsystems are sophisticated inside and **must not make application code sophisticated**. When a design makes the inside simpler by making the outside harder, we have failed, and that is not a trade we are allowed to make quietly.
|
|
19
32
|
|
|
20
33
|
* **User owns intent, AgentDeck owns machinery:** Users define agents, tools, workflows, skills, and context. AgentDeck manages run identity, execution lifecycle, persistence, event streams, cancellation, and concurrency.
|
|
34
|
+
* **Complexity grows slower than capability:** Needing concurrency, a human, another agent or a protocol costs one call, not a redesign. An application is never restructured because its requirements got more serious.
|
|
21
35
|
* **Abstractions must delete complexity:** An abstraction is successful only when the caller needs to know *less*. Never leak internal plumbing (stores, resolvers, internal contexts, log keys) into public user APIs.
|
|
22
36
|
* **One obvious path first:** One clean, standard path for common tasks (`await deck.run(...)`). Advanced knobs remain escape hatches, never obstacles.
|
|
23
|
-
* **
|
|
24
|
-
|
|
37
|
+
* **We are not exempt:** Finding that AgentDeck's own API has transferred complexity to the user is a defect, not a preference.
|
|
38
|
+
|
|
39
|
+
**The standard.** Every major feature answers **Q1-Q7** in [`docs/engineering/principles.md`](docs/engineering/principles.md#the-standard), and a review cites them by key. Q2, can a developer who does not need it ignore it completely, kills most proposals. Q4, are we absorbing complexity or transferring it to the user, is the one we most often fail. A bugfix answers neither.
|
|
25
40
|
|
|
26
41
|
---
|
|
27
42
|
|
|
@@ -51,6 +66,8 @@ AgentDeck is a declarative runtime harness for multi-agent systems and workflows
|
|
|
51
66
|
* **Comments:** Extremely rare, max 1–2 lines explaining non-obvious *why*, never restating what the code does.
|
|
52
67
|
* Good (real, `core/control.py`): `# Before the raise, because the raise is what records the effect: an intent left pending behind an honored one would be honored a second time on the next resume.`
|
|
53
68
|
* Bad: `# Increment the retry count` above `retry_count += 1`. A `PostToolUse` hook (`scripts/slopcheck.py`) flags this per edit.
|
|
69
|
+
* **Conciseness is mandatory:** No fluff, no sprawling prose. If one sentence suffices, write one sentence. Code, comments, docs, PR descriptions, and issue specs must be terse, precise, and dense with signal.
|
|
70
|
+
* **No em dashes:** Never use the ` - ` character in any documentation, code, comments, or agent output. Use a regular hyphen `-`, colon `:`, or separate into distinct sentences.
|
|
54
71
|
|
|
55
72
|
---
|
|
56
73
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agentdeck-sdk
|
|
3
|
-
Version: 6.0.
|
|
4
|
-
Summary: Build agents, tools and workflows as normal software, and
|
|
3
|
+
Version: 6.0.6
|
|
4
|
+
Summary: Agentic software should feel like software. Build agents, tools and workflows as normal software, and get one execution model you can observe, control and extend.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -27,19 +27,19 @@ Requires-Dist: starlette>=0.40; extra == 'agui'
|
|
|
27
27
|
Provides-Extra: dev
|
|
28
28
|
Requires-Dist: ag-ui-protocol<0.2,>=0.1.22; extra == 'dev'
|
|
29
29
|
Requires-Dist: fastapi>=0.115; extra == 'dev'
|
|
30
|
-
Requires-Dist: griffe>=
|
|
31
|
-
Requires-Dist: import-linter==2.
|
|
30
|
+
Requires-Dist: griffe>=2.3.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: import-linter==2.15; extra == 'dev'
|
|
32
32
|
Requires-Dist: pre-commit>=4.0; extra == 'dev'
|
|
33
33
|
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
|
|
34
34
|
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
35
35
|
Requires-Dist: pytest-timeout>=2.3; extra == 'dev'
|
|
36
36
|
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
37
37
|
Requires-Dist: redis>=5.0; extra == 'dev'
|
|
38
|
-
Requires-Dist: ruff>=0.
|
|
39
|
-
Requires-Dist: ty>=0.0.
|
|
38
|
+
Requires-Dist: ruff>=0.16.7; extra == 'dev'
|
|
39
|
+
Requires-Dist: ty>=0.0.80; extra == 'dev'
|
|
40
40
|
Provides-Extra: observability
|
|
41
|
-
Requires-Dist: langfuse>=2
|
|
42
|
-
Requires-Dist: openinference-instrumentation-openai-agents>=
|
|
41
|
+
Requires-Dist: langfuse>=4.15.2; extra == 'observability'
|
|
42
|
+
Requires-Dist: openinference-instrumentation-openai-agents>=2.4.1; extra == 'observability'
|
|
43
43
|
Requires-Dist: opentelemetry-sdk>=1.27; extra == 'observability'
|
|
44
44
|
Provides-Extra: postgres
|
|
45
45
|
Requires-Dist: psycopg[binary]>=3.2; extra == 'postgres'
|
|
@@ -73,6 +73,14 @@ AgentDeck gives them one execution model you can observe, control and extend.
|
|
|
73
73
|
|
|
74
74
|
</div>
|
|
75
75
|
|
|
76
|
+
You write the agents, tools and workflows. AgentDeck writes what surrounds them: a run that suspends
|
|
77
|
+
on a human and resumes days later on another machine, a cancel that lands on a run in another
|
|
78
|
+
process, one conversation that survives turns, surfaces and restarts, and one event log that the
|
|
79
|
+
HTTP wire, the terminal and AG-UI all read the same way.
|
|
80
|
+
|
|
81
|
+
None of that is your application, and all of it is work. It is done once here instead of again in
|
|
82
|
+
every project that needs it, and needing the next piece of it costs one call, not a redesign.
|
|
83
|
+
|
|
76
84
|
```bash
|
|
77
85
|
pip install agentdeck-sdk
|
|
78
86
|
```
|