agentdeck-sdk 4.0.0__tar.gz → 4.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentdeck_sdk-4.0.2/.agents/skills/open-issue/SKILL.md +32 -0
- agentdeck_sdk-4.0.2/.agents/skills/release/SKILL.md +25 -0
- agentdeck_sdk-4.0.2/.agents/skills/ship-issue/SKILL.md +40 -0
- agentdeck_sdk-4.0.2/.claude/agents/deck-dev.md +35 -0
- agentdeck_sdk-4.0.2/.claude/agents/deck-reviewer.md +35 -0
- agentdeck_sdk-4.0.2/.claude/agents/docs-reviewer.md +26 -0
- agentdeck_sdk-4.0.2/.claude/agents/docs-writer.md +29 -0
- agentdeck_sdk-4.0.2/.claude/skills/open-issue/SKILL.md +32 -0
- agentdeck_sdk-4.0.2/.claude/skills/release/SKILL.md +25 -0
- agentdeck_sdk-4.0.2/.claude/skills/ship-issue/SKILL.md +40 -0
- agentdeck_sdk-4.0.2/.codex/agents/deck-dev.toml +5 -0
- agentdeck_sdk-4.0.2/.codex/agents/deck-reviewer.toml +5 -0
- agentdeck_sdk-4.0.2/.codex/agents/docs-reviewer.toml +5 -0
- agentdeck_sdk-4.0.2/.codex/agents/docs-writer.toml +5 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/PULL_REQUEST_TEMPLATE.md +2 -2
- agentdeck_sdk-4.0.2/.github/dependabot.yml +15 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/workflows/docs-pages.yml +1 -1
- agentdeck_sdk-4.0.2/.import_linter_cache/agentdeck.meta.json +1 -0
- agentdeck_sdk-4.0.2/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
- agentdeck_sdk-4.0.2/AGENTS.md +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/CHANGELOG.md +345 -303
- agentdeck_sdk-4.0.2/CLAUDE.md +62 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/CONTRIBUTING.md +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/Makefile +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/PKG-INFO +137 -106
- agentdeck_sdk-4.0.2/README.md +235 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/SECURITY.md +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/README.md +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/__init__.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/__init__.py +1 -1
- agentdeck_sdk-4.0.2/agentdeck/adapters/control/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/memory/port.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/sqlite/port.py +9 -9
- agentdeck_sdk-4.0.2/agentdeck/adapters/engines/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/checkpointer.py +19 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/engine.py +33 -33
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/engine.py +26 -26
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/reconcile.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/runconfig.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/sessions.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/translate.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/stub/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/stub/engine.py +7 -7
- agentdeck_sdk-4.0.2/agentdeck/adapters/leases/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/memory/port.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/sqlite/port.py +6 -6
- agentdeck_sdk-4.0.2/agentdeck/adapters/stores/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/memory/store.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/postgres/store.py +24 -24
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/redis/store.py +21 -21
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/sqlite/store.py +34 -34
- agentdeck_sdk-4.0.2/agentdeck/adapters/telemetry/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/client.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/sink.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/trace.py +4 -4
- agentdeck_sdk-4.0.2/agentdeck/adapters/tools/__init__.py +1 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/lifecycle.py +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/source.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/transport.py +234 -234
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/wiring.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/agent.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/compile.py +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/graphs.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/hooks.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/injection.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/instructions.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/interrupts.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/nodes.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/agent.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/workflow.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/skills.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/state.py +44 -44
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/timers.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/tools.py +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/workflow.py +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/cli.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/composition.py +19 -19
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/base.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/content.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/context.py +14 -14
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/control.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/events.py +33 -33
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/invocable.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/control.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/engine.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/lease.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/sink.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/store.py +22 -22
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/tools.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/reporting.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/core/status.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/deck.py +101 -101
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/errors.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/mcp.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/observers.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/capture.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/discovery.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/dispatch.py +26 -26
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/registry.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/service.py +76 -76
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/settings.py +41 -41
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/serve.py +21 -21
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/skills/__init__.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/cli/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/cli/chat.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/__init__.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/app.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/compat.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/workflows.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/testing.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/00-project-index.md +52 -52
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/agentdeck-prd.md +21 -21
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/brand/README.md +16 -16
- agentdeck_sdk-4.0.2/docs/brand/components/card.svg +8 -0
- agentdeck_sdk-4.0.2/docs/brand/components/spark.svg +6 -0
- agentdeck_sdk-4.0.2/docs/brand/components/wordmark.svg +17 -0
- agentdeck_sdk-4.0.2/docs/brand/contributor-merged.svg +22 -0
- agentdeck_sdk-4.0.2/docs/brand/contributor-welcome.svg +17 -0
- agentdeck_sdk-4.0.2/docs/brand/favicon.svg +9 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-black.svg +7 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-blue.svg +7 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-full.svg +9 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-mark.svg +5 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-traced-original.svg +38 -0
- agentdeck_sdk-4.0.2/docs/brand/logo-white.svg +7 -0
- agentdeck_sdk-4.0.2/docs/brand/logo.svg +6 -0
- agentdeck_sdk-4.0.2/docs/brand/social-card.svg +30 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/beta-user-report-v3.md +23 -23
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/decision-v3-entry-point.md +17 -17
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/discoverability-baseline.md +15 -15
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/docs-site-plan.md +38 -38
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/epic-agentdeck-v2-core.md +20 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/findings-register.md +34 -34
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/milestone-0-findings.md +23 -23
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/milestone-0-walking-skeleton.md +32 -32
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-166-delivery.md +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-219-delivery.md +32 -32
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-adoption.md +38 -38
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-context-injection.md +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-multimodal.md +14 -14
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-phase4-deck.md +30 -24
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-skills.md +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/plan-v2-cutover.md +15 -15
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/review-context-injection.md +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/review-phase4-deck.md +12 -12
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/review-v3-outsider.md +22 -22
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/roadmap-v3.1.md +68 -68
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/roadmap-v3.md +20 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/workflow.md +23 -23
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/adr-d11-store-assigns-seq-and-time.md +30 -30
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/adr-d5-two-stores.md +21 -21
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/agentdeck-v2-architecture.md +303 -259
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/event-store-claims.md +17 -17
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/run-identity.md +10 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/run-lifecycle.md +12 -12
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/run-operations.md +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/design/sink-dispatch.md +7 -7
- agentdeck_sdk-4.0.2/docs/design-system.md +63 -0
- agentdeck_sdk-4.0.2/docs/engineering/README.md +35 -0
- agentdeck_sdk-4.0.2/docs/engineering/architecture.md +116 -0
- agentdeck_sdk-4.0.2/docs/engineering/coding-agents.md +62 -0
- agentdeck_sdk-4.0.2/docs/engineering/coding-standards.md +179 -0
- agentdeck_sdk-4.0.2/docs/engineering/dependencies.md +48 -0
- agentdeck_sdk-4.0.2/docs/engineering/import-boundaries.md +30 -0
- agentdeck_sdk-4.0.2/docs/engineering/principles.md +128 -0
- agentdeck_sdk-4.0.2/docs/engineering/repository-policy.md +87 -0
- agentdeck_sdk-4.0.2/docs/engineering/runtime-contracts.md +116 -0
- agentdeck_sdk-4.0.2/docs/engineering/testing.md +113 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/project-brief.md +10 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/prompts/pr0-baseline-prompt.md +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/prompts/pr0-review-prompt.md +20 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/prompts/pr1-event-schema-prompt.md +27 -27
- agentdeck_sdk-4.0.2/docs/spec.md +2524 -0
- agentdeck_sdk-4.0.2/docs-site/.env.development +3 -0
- agentdeck_sdk-4.0.2/docs-site/.env.production +6 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/README.md +4 -4
- agentdeck_sdk-4.0.2/docs-site/app/brand-icons.tsx +41 -0
- agentdeck_sdk-4.0.2/docs-site/app/brand.css +716 -0
- agentdeck_sdk-4.0.2/docs-site/app/callout.tsx +38 -0
- agentdeck_sdk-4.0.2/docs-site/app/deck-figure.tsx +124 -0
- agentdeck_sdk-4.0.2/docs-site/app/design-system.tsx +126 -0
- agentdeck_sdk-4.0.2/docs-site/app/diagram.tsx +33 -0
- agentdeck_sdk-4.0.2/docs-site/app/hero.css +828 -0
- agentdeck_sdk-4.0.2/docs-site/app/hero.tsx +261 -0
- agentdeck_sdk-4.0.2/docs-site/app/install-line.tsx +29 -0
- agentdeck_sdk-4.0.2/docs-site/app/jack-live.tsx +199 -0
- agentdeck_sdk-4.0.2/docs-site/app/jack-stream.ts +82 -0
- agentdeck_sdk-4.0.0/docs-site/app/ask-agentdeck.css → agentdeck_sdk-4.0.2/docs-site/app/jack.css +54 -11
- agentdeck_sdk-4.0.0/docs-site/app/ask-agentdeck.tsx → agentdeck_sdk-4.0.2/docs-site/app/jack.tsx +29 -52
- agentdeck_sdk-4.0.2/docs-site/app/kind-icons.tsx +45 -0
- agentdeck_sdk-4.0.2/docs-site/app/landing-components.tsx +171 -0
- agentdeck_sdk-4.0.2/docs-site/app/landing.css +1231 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/layout.tsx +45 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/mark.tsx +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/robots.ts +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/site.ts +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/sitemap.ts +1 -1
- agentdeck_sdk-4.0.2/docs-site/content/_meta.ts +26 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/_meta.ts +8 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/agents.mdx +20 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/context.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/deck.mdx +19 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/skills.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/tools.mdx +19 -0
- agentdeck_sdk-4.0.2/docs-site/content/build-your-deck/workflows.mdx +13 -0
- agentdeck_sdk-4.0.2/docs-site/content/examples/_meta.ts +3 -0
- agentdeck_sdk-4.0.2/docs-site/content/examples/index.mdx +12 -0
- agentdeck_sdk-4.0.2/docs-site/content/index.mdx +30 -0
- agentdeck_sdk-4.0.2/docs-site/content/integrations/_meta.ts +6 -0
- agentdeck_sdk-4.0.2/docs-site/content/integrations/existing-agents.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/integrations/langgraph.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/integrations/mcp.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/integrations/openai-agents-sdk.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/jack/_meta.ts +3 -0
- agentdeck_sdk-4.0.2/docs-site/content/jack/notes.mdx +88 -0
- agentdeck_sdk-4.0.2/docs-site/content/jack.mdx +111 -0
- agentdeck_sdk-4.0.2/docs-site/content/meet-agentdeck/_meta.ts +5 -0
- agentdeck_sdk-4.0.2/docs-site/content/meet-agentdeck/mental-model.mdx +15 -0
- agentdeck_sdk-4.0.2/docs-site/content/meet-agentdeck/overview.mdx +44 -0
- agentdeck_sdk-4.0.2/docs-site/content/meet-agentdeck/quickstart.mdx +84 -0
- agentdeck_sdk-4.0.2/docs-site/content/reference/_meta.ts +8 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/content/reference/cli.mdx +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/content/reference/deck.mdx +89 -89
- agentdeck_sdk-4.0.2/docs-site/content/reference/events.mdx +13 -0
- agentdeck_sdk-4.0.2/docs-site/content/reference/python-api.mdx +9 -0
- agentdeck_sdk-4.0.2/docs-site/content/reference/run.mdx +12 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/content/reference/settings.mdx +9 -9
- agentdeck_sdk-4.0.2/docs-site/content/resources/_meta.ts +6 -0
- agentdeck_sdk-4.0.2/docs-site/content/resources/changelog.mdx +63 -0
- {agentdeck_sdk-4.0.0/docs-site/content → agentdeck_sdk-4.0.2/docs-site/content/resources}/known-issues.mdx +16 -16
- agentdeck_sdk-4.0.2/docs-site/content/resources/migration-guides.mdx +8 -0
- agentdeck_sdk-4.0.2/docs-site/content/resources/troubleshooting.mdx +8 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/_meta.ts +8 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/events.mdx +10 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/human-input.mdx +11 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/lifecycle-and-control.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/pause-resume.mdx +10 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/runs.mdx +15 -0
- agentdeck_sdk-4.0.2/docs-site/content/runs-and-control/sessions.mdx +7 -0
- agentdeck_sdk-4.0.2/docs-site/mdx-components.tsx +43 -0
- agentdeck_sdk-4.0.2/docs-site/public/llms-full.txt +1699 -0
- agentdeck_sdk-4.0.2/docs-site/public/llms.txt +58 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/tsconfig.json +2 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/README.md +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/README.md +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/.agentdeck/workflows/triage/pipeline.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/.agentdeck/workflows/triage/workflow.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/README.md +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/run.py +2 -2
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck → agentdeck_sdk-4.0.2/examples/jack}/README.md +43 -42
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck → agentdeck_sdk-4.0.2/examples/jack}/cloudflared.yml +9 -9
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck → agentdeck_sdk-4.0.2/examples/jack}/eval.py +8 -8
- agentdeck_sdk-4.0.2/examples/jack/jack/__init__.py +1 -0
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck/ask_agentdeck → agentdeck_sdk-4.0.2/examples/jack/jack}/agent.py +12 -11
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck/ask_agentdeck → agentdeck_sdk-4.0.2/examples/jack/jack}/corpus.py +20 -20
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck/ask_agentdeck → agentdeck_sdk-4.0.2/examples/jack/jack}/server.py +32 -32
- {agentdeck_sdk-4.0.0/examples/ask-agentdeck → agentdeck_sdk-4.0.2/examples/jack}/run.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/.agentdeck/workflows/refund_approval/workflow.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/README.md +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/pyproject.toml +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/scripts/generate_docs_reference.py +31 -26
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/scripts/m0_demo.py +20 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/scripts/sync_roadmap.py +7 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/concurrency_worker.py +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/conftest.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/context_injection_subjects.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/case_types.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/conftest.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/context_subjects.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/contract_cases.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/langgraph_cases.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/live_stores.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/never_yields.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/openai_agents_cases.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_context_parity.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_control.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_control_port.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_event_stream.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_lease.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_resume.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/contract/test_store.py +51 -51
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/conftest.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_content.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_context.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_events.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_golden_json.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_import_law.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_model_config.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_old_reader_block_compat.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_old_reader_compat.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_reporting.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_run_lifecycle_tables.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/test_vocabularies_agree.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/crash_worker.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/event_log_checks.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_agent_model_resolution.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_authoring.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_brand_assets.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_cli.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_cli_render.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_composition.py +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_context_injection.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_context_validation.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_crash_reconciliation.py +15 -15
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_deck.py +58 -58
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_docs_examples.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_docs_site.py +25 -42
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_errors.py +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_examples.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_generated_reference.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_handoff_ends_on_user_turn.py +6 -6
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_handoff_round_trip.py +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_instructions_and_hooks.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_invocable_registry.py +2 -2
- agentdeck_sdk-4.0.0/tests/test_ask_agentdeck.py → agentdeck_sdk-4.0.2/tests/test_jack.py +26 -26
- agentdeck_sdk-4.0.0/tests/test_ask_agentdeck_server.py → agentdeck_sdk-4.0.2/tests/test_jack_server.py +20 -20
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langfuse_sink.py +12 -12
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langfuse_tracer.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langgraph_checkpointer.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langgraph_fanout_interrupt.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langgraph_node_boundary_pause.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_langgraph_structured_state.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_load_file_node.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_mcp.py +1 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_mcp_tool_source.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_memory_store.py +2 -2
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_multiprocess_concurrency.py +26 -26
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_node_compilation.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_observability.py +43 -43
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_engine.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_reconcile.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_sessions.py +7 -7
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_tool_failure.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_package.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_postgres_store.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_redis_store.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_run_config_parity.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_run_control.py +16 -16
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_run_reporting.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_runtime_service.py +38 -38
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_serve.py +10 -10
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_serve_compat.py +12 -12
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_serve_session_claim.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_settings.py +13 -13
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_sink_dispatch.py +24 -24
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_skills.py +3 -3
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_sqlite_control_port.py +4 -4
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_sqlite_store.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_streaming.py +11 -11
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_tool_compilation.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_uc1_handoff.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_uc2_claim_pipeline.py +9 -9
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_uc3_slowpoke.py +14 -14
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_workflow_durability.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_workflow_interrupts.py +5 -5
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_workflow_streaming.py +8 -8
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_workflow_timers.py +9 -9
- agentdeck_sdk-4.0.0/.agents/skills/open-issue/SKILL.md +0 -30
- agentdeck_sdk-4.0.0/.agents/skills/release/SKILL.md +0 -18
- agentdeck_sdk-4.0.0/.agents/skills/ship-issue/SKILL.md +0 -20
- agentdeck_sdk-4.0.0/.claude/agents/deck-dev.md +0 -24
- agentdeck_sdk-4.0.0/.claude/agents/deck-reviewer.md +0 -23
- agentdeck_sdk-4.0.0/.claude/agents/docs-reviewer.md +0 -42
- agentdeck_sdk-4.0.0/.claude/agents/docs-writer.md +0 -58
- agentdeck_sdk-4.0.0/.claude/skills/open-issue/SKILL.md +0 -66
- agentdeck_sdk-4.0.0/.claude/skills/release/SKILL.md +0 -19
- agentdeck_sdk-4.0.0/.claude/skills/ship-issue/SKILL.md +0 -79
- agentdeck_sdk-4.0.0/.codex/agents/deck-dev.toml +0 -5
- agentdeck_sdk-4.0.0/.codex/agents/deck-reviewer.toml +0 -5
- agentdeck_sdk-4.0.0/.github/dependabot.yml +0 -11
- agentdeck_sdk-4.0.0/.import_linter_cache/agentdeck.meta.json +0 -1
- agentdeck_sdk-4.0.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
- agentdeck_sdk-4.0.0/AGENTS.md +0 -1
- agentdeck_sdk-4.0.0/CLAUDE.md +0 -124
- agentdeck_sdk-4.0.0/README.md +0 -204
- agentdeck_sdk-4.0.0/agentdeck/adapters/control/__init__.py +0 -1
- agentdeck_sdk-4.0.0/agentdeck/adapters/engines/__init__.py +0 -1
- agentdeck_sdk-4.0.0/agentdeck/adapters/leases/__init__.py +0 -1
- agentdeck_sdk-4.0.0/agentdeck/adapters/stores/__init__.py +0 -1
- agentdeck_sdk-4.0.0/agentdeck/adapters/telemetry/__init__.py +0 -1
- agentdeck_sdk-4.0.0/agentdeck/adapters/tools/__init__.py +0 -1
- agentdeck_sdk-4.0.0/docs/coding-standards.md +0 -289
- agentdeck_sdk-4.0.0/docs-site/app/brand.css +0 -198
- agentdeck_sdk-4.0.0/docs-site/content/_meta.ts +0 -15
- agentdeck_sdk-4.0.0/docs-site/content/changelog.mdx +0 -401
- agentdeck_sdk-4.0.0/docs-site/content/concepts/_meta.ts +0 -12
- agentdeck_sdk-4.0.0/docs-site/content/concepts/agents.mdx +0 -128
- agentdeck_sdk-4.0.0/docs-site/content/concepts/capabilities.mdx +0 -25
- agentdeck_sdk-4.0.0/docs-site/content/concepts/choosing-a-store-backend.mdx +0 -142
- agentdeck_sdk-4.0.0/docs-site/content/concepts/index.mdx +0 -75
- agentdeck_sdk-4.0.0/docs-site/content/concepts/protocols-and-surfaces.mdx +0 -58
- agentdeck_sdk-4.0.0/docs-site/content/concepts/run-control.mdx +0 -124
- agentdeck_sdk-4.0.0/docs-site/content/concepts/runs-and-the-event-log.mdx +0 -167
- agentdeck_sdk-4.0.0/docs-site/content/concepts/sessions-and-memory.mdx +0 -113
- agentdeck_sdk-4.0.0/docs-site/content/concepts/skills.mdx +0 -81
- agentdeck_sdk-4.0.0/docs-site/content/concepts/workflows.mdx +0 -164
- agentdeck_sdk-4.0.0/docs-site/content/getting-started.mdx +0 -102
- agentdeck_sdk-4.0.0/docs-site/content/guides/_meta.ts +0 -5
- agentdeck_sdk-4.0.0/docs-site/content/guides/add-a-tool.mdx +0 -78
- agentdeck_sdk-4.0.0/docs-site/content/guides/human-approval.mdx +0 -143
- agentdeck_sdk-4.0.0/docs-site/content/guides/serve-over-http.mdx +0 -70
- agentdeck_sdk-4.0.0/docs-site/content/index.mdx +0 -58
- agentdeck_sdk-4.0.0/docs-site/content/operating/_meta.ts +0 -3
- agentdeck_sdk-4.0.0/docs-site/content/operating/pause-resume-cancel.mdx +0 -99
- agentdeck_sdk-4.0.0/docs-site/content/reference/_meta.ts +0 -8
- agentdeck_sdk-4.0.0/docs-site/content/reference/capabilities.mdx +0 -15
- agentdeck_sdk-4.0.0/docs-site/content/reference/definitions.mdx +0 -199
- agentdeck_sdk-4.0.0/docs-site/content/reference/index.mdx +0 -33
- agentdeck_sdk-4.0.0/docs-site/content/roadmap.mdx +0 -156
- agentdeck_sdk-4.0.0/docs-site/mdx-components.tsx +0 -14
- agentdeck_sdk-4.0.0/docs-site/public/llms-full.txt +0 -3331
- agentdeck_sdk-4.0.0/docs-site/public/llms.txt +0 -50
- agentdeck_sdk-4.0.0/examples/ask-agentdeck/ask_agentdeck/__init__.py +0 -1
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.coderabbit.yaml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.dockerignore +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.env.example +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.gitattributes +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/CODEOWNERS +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/assets/contributors/merged.png +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/assets/contributors/welcome.png +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/workflows/ci.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/workflows/docs-check.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/workflows/first-contribution.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.github/workflows/release.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.gitignore +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.import_linter_cache/.gitignore +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.import_linter_cache/CACHEDIR.TAG +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.importlinter +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/.pre-commit-config.yaml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/CODE_OF_CONDUCT.md +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/Dockerfile +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/LICENSE +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/memory/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/memory/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/memory/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/redis/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/authoring/web_search.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/py.typed +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/__init__.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/runtime/config.default.yaml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/agentdeck/skills/bundle.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/context7.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docker-compose.yml +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/.gitignore +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/icon.svg +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/app/not-found.tsx +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/next-env.d.ts +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/next.config.mjs +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/package-lock.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/docs-site/package.json +0 -0
- {agentdeck_sdk-4.0.0/docs/brand/components → agentdeck_sdk-4.0.2/docs-site/public/brand}/card.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/contributor-merged.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/contributor-welcome.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/favicon.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-black.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-blue.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-full.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-mark.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-traced-original.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo-white.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/logo.svg +0 -0
- {agentdeck_sdk-4.0.0/docs → agentdeck_sdk-4.0.2/docs-site/public}/brand/social-card.svg +0 -0
- {agentdeck_sdk-4.0.0/docs/brand/components → agentdeck_sdk-4.0.2/docs-site/public/brand}/spark.svg +0 -0
- {agentdeck_sdk-4.0.0/docs/brand/components → agentdeck_sdk-4.0.2/docs-site/public/brand}/wordmark.svg +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/run.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/run.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/run.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/scripts/sync_claude_to_codex.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/artifact.created.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/control.observed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/control.requested.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/custom.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/input.appended.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/message.completed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/node.updated.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/progress.reported.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.cancelled.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.completed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.failed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.interrupted.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.paused.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.resumed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.started.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/status.reported.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/text.delta.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/thought.delta.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/tool.call.completed.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/tool.call.started.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/core/snapshots/usage.reported.json +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/README.md +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/conftest.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/agents/greeter/agent.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/approval_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/boom_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/crash_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/echo_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/fanout_interrupt_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/side_effect_flow/workflow.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/01_health.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/02_chat.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/03_chat_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/04_chat_missing_field.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/05_agent_unknown.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/06_workflow.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/07_workflow_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/08_interrupt_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/09_pending.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/10_resume.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/11_pending_after_resume.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/12_workflow_error.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/13_workflow_error_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/14_side_effect.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/15_side_effect_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/16_fanout_interrupt.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/17_fanout_interrupt_stream.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/18_workflow_crash.http +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/golden/test_golden_wire.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/project_engines.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_handoffs.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/tests/test_web_search.py +0 -0
- {agentdeck_sdk-4.0.0 → agentdeck_sdk-4.0.2}/uv.lock +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: open-issue
|
|
3
|
+
description: File a well-formed agentdeck GitHub issue in the repo's house style (Problem / Proposed shape / Notes / Done when).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Open an agentdeck issue
|
|
7
|
+
|
|
8
|
+
Issues are implementation-ready specifications. Be concise, precise, and dense with signal.
|
|
9
|
+
|
|
10
|
+
## Issue Structure
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
## Problem
|
|
14
|
+
What is broken or missing, and why it matters. For bugs: exact traceback and minimal reproduction steps.
|
|
15
|
+
|
|
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.
|
|
18
|
+
|
|
19
|
+
## Notes
|
|
20
|
+
Constraints, affected modules, existing patterns to follow, related issues/PRs.
|
|
21
|
+
|
|
22
|
+
## Done when
|
|
23
|
+
Checklist of observable, testable behaviors (mapping 1:1 to deterministic tests without live model calls).
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Rules
|
|
27
|
+
- **Anti-verbosity:** Avoid fluff and rambling rationale. One clear sentence beats a paragraph.
|
|
28
|
+
- **Title:** Terse and specific: `<area>: <what>` (e.g., `runtime: propagate cancellation to subagents`).
|
|
29
|
+
- **Single concern:** One issue per topic; split unrelated asks.
|
|
30
|
+
- **Check duplicates:** `gh issue list --state open`.
|
|
31
|
+
- **Output limits:** Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
32
|
+
- Create via `gh issue create -t <title> -b <body>` and return the URL.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Cut an agentdeck release - bump version, update CHANGELOG, merge dev to main, and tag vX.Y.Z.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Release agentdeck
|
|
7
|
+
|
|
8
|
+
Follow the release process strictly. All work starts on `dev`; `main` is release-only.
|
|
9
|
+
|
|
10
|
+
## Release Steps
|
|
11
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
12
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check` is 100% green.
|
|
13
|
+
3. **Bump on `dev`:**
|
|
14
|
+
- Update `version` in `pyproject.toml`.
|
|
15
|
+
- Move Unreleased entries to `## [X.Y.Z] - YYYY-MM-DD` in `CHANGELOG.md` with compare links.
|
|
16
|
+
- Run `python scripts/generate_docs_reference.py` twice.
|
|
17
|
+
- Commit: `chore(release): vX.Y.Z`.
|
|
18
|
+
4. **Push `dev`:** Wait for CI green.
|
|
19
|
+
5. **Merge to `main`:** Merge `dev` into `main` and push.
|
|
20
|
+
6. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`.
|
|
21
|
+
7. **Redeploy Docs:** If release worktree exists (`~/prjs/agentdeck-docs-release`), run `./redeploy.sh vX.Y.Z` and verify served output.
|
|
22
|
+
8. **Report:** Return the GitHub release URL.
|
|
23
|
+
|
|
24
|
+
## Ground Rules
|
|
25
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship-issue
|
|
3
|
+
description: Run one agentdeck issue through the full pipeline - brief the user, deck-dev implements it, deck-reviewer gates it, findings get fixed, PR merges to dev, board updated.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ship an issue
|
|
7
|
+
|
|
8
|
+
Orchestrate the end-to-end delivery of an issue.
|
|
9
|
+
|
|
10
|
+
## 0. Brief Before Launching
|
|
11
|
+
Read the issue and verify its claims against the tree. Output a concise 5-point brief (1–2 lines each):
|
|
12
|
+
> **The claim:** What the issue asks for.
|
|
13
|
+
> **What's true now:** Current behavior in the codebase (file:line).
|
|
14
|
+
> **The shape:** Implementation plan in 3–4 concise bullets.
|
|
15
|
+
> **The hard gate:** Invariants that must not break (`tests/golden/`, public API, import law).
|
|
16
|
+
> **Skipped:** What is deliberately out of scope.
|
|
17
|
+
|
|
18
|
+
## 1. Board Tracking
|
|
19
|
+
Update GitHub Project (`PVT_kwHOBHijkM4BgHFZ`): Set **Status = In progress**, record Start Date, comment with start timestamp.
|
|
20
|
+
|
|
21
|
+
## 2. Implement
|
|
22
|
+
Spawn `deck-dev` with the issue number and brief.
|
|
23
|
+
|
|
24
|
+
## 3. Attach PR
|
|
25
|
+
Verify draft PR targets `dev` and includes `Closes #<n>`. Set **Status = In review** when marked ready.
|
|
26
|
+
|
|
27
|
+
## 4. Review
|
|
28
|
+
Spawn `deck-reviewer` on the PR.
|
|
29
|
+
|
|
30
|
+
## 5. Address Findings
|
|
31
|
+
Route blocking findings to `deck-dev` to fix on the branch.
|
|
32
|
+
|
|
33
|
+
## 6. Merge
|
|
34
|
+
When approved and `make check` is green: `gh pr merge --squash --delete-branch`.
|
|
35
|
+
|
|
36
|
+
## 7. Complete
|
|
37
|
+
Set **Status = Done**, record Target Date, comment with completion summary and PR link.
|
|
38
|
+
|
|
39
|
+
## Ground Rules
|
|
40
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deck-dev
|
|
3
|
+
description: Implements a GitHub issue (feature or bug fix) for agentdeck end-to-end in an isolated worktree and opens one PR to dev.
|
|
4
|
+
model: sonnet
|
|
5
|
+
isolation: worktree
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You implement one agentdeck GitHub issue end-to-end in an isolated worktree and open a PR.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
1. **Engineering Standards & Guidance:**
|
|
12
|
+
- Read and follow `docs/engineering/` strictly:
|
|
13
|
+
- `principles.md` (Product Philosophy & North Star).
|
|
14
|
+
- `coding-standards.md` & `coding-agents.md` (front doors for code changes).
|
|
15
|
+
- Specialized standards (`architecture.md`, `runtime-contracts.md`, `testing.md`, `dependencies.md`, `repository-policy.md`, `import-boundaries.md`).
|
|
16
|
+
- User owns intent, AgentDeck owns machinery. Keep APIs minimal, elegant, and free of leaked internal plumbing.
|
|
17
|
+
- **Anti-verbosity:** Keep code, docstrings, comments, and PR text concise. If one sentence or line is enough, use one.
|
|
18
|
+
2. **Implementation Discipline:**
|
|
19
|
+
- Read the issue (`gh issue view <n>`) as the authoritative spec.
|
|
20
|
+
- For bugs: write a failing regression test first, implement the minimal fix, confirm the test passes.
|
|
21
|
+
- Implement minimally: no speculative abstractions, no unrequested configuration surface.
|
|
22
|
+
- Tests must assert real behavior and invariants without live model calls. Stub only at the engine SDK boundary. Always set `timeout=` on subprocess tests.
|
|
23
|
+
3. **Environment & Gate:**
|
|
24
|
+
- Seed worktree: copy `.env` if present, then `uv venv --python 3.12 && make install`.
|
|
25
|
+
- Gate of record: `make check`. Must be 100% green.
|
|
26
|
+
4. **Git & PR:**
|
|
27
|
+
- Branch `feat/<n>-<slug>` or `fix/<n>-<slug>`.
|
|
28
|
+
- Open PR as a **draft on your first commit** (`gh pr create --draft`) targeting `dev`, body referencing `Closes #<n>`.
|
|
29
|
+
- Update `CHANGELOG.md` under `[Unreleased]` for user-visible changes.
|
|
30
|
+
- No attribution trailers in commit messages or PR bodies.
|
|
31
|
+
- When `make check` passes, mark ready (`gh pr ready`).
|
|
32
|
+
5. **Output Style:**
|
|
33
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
34
|
+
|
|
35
|
+
Return: PR URL, one-paragraph summary of changes, and `make check` status.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deck-reviewer
|
|
3
|
+
description: Review gate for an agentdeck PR before merge. Verifies correctness, spec compliance, simplicity, conciseness, and test quality against docs/engineering/.
|
|
4
|
+
model: sonnet
|
|
5
|
+
isolation: worktree
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You review one agentdeck PR as the merge gate. REVIEW ONLY - never push commits or modify the PR.
|
|
9
|
+
|
|
10
|
+
## Review Process
|
|
11
|
+
1. Read `CLAUDE.md` and `docs/engineering/` (`principles.md`, `coding-standards.md`, `coding-agents.md`, and relevant specialized standards).
|
|
12
|
+
2. Read the linked issue (`gh issue view <n>`) and the full diff (`gh pr diff <n>`).
|
|
13
|
+
3. Check out the branch (`gh pr checkout <n>`) and run `make check`.
|
|
14
|
+
|
|
15
|
+
## Verification Dimensions
|
|
16
|
+
1. **Product Philosophy & Simplicity (`principles.md`):**
|
|
17
|
+
- Does this change leak internal plumbing (stores, resolvers, internal contexts) into public APIs?
|
|
18
|
+
- Does it preserve "one obvious path"?
|
|
19
|
+
- Is it free of speculative abstractions and unnecessary configuration?
|
|
20
|
+
2. **Anti-Verbosity:**
|
|
21
|
+
- Are docstrings, comments, and code free of fluff and sprawling text?
|
|
22
|
+
- Do comments explain non-obvious *why* in 1–2 lines max without restating code?
|
|
23
|
+
3. **Correctness & Runtime Contracts (`runtime-contracts.md`):**
|
|
24
|
+
- Trace lifecycle transitions, event ordering, persistence guarantees, and streaming semantics.
|
|
25
|
+
- Ensure invalid states are impossible to express.
|
|
26
|
+
4. **Architecture & Import Law (`architecture.md`, `import-boundaries.md`):**
|
|
27
|
+
- Verify 3-ring boundaries: `core/` imports stdlib+pydantic only; adapters isolated from each other.
|
|
28
|
+
5. **Testing & Repository Policy (`testing.md`, `repository-policy.md`):**
|
|
29
|
+
- Tests must verify invariants, not just implementation details.
|
|
30
|
+
- CHANGELOG entry present under `[Unreleased]` if user-visible.
|
|
31
|
+
- Zero attribution trailers.
|
|
32
|
+
6. **Output Style:**
|
|
33
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
34
|
+
|
|
35
|
+
Return: Verdict (`approve` / `request changes`), `make check` output, and a ranked list of confirmed findings (file:line, issue, and concrete fix).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-reviewer
|
|
3
|
+
description: Review gate for an agentdeck docs-site PR. Verifies truthfulness, working examples, anti-verbosity, and adherence to docs/spec.md.
|
|
4
|
+
model: sonnet
|
|
5
|
+
isolation: worktree
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You review one docs-site PR as the gate before merge.
|
|
9
|
+
|
|
10
|
+
## Review Checks
|
|
11
|
+
1. **Truthfulness against Code:**
|
|
12
|
+
- Check every code snippet, endpoint, setting (`AGENTDECK_*`), and CLI command against the actual implementation.
|
|
13
|
+
- Ensure all Python code fences are tested and valid.
|
|
14
|
+
2. **Product Philosophy & IA:**
|
|
15
|
+
- Adheres to `docs/spec.md` Part II (Answer first, code before theory, progressive disclosure).
|
|
16
|
+
- Verifies the page teaches user intent and public APIs (`Deck`, `Run`, `Agent`), NOT internal plumbing.
|
|
17
|
+
3. **Anti-Verbosity:**
|
|
18
|
+
- Flag fluff, filler words ("simply", "just", "easy"), and repetitive explanations.
|
|
19
|
+
- Ensure text is dense with signal and gets straight to the point.
|
|
20
|
+
4. **Links & Navigation:**
|
|
21
|
+
- Check all internal links and navigation entries.
|
|
22
|
+
5. **Gate & Output Style:**
|
|
23
|
+
- Run `make check` to verify anti-rot tests.
|
|
24
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
25
|
+
|
|
26
|
+
Return: `approve` or `request changes` with a concise, ranked list of confirmed findings (file:line, issue, concrete fix).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-writer
|
|
3
|
+
description: Writes or rewrites ONE docs-site page for agentdeck, outline first. Emphasizes clarity, conciseness, and verified code examples.
|
|
4
|
+
model: sonnet
|
|
5
|
+
isolation: worktree
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You write or update **one** `docs-site/` page per run, following `docs/spec.md` (Part II - Documentation).
|
|
9
|
+
|
|
10
|
+
## Two-Phase Workflow
|
|
11
|
+
1. **Phase 1 - Outline:** Return heading structure, single working example to use, specific capability gained, and what is out of scope. Stop and wait for approval before writing prose.
|
|
12
|
+
2. **Phase 2 - Prose:** Write the page only after outline approval. Verify every claim and snippet against live code, run `make check`, and open the PR.
|
|
13
|
+
|
|
14
|
+
## Documentation Principles (docs/spec.md Part II)
|
|
15
|
+
- **Answer first:** State what the concept is and what it does immediately. No windup.
|
|
16
|
+
- **Code before deep theory:** Show the clean, runnable example first.
|
|
17
|
+
- **Progressive disclosure:** Teach recommended path first; cover advanced escape hatches second.
|
|
18
|
+
- **Anti-verbosity:** Strip all filler words ("simply", "just", "easily", marketing adjectives). If a concept can be explained in 1–2 sentences, do not use a paragraph. Keep pages concise (about one screen).
|
|
19
|
+
- **Hide internal machinery:** Document user intent and public primitives (`Deck`, `Agent`, `Workflow`, `Skill`, `Run`). Never expose internal plumbing (`core/` internals, stores, resolvers).
|
|
20
|
+
- **Verify every claim:** Run every code snippet and command. Check settings against `AGENTDECK_*`.
|
|
21
|
+
|
|
22
|
+
## Process & Style
|
|
23
|
+
- Branch `docs/<n>-<slug>`, open draft PR on first commit targeting `dev`, `Closes #<n>`.
|
|
24
|
+
- `make check` must pass cleanly (anti-rot tests validate all code fences).
|
|
25
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
26
|
+
|
|
27
|
+
Return:
|
|
28
|
+
- Phase 1: Outline + verified source references.
|
|
29
|
+
- Phase 2: PR URL, verification results, and `make check` status.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: open-issue
|
|
3
|
+
description: File a well-formed agentdeck GitHub issue in the repo's house style (Problem / Proposed shape / Notes / Done when).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Open an agentdeck issue
|
|
7
|
+
|
|
8
|
+
Issues are implementation-ready specifications. Be concise, precise, and dense with signal.
|
|
9
|
+
|
|
10
|
+
## Issue Structure
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
## Problem
|
|
14
|
+
What is broken or missing, and why it matters. For bugs: exact traceback and minimal reproduction steps.
|
|
15
|
+
|
|
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.
|
|
18
|
+
|
|
19
|
+
## Notes
|
|
20
|
+
Constraints, affected modules, existing patterns to follow, related issues/PRs.
|
|
21
|
+
|
|
22
|
+
## Done when
|
|
23
|
+
Checklist of observable, testable behaviors (mapping 1:1 to deterministic tests without live model calls).
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Rules
|
|
27
|
+
- **Anti-verbosity:** Avoid fluff and rambling rationale. One clear sentence beats a paragraph.
|
|
28
|
+
- **Title:** Terse and specific: `<area>: <what>` (e.g., `runtime: propagate cancellation to subagents`).
|
|
29
|
+
- **Single concern:** One issue per topic; split unrelated asks.
|
|
30
|
+
- **Check duplicates:** `gh issue list --state open`.
|
|
31
|
+
- **Output limits:** Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
32
|
+
- Create via `gh issue create -t <title> -b <body>` and return the URL.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release
|
|
3
|
+
description: Cut an agentdeck release - bump version, update CHANGELOG, merge dev to main, and tag vX.Y.Z.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Release agentdeck
|
|
7
|
+
|
|
8
|
+
Follow the release process strictly. All work starts on `dev`; `main` is release-only.
|
|
9
|
+
|
|
10
|
+
## Release Steps
|
|
11
|
+
1. **Version:** Confirm SemVer bump (`pyproject.toml` and `CHANGELOG.md`).
|
|
12
|
+
2. **Preflight:** Verify clean working tree, non-empty `[Unreleased]` section, and `make check` is 100% green.
|
|
13
|
+
3. **Bump on `dev`:**
|
|
14
|
+
- Update `version` in `pyproject.toml`.
|
|
15
|
+
- Move Unreleased entries to `## [X.Y.Z] - YYYY-MM-DD` in `CHANGELOG.md` with compare links.
|
|
16
|
+
- Run `python scripts/generate_docs_reference.py` twice.
|
|
17
|
+
- Commit: `chore(release): vX.Y.Z`.
|
|
18
|
+
4. **Push `dev`:** Wait for CI green.
|
|
19
|
+
5. **Merge to `main`:** Merge `dev` into `main` and push.
|
|
20
|
+
6. **Tag:** `git tag vX.Y.Z && git push origin vX.Y.Z`.
|
|
21
|
+
7. **Redeploy Docs:** If release worktree exists (`~/prjs/agentdeck-docs-release`), run `./redeploy.sh vX.Y.Z` and verify served output.
|
|
22
|
+
8. **Report:** Return the GitHub release URL.
|
|
23
|
+
|
|
24
|
+
## Ground Rules
|
|
25
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship-issue
|
|
3
|
+
description: Run one agentdeck issue through the full pipeline - brief the user, deck-dev implements it, deck-reviewer gates it, findings get fixed, PR merges to dev, board updated.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ship an issue
|
|
7
|
+
|
|
8
|
+
Orchestrate the end-to-end delivery of an issue.
|
|
9
|
+
|
|
10
|
+
## 0. Brief Before Launching
|
|
11
|
+
Read the issue and verify its claims against the tree. Output a concise 5-point brief (1–2 lines each):
|
|
12
|
+
> **The claim:** What the issue asks for.
|
|
13
|
+
> **What's true now:** Current behavior in the codebase (file:line).
|
|
14
|
+
> **The shape:** Implementation plan in 3–4 concise bullets.
|
|
15
|
+
> **The hard gate:** Invariants that must not break (`tests/golden/`, public API, import law).
|
|
16
|
+
> **Skipped:** What is deliberately out of scope.
|
|
17
|
+
|
|
18
|
+
## 1. Board Tracking
|
|
19
|
+
Update GitHub Project (`PVT_kwHOBHijkM4BgHFZ`): Set **Status = In progress**, record Start Date, comment with start timestamp.
|
|
20
|
+
|
|
21
|
+
## 2. Implement
|
|
22
|
+
Spawn `deck-dev` with the issue number and brief.
|
|
23
|
+
|
|
24
|
+
## 3. Attach PR
|
|
25
|
+
Verify draft PR targets `dev` and includes `Closes #<n>`. Set **Status = In review** when marked ready.
|
|
26
|
+
|
|
27
|
+
## 4. Review
|
|
28
|
+
Spawn `deck-reviewer` on the PR.
|
|
29
|
+
|
|
30
|
+
## 5. Address Findings
|
|
31
|
+
Route blocking findings to `deck-dev` to fix on the branch.
|
|
32
|
+
|
|
33
|
+
## 6. Merge
|
|
34
|
+
When approved and `make check` is green: `gh pr merge --squash --delete-branch`.
|
|
35
|
+
|
|
36
|
+
## 7. Complete
|
|
37
|
+
Set **Status = Done**, record Target Date, comment with completion summary and PR link.
|
|
38
|
+
|
|
39
|
+
## Ground Rules
|
|
40
|
+
- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "deck-dev"
|
|
4
|
+
description = "Implements a GitHub issue (feature or bug fix) for agentdeck end-to-end in an isolated worktree and opens one PR to dev."
|
|
5
|
+
developer_instructions = "You implement one agentdeck GitHub issue end-to-end in an isolated worktree and open a PR.\n\n## Rules\n1. **Engineering Standards & Guidance:**\n - Read and follow `docs/engineering/` strictly:\n - `principles.md` (Product Philosophy & North Star).\n - `coding-standards.md` & `coding-agents.md` (front doors for code changes).\n - Specialized standards (`architecture.md`, `runtime-contracts.md`, `testing.md`, `dependencies.md`, `repository-policy.md`, `import-boundaries.md`).\n - User owns intent, AgentDeck owns machinery. Keep APIs minimal, elegant, and free of leaked internal plumbing.\n - **Anti-verbosity:** Keep code, docstrings, comments, and PR text concise. If one sentence or line is enough, use one.\n2. **Implementation Discipline:**\n - Read the issue (`gh issue view <n>`) as the authoritative spec.\n - For bugs: write a failing regression test first, implement the minimal fix, confirm the test passes.\n - Implement minimally: no speculative abstractions, no unrequested configuration surface.\n - Tests must assert real behavior and invariants without live model calls. Stub only at the engine SDK boundary. Always set `timeout=` on subprocess tests.\n3. **Environment & Gate:**\n - Seed worktree: copy `.env` if present, then `uv venv --python 3.12 && make install`.\n - Gate of record: `make check`. Must be 100% green.\n4. **Git & PR:**\n - Branch `feat/<n>-<slug>` or `fix/<n>-<slug>`.\n - Open PR as a **draft on your first commit** (`gh pr create --draft`) targeting `dev`, body referencing `Closes #<n>`.\n - Update `CHANGELOG.md` under `[Unreleased]` for user-visible changes.\n - No attribution trailers in commit messages or PR bodies.\n - When `make check` passes, mark ready (`gh pr ready`).\n5. **Output Style:**\n - Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.\n\nReturn: PR URL, one-paragraph summary of changes, and `make check` status.\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "deck-reviewer"
|
|
4
|
+
description = "Review gate for an agentdeck PR before merge. Verifies correctness, spec compliance, simplicity, conciseness, and test quality against docs/engineering/."
|
|
5
|
+
developer_instructions = "You review one agentdeck PR as the merge gate. REVIEW ONLY - never push commits or modify the PR.\n\n## Review Process\n1. Read `CLAUDE.md` and `docs/engineering/` (`principles.md`, `coding-standards.md`, `coding-agents.md`, and relevant specialized standards).\n2. Read the linked issue (`gh issue view <n>`) and the full diff (`gh pr diff <n>`).\n3. Check out the branch (`gh pr checkout <n>`) and run `make check`.\n\n## Verification Dimensions\n1. **Product Philosophy & Simplicity (`principles.md`):**\n - Does this change leak internal plumbing (stores, resolvers, internal contexts) into public APIs?\n - Does it preserve \"one obvious path\"?\n - Is it free of speculative abstractions and unnecessary configuration?\n2. **Anti-Verbosity:**\n - Are docstrings, comments, and code free of fluff and sprawling text?\n - Do comments explain non-obvious *why* in 1–2 lines max without restating code?\n3. **Correctness & Runtime Contracts (`runtime-contracts.md`):**\n - Trace lifecycle transitions, event ordering, persistence guarantees, and streaming semantics.\n - Ensure invalid states are impossible to express.\n4. **Architecture & Import Law (`architecture.md`, `import-boundaries.md`):**\n - Verify 3-ring boundaries: `core/` imports stdlib+pydantic only; adapters isolated from each other.\n5. **Testing & Repository Policy (`testing.md`, `repository-policy.md`):**\n - Tests must verify invariants, not just implementation details.\n - CHANGELOG entry present under `[Unreleased]` if user-visible.\n - Zero attribution trailers.\n6. **Output Style:**\n - Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.\n\nReturn: Verdict (`approve` / `request changes`), `make check` output, and a ranked list of confirmed findings (file:line, issue, and concrete fix).\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "docs-reviewer"
|
|
4
|
+
description = "Review gate for an agentdeck docs-site PR. Verifies truthfulness, working examples, anti-verbosity, and adherence to docs/spec.md."
|
|
5
|
+
developer_instructions = "You review one docs-site PR as the gate before merge.\n\n## Review Checks\n1. **Truthfulness against Code:**\n - Check every code snippet, endpoint, setting (`AGENTDECK_*`), and CLI command against the actual implementation.\n - Ensure all Python code fences are tested and valid.\n2. **Product Philosophy & IA:**\n - Adheres to `docs/spec.md` Part II (Answer first, code before theory, progressive disclosure).\n - Verifies the page teaches user intent and public APIs (`Deck`, `Run`, `Agent`), NOT internal plumbing.\n3. **Anti-Verbosity:**\n - Flag fluff, filler words (\"simply\", \"just\", \"easy\"), and repetitive explanations.\n - Ensure text is dense with signal and gets straight to the point.\n4. **Links & Navigation:**\n - Check all internal links and navigation entries.\n5. **Gate & Output Style:**\n - Run `make check` to verify anti-rot tests.\n - Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.\n\nReturn: `approve` or `request changes` with a concise, ranked list of confirmed findings (file:line, issue, concrete fix).\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Generated by scripts/sync_claude_to_codex.py; do not edit.
|
|
2
|
+
# Claude model "sonnet" omitted; this agent inherits the active Codex model.
|
|
3
|
+
name = "docs-writer"
|
|
4
|
+
description = "Writes or rewrites ONE docs-site page for agentdeck, outline first. Emphasizes clarity, conciseness, and verified code examples."
|
|
5
|
+
developer_instructions = "You write or update **one** `docs-site/` page per run, following `docs/spec.md` (Part II - Documentation).\n\n## Two-Phase Workflow\n1. **Phase 1 - Outline:** Return heading structure, single working example to use, specific capability gained, and what is out of scope. Stop and wait for approval before writing prose.\n2. **Phase 2 - Prose:** Write the page only after outline approval. Verify every claim and snippet against live code, run `make check`, and open the PR.\n\n## Documentation Principles (docs/spec.md Part II)\n- **Answer first:** State what the concept is and what it does immediately. No windup.\n- **Code before deep theory:** Show the clean, runnable example first.\n- **Progressive disclosure:** Teach recommended path first; cover advanced escape hatches second.\n- **Anti-verbosity:** Strip all filler words (\"simply\", \"just\", \"easily\", marketing adjectives). If a concept can be explained in 1–2 sentences, do not use a paragraph. Keep pages concise (about one screen).\n- **Hide internal machinery:** Document user intent and public primitives (`Deck`, `Agent`, `Workflow`, `Skill`, `Run`). Never expose internal plumbing (`core/` internals, stores, resolvers).\n- **Verify every claim:** Run every code snippet and command. Check settings against `AGENTDECK_*`.\n\n## Process & Style\n- Branch `docs/<n>-<slug>`, open draft PR on first commit targeting `dev`, `Closes #<n>`.\n- `make check` must pass cleanly (anti-rot tests validate all code fences).\n- Keep text between tool calls to ≤25 words. Keep final responses to ≤100 words unless more detail is required.\n\nReturn:\n- Phase 1: Outline + verified source references.\n- Phase 2: PR URL, verification results, and `make check` status.\n\nCodex compatibility:\n- Preserve worktree isolation: before changing branches or files, create and use a dedicated git worktree outside the primary checkout, and run all task commands there."
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- [ ] CHANGELOG entry under **Unreleased** for every user-visible change
|
|
14
14
|
- [ ] User-visible behavior changes update the affected `docs-site/` pages in this PR
|
|
15
15
|
- [ ] Implementation diverging from a design doc amends that doc with a dated note in this PR
|
|
16
|
-
- [ ] Goldens (`tests/golden/`, `tests/core/snapshots/`) unchanged
|
|
16
|
+
- [ ] Goldens (`tests/golden/`, `tests/core/snapshots/`) unchanged - or the change is declared and justified here
|
|
17
17
|
- [ ] Deliberate simplifications/shortcuts are marked with a comment naming the ceiling
|
|
18
18
|
- [ ] Comments are short, self-contained, and never cite doc sections/paragraphs
|
|
19
|
-
- [ ] No execution logic added to agentdeck (config only
|
|
19
|
+
- [ ] No execution logic added to agentdeck (config only - execution stays in the SDK / LangGraph)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
2
|
+
|
|
3
|
+
version: 2
|
|
4
|
+
updates:
|
|
5
|
+
# Python dependencies, resolved through uv.lock.
|
|
6
|
+
- package-ecosystem: "uv"
|
|
7
|
+
directory: "/"
|
|
8
|
+
schedule:
|
|
9
|
+
interval: "weekly"
|
|
10
|
+
|
|
11
|
+
# The pinned action refs in .github/workflows/.
|
|
12
|
+
- package-ecosystem: "github-actions"
|
|
13
|
+
directory: "/"
|
|
14
|
+
schedule:
|
|
15
|
+
interval: "weekly"
|
|
@@ -49,7 +49,7 @@ jobs:
|
|
|
49
49
|
# calling http://, which is the real reason the backend needs a tunnel rather than a
|
|
50
50
|
# port forward. Never put a secret here — NEXT_PUBLIC_* is public by construction, and
|
|
51
51
|
# everything under it is readable in the shipped JavaScript.
|
|
52
|
-
NEXT_PUBLIC_AGENTDECK_API_URL: ${{ vars.
|
|
52
|
+
NEXT_PUBLIC_AGENTDECK_API_URL: ${{ vars.JACK_API_URL }}
|
|
53
53
|
# The canonical origin, baked into canonical tags, Open Graph URLs, the sitemap and
|
|
54
54
|
# robots.txt. Unset, it falls back to the Pages URL. Setting this repository variable
|
|
55
55
|
# is what moves the site to agentdecksdk.com — one variable, not a sweep, which is the
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.authoring.tools": 1787112918.7268076, "agentdeck.adapters.telemetry.langfuse": 1787112918.7255192, "agentdeck.surfaces": 1787112918.7298076, "agentdeck.surfaces.serve.compat": 1787112918.730176, "agentdeck.adapters": 1787112918.7229855, "agentdeck.composition": 1787112918.7268076, "agentdeck.adapters.tools.mcp.transport": 1787112918.725934, "agentdeck.core.ports.control": 1787112918.727932, "agentdeck.adapters.engines.langgraph.engine": 1787112918.723521, "agentdeck.runtime.service": 1787112918.72897, "agentdeck.authoring.agent": 1787112918.7262156, "agentdeck.errors": 1787112918.727932, "agentdeck.core.events": 1787112918.7274418, "agentdeck.authoring.runners": 1787112918.7262156, "agentdeck.runtime.registry": 1787112918.72897, "agentdeck.surfaces.cli": 1787112918.7300088, "agentdeck.authoring.timers": 1787112918.7268076, "agentdeck.adapters.stores.redis.store": 1787112918.725127, "agentdeck.skills": 1787112918.72897, "agentdeck.adapters.engines.stub.engine": 1787112918.724265, "agentdeck.core.content": 1787112918.7274418, "agentdeck.authoring.web_search": 1787112918.7268076, "agentdeck.surfaces.serve.app": 1787112918.730176, "agentdeck.core.ports.lease": 1787112918.727932, "agentdeck.adapters.stores.sqlite.store": 1787112918.725316, "agentdeck.adapters.tools.mcp": 1787112918.7258077, "agentdeck.adapters.telemetry.langfuse.trace": 1787112918.7255728, "agentdeck.authoring.instructions": 1787112918.7262156, "agentdeck.adapters.engines.openai_agents.sessions": 1787112918.7238076, "agentdeck.adapters.telemetry.langfuse.sink": 1787112918.7255728, "agentdeck.authoring.runners.workflow": 1787112918.7268076, "agentdeck.observers": 1787112918.727932, "agentdeck.adapters.engines.openai_agents.runconfig": 1787112918.7238076, "agentdeck.adapters.engines.langgraph": 1787112918.7234612, "agentdeck.runtime.settings": 1787112918.72897, "agentdeck.skills.bundle": 1787112918.7298076, "agentdeck.adapters.tools": 1787112918.7255728, "agentdeck.core.ports.tools": 1787112918.727932, "agentdeck.adapters.engines.langgraph.checkpointer": 1787112918.723521, "agentdeck.cli": 1787112918.7268076, "agentdeck.adapters.leases.sqlite.port": 1787112918.7245457, "agentdeck.adapters.control.memory.port": 1787112918.7232156, "agentdeck.core.ports.sink": 1787112918.727932, "agentdeck.adapters.tools.mcp.lifecycle": 1787112918.725934, "agentdeck.serve": 1787112918.72897, "agentdeck.adapters.stores.memory": 1787112918.7246792, "agentdeck.adapters.stores.memory.store": 1787112918.7247288, "agentdeck.adapters.telemetry.langfuse.client": 1787112918.7255728, "agentdeck.deck": 1787112918.727932, "agentdeck.core.base": 1787112918.7274418, "agentdeck.authoring.runners.agent": 1787112918.7267725, "agentdeck.adapters.engines.openai_agents.engine": 1787112918.7238076, "agentdeck.authoring.injection": 1787112918.7262156, "agentdeck.adapters.leases.memory": 1787112918.7243917, "agentdeck": 1787112918.7229855, "agentdeck.adapters.control.memory": 1787112918.7231653, "agentdeck.adapters.stores": 1787112918.7245457, "agentdeck.adapters.engines.openai_agents.translate": 1787112918.7238076, "agentdeck.authoring.workflow": 1787112918.7268076, "agentdeck.core.control": 1787112918.7274418, "agentdeck.adapters.control.sqlite.port": 1787112918.7233129, "agentdeck.adapters.stores.postgres": 1787112918.7248077, "agentdeck.runtime.dispatch": 1787112918.72897, "agentdeck.adapters.leases": 1787112918.724265, "agentdeck.testing": 1787112918.730176, "agentdeck.adapters.leases.memory.port": 1787112918.7244415, "agentdeck.surfaces.cli.chat": 1787112918.7300642, "agentdeck.adapters.stores.redis": 1787112918.7248077, "agentdeck.authoring.hooks": 1787112918.7262156, "agentdeck.adapters.engines": 1787112918.7233129, "agentdeck.adapters.stores.sqlite": 1787112918.725127, "agentdeck.surfaces.serve.workflows": 1787112918.730176, "agentdeck.authoring.graphs": 1787112918.7262156, "agentdeck.core.status": 1787112918.727932, "agentdeck.adapters.stores.postgres.store": 1787112918.7248077, "agentdeck.authoring.compile": 1787112918.7262156, "agentdeck.core.invocable": 1787112918.7274418, "agentdeck.authoring.state": 1787112918.7268076, "agentdeck.authoring.nodes": 1787112918.7262156, "agentdeck.core.ports.engine": 1787112918.727932, "agentdeck.runtime": 1787112918.7288077, "agentdeck.authoring": 1787112918.725934, "agentdeck.adapters.engines.openai_agents.reconcile": 1787112918.7238076, "agentdeck.adapters.telemetry": 1787112918.725316, "agentdeck.authoring.skills": 1787112918.7268076, "agentdeck.core": 1787112918.7268076, "agentdeck.surfaces.serve": 1787112918.7300642, "agentdeck.adapters.control.sqlite": 1787112918.7232156, "agentdeck.core.reporting": 1787112918.727932, "agentdeck.adapters.tools.mcp.wiring": 1787112918.725934, "agentdeck.authoring.interrupts": 1787112918.7262156, "agentdeck.adapters.leases.sqlite": 1787112918.7244415, "agentdeck.adapters.tools.mcp.source": 1787112918.725934, "agentdeck.adapters.engines.openai_agents": 1787112918.723521, "agentdeck.runtime.discovery": 1787112918.72897, "agentdeck.core.ports.store": 1787112918.727932, "agentdeck.core.context": 1787112918.7274418, "agentdeck.core.ports": 1787112918.7278075, "agentdeck.adapters.control": 1787112918.7231023, "agentdeck.mcp": 1787112918.727932, "agentdeck.runtime.capture": 1787112918.72897, "agentdeck.adapters.engines.stub": 1787112918.7238076}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"agentdeck.observers":[["agentdeck.core.ports",17,"from agentdeck.core.ports import EventSinkPort"],["typing",15,"from typing import TYPE_CHECKING"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["agentdeck.core.events",22,"from agentdeck.core.events import Event"],["agentdeck.runtime.settings",19,"from agentdeck.runtime.settings import get_settings"],["agents",36,"from agents import set_trace_processors"],["agentdeck.adapters.telemetry.langfuse.client",85,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["__future__",13,"from __future__ import annotations"],["openinference",37,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"]],"agentdeck.authoring.agent":[["typing",12,"from typing import TYPE_CHECKING, Any, ClassVar"],["__future__",10,"from __future__ import annotations"],["agentdeck.authoring.runners.agent",158,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["collections",15,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.authoring.compile",152,"from agentdeck.authoring.compile import compile_agent"],["agents",18,"from agents.lifecycle import AgentHooks"],["agents",17,"from agents.agent_output import AgentOutputSchemaBase"]],"agentdeck.adapters.engines.openai_agents.sessions":[["typing",21,"from typing import TYPE_CHECKING"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",19,"from __future__ import annotations"],["agents",68,"from agents.extensions.memory import RedisSession"],["redis",53,"from redis.asyncio import Redis"],["agents",26,"from agents.memory.session import Session"],["agentdeck.runtime.settings",30,"from agentdeck.runtime.settings import SessionSettings"],["redis",27,"from redis.asyncio import Redis"],["agents",23,"from agents import SQLiteSession"]],"agentdeck.testing":[["agents",26,"from agents.usage import Usage"],["openai",27,"from openai.types.responses import ("],["openai",36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["agents",24,"from agents.items import ModelResponse"],["threading",18,"import threading"],["http",20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["collections",39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"],["json",17,"import json"],["asyncio",16,"import asyncio"],["contextlib",19,"from contextlib import contextmanager"],["unittest",22,"from unittest.mock import patch"],["__future__",14,"from __future__ import annotations"],["agents",25,"from agents.models.interface import Model"],["typing",21,"from typing import TYPE_CHECKING, Any"]],"agentdeck.runtime.discovery":[["collections",23,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.authoring.agent",14,"from agentdeck.authoring.agent import Agent"],["agentdeck.core.ports",28,"from agentdeck.core.ports import EnginePort"],["__future__",10,"from __future__ import annotations"],["agentdeck.errors",19,"from agentdeck.errors import ConfigError"],["agents",25,"from agents import Agent as SDKAgent"],["agentdeck.authoring.compile",15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["agents",26,"from agents.tool import FunctionTool"],["agentdeck.runtime.registry",20,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["agentdeck.authoring.graphs",16,"from agentdeck.authoring.graphs import bridge_context_nodes"],["agentdeck.authoring.workflow",17,"from agentdeck.authoring.workflow import Workflow"],["typing",12,"from typing import TYPE_CHECKING, Any, Final"]],"agentdeck.authoring.compile":[["agentdeck.authoring.instructions",50,"from agentdeck.authoring.instructions import compile_instructions"],["agentdeck.authoring.tools",51,"from agentdeck.authoring.tools import compile_tool"],["agents",58,"from agents.tool import FunctionTool"],["agentdeck.authoring.workflow",62,"from agentdeck.authoring.workflow import Workflow"],["agentdeck.adapters.engines.langgraph.checkpointer",47,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["langgraph",59,"from langgraph.graph.state import CompiledStateGraph"],["agentdeck.authoring.agent",172,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agentdeck.authoring.workflow",118,"from agentdeck.authoring.workflow import Workflow"],["agents",44,"from agents import ModelSettings"],["agentdeck.adapters.tools.mcp.wiring",48,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agents",45,"from agents import Tool as SDKTool"],["agentdeck.authoring.hooks",49,"from agentdeck.authoring.hooks import compile_hooks"],["typing",41,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.authoring.agent",61,"from agentdeck.authoring.agent import Agent"],["agentdeck.errors",52,"from agentdeck.errors import ConfigError, NotFoundError"],["agents",43,"from agents import Agent as SDKAgent"],["agentdeck.runtime.settings",53,"from agentdeck.runtime.settings import get_settings, parse_backend_url"],["collections",56,"from collections.abc import Callable, Mapping, Sequence"],["__future__",39,"from __future__ import annotations"]],"agentdeck.surfaces.cli":[["__future__",3,"from __future__ import annotations"],["agentdeck.surfaces.cli.chat",5,"from agentdeck.surfaces.cli.chat import render, stream_chat"]],"agentdeck.adapters.engines.stub":[["agentdeck.adapters.engines.stub.engine",3,"from agentdeck.adapters.engines.stub.engine import Step, StubEngine, stub_spec"]],"agentdeck.cli":[["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["__future__",17,"from __future__ import annotations"],["agentdeck.core.control",23,"from agentdeck.core.control import Signal"],["argparse",19,"import argparse"],["asyncio",20,"import asyncio"]],"agentdeck.authoring.instructions":[["agentdeck.errors",25,"from agentdeck.errors import ConfigError"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.authoring.injection",23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["__future__",18,"from __future__ import annotations"],["inspect",20,"import inspect"],["collections",28,"from collections.abc import Callable"],["agentdeck.core.context",24,"from agentdeck.core.context import Context, RunContext"]],"agentdeck.adapters.stores.redis.store":[["agentdeck.core.ports",40,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["redis",36,"from redis.asyncio import Redis"],["agentdeck.core.events",51,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.errors",42,"from agentdeck.errors import DuplicateKeyError, StoreError"],["typing",33,"from typing import TYPE_CHECKING, cast"],["__future__",29,"from __future__ import annotations"],["redis",37,"from redis.exceptions import RedisError, WatchError"],["redis",48,"from redis.asyncio.client import Pipeline"],["urllib",34,"from urllib.parse import quote, unquote"],["agentdeck.core.status",52,"from agentdeck.core.status import RunStatus"],["agentdeck.core.events",39,"from agentdeck.core.events import Event"],["agentdeck.core.status",41,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["json",31,"import json"],["agentdeck.core.context",50,"from agentdeck.core.context import RunContext"],["collections",45,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["datetime",32,"from datetime import UTC, datetime"],["datetime",46,"from datetime import timedelta"]],"agentdeck.deck":[["agentdeck.authoring.compile",52,"from agentdeck.authoring.compile import refresh_mcp_status"],["pathlib",44,"from pathlib import Path"],["typing",46,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.authoring.interrupts",54,"from agentdeck.authoring.interrupts import interrupt_result"],["builtins",88,"import builtins"],["agentdeck.runtime.discovery",82,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.core.content",95,"from agentdeck.core.content import Input"],["agents",92,"from agents.tool import FunctionTool"],["agentdeck.adapters.engines.openai_agents",49,"from agentdeck.adapters.engines.openai_agents import ExecutionStore, OpenAIAgentsEngine, SessionFactory"],["agentdeck.core.events",96,"from agentdeck.core.events import Event, Usage"],["agentdeck.adapters.engines.langgraph",48,"from agentdeck.adapters.engines.langgraph import LangGraphEngine"],["uuid",41,"import uuid"],["agentdeck.runtime.settings",84,"from agentdeck.runtime.settings import Settings, get_settings"],["agentdeck.core.control",68,"from agentdeck.core.control import Signal"],["agentdeck.core.events",69,"from agentdeck.core.events import ("],["asyncio",38,"import asyncio"],["agentdeck.runtime.service",99,"from agentdeck.runtime.service import PendingRun, Runtime"],["datetime",43,"from datetime import UTC, datetime"],["agentdeck.serve",1107,"from agentdeck.serve import build_asgi_app"],["agents",91,"from agents.memory.session import Session"],["agentdeck.core.ports",78,"from agentdeck.core.ports import EventSinkPort"],["agentdeck.core.ports",98,"from agentdeck.core.ports import EnginePort, EventStorePort"],["agentdeck.composition",58,"from agentdeck.composition import ("],["agentdeck.authoring.agent",51,"from agentdeck.authoring.agent import Agent"],["agentdeck.skills",85,"from agentdeck.skills import Skills"],["__future__",36,"from __future__ import annotations"],["agentdeck.mcp",81,"from agentdeck.mcp import MCP"],["agentdeck.core.status",79,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Operation, RunStatus, Verdict"],["agentdeck.authoring.interrupts",94,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.timers",56,"from agentdeck.authoring.timers import WAKE_AT_KEY, wake_at_of"],["agentdeck.core.content",66,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["agentdeck.core.invocable",97,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.authoring.injection",53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.authoring.skills",55,"from agentdeck.authoring.skills import skills_resolver"],["collections",89,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["agentdeck.runtime.registry",83,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.authoring.workflow",57,"from agentdeck.authoring.workflow import Workflow"],["logging",40,"import logging"],["functools",39,"import functools"],["contextlib",42,"from contextlib import aclosing, suppress"],["agentdeck.errors",80,"from agentdeck.errors import AgentdeckError, ConfigError, NotFoundError, RunStateError, RunSuspendedError"],["agentdeck.core.context",67,"from agentdeck.core.context import RunContext"],["types",45,"from types import MappingProxyType"],["agentdeck.adapters.tools.mcp.lifecycle",50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"]],"agentdeck.core.base":[["__future__",7,"from __future__ import annotations"],["math",9,"from math import isfinite"],["pydantic",12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["typing",10,"from typing import Annotated"]],"agentdeck.adapters.telemetry.langfuse.client":[["langfuse",102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["typing",17,"from typing import TYPE_CHECKING, Any"],["os",16,"import os"],["__future__",13,"from __future__ import annotations"],["logging",15,"import logging"],["agentdeck.core.events",25,"from agentdeck.core.events import Usage"],["collections",22,"from collections.abc import Mapping"],["langfuse",60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.adapters.telemetry.langfuse.sink",19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import LangfuseSettings"],["agentdeck.adapters.telemetry.langfuse.trace",24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"]],"agentdeck.runtime.settings":[["pydantic_settings",30,"from pydantic_settings.sources import YamlConfigSettingsSource"],["pydantic_settings",29,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["logging",19,"import logging"],["typing",25,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["pathlib",24,"from pathlib import Path"],["os",20,"import os"],["datetime",22,"from datetime import timedelta"],["functools",23,"from functools import lru_cache"],["collections",21,"from collections.abc import Mapping"],["importlib",34,"from importlib.resources.abc import Traversable"],["pydantic",28,"from pydantic import BaseModel, ConfigDict, Field, field_validator"],["__future__",17,"from __future__ import annotations"],["collections",33,"from collections.abc import Callable"],["dotenv",27,"from dotenv import load_dotenv"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.workflow",4,"from agentdeck.authoring.runners.workflow import BaseWorkflowRunner, DevWorkflowRunner"],["agentdeck.authoring.runners.agent",3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.sink",4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"],["agentdeck.adapters.telemetry.langfuse.client",3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"]],"agentdeck.core.ports.engine":[["__future__",7,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import Input"],["typing",10,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.core.events",17,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",16,"from agentdeck.core.context import RunContext"],["abc",9,"from abc import ABC, abstractmethod"],["collections",13,"from collections.abc import AsyncGenerator, Sequence"]],"agentdeck.serve":[["agentdeck.deck",83,"from agentdeck.deck import Deck"],["uvicorn",354,"import uvicorn"],["agentdeck.core.content",60,"from agentdeck.core.content import coerce_input"],["logging",55,"import logging"],["agentdeck.surfaces.serve.compat",63,"from agentdeck.surfaces.serve.compat import ("],["agentdeck.deck",77,"from agentdeck.deck import Deck"],["agentdeck.core.status",61,"from agentdeck.core.status import status_of"],["contextlib",57,"from contextlib import aclosing, asynccontextmanager"],["collections",72,"from collections.abc import AsyncGenerator, AsyncIterator, Awaitable, Callable"],["argparse",54,"import argparse"],["os",56,"import os"],["fastapi",74,"from fastapi import FastAPI"],["agentdeck.errors",62,"from agentdeck.errors import AgentdeckError, NotFoundError, RunStateError, SessionBusyError"],["__future__",52,"from __future__ import annotations"],["fastapi",108,"from fastapi.responses import JSONResponse, StreamingResponse"],["typing",58,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",76,"from agentdeck.core.events import Event"],["fastapi",107,"from fastapi import FastAPI, HTTPException, Request"]],"agentdeck.adapters.engines.openai_agents.runconfig":[["openai",27,"from openai import AsyncOpenAI"],["typing",23,"from typing import TYPE_CHECKING, Any, cast"],["agents",30,"from agents.handoffs import HandoffHistoryMapper"],["os",21,"import os"],["agents",31,"from agents.items import TResponseInputItem"],["agents",26,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",22,"from dataclasses import dataclass"],["__future__",19,"from __future__ import annotations"],["httpx",25,"import httpx"]],"agentdeck.authoring.web_search":[["agents",13,"from agents import function_tool"],["agentdeck.runtime.settings",15,"from agentdeck.runtime.settings import get_settings"],["httpx",12,"import httpx"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.engines.langgraph":[["agentdeck.adapters.engines.langgraph.engine",6,"from agentdeck.adapters.engines.langgraph.engine import DURABLE_KEY, REPORTER_KEY, LangGraphEngine"],["agentdeck.adapters.engines.langgraph.checkpointer",5,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["__future__",3,"from __future__ import annotations"]],"agentdeck.surfaces.serve.workflows":[["collections",19,"from collections.abc import AsyncIterator"],["agentdeck.runtime.service",21,"from agentdeck.runtime.service import Runtime"],["typing",12,"from typing import TYPE_CHECKING, Any"],["fastapi",15,"from fastapi.responses import StreamingResponse"],["pydantic",16,"from pydantic import BaseModel"],["fastapi",14,"from fastapi import FastAPI"],["__future__",10,"from __future__ import annotations"]],"agentdeck.runtime.service":[["uuid",22,"from uuid import uuid4"],["datetime",20,"from datetime import timedelta"],["contextlib",18,"from contextlib import aclosing, asynccontextmanager, suppress"],["typing",56,"from typing import Any"],["agentdeck.core.events",60,"from agentdeck.core.events import KnownPayload"],["agentdeck.core.reporting",39,"from agentdeck.core.reporting import Reporter"],["agentdeck.errors",51,"from agentdeck.errors import DOCS_URL, NotFoundError, RunStateError, SessionBusyError, StoreError"],["collections",17,"from collections import deque"],["agentdeck.core.control",28,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.events",29,"from agentdeck.core.events import ("],["agentdeck.core.ports.store",63,"from agentdeck.core.ports.store import RunSummary"],["pydantic",24,"from pydantic import ValidationError"],["agentdeck.core.content",58,"from agentdeck.core.content import Input"],["agentdeck.runtime.dispatch",52,"from agentdeck.runtime.dispatch import SinkDispatch"],["collections",55,"from collections.abc import AsyncGenerator, AsyncIterator, Mapping, Sequence"],["agentdeck.core.ports",62,"from agentdeck.core.ports import ControlPort, EnginePort, EventSinkPort, EventStorePort, LeasePort"],["agentdeck.core.status",40,"from agentdeck.core.status import ("],["agentdeck.core.content",26,"from agentdeck.core.content import DataBlock, coerce_input"],["logging",16,"import logging"],["agentdeck.core.control",59,"from agentdeck.core.control import ControlSignal"],["__future__",13,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING"],["agentdeck.core.context",27,"from agentdeck.core.context import RunContext"],["dataclasses",19,"from dataclasses import dataclass, replace"],["agentdeck.core.invocable",61,"from agentdeck.core.invocable import InvocableSpec"],["asyncio",15,"import asyncio"]],"agentdeck.adapters.engines.stub.engine":[["agentdeck.core.ports",21,"from agentdeck.core.ports import EnginePort"],["agentdeck.core.events",19,"from agentdeck.core.events import RunInterrupted"],["collections",15,"from collections.abc import Sequence"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["__future__",13,"from __future__ import annotations"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.events",29,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.context",28,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",27,"from agentdeck.core.content import Input"],["agentdeck.errors",22,"from agentdeck.errors import ConfigError"],["typing",16,"from typing import TYPE_CHECKING, Any, ClassVar"],["collections",25,"from collections.abc import AsyncGenerator"]],"agentdeck.adapters.stores.sqlite.store":[["json",12,"import json"],["typing",17,"from typing import TYPE_CHECKING"],["contextlib",14,"from contextlib import suppress"],["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",22,"from agentdeck.errors import DuplicateKeyError, StoreError"],["datetime",26,"from datetime import timedelta"],["pathlib",27,"from pathlib import Path"],["agentdeck.core.ports",20,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["collections",25,"from collections.abc import Callable, Sequence"],["functools",16,"from functools import partial"],["agentdeck.core.status",21,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.events",30,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["datetime",15,"from datetime import datetime"],["asyncio",11,"import asyncio"],["agentdeck.core.events",19,"from agentdeck.core.events import Event"],["sqlite3",13,"import sqlite3"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",9,"from __future__ import annotations"]],"agentdeck.authoring.nodes":[["typing",15,"from typing import Any"],["pathlib",14,"from pathlib import Path"],["agentdeck.authoring.runners.agent",22,"from agentdeck.authoring.runners.agent import HeadlessRunner, StreamDone"],["langgraph",17,"from langgraph.config import get_config, get_stream_writer"],["collections",13,"from collections.abc import Callable, Mapping"],["agentdeck.adapters.engines.langgraph.engine",19,"from agentdeck.adapters.engines.langgraph.engine import STREAM_CONFIGURABLE_KEY"],["__future__",10,"from __future__ import annotations"],["logging",12,"import logging"],["agentdeck.authoring.agent",20,"from agentdeck.authoring.agent import Agent"],["agentdeck.authoring.compile",21,"from agentdeck.authoring.compile import compile_agent"]],"agentdeck.surfaces.serve":[["agentdeck.surfaces.serve.app",5,"from agentdeck.surfaces.serve.app import build_app"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.control.memory.port":[["agentdeck.core.ports.control",8,"from agentdeck.core.ports.control import ControlPort"],["__future__",5,"from __future__ import annotations"],["agentdeck.core.control",7,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.mcp":[["typing",14,"from typing import Any"],["pydantic",16,"from pydantic import BaseModel, ConfigDict, Field"],["json",12,"import json"],["__future__",10,"from __future__ import annotations"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["pathlib",13,"from pathlib import Path"]],"agentdeck.errors":[["__future__",12,"from __future__ import annotations"],["agentdeck.core.status",16,"from agentdeck.core.status import RunStatus"],["typing",14,"from typing import Any"]],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.authoring.graphs":[["agentdeck.core.context",32,"from agentdeck.core.context import Context, RunContext"],["agentdeck.authoring.injection",31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["langgraph",29,"from langgraph.utils.runnable import RunnableCallable"],["collections",36,"from collections.abc import Callable"],["__future__",22,"from __future__ import annotations"],["dataclasses",25,"import dataclasses"],["inspect",26,"import inspect"],["langgraph",38,"from langgraph.graph.state import StateGraph"],["typing",27,"from typing import TYPE_CHECKING, Any"],["agentdeck.authoring.injection",40,"from agentdeck.authoring.injection import CallableAnalysis"],["agentdeck.errors",33,"from agentdeck.errors import ConfigError"],["asyncio",24,"import asyncio"]],"agentdeck.adapters":[],"agentdeck.core.ports.lease":[["__future__",14,"from __future__ import annotations"],["datetime",21,"from datetime import timedelta"],["abc",16,"from abc import ABC, abstractmethod"],["collections",20,"from collections.abc import Collection"],["typing",17,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.control":[],"agentdeck.core.invocable":[["enum",9,"from enum import StrEnum"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.base",14,"from agentdeck.core.base import CoreModel"],["typing",10,"from typing import Any"],["pydantic",12,"from pydantic import ConfigDict, Field"]],"agentdeck.core.reporting":[["__future__",12,"from __future__ import annotations"],["collections",20,"from collections import deque"],["logging",14,"import logging"],["typing",15,"from typing import TYPE_CHECKING"],["agentdeck.core.events",22,"from agentdeck.core.events import KnownPayload"],["agentdeck.core.events",17,"from agentdeck.core.events import ProgressReported, StatusReported"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.authoring.interrupts":[["__future__",10,"from __future__ import annotations"],["typing",12,"from typing import Any, Literal, NotRequired, TypedDict"]],"agentdeck.core":[["agentdeck.core.content",7,"from agentdeck.core.content import ("],["agentdeck.core.status",57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.invocable",55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.core.context",20,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",21,"from agentdeck.core.events import ("],["agentdeck.core.reporting",56,"from agentdeck.core.reporting import Reporter"]],"agentdeck.core.ports.sink":[["typing",10,"from typing import TYPE_CHECKING"],["agentdeck.core.events",13,"from agentdeck.core.events import Event"],["__future__",7,"from __future__ import annotations"],["abc",9,"from abc import ABC, abstractmethod"]],"agentdeck.surfaces.cli.chat":[["typing",13,"from typing import TYPE_CHECKING"],["agentdeck.core.events",16,"from agentdeck.core.events import ("],["__future__",10,"from __future__ import annotations"],["collections",32,"from collections.abc import AsyncIterator"],["agentdeck.core.content",15,"from agentdeck.core.content import TextBlock"],["httpx",34,"import httpx"],["json",12,"import json"]],"agentdeck.core.control":[["agentdeck.core.status",21,"from agentdeck.core.status import Action, RunStatus, decide"],["agentdeck.core.events",26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["agentdeck.core.ports.control",27,"from agentdeck.core.ports.control import ControlPort"],["dataclasses",16,"from dataclasses import dataclass"],["__future__",13,"from __future__ import annotations"],["typing",18,"from typing import TYPE_CHECKING, ClassVar"],["time",15,"import time"],["enum",17,"from enum import StrEnum"],["agentdeck.core.events",20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"],["collections",24,"from collections.abc import Callable, Mapping"]],"agentdeck.core.context":[["agentdeck.core.reporting",24,"from agentdeck.core.reporting import Reporter"],["__future__",18,"from __future__ import annotations"],["agentdeck.core.control",23,"from agentdeck.core.control import Gate"],["dataclasses",20,"from dataclasses import dataclass, field"],["typing",21,"from typing import cast"]],"agentdeck.adapters.stores.postgres.store":[["asyncio",19,"import asyncio"],["datetime",34,"from datetime import timedelta"],["agentdeck.core.context",36,"from agentdeck.core.context import RunContext"],["agentdeck.core.status",29,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["hashlib",20,"import hashlib"],["__future__",17,"from __future__ import annotations"],["agentdeck.core.ports",28,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",24,"from psycopg import errors as pg_errors"],["psycopg",25,"from psycopg import sql"],["agentdeck.errors",30,"from agentdeck.errors import DuplicateKeyError, StoreError"],["psycopg",23,"import psycopg"],["agentdeck.core.events",37,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.events",27,"from agentdeck.core.events import Event"],["agentdeck.core.status",38,"from agentdeck.core.status import RunStatus"],["typing",21,"from typing import TYPE_CHECKING, Any"],["collections",33,"from collections.abc import Awaitable, Callable, Sequence"]],"agentdeck.adapters.tools.mcp.lifecycle":[["asyncio",19,"import asyncio"],["logging",20,"import logging"],["agentdeck.errors",24,"from agentdeck.errors import ConfigError"],["__future__",17,"from __future__ import annotations"],["collections",27,"from collections.abc import Sequence"],["agents",29,"from agents.mcp import MCPServer"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.adapters.tools.mcp.transport",23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"]],"agentdeck.adapters.tools.mcp.transport":[["__future__",9,"from __future__ import annotations"],["asyncio",11,"import asyncio"],["contextlib",13,"from contextlib import AsyncExitStack, suppress"],["collections",20,"from collections.abc import Awaitable, Callable"],["typing",14,"from typing import TYPE_CHECKING, Any, TypeVar"],["agents",17,"from agents.mcp import MCPServerStreamableHttp"],["httpx",16,"import httpx"],["logging",12,"import logging"]],"agentdeck.authoring.runners.agent":[["httpx",21,"import httpx"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["openai",23,"from openai import AsyncOpenAI"],["agents",22,"from agents import Agent, ModelSettings, OpenAIProvider, RunConfig, Runner, RunResult"],["agentdeck.adapters.engines.openai_agents.runconfig",25,"from agentdeck.adapters.engines.openai_agents.runconfig import build_handoff_ends_on_user_turn_mapper, tracing_enabled"],["__future__",15,"from __future__ import annotations"],["contextlib",17,"from contextlib import aclosing"],["typing",19,"from typing import TYPE_CHECKING, Any, Self, cast"],["collections",29,"from collections.abc import AsyncGenerator, AsyncIterator"],["dataclasses",18,"from dataclasses import dataclass, field"]],"agentdeck.skills.bundle":[["re",5,"import re"],["pathlib",7,"from pathlib import Path"],["yaml",10,"import yaml"],["dataclasses",6,"from dataclasses import dataclass, field"],["agentdeck.errors",12,"from agentdeck.errors import ConfigError"],["typing",8,"from typing import Any"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.tools":[],"agentdeck.core.events":[["__future__",22,"from __future__ import annotations"],["agentdeck.core.content",39,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"],["pydantic",26,"from pydantic import ("],["typing",24,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.base",38,"from agentdeck.core.base import CoreModel, JsonData"]],"agentdeck.authoring.runners.workflow":[["__future__",13,"from __future__ import annotations"],["langchain_core",18,"from langchain_core.runnables import RunnableConfig"],["agentdeck.authoring.compile",21,"from agentdeck.authoring.compile import compile_workflow"],["langgraph",27,"from langgraph.graph.state import CompiledStateGraph"],["collections",25,"from collections.abc import AsyncIterator"],["typing",16,"from typing import TYPE_CHECKING, Any, Self, cast"],["agentdeck.authoring.state",22,"from agentdeck.authoring.state import coerce_input"],["agentdeck.adapters.engines.langgraph.engine",20,"from agentdeck.adapters.engines.langgraph.engine import STREAM_CONFIGURABLE_KEY"],["agentdeck.authoring.workflow",29,"from agentdeck.authoring.workflow import Workflow"],["dataclasses",15,"from dataclasses import dataclass, field"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.adapters.telemetry.langfuse.sink":[["agentdeck.core.events",53,"from agentdeck.core.events import Event, Usage"],["json",24,"import json"],["agentdeck.core.content",30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["dataclasses",27,"from dataclasses import dataclass, field"],["collections",49,"from collections.abc import Mapping"],["typing",28,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.content",52,"from agentdeck.core.content import Input"],["agentdeck.core.events",31,"from agentdeck.core.events import ("],["agentdeck.core.ports",46,"from agentdeck.core.ports import EventSinkPort"],["re",26,"import re"],["__future__",21,"from __future__ import annotations"],["logging",25,"import logging"],["agentdeck.adapters.telemetry.langfuse.trace",51,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["asyncio",23,"import asyncio"]],"agentdeck.skills":[["agentdeck.errors",15,"from agentdeck.errors import DOCS_URL, ConfigError, NotFoundError"],["agentdeck.skills.bundle",16,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["pathlib",12,"from pathlib import Path"],["typing",13,"from typing import TYPE_CHECKING"],["__future__",10,"from __future__ import annotations"],["collections",19,"from collections.abc import Sequence"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.context",18,"from agentdeck.core.context import RunContext"],["agentdeck.errors",12,"from agentdeck.errors import DuplicateKeyError, StoreError"],["datetime",6,"from datetime import UTC, datetime"],["agentdeck.core.events",9,"from agentdeck.core.events import Event"],["agentdeck.core.status",11,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.ports",10,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["collections",15,"from collections.abc import Callable, Sequence"],["asyncio",5,"import asyncio"],["__future__",3,"from __future__ import annotations"],["datetime",16,"from datetime import timedelta"],["agentdeck.core.events",19,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["typing",7,"from typing import TYPE_CHECKING"]],"agentdeck.runtime.capture":[["__future__",12,"from __future__ import annotations"],["enum",14,"from enum import StrEnum"],["pydantic",16,"from pydantic import BaseModel"]],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.tools.mcp.wiring":[["typing",10,"from typing import TYPE_CHECKING"],["agentdeck.adapters.tools.mcp.lifecycle",12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["__future__",8,"from __future__ import annotations"],["agents",17,"from agents.mcp import MCPServer"],["collections",15,"from collections.abc import Iterable, Sequence"]],"agentdeck.authoring.timers":[["typing",10,"from typing import Any"],["datetime",9,"from datetime import UTC, datetime"],["langgraph",12,"from langgraph.types import interrupt"],["__future__",7,"from __future__ import annotations"]],"agentdeck.authoring.injection":[["inspect",29,"import inspect"],["typing",32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["__future__",27,"from __future__ import annotations"],["types",30,"import types"],["dataclasses",31,"from dataclasses import dataclass"],["agentdeck.errors",35,"from agentdeck.errors import ConfigError, ContextTypeError"],["collections",38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["agentdeck.core.context",34,"from agentdeck.core.context import Context"]],"agentdeck.authoring.state":[["collections",7,"from collections.abc import Mapping"],["langgraph",10,"from langgraph.types import Command"],["dataclasses",5,"import dataclasses"],["json",6,"import json"],["pydantic",11,"from pydantic import BaseModel"],["__future__",3,"from __future__ import annotations"],["typing",8,"from typing import Any"]],"agentdeck.adapters.engines.langgraph.checkpointer":[["agentdeck.errors",29,"from agentdeck.errors import DOCS_URL, StoreError"],["functools",25,"from functools import cache, partial"],["collections",33,"from collections.abc import Callable, Coroutine, MutableMapping"],["threading",24,"import threading"],["weakref",27,"from weakref import WeakKeyDictionary"],["typing",26,"from typing import TYPE_CHECKING, Any, TypeVar"],["__future__",20,"from __future__ import annotations"],["psycopg",191,"import psycopg # ty: ignore[unresolved-import] - [durability] extra"],["aiosqlite",152,"import aiosqlite"],["langgraph",139,"from langgraph.checkpoint.memory import MemorySaver"],["langgraph",184,"from langgraph.checkpoint.postgres.aio import ( # ty: ignore[unresolved-import] - [durability] extra"],["asyncio",32,"from asyncio import AbstractEventLoop"],["sqlite3",23,"import sqlite3"],["langgraph",153,"from langgraph.checkpoint.sqlite import aio as sqlite_aio"],["asyncio",22,"import asyncio"],["langgraph",35,"from langgraph.checkpoint.base import BaseCheckpointSaver"]],"agentdeck.adapters.leases.sqlite.port":[["agentdeck.core.ports.lease",22,"from agentdeck.core.ports.lease import LeasePort"],["__future__",14,"from __future__ import annotations"],["functools",19,"from functools import partial"],["pathlib",28,"from pathlib import Path"],["contextlib",18,"from contextlib import suppress"],["agentdeck.errors",23,"from agentdeck.errors import StoreError"],["sqlite3",17,"import sqlite3"],["collections",26,"from collections.abc import Callable, Collection"],["asyncio",16,"import asyncio"],["typing",20,"from typing import TYPE_CHECKING"],["datetime",27,"from datetime import timedelta"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.surfaces.serve.app":[["fastapi",12,"from fastapi.responses import JSONResponse, StreamingResponse"],["http",8,"from http import HTTPStatus"],["fastapi",11,"from fastapi import FastAPI"],["typing",9,"from typing import TYPE_CHECKING, Any"],["pydantic",13,"from pydantic import BaseModel, Field"],["__future__",6,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import coerce_input"],["agentdeck.core.events",21,"from agentdeck.core.events import Event"],["collections",19,"from collections.abc import AsyncIterator"],["agentdeck.runtime.service",22,"from agentdeck.runtime.service import Runtime"],["agentdeck.errors",16,"from agentdeck.errors import SessionBusyError"]],"agentdeck.authoring.workflow":[["__future__",11,"from __future__ import annotations"],["agentdeck.authoring.state",218,"from agentdeck.authoring.state import dump_state"],["langgraph",164,"from langgraph.types import Command"],["langgraph",25,"from langgraph.graph import StateGraph"],["agentdeck.authoring.interrupts",173,"from agentdeck.authoring.interrupts import interrupt_result"],["re",14,"import re"],["agentdeck.errors",19,"from agentdeck.errors import DOCS_URL, ConfigError"],["agentdeck.authoring.interrupts",27,"from agentdeck.authoring.interrupts import InterruptResult"],["json",13,"import json"],["agentdeck.authoring.runners.workflow",108,"from agentdeck.authoring.runners.workflow import DevWorkflowRunner"],["agentdeck.authoring.compile",172,"from agentdeck.authoring.compile import compile_workflow"],["typing",15,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.interrupts",140,"from agentdeck.authoring.interrupts import as_interrupt"],["agentdeck.authoring.interrupts",130,"from agentdeck.authoring.interrupts import INTERRUPT_KEY"],["langgraph",195,"from langgraph.graph import END, START"],["agentdeck.authoring.compile",103,"from agentdeck.authoring.compile import compile_workflow"],["pydantic",17,"from pydantic import BaseModel"],["agents",216,"from agents.tool import FunctionTool"],["agents",24,"from agents.tool import FunctionTool"],["collections",22,"from collections.abc import AsyncIterator, Callable, Iterable, Sequence"]],"agentdeck.core.ports.tools":[["__future__",12,"from __future__ import annotations"],["agentdeck.core.invocable",22,"from agentdeck.core.invocable import InvocableSpec"],["typing",15,"from typing import TYPE_CHECKING, Any"],["pydantic",17,"from pydantic import ConfigDict"],["abc",14,"from abc import ABC, abstractmethod"],["agentdeck.core.base",19,"from agentdeck.core.base import CoreModel"]],"agentdeck.adapters.engines.openai_agents.engine":[["agentdeck.adapters.engines.openai_agents.sessions",48,"from agentdeck.adapters.engines.openai_agents.sessions import ExecutionStore"],["agentdeck.core.content",50,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agentdeck.adapters.engines.openai_agents.runconfig",47,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings, build_run_config"],["json",37,"import json"],["agents",61,"from agents.result import RunResultStreaming"],["agents",60,"from agents.memory.session import Session"],["pydantic",44,"from pydantic import BaseModel"],["agentdeck.core.ports",53,"from agentdeck.core.ports import EnginePort"],["agents",43,"from agents import Agent, Runner"],["agentdeck.core.invocable",67,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.errors",54,"from agentdeck.errors import ConfigError"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.core.content",64,"from agentdeck.core.content import ContentBlock, Input"],["agents",62,"from agents.usage import Usage as SDKUsage"],["agentdeck.core.events",52,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["typing",41,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.adapters.engines.openai_agents.reconcile",46,"from agentdeck.adapters.engines.openai_agents.reconcile import reconcile, render_data_block"],["agentdeck.core.events",66,"from agentdeck.core.events import Event, KnownPayload"],["contextlib",39,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["dataclasses",36,"import dataclasses"],["agentdeck.core.context",65,"from agentdeck.core.context import RunContext"],["dataclasses",40,"from dataclasses import dataclass"],["agentdeck.adapters.engines.openai_agents.translate",49,"from agentdeck.adapters.engines.openai_agents.translate import translate"],["__future__",34,"from __future__ import annotations"],["collections",38,"from collections.abc import Callable"],["agentdeck.core.control",51,"from agentdeck.core.control import ControlSignalled"],["agents",59,"from agents.items import TResponseInputItem"]],"agentdeck.core.ports":[["agentdeck.core.ports.sink",14,"from agentdeck.core.ports.sink import EventSinkPort"],["agentdeck.core.ports.control",11,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.ports.engine",12,"from agentdeck.core.ports.engine import EnginePort"],["agentdeck.core.ports.store",15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.tools",16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.lease",13,"from agentdeck.core.ports.lease import LeasePort"]],"agentdeck.adapters.stores":[],"agentdeck.adapters.control.sqlite.port":[["sqlite3",10,"import sqlite3"],["agentdeck.core.ports.control",16,"from agentdeck.core.ports.control import ControlPort"],["typing",13,"from typing import TYPE_CHECKING"],["functools",12,"from functools import partial"],["pathlib",21,"from pathlib import Path"],["agentdeck.errors",17,"from agentdeck.errors import StoreError"],["collections",20,"from collections.abc import Callable"],["agentdeck.core.control",15,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",7,"from __future__ import annotations"],["asyncio",9,"import asyncio"],["contextlib",11,"from contextlib import suppress"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.authoring":[["agentdeck.authoring.interrupts",8,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.workflow",11,"from agentdeck.authoring.workflow import Workflow, WorkflowDeclaration"],["agentdeck.authoring.nodes",9,"from agentdeck.authoring.nodes import AgentNode, LoadFileNode"],["agentdeck.authoring.timers",10,"from agentdeck.authoring.timers import sleep_until"],["agentdeck.authoring.agent",7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"]],"agentdeck.authoring.skills":[["typing",11,"from typing import TYPE_CHECKING"],["agents",13,"from agents import function_tool"],["__future__",9,"from __future__ import annotations"],["agents",18,"from agents.tool import FunctionTool"],["agentdeck.skills",20,"from agentdeck.skills import Skills"],["collections",16,"from collections.abc import Callable, Sequence"]],"agentdeck.core.status":[["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["agentdeck.core.events",23,"from agentdeck.core.events import TERMINAL_KINDS"],["typing",21,"from typing import TYPE_CHECKING"],["collections",26,"from collections.abc import Mapping, Sequence"],["__future__",17,"from __future__ import annotations"],["dataclasses",19,"from dataclasses import dataclass"],["enum",20,"from enum import StrEnum"]],"agentdeck.adapters.engines":[],"agentdeck.adapters.telemetry":[],"agentdeck.adapters.leases":[],"agentdeck.core.ports.control":[["__future__",14,"from __future__ import annotations"],["agentdeck.core.control",20,"from agentdeck.core.control import ControlSignal, Signal"],["abc",16,"from abc import ABC, abstractmethod"],["typing",17,"from typing import TYPE_CHECKING"]],"agentdeck.composition":[["collections",41,"from collections.abc import Mapping, Sequence"],["agentdeck.adapters.leases.sqlite",25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"],["agentdeck.runtime.service",30,"from agentdeck.runtime.service import Runtime"],["agentdeck.adapters.leases.memory",24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.adapters.stores.sqlite",27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["__future__",16,"from __future__ import annotations"],["typing",19,"from typing import TYPE_CHECKING"],["logging",18,"import logging"],["agentdeck.observers",112,"from agentdeck.observers import Langfuse"],["agentdeck.core.ports",45,"from agentdeck.core.ports import ControlPort, EnginePort, EventSinkPort, EventStorePort, LeasePort"],["agentdeck.adapters.engines.openai_agents.runconfig",23,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.stores.memory",26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.adapters.stores.postgres",249,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.adapters.control.memory",21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.errors",28,"from agentdeck.errors import DOCS_URL"],["agentdeck.adapters.stores.redis",240,"from agentdeck.adapters.stores.redis import RedisEventStore"],["agentdeck.runtime.discovery",29,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["datetime",42,"from datetime import timedelta"],["agentdeck.runtime.settings",31,"from agentdeck.runtime.settings import ("]],"agentdeck":[["importlib",10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.authoring",13,"from agentdeck.authoring import Agent, Workflow"],["agentdeck.errors",16,"from agentdeck.errors import ("],["agentdeck.deck",15,"from agentdeck.deck import Deck, Run, TurnResult"],["importlib",11,"from importlib.metadata import version as _version"],["agentdeck.core.context",14,"from agentdeck.core.context import Context"]],"agentdeck.runtime.registry":[["pathlib",11,"from pathlib import Path"],["importlib",6,"import importlib.util"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError, NotFoundError"],["dataclasses",9,"from dataclasses import dataclass, field"],["importlib",5,"import importlib"],["importlib",10,"from importlib.machinery import ModuleSpec"],["typing",12,"from typing import Generic, TypeVar"],["__future__",3,"from __future__ import annotations"],["types",8,"import types"],["sys",7,"import sys"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.runtime.dispatch":[["typing",26,"from typing import TYPE_CHECKING"],["agentdeck.core.ports",32,"from agentdeck.core.ports import EventSinkPort"],["__future__",21,"from __future__ import annotations"],["collections",29,"from collections.abc import Callable"],["agentdeck.core.events",31,"from agentdeck.core.events import Event"],["asyncio",23,"import asyncio"],["logging",24,"import logging"],["time",25,"import time"]],"agentdeck.adapters.engines.langgraph.engine":[["langgraph",61,"from langgraph.checkpoint.base import BaseCheckpointSaver"],["agentdeck.errors",54,"from agentdeck.errors import DOCS_URL, ConfigError"],["json",38,"import json"],["agentdeck.core.status",53,"from agentdeck.core.status import LIFECYCLE_KINDS"],["pydantic",46,"from pydantic import BaseModel"],["agentdeck.core.events",51,"from agentdeck.core.events import Custom, NodeUpdated, RunCompleted, RunInterrupted, Usage"],["langgraph",62,"from langgraph.graph.state import CompiledStateGraph"],["langgraph",45,"from langgraph.types import Command"],["langgraph",43,"from langgraph.checkpoint.memory import MemorySaver"],["langchain_core",60,"from langchain_core.runnables import RunnableConfig"],["agentdeck.core.control",50,"from agentdeck.core.control import ControlSignalled"],["langgraph",44,"from langgraph.graph.state import StateGraph"],["dataclasses",37,"import dataclasses"],["agentdeck.core.context",66,"from agentdeck.core.context import RunContext"],["langgraph",63,"from langgraph.types import StreamMode"],["agentdeck.core.content",49,"from agentdeck.core.content import DataBlock, TextBlock"],["agentdeck.core.content",65,"from agentdeck.core.content import Input"],["agentdeck.core.events",67,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.invocable",68,"from agentdeck.core.invocable import InvocableSpec"],["contextlib",58,"from contextlib import AbstractAsyncContextManager"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Callable, Sequence"],["contextlib",40,"from contextlib import aclosing, nullcontext"],["typing",41,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.core.ports",52,"from agentdeck.core.ports import EnginePort"],["agentdeck.adapters.engines.langgraph.checkpointer",48,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["__future__",35,"from __future__ import annotations"],["collections",39,"from collections.abc import Mapping"]],"agentdeck.surfaces.serve.compat":[["__future__",16,"from __future__ import annotations"],["json",18,"import json"],["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["contextlib",19,"from contextlib import aclosing"],["agentdeck.core.events",23,"from agentdeck.core.events import Custom, NodeUpdated, RunCompleted, RunInterrupted, TextDelta, UsageReported"],["collections",26,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.core.content",22,"from agentdeck.core.content import DataBlock, TextBlock"],["typing",20,"from typing import TYPE_CHECKING, Any"],["agentdeck.runtime.service",29,"from agentdeck.runtime.service import PendingRun"]],"agentdeck.adapters.engines.openai_agents":[["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.engines.openai_agents.runconfig",6,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.engines.openai_agents.sessions",7,"from agentdeck.adapters.engines.openai_agents.sessions import ExecutionStore, SessionFactory"],["agentdeck.adapters.engines.openai_agents.engine",5,"from agentdeck.adapters.engines.openai_agents.engine import OpenAIAgentsEngine"]],"agentdeck.adapters.leases.memory.port":[["datetime",12,"from datetime import UTC, datetime"],["collections",18,"from collections.abc import Callable, Collection"],["agentdeck.core.ports.lease",15,"from agentdeck.core.ports.lease import LeasePort"],["datetime",19,"from datetime import timedelta"],["__future__",10,"from __future__ import annotations"],["typing",13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.engines.openai_agents.translate":[["json",14,"import json"],["logging",15,"import logging"],["typing",16,"from typing import Any"],["__future__",11,"from __future__ import annotations"],["hashlib",13,"import hashlib"],["agentdeck.core.events",18,"from agentdeck.core.events import ("]],"agentdeck.authoring.hooks":[["inspect",21,"import inspect"],["collections",31,"from collections.abc import Callable"],["agentdeck.errors",28,"from agentdeck.errors import ConfigError"],["agentdeck.authoring.injection",26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.core.context",27,"from agentdeck.core.context import Context, RunContext"],["agents",24,"from agents.lifecycle import AgentHooks"],["typing",22,"from typing import TYPE_CHECKING, Any"],["__future__",19,"from __future__ import annotations"]],"agentdeck.core.content":[["typing",14,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.base",26,"from agentdeck.core.base import CoreModel, JsonData"],["pydantic",16,"from pydantic import ("],["base64",13,"import base64"],["__future__",11,"from __future__ import annotations"]],"agentdeck.runtime":[],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.adapters.tools.mcp.source":[["agentdeck.core.ports.tools",14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["__future__",9,"from __future__ import annotations"],["typing",11,"from typing import TYPE_CHECKING"],["agentdeck.adapters.tools.mcp.wiring",13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.transport",7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.lifecycle",5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.wiring",8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["agentdeck.adapters.tools.mcp.source",6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"]],"agentdeck.adapters.telemetry.langfuse.trace":[["__future__",13,"from __future__ import annotations"],["agentdeck.core.events",20,"from agentdeck.core.events import Usage"],["typing",15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["collections",18,"from collections.abc import Mapping"]],"agentdeck.surfaces":[],"agentdeck.adapters.engines.openai_agents.reconcile":[["agentdeck.core.content",32,"from agentdeck.core.content import DataBlock, TextBlock"],["asyncio",26,"import asyncio"],["agents",38,"from agents.items import TResponseInputItem"],["agentdeck.core.events",33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"],["agentdeck.core.content",41,"from agentdeck.core.content import Input"],["collections",36,"from collections.abc import Iterable, Sequence"],["agentdeck.core.events",42,"from agentdeck.core.events import Event"],["logging",28,"import logging"],["typing",29,"from typing import TYPE_CHECKING, Any, Literal"],["json",27,"import json"],["__future__",24,"from __future__ import annotations"],["agents",39,"from agents.memory.session import Session"],["weakref",30,"from weakref import WeakKeyDictionary"]],"agentdeck.core.ports.store":[["typing",11,"from typing import TYPE_CHECKING"],["abc",9,"from abc import ABC, abstractmethod"],["datetime",17,"from datetime import timedelta"],["agentdeck.core.status",13,"from agentdeck.core.status import RunStatus, status_of"],["collections",16,"from collections.abc import Sequence"],["dataclasses",10,"from dataclasses import dataclass"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.events",20,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"]],"agentdeck.authoring.tools":[["agentdeck.authoring.injection",28,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.core.context",29,"from agentdeck.core.context import Context, RunContext"],["asyncio",22,"import asyncio"],["agentdeck.authoring.injection",37,"from agentdeck.authoring.injection import CallableAnalysis"],["__future__",20,"from __future__ import annotations"],["collections",33,"from collections.abc import Callable"],["agents",35,"from agents.tool import FunctionTool"],["agents",26,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["agentdeck.errors",30,"from agentdeck.errors import ConfigError"],["typing",24,"from typing import TYPE_CHECKING, Any"],["inspect",23,"import inspect"]]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
See [CLAUDE.md](CLAUDE.md) - single source of agent instructions for this repo.
|