agentdeck-sdk 6.0.4__tar.gz → 6.0.5__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.
Files changed (677) hide show
  1. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/agents/deck-dev.md +2 -0
  2. agentdeck_sdk-6.0.5/.claude/agents/deck-insight.md +39 -0
  3. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/agents/deck-reviewer.md +3 -1
  4. agentdeck_sdk-6.0.5/.claude/progress.md +18 -0
  5. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/skills/open-issue/SKILL.md +1 -1
  6. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/skills/review-pr/SKILL.md +4 -1
  7. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/review-pr/references/craft.md +2 -0
  8. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/skills/review-pr/references/templates.md +8 -2
  9. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/ship-pr/SKILL.md +5 -4
  10. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/ship-pr/references/design.md +5 -0
  11. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/skills/ship-pr/references/self-review.md +25 -0
  12. agentdeck_sdk-6.0.5/.import_linter_cache/agentdeck.meta.json +1 -0
  13. agentdeck_sdk-6.0.5/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
  14. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/CHANGELOG.md +23 -1
  15. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/CLAUDE.md +22 -5
  16. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/PKG-INFO +16 -8
  17. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/README.md +8 -0
  18. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/brand/README.md +8 -9
  19. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/deck-capability-wrapper-pattern.md +2 -0
  20. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/docs-site-plan.md +4 -2
  21. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-219-delivery.md +1 -1
  22. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-context-injection.md +4 -2
  23. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-jack-eval.md +3 -1
  24. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-phase4-deck.md +3 -1
  25. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-skills.md +2 -0
  26. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/delivery/plan-slop-comment-ratio.md +2 -0
  27. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/adr-d11-store-assigns-seq-and-time.md +4 -4
  28. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/adr-d5-two-stores.md +4 -4
  29. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/event-store-claims.md +3 -1
  30. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/execution-api.md +2 -0
  31. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/README.md +2 -0
  32. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/agui.md +2 -0
  33. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/bindings.md +2 -0
  34. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/exposure.md +2 -0
  35. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/gateway.md +2 -0
  36. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/invariants.md +2 -0
  37. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/native-wire.md +2 -0
  38. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/projection.md +2 -0
  39. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/roadmap.md +2 -0
  40. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/rulings.md +2 -0
  41. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/protocols/spi.md +2 -0
  42. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/run-identity.md +3 -1
  43. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/run-lifecycle.md +3 -1
  44. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/run-operations.md +4 -2
  45. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/design/sink-dispatch.md +3 -1
  46. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/README.md +2 -0
  47. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/architecture.md +4 -2
  48. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/coding-agents.md +1 -1
  49. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/coding-standards.md +1 -1
  50. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/dependencies.md +1 -1
  51. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/documentation.md +1 -1
  52. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/principles.md +25 -2
  53. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/repository-policy.md +1 -1
  54. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/testing.md +2 -2
  55. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/patterns/README.md +2 -0
  56. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/patterns/comments.md +2 -0
  57. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/patterns/errors.md +2 -0
  58. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/patterns/lifecycle.md +2 -0
  59. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/patterns/tests.md +2 -0
  60. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/jack.css +16 -0
  61. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/panel.tsx +30 -5
  62. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/stream.ts +17 -0
  63. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/blocks.tsx +21 -0
  64. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/landing.css +7 -0
  65. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/announcement.tsx +1 -1
  66. agentdeck_sdk-6.0.5/docs-site/content/examples/index.mdx +40 -0
  67. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meet-agentdeck/whats-new-6.mdx +3 -1
  68. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/resources/changelog.mdx +17 -62
  69. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/resources/meta.json +1 -0
  70. agentdeck_sdk-6.0.5/docs-site/content/resources/roadmap.mdx +61 -0
  71. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/lib/version.ts +1 -1
  72. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/package-lock.json +43 -43
  73. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/package.json +8 -8
  74. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/brand/a-chevron.svg +1 -1
  75. agentdeck_sdk-6.0.5/docs-site/public/llms/examples.md +29 -0
  76. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/meet-agentdeck/whats-new-6.md +3 -1
  77. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/resources/changelog.md +17 -62
  78. agentdeck_sdk-6.0.5/docs-site/public/llms/resources/roadmap.md +50 -0
  79. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms-full.txt +90 -70
  80. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms.txt +1 -0
  81. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/agent-with-a-skill/README.md +2 -0
  82. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/chat-agent-with-a-tool/README.md +2 -0
  83. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/chat-in-the-terminal/README.md +2 -0
  84. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/README.md +2 -0
  85. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/run-events-stream/README.md +2 -0
  86. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/pyproject.toml +8 -8
  87. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/concept_budget.py +32 -6
  88. agentdeck_sdk-6.0.5/scripts/finding_tags.py +92 -0
  89. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_brand_assets.py +1 -5
  90. agentdeck_sdk-6.0.5/tests/test_concept_budget.py +32 -0
  91. agentdeck_sdk-6.0.5/tests/test_finding_tags.py +14 -0
  92. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/uv.lock +149 -133
  93. agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/SKILL.md +0 -48
  94. agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/agents/openai.yaml +0 -4
  95. agentdeck_sdk-6.0.4/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -49
  96. agentdeck_sdk-6.0.4/.agents/skills/open-issue/SKILL.md +0 -39
  97. agentdeck_sdk-6.0.4/.agents/skills/review-pr/SKILL.md +0 -87
  98. agentdeck_sdk-6.0.4/.agents/skills/review-pr/references/templates.md +0 -136
  99. agentdeck_sdk-6.0.4/.agents/skills/ship-pr/references/self-review.md +0 -43
  100. agentdeck_sdk-6.0.4/.claude/progress.md +0 -85
  101. agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/SKILL.md +0 -66
  102. agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/judging.md +0 -103
  103. agentdeck_sdk-6.0.4/.claude/skills/milestone-retro/references/queries.md +0 -132
  104. agentdeck_sdk-6.0.4/.claude/skills/release/SKILL.md +0 -65
  105. agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/attack.md +0 -55
  106. agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/classify.md +0 -54
  107. agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/craft.md +0 -69
  108. agentdeck_sdk-6.0.4/.claude/skills/review-pr/references/overrun.md +0 -46
  109. agentdeck_sdk-6.0.4/.claude/skills/ship-issue/SKILL.md +0 -67
  110. agentdeck_sdk-6.0.4/.claude/skills/ship-pr/SKILL.md +0 -140
  111. agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/design.md +0 -66
  112. agentdeck_sdk-6.0.4/.claude/skills/ship-pr/references/implement.md +0 -42
  113. agentdeck_sdk-6.0.4/.codex/agents/deck-cleanup.toml +0 -5
  114. agentdeck_sdk-6.0.4/.codex/agents/deck-dev.toml +0 -5
  115. agentdeck_sdk-6.0.4/.codex/agents/deck-reviewer.toml +0 -5
  116. agentdeck_sdk-6.0.4/.codex/agents/docs-reviewer.toml +0 -5
  117. agentdeck_sdk-6.0.4/.codex/agents/docs-writer.toml +0 -5
  118. agentdeck_sdk-6.0.4/.import_linter_cache/agentdeck.meta.json +0 -1
  119. agentdeck_sdk-6.0.4/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
  120. agentdeck_sdk-6.0.4/AGENTS.md +0 -1
  121. agentdeck_sdk-6.0.4/docs/brand/components/a.svg +0 -7
  122. agentdeck_sdk-6.0.4/docs/brand/components/card-a.svg +0 -8
  123. agentdeck_sdk-6.0.4/docs/brand/components/card.svg +0 -7
  124. agentdeck_sdk-6.0.4/docs/brand/components/spark.svg +0 -6
  125. agentdeck_sdk-6.0.4/docs/brand/components/wordmark.svg +0 -17
  126. agentdeck_sdk-6.0.4/docs/brand/contributor-merged.svg +0 -22
  127. agentdeck_sdk-6.0.4/docs/brand/contributor-welcome.svg +0 -17
  128. agentdeck_sdk-6.0.4/docs/brand/favicon.svg +0 -9
  129. agentdeck_sdk-6.0.4/docs/brand/logo-black.svg +0 -7
  130. agentdeck_sdk-6.0.4/docs/brand/logo-blue.svg +0 -7
  131. agentdeck_sdk-6.0.4/docs/brand/logo-mark.svg +0 -5
  132. agentdeck_sdk-6.0.4/docs/brand/logo-traced-original.svg +0 -38
  133. agentdeck_sdk-6.0.4/docs/brand/logo-white.svg +0 -7
  134. agentdeck_sdk-6.0.4/docs/brand/logo.svg +0 -8
  135. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-a-master.svg +0 -10
  136. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +0 -5
  137. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-card-a-preview.svg +0 -16
  138. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +0 -8
  139. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +0 -17
  140. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +0 -18
  141. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +0 -21
  142. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +0 -21
  143. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +0 -22
  144. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +0 -18
  145. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +0 -17
  146. agentdeck_sdk-6.0.4/docs/brand/refine-brand/agentdeck-spark-master.svg +0 -7
  147. agentdeck_sdk-6.0.4/docs/brand/social-card.svg +0 -30
  148. agentdeck_sdk-6.0.4/docs/delivery/plan-docs-ia.md +0 -613
  149. agentdeck_sdk-6.0.4/docs/delivery/plan-v2-cutover.md +0 -89
  150. agentdeck_sdk-6.0.4/docs/delivery/review-v3-outsider.md +0 -110
  151. agentdeck_sdk-6.0.4/docs/design-system.md +0 -63
  152. agentdeck_sdk-6.0.4/docs/docs-site-spec.md +0 -1452
  153. agentdeck_sdk-6.0.4/docs/prompts/pr0-baseline-prompt.md +0 -103
  154. agentdeck_sdk-6.0.4/docs/prompts/pr0-review-prompt.md +0 -95
  155. agentdeck_sdk-6.0.4/docs/prompts/pr1-event-schema-prompt.md +0 -161
  156. agentdeck_sdk-6.0.4/docs-site/content/examples/index.mdx +0 -35
  157. agentdeck_sdk-6.0.4/docs-site/public/brand/logo-traced-original.svg +0 -38
  158. agentdeck_sdk-6.0.4/docs-site/public/llms/examples.md +0 -24
  159. agentdeck_sdk-6.0.4/scripts/sync_claude_to_codex.py +0 -122
  160. agentdeck_sdk-6.0.4/tests/test_codex_sync.py +0 -37
  161. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.agentdeck/agents/greeter/agent.py +0 -0
  162. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/agents/deck-cleanup.md +0 -0
  163. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/agents/docs-reviewer.md +0 -0
  164. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/agents/docs-writer.md +0 -0
  165. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/progress.archive.md +0 -0
  166. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.claude/settings.json +0 -0
  167. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/milestone-retro/SKILL.md +0 -0
  168. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/milestone-retro/references/judging.md +0 -0
  169. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/milestone-retro/references/queries.md +0 -0
  170. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/release/SKILL.md +0 -0
  171. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/review-pr/references/attack.md +0 -0
  172. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/review-pr/references/classify.md +0 -0
  173. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/review-pr/references/overrun.md +0 -0
  174. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/ship-issue/SKILL.md +0 -0
  175. {agentdeck_sdk-6.0.4/.agents → agentdeck_sdk-6.0.5/.claude}/skills/ship-pr/references/implement.md +0 -0
  176. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.dockerignore +0 -0
  177. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.env.example +0 -0
  178. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.gitattributes +0 -0
  179. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/CODEOWNERS +0 -0
  180. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  181. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  182. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
  183. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  184. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
  185. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  186. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/assets/contributors/merged.png +0 -0
  187. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/assets/contributors/welcome.png +0 -0
  188. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/assets/social-card.png +0 -0
  189. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/dependabot.yml +0 -0
  190. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/ci.yml +0 -0
  191. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/docs-check.yml +0 -0
  192. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/docs-impact.yml +0 -0
  193. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/first-contribution.yml +0 -0
  194. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/issue-hygiene.yml +0 -0
  195. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.github/workflows/release.yml +0 -0
  196. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.gitignore +0 -0
  197. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.import_linter_cache/.gitignore +0 -0
  198. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.import_linter_cache/CACHEDIR.TAG +0 -0
  199. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.importlinter +0 -0
  200. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/.pre-commit-config.yaml +0 -0
  201. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/CODE_OF_CONDUCT.md +0 -0
  202. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/CONTRIBUTING.md +0 -0
  203. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/Dockerfile +0 -0
  204. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/LICENSE +0 -0
  205. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/Makefile +0 -0
  206. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/SECURITY.md +0 -0
  207. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/README.md +0 -0
  208. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/__init__.py +0 -0
  209. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/__init__.py +0 -0
  210. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/__init__.py +0 -0
  211. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/agui/__init__.py +0 -0
  212. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/agui/adapter.py +0 -0
  213. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/agui/binding.py +0 -0
  214. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/native/__init__.py +0 -0
  215. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/native/binding.py +0 -0
  216. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/terminal/__init__.py +0 -0
  217. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/bindings/terminal/binding.py +0 -0
  218. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/control/__init__.py +0 -0
  219. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/control/memory/__init__.py +0 -0
  220. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/control/memory/port.py +0 -0
  221. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
  222. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/control/sqlite/port.py +0 -0
  223. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/__init__.py +0 -0
  224. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/native/__init__.py +0 -0
  225. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/native/executor.py +0 -0
  226. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
  227. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/executor.py +0 -0
  228. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/reconcile.py +0 -0
  229. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
  230. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
  231. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/openai_agents/translate.py +0 -0
  232. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/stub/__init__.py +0 -0
  233. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/executors/stub/executor.py +0 -0
  234. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/leases/__init__.py +0 -0
  235. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/leases/memory/__init__.py +0 -0
  236. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/leases/memory/port.py +0 -0
  237. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
  238. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/leases/sqlite/port.py +0 -0
  239. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/__init__.py +0 -0
  240. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/memory/__init__.py +0 -0
  241. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/memory/store.py +0 -0
  242. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
  243. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/postgres/store.py +0 -0
  244. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/redis/__init__.py +0 -0
  245. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/redis/store.py +0 -0
  246. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
  247. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/stores/sqlite/store.py +0 -0
  248. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/telemetry/__init__.py +0 -0
  249. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
  250. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
  251. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
  252. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
  253. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/__init__.py +0 -0
  254. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
  255. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
  256. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/mcp/source.py +0 -0
  257. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/mcp/transport.py +0 -0
  258. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
  259. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/__init__.py +0 -0
  260. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/agent.py +0 -0
  261. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/compile.py +0 -0
  262. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/hooks.py +0 -0
  263. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/injection.py +0 -0
  264. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/instructions.py +0 -0
  265. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/interrupts.py +0 -0
  266. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/native.py +0 -0
  267. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/runners/__init__.py +0 -0
  268. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/runners/agent.py +0 -0
  269. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/skills.py +0 -0
  270. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/tools.py +0 -0
  271. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/authoring/web_search.py +0 -0
  272. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/__init__.py +0 -0
  273. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/agui.py +0 -0
  274. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/binding.py +0 -0
  275. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/exposure.py +0 -0
  276. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/gateway.py +0 -0
  277. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/native.py +0 -0
  278. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/bindings/terminal.py +0 -0
  279. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/cli.py +0 -0
  280. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/composition.py +0 -0
  281. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/__init__.py +0 -0
  282. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/base.py +0 -0
  283. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/content.py +0 -0
  284. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/context.py +0 -0
  285. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/control.py +0 -0
  286. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/errors.py +0 -0
  287. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/events.py +0 -0
  288. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/invocable.py +0 -0
  289. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/__init__.py +0 -0
  290. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/control.py +0 -0
  291. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/executor.py +0 -0
  292. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/lease.py +0 -0
  293. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/sink.py +0 -0
  294. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/store.py +0 -0
  295. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/ports/tools.py +0 -0
  296. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/reporting.py +0 -0
  297. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/status.py +0 -0
  298. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/core/workers.py +0 -0
  299. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/deck.py +0 -0
  300. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/errors.py +0 -0
  301. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/mcp.py +0 -0
  302. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/observers.py +0 -0
  303. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/py.typed +0 -0
  304. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/__init__.py +0 -0
  305. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/capture.py +0 -0
  306. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/discovery.py +0 -0
  307. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/dispatch.py +0 -0
  308. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/registry.py +0 -0
  309. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/service.py +0 -0
  310. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/runtime/settings.py +0 -0
  311. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/skills/__init__.py +0 -0
  312. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/skills/bundle.py +0 -0
  313. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/testing.py +0 -0
  314. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/agentdeck/views.py +0 -0
  315. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/context7.json +0 -0
  316. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docker-compose.yml +0 -0
  317. {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.5/docs/brand/components}/a.svg +0 -0
  318. {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.5/docs/brand/components}/card-a.svg +0 -0
  319. {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.5/docs/brand/components}/card.svg +0 -0
  320. {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.5/docs/brand/components}/spark.svg +0 -0
  321. {agentdeck_sdk-6.0.4/docs-site/public/brand → agentdeck_sdk-6.0.5/docs/brand/components}/wordmark.svg +0 -0
  322. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/contributor-merged.svg +0 -0
  323. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/contributor-welcome.svg +0 -0
  324. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/favicon.svg +0 -0
  325. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/logo-black.svg +0 -0
  326. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/logo-blue.svg +0 -0
  327. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/brand/logo-full.svg +0 -0
  328. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/logo-mark.svg +0 -0
  329. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/logo-white.svg +0 -0
  330. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/logo.svg +0 -0
  331. {agentdeck_sdk-6.0.4/docs-site/public → agentdeck_sdk-6.0.5/docs}/brand/social-card.svg +0 -0
  332. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/import-boundaries.md +0 -0
  333. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs/engineering/runtime-contracts.md +0 -0
  334. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/.env.development +0 -0
  335. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/.env.production +0 -0
  336. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/.gitignore +0 -0
  337. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/README.md +0 -0
  338. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/[...slug]/layout.tsx +0 -0
  339. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/[...slug]/page.tsx +0 -0
  340. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/icon.svg +0 -0
  341. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/layout.tsx +0 -0
  342. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/not-found.tsx +0 -0
  343. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/page.tsx +0 -0
  344. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/robots.ts +0 -0
  345. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/app/sitemap.ts +0 -0
  346. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/callout.css +0 -0
  347. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/callout.tsx +0 -0
  348. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/contribute.css +0 -0
  349. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/contribute.tsx +0 -0
  350. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/diagram.css +0 -0
  351. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/diagram.tsx +0 -0
  352. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/frame.tsx +0 -0
  353. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/page-actions.tsx +0 -0
  354. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/page-feedback.css +0 -0
  355. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/page-feedback.tsx +0 -0
  356. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/page.tsx +0 -0
  357. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/shell.tsx +0 -0
  358. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/sidebar-footer.tsx +0 -0
  359. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/sidebar-item.tsx +0 -0
  360. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/sidebar.tsx +0 -0
  361. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/theme-switch.tsx +0 -0
  362. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/toc.css +0 -0
  363. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/docs/use-doc-slugs.ts +0 -0
  364. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/answer-link.tsx +0 -0
  365. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/citations.ts +0 -0
  366. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/jack/live.tsx +0 -0
  367. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/announcement/index.tsx +0 -0
  368. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/banner/index.tsx +0 -0
  369. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/code-block/index.tsx +0 -0
  370. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/code-block/server.tsx +0 -0
  371. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/snippet/index.tsx +0 -0
  372. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/status/index.tsx +0 -0
  373. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/theme-switcher/index.tsx +0 -0
  374. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/kibo-ui/tree/index.tsx +0 -0
  375. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/deck-figure.tsx +0 -0
  376. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/hero.css +0 -0
  377. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/hero.tsx +0 -0
  378. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/install-line.css +0 -0
  379. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/landing/install-line.tsx +0 -0
  380. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/announcement.css +0 -0
  381. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/brand-marks.tsx +0 -0
  382. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/footer.css +0 -0
  383. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/footer.tsx +0 -0
  384. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/header.css +0 -0
  385. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/header.tsx +0 -0
  386. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/mark.tsx +0 -0
  387. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/providers.tsx +0 -0
  388. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/search-context.tsx +0 -0
  389. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/site/search-dialog.tsx +0 -0
  390. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/alert.tsx +0 -0
  391. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/badge.tsx +0 -0
  392. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/brand-icons.tsx +0 -0
  393. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/button.tsx +0 -0
  394. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/command.tsx +0 -0
  395. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/dialog.tsx +0 -0
  396. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/input-group.tsx +0 -0
  397. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/input.tsx +0 -0
  398. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/kind-icons.tsx +0 -0
  399. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/select.tsx +0 -0
  400. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/separator.tsx +0 -0
  401. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/sheet.tsx +0 -0
  402. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/sidebar.tsx +0 -0
  403. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/skeleton.tsx +0 -0
  404. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/tabs.tsx +0 -0
  405. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/textarea.tsx +0 -0
  406. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components/ui/tooltip.tsx +0 -0
  407. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/components.json +0 -0
  408. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/agui.mdx +0 -0
  409. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/index.mdx +0 -0
  410. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/meta.json +0 -0
  411. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/native.mdx +0 -0
  412. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/serve.mdx +0 -0
  413. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/terminal.mdx +0 -0
  414. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/bindings/write-your-own.mdx +0 -0
  415. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/agents.mdx +0 -0
  416. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/context.mdx +0 -0
  417. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/deck.mdx +0 -0
  418. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/meta.json +0 -0
  419. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/skills.mdx +0 -0
  420. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/tools.mdx +0 -0
  421. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/build-your-deck/workflows.mdx +0 -0
  422. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/examples/agent-with-a-skill.mdx +0 -0
  423. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/examples/chat-agent-with-a-tool.mdx +0 -0
  424. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/examples/chat-in-the-terminal.mdx +0 -0
  425. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/examples/meta.json +0 -0
  426. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/examples/run-events-stream.mdx +0 -0
  427. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/index.mdx +0 -0
  428. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/integrations/existing-agents.mdx +0 -0
  429. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/integrations/mcp.mdx +0 -0
  430. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/integrations/meta.json +0 -0
  431. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
  432. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/jack/index.mdx +0 -0
  433. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/jack/meta.json +0 -0
  434. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/jack/notes.mdx +0 -0
  435. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
  436. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meet-agentdeck/meta.json +0 -0
  437. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
  438. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meet-agentdeck/quickstart.mdx +0 -0
  439. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/meta.json +0 -0
  440. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/operate/deployment.mdx +0 -0
  441. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/operate/meta.json +0 -0
  442. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/cli.mdx +0 -0
  443. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/deck.mdx +0 -0
  444. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/events.mdx +0 -0
  445. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/meta.json +0 -0
  446. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/python-api.mdx +0 -0
  447. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/run.mdx +0 -0
  448. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/reference/settings.mdx +0 -0
  449. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/resources/known-issues.mdx +0 -0
  450. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/resources/migration-guides.mdx +0 -0
  451. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/resources/troubleshooting.mdx +0 -0
  452. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/events.mdx +0 -0
  453. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/human-input.mdx +0 -0
  454. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
  455. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/meta.json +0 -0
  456. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
  457. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/runs.mdx +0 -0
  458. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/content/runs-and-control/sessions.mdx +0 -0
  459. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/hooks/use-mobile.ts +0 -0
  460. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/lib/sheet.ts +0 -0
  461. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/lib/site.ts +0 -0
  462. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/lib/source.ts +0 -0
  463. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/lib/utils.ts +0 -0
  464. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/mdx-components.tsx +0 -0
  465. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/next.config.mjs +0 -0
  466. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/postcss.config.mjs +0 -0
  467. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/brand/logo-full.svg +0 -0
  468. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings/agui.md +0 -0
  469. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings/native.md +0 -0
  470. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings/serve.md +0 -0
  471. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings/terminal.md +0 -0
  472. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings/write-your-own.md +0 -0
  473. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/bindings.md +0 -0
  474. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/agents.md +0 -0
  475. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/context.md +0 -0
  476. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/deck.md +0 -0
  477. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/skills.md +0 -0
  478. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/tools.md +0 -0
  479. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/build-your-deck/workflows.md +0 -0
  480. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/examples/agent-with-a-skill.md +0 -0
  481. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/examples/chat-agent-with-a-tool.md +0 -0
  482. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/examples/chat-in-the-terminal.md +0 -0
  483. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/examples/run-events-stream.md +0 -0
  484. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/integrations/existing-agents.md +0 -0
  485. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/integrations/mcp.md +0 -0
  486. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/integrations/openai-agents-sdk.md +0 -0
  487. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/jack/notes.md +0 -0
  488. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/jack.md +0 -0
  489. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/meet-agentdeck/mental-model.md +0 -0
  490. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/meet-agentdeck/overview.md +0 -0
  491. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/meet-agentdeck/quickstart.md +0 -0
  492. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/operate/deployment.md +0 -0
  493. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/cli.md +0 -0
  494. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/deck.md +0 -0
  495. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/events.md +0 -0
  496. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/python-api.md +0 -0
  497. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/run.md +0 -0
  498. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/reference/settings.md +0 -0
  499. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/resources/known-issues.md +0 -0
  500. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/resources/migration-guides.md +0 -0
  501. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/resources/troubleshooting.md +0 -0
  502. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/events.md +0 -0
  503. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/human-input.md +0 -0
  504. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/lifecycle-and-control.md +0 -0
  505. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/pause-resume.md +0 -0
  506. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/runs.md +0 -0
  507. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/public/llms/runs-and-control/sessions.md +0 -0
  508. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/source.config.ts +0 -0
  509. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/styles/base.css +0 -0
  510. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/styles/docs.css +0 -0
  511. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/styles/global.css +0 -0
  512. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/styles/sheet.css +0 -0
  513. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/styles/tokens.css +0 -0
  514. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/docs-site/tsconfig.json +0 -0
  515. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
  516. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
  517. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/agent-with-a-skill/run.py +0 -0
  518. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
  519. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/chat-agent-with-a-tool/run.py +0 -0
  520. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +0 -0
  521. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/eval.py +0 -0
  522. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/evals/__init__.py +0 -0
  523. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/evals/judge.py +0 -0
  524. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/evals/metrics.py +0 -0
  525. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/evals/run.py +0 -0
  526. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/evalset.py +0 -0
  527. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/jack/__init__.py +0 -0
  528. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/jack/agent.py +0 -0
  529. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/jack/corpus.py +0 -0
  530. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/jack/server.py +0 -0
  531. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/jack/session.py +0 -0
  532. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/jack/run.py +0 -0
  533. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/examples/run-events-stream/run.py +0 -0
  534. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/changelog_position.py +0 -0
  535. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/check_commit_hygiene.py +0 -0
  536. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/check_docs_impact.py +0 -0
  537. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/generate_docs_reference.py +0 -0
  538. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/head_parity.py +0 -0
  539. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/quality_delta.py +0 -0
  540. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/release_bump.py +0 -0
  541. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/repomap.py +0 -0
  542. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/scripts/slopcheck.py +0 -0
  543. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/agui_client/package-lock.json +0 -0
  544. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/agui_client/package.json +0 -0
  545. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/agui_client/run_scenario.js +0 -0
  546. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/fixture_plugin/.importlinter +0 -0
  547. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/fixture_plugin/__init__.py +0 -0
  548. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/fixture_plugin/channel.py +0 -0
  549. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_agui_binding.py +0 -0
  550. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_agui_client_conformance.py +0 -0
  551. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_contract.py +0 -0
  552. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_deck_verbs.py +0 -0
  553. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_gateway_boundary.py +0 -0
  554. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_native_binding.py +0 -0
  555. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_terminal_binding.py +0 -0
  556. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/bindings/test_three_bindings_one_deck.py +0 -0
  557. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/concurrency_worker.py +0 -0
  558. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/conftest.py +0 -0
  559. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/context_injection_subjects.py +0 -0
  560. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/case_types.py +0 -0
  561. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/conftest.py +0 -0
  562. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/context_subjects.py +0 -0
  563. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/contract_cases.py +0 -0
  564. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/live_stores.py +0 -0
  565. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/never_yields.py +0 -0
  566. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/openai_agents_cases.py +0 -0
  567. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_context_parity.py +0 -0
  568. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_control.py +0 -0
  569. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_control_port.py +0 -0
  570. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_event_stream.py +0 -0
  571. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_lease.py +0 -0
  572. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_resume.py +0 -0
  573. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/contract/test_store.py +0 -0
  574. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/conftest.py +0 -0
  575. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/agent.changed.json +0 -0
  576. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/answer.refused.json +0 -0
  577. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/artifact.created.json +0 -0
  578. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/control.observed.json +0 -0
  579. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/control.requested.json +0 -0
  580. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/custom.json +0 -0
  581. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/input.appended.json +0 -0
  582. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/message.completed.json +0 -0
  583. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/report.json +0 -0
  584. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.cancelled.json +0 -0
  585. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.completed.json +0 -0
  586. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.failed.json +0 -0
  587. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.interrupted.json +0 -0
  588. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.paused.json +0 -0
  589. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.resumed.json +0 -0
  590. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/run.started.json +0 -0
  591. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/text.delta.json +0 -0
  592. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/thought.delta.json +0 -0
  593. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/tool.call.completed.json +0 -0
  594. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/tool.call.started.json +0 -0
  595. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/snapshots/usage.reported.json +0 -0
  596. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_content.py +0 -0
  597. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_context.py +0 -0
  598. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_continuation.py +0 -0
  599. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_events.py +0 -0
  600. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_golden_json.py +0 -0
  601. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_import_law.py +0 -0
  602. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_model_config.py +0 -0
  603. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_old_reader_block_compat.py +0 -0
  604. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_old_reader_compat.py +0 -0
  605. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_reporting.py +0 -0
  606. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_run_lifecycle_tables.py +0 -0
  607. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/core/test_vocabularies_agree.py +0 -0
  608. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/crash_worker.py +0 -0
  609. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/event_log_checks.py +0 -0
  610. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/plays.py +0 -0
  611. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/project_executors.py +0 -0
  612. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_agent_changed.py +0 -0
  613. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_agent_model_resolution.py +0 -0
  614. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_authoring.py +0 -0
  615. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_bindings_binding.py +0 -0
  616. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_bindings_exposure.py +0 -0
  617. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_bindings_gateway.py +0 -0
  618. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_changelog.py +0 -0
  619. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_child_runs.py +0 -0
  620. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_cli.py +0 -0
  621. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_commit_hygiene.py +0 -0
  622. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_composition.py +0 -0
  623. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_context_injection.py +0 -0
  624. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_context_validation.py +0 -0
  625. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_crash_reconciliation.py +0 -0
  626. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_deck.py +0 -0
  627. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_docs_examples.py +0 -0
  628. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_docs_impact.py +0 -0
  629. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_docs_site.py +0 -0
  630. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_errors.py +0 -0
  631. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_examples.py +0 -0
  632. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_executor_plays.py +0 -0
  633. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_generated_reference.py +0 -0
  634. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_governance_workflows.py +0 -0
  635. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_handoff_ends_on_user_turn.py +0 -0
  636. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_handoff_round_trip.py +0 -0
  637. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_handoffs.py +0 -0
  638. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_head_parity.py +0 -0
  639. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_instructions_and_hooks.py +0 -0
  640. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_invocable_registry.py +0 -0
  641. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_jack.py +0 -0
  642. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_jack_server.py +0 -0
  643. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_langfuse_sink.py +0 -0
  644. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_langfuse_tracer.py +0 -0
  645. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_mcp.py +0 -0
  646. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_mcp_tool_source.py +0 -0
  647. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_memory_store.py +0 -0
  648. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_model_providers.py +0 -0
  649. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_multiprocess_concurrency.py +0 -0
  650. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_native_workflow.py +0 -0
  651. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_observability.py +0 -0
  652. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_openai_agents_engine.py +0 -0
  653. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_openai_agents_reconcile.py +0 -0
  654. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_openai_agents_sessions.py +0 -0
  655. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_openai_agents_tool_failure.py +0 -0
  656. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_package.py +0 -0
  657. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_postgres_store.py +0 -0
  658. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_public_surface.py +0 -0
  659. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_redis_store.py +0 -0
  660. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_release_bump.py +0 -0
  661. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_run_config_parity.py +0 -0
  662. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_run_control.py +0 -0
  663. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_run_reporting.py +0 -0
  664. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_runtime_service.py +0 -0
  665. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_settings.py +0 -0
  666. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_sink_dispatch.py +0 -0
  667. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_skills.py +0 -0
  668. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_slopcheck.py +0 -0
  669. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_sqlite_control_port.py +0 -0
  670. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_sqlite_store.py +0 -0
  671. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_streaming.py +0 -0
  672. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_subagents.py +0 -0
  673. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_sync_tool_workers.py +0 -0
  674. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_tool_compilation.py +0 -0
  675. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_uc3_slowpoke.py +0 -0
  676. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_views.py +0 -0
  677. {agentdeck_sdk-6.0.4 → agentdeck_sdk-6.0.5}/tests/test_web_search.py +0 -0
@@ -13,6 +13,8 @@ You implement one agentdeck GitHub issue end-to-end and open a PR.
13
13
 
14
14
  **Objective: implement the issue with the smallest coherent change.** Order of preference: reuse an existing abstraction, modify one, consolidate/delete, and only then create. Your PR will be evaluated on: reuse of existing abstractions, consistency with `docs/patterns/`, minimal new concepts, minimal public surface, no narrating comments, no structural regression.
15
15
 
16
+ **Direction:** read `docs-site/content/resources/roadmap.mdx`. It names the arc your issue sits in and, for anything binding-shaped, the boundary that keeps Reach narrow: it changes *where* AgentDeck runs, never what a Run is. A change that crosses that boundary is a design question for the issue, never a decision taken inside a PR.
17
+
16
18
  **First action:** read `.claude/skills/ship-pr/SKILL.md` and its `references/`, and follow it. Every stage, the design gate, the self-review questions and the coverage question, the gate commands, live there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
17
19
 
18
20
  **Progress:** name each stage (Understand / Design / Implement / Self-review / Gate) as you enter it. A silent multi-stage run reads as a stall.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: deck-insight
3
+ description: Counts the behavior tags on this repository's review findings and, for one that has recurred three times or more, opens one issue carrying one refinement against one named harness file.
4
+ model: sonnet
5
+ ---
6
+
7
+ You decide whether a repeated dev-agent behavior has earned a change to the harness. The evidence is the `tag:` line every BLOCK and DISCUSS carries, counted out of this repository's review comments by `scripts/finding_tags.py`. A finding that was never tagged is one that cannot recur, and that is the reviewer's defect, not yours to reconstruct.
8
+
9
+ Triggered by the orchestrator, never per PR. Per-PR insight is what the Harvest bar exists to prevent: 47 PRs of observations is volume, and volume is what `milestone-retro/references/judging.md` bans.
10
+
11
+ **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
12
+
13
+ ## What you do
14
+
15
+ 1. Run `uv run scripts/finding_tags.py`. It prints the tag histogram and names any tag at three findings or more. Report that histogram in your return, every run, including the runs that emit nothing: tag sprawl is invisible unless it is printed, and a histogram where no tag ever reaches three means nobody is reusing tags.
16
+ 2. Take the tags at three or more. Drop any tag a merged refinement already cites, `git log --all --grep "<tag>"`. What is left is your candidate set.
17
+ 3. Nothing left, or nothing at three: return the histogram and stop. This is the common outcome and it is not a failure.
18
+ 4. One candidate, the one with the most findings: read them at the sites their comments name, and write **one** refinement.
19
+ 5. Open an issue carrying the refinement text, `enhancement` plus `area:ci`, naming the target file. Never commit it, the rule Harvest already applies to pattern entries: a harness change goes under review like any other change.
20
+
21
+ ## The refinement
22
+
23
+ - **One per run.** Two is a backlog, and a backlog of harness opinions is what nobody reads.
24
+ - **One target file**, named: `.claude/agents/deck-dev.md`, one `.claude/skills/ship-pr/references/*.md`, or one `docs/patterns/*.md`. A refinement touching three files is a proposal, not a refinement, and belongs on an issue as a design question.
25
+ - **Every refinement carries its PR numbers.** One with no citation is an opinion.
26
+ - **Never a new mechanical guard.** Slop rules caught 0 of 14 findings in v6 and 0 of 8 in v5, and three of those v5 findings were themselves guard proposals. The refinement changes what an agent is told, not what a script rejects.
27
+ - **Name the behavior, not the defect.** The tag said `assertion-cannot-fail`; the refinement says what a dev agent should do differently, not that six tests were weak.
28
+
29
+ ## What you do not do
30
+
31
+ You do not grade `deck-reviewer`. Escape rate is recall, recall is `milestone-retro`'s job, and an agent scoring the reviewer that feeds it is the circularity `judging.md` already forbids.
32
+
33
+ You do not count findings as progress, and you do not open a second issue because the first one is still open.
34
+
35
+ **Progress:** name each phase (read / filter / write) as you enter it.
36
+
37
+ **Subagents:** any agent you spawn passes an explicit `model: "sonnet"`. Never omit it, never fable, never opus.
38
+
39
+ Return: the tag histogram verbatim, the candidate tag or "none at three", and the issue URL if you opened one.
@@ -4,10 +4,12 @@ description: Review gate for an agentdeck PR before merge. Verifies correctness,
4
4
  model: sonnet
5
5
  ---
6
6
 
7
- You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never push a commit anywhere. You DO write review artifacts: the PR review itself, inline comments, and any DEFER, harness-note or Harvest issue.
7
+ You review one agentdeck PR as the merge gate. REVIEW ONLY on the code: never push a commit anywhere. You DO write review artifacts: the PR review itself, inline comments carrying their `tag:` line, and any DEFER, harness-note or Harvest issue.
8
8
 
9
9
  **Worktree:** work only in the absolute worktree path the orchestrator gave you; never create a worktree yourself.
10
10
 
11
+ **Direction:** read `docs-site/content/resources/roadmap.mdx`. A PR that quietly widens an arc is a Scope finding even when every line of it is good: a channel that brings its own execution or session model, or a binding that changes what a Run is, has crossed the boundary the roadmap draws.
12
+
11
13
  **First action:** read `.claude/skills/review-pr/SKILL.md` and its `references/`, and follow it. Everything procedural, the phases, the finding classes, the verdict format, the delivery mechanics, lives there. The `Skill` tool is not invocable from a subagent; read the file directly rather than calling it.
12
14
 
13
15
  **Progress:** say which phase you are entering as you enter it. A silent review reads as a stall.
@@ -0,0 +1,18 @@
1
+ # #723, one PR: express the vision, philosophy and roadmap
2
+
3
+ Branch `docs/723-express-the-canon`. Plan approved 2026-09-14, delivered as PR #757, closing
4
+ #723 and #756. All seven items are in it; CI green, ready for review.
5
+
6
+ - [x] 1. `principles.md` Q1-Q7 + `CLAUDE.md` §1 states the frame
7
+ - [x] 2. `ship-pr`, `open-issue`, `review-pr` cite the questions
8
+ - [x] 3. `README.md`: what you do not write, before the install line
9
+ - [x] 4. docs-site landing: the ladder, in `blocks.tsx` `BUYS`
10
+ - [x] 5. `docs-site/content/resources/roadmap.mdx`: the six arcs
11
+ - [x] 6. `examples/*/README.md` name their rung
12
+ - [x] 7. `docs/` status sweep, 52 files, + `CLAUDE.md` names the set
13
+
14
+ Then: the harness gaps (the design gate, the outside question, the second reader, the direction),
15
+ the behavior tags and `deck-insight` from #697, and the Codex trees deleted.
16
+
17
+ Rulings: refusals stay internal; headline unchanged; roadmap is a site page, no dates, no issue
18
+ numbers; Claude is the only agent harness this repo carries.
@@ -14,7 +14,7 @@ Issues are implementation-ready specifications. Be concise, precise, and dense w
14
14
  What is broken or missing, and why it matters. For bugs: exact traceback and minimal reproduction steps.
15
15
 
16
16
  ## Proposed shape
17
- The clean, user-intent API or behavior with minimal code snippets. Show the simplest path with zero leaked plumbing. Explicitly state what is out of scope.
17
+ The clean, user-intent API or behavior with minimal code snippets. Show the simplest path with zero leaked plumbing. Explicitly state what is out of scope. For a feature, answer Q4 here (`docs/engineering/principles.md`): is this absorbing complexity, or transferring it to the user? That is the question we most often fail, and proposal time is when it is cheapest to fail it.
18
18
 
19
19
  ## Notes
20
20
  Constraints, affected modules, existing patterns to follow, related issues/PRs.
@@ -43,7 +43,9 @@ Review progress:
43
43
  **The default is to write nothing.** Most reviews produce neither output below. `docs/patterns/` is 106 lines total across four files; that shortness is what makes it worth reading, and a reviewer appending once per PR would double it in a week. Pattern entries are not scored by volume: the measure is whether a later review cites one, never how many exist. Full bar and rationale: `references/craft.md`.
44
44
 
45
45
  - **A `docs/patterns/` entry**, only when all four of `references/craft.md`'s tests pass: it recurred, it generalizes past this module, it is a real cited good/bad pair, and it is not already covered by the four existing files. Extending an existing file beats creating one. You never commit it: open an issue containing the finished entry text and the file it belongs in, and a dev agent lands it. A reviewer that commits has reviewed nothing, and taste belongs under review like any other change.
46
- - **A harness note**, only when the same dev-agent *behavior* (not output) has appeared in two PRs, both cited. File it the same way as a DEFER (`finding: <gap>` issue) but name the behavior, not a proposed rule. Not a new mechanical guard: guards caught 0 of 8 v5 findings, and three of those findings were themselves guard proposals.
46
+ - **A harness note**, only when the same dev-agent *behavior* (not output) has appeared in two PRs. Establish that with `uv run scripts/finding_tags.py`, which counts the `tag:` lines your own findings and every earlier review's findings carry, not with recall: across sessions a reviewer has no memory, and before the tags existed this bar was reachable only by luck. File the note the same way as a DEFER (`finding: <gap>` issue) but name the behavior, not a proposed rule. Not a new mechanical guard: guards caught 0 of 8 v5 findings, and three of those findings were themselves guard proposals.
47
+
48
+ **Tagging is not optional, and it is the one thing Harvest always does.** Every BLOCK and DISCUSS carries a `tag:` line naming the dev-agent behavior (`references/templates.md`, Template A). Run `uv run scripts/finding_tags.py` before you write findings and reuse a tag from the histogram whenever one fits: a tag invented per finding can never reach a count, and a count is the only thing tags are for. Nothing is written to the tree; the comment you post is the record.
47
49
 
48
50
  Anything that surfaces but fails its bar is a NIT, or it is nothing. It is never a pattern.
49
51
 
@@ -58,6 +60,7 @@ BLOCK / DISCUSS / DEFER / NIT replace ERROR / WARNING / NOTE. Each is defined by
58
60
  | DEFER | real, but not this PR's job, whether or not it is actionable yet | reviewer files the issue and links it | no |
59
61
  | NIT | small, cheap, optional | nobody, unless the author wants to | no |
60
62
 
63
+ - A major feature that leaves one of Q1-Q7 (`docs/engineering/principles.md`) unanswered is a DISCUSS, and what would settle it is the answer. Q4 is the one the project fails most: a PR that moves work to the caller and does not say so has failed it whatever the diff looks like.
61
64
  - DISCUSS resolves when the author *answers*, not when the author agrees. Disagreement after an answer goes to the user; neither side rules.
62
65
  - A DISCUSS must state what would settle it. A shrug is not a DISCUSS.
63
66
  - A public API finding classifies on what you are asserting, never on what the fix touches. A choice among several valid shapes is a DISCUSS, where a reviewer holds no more authority than the author. A demonstrated broken contract is a BLOCK even when the fix changes a signature.
@@ -38,6 +38,8 @@ Pattern entries are not scored by volume. The measure is whether a later review
38
38
  never how many were written. Something that fails any of the four tests is a NIT, or nothing; it
39
39
  is never a pattern.
40
40
  - Product philosophy (`docs/engineering/principles.md`): does the change leak internal plumbing (stores, resolvers, internal contexts) into a public API; does it keep "one obvious path"; is it free of speculative abstraction and configuration nothing needs yet.
41
+ - From outside: write the smallest call a user makes against the new surface and count what they must know to write it. Every other phase reads the diff, and "simple on the outside" is not visible from there. A concept in that call the issue never introduced is a Q4 finding, whatever the diff looks like.
42
+ - The second reader: anything a human can see or drive here needs a structured path too, whether a typed payload, a return value, an event on the log or a CLI read path. Terminal output as the only way a program learns what happened is a Q7 finding, and it is the argument the binding SPI was built on.
41
43
 
42
44
  ## Reuse and duplication
43
45
 
@@ -14,13 +14,19 @@ ALWAYS use this exact template structure:
14
14
 
15
15
  Settled by: <DISCUSS only, one line>
16
16
 
17
+ tag: <BLOCK and DISCUSS only, kebab-case>
18
+
17
19
  ```suggestion
18
20
  <optional, only when the fix is a literal line replacement>
19
21
  ```
20
22
 
21
- - **40 words maximum**, excluding a suggestion block. One paragraph. No headings, no lists, no
22
- second paragraph.
23
+ - **40 words maximum**, excluding a suggestion block and the two colon lines. One paragraph. No
24
+ headings, no lists, no second paragraph.
23
25
  - The first token is the class in bold. Nothing precedes it.
26
+ - `tag:` names the *dev-agent behavior*, never the defect: `assertion-cannot-fail`, not
27
+ `missing test`. It is what makes recurrence countable, and `uv run scripts/finding_tags.py`
28
+ reads it back out of GitHub. Reuse a tag from that histogram whenever one fits; a tag invented
29
+ per finding can never reach a count.
24
30
  - `Settled by:` appears on DISCUSS and nowhere else. It names the evidence or decision that would
25
31
  resolve it, so a DISCUSS can never be a shrug.
26
32
 
@@ -19,7 +19,7 @@ Ship progress:
19
19
  - [ ] 0. Understand: spec gate, engineering docs, seed the worktree
20
20
  - [ ] 1. Design: PR body sections, then stop and wait for the design gate
21
21
  - [ ] 2. Implement: match the analog, stay in budget (references/implement.md)
22
- - [ ] 3. Self-review: ten shape questions plus the coverage question (references/self-review.md)
22
+ - [ ] 3. Self-review: the standard, ten shape questions, the coverage question (references/self-review.md)
23
23
  - [ ] 4. Gate: make check green, gh pr ready
24
24
  ```
25
25
 
@@ -56,13 +56,14 @@ demote it.
56
56
  | 0. Understand | LOW / CONSTRAINT on the gate | Read the issue as spec. Spec gate below. Seed the worktree. | nothing, or a gate comment |
57
57
  | 1. Design | LOW / CONSTRAINT on format | PR body sections, then stop. `references/design.md` | draft PR, then wait |
58
58
  | 2. Implement | HIGH / JUDGMENT | Match the analog, stay in budget, test what the change exposes. `references/implement.md` | source, tests, CHANGELOG |
59
- | 3. Self-review | LOW / CONSTRAINT | Ten shape questions plus the coverage question, answered in writing. `references/self-review.md` | the answers, visible in your response |
59
+ | 3. Self-review | LOW / CONSTRAINT | The standard (major features), ten shape questions, the coverage question, answered in writing. `references/self-review.md` | the answers, visible in your response |
60
60
  | 4. Gate | LOW / CONSTRAINT | `make check` green, compact the body, `gh pr ready`. Below. | ready PR |
61
61
 
62
62
  ## Stage 0: Understand
63
63
 
64
- CONSTRAINT: read the issue (`gh issue view <n>`), `docs/engineering/` in full, and the
65
- `docs/patterns/` file for your concern, before any edit. Consequence: skip it and Stage 1's
64
+ CONSTRAINT: read the issue (`gh issue view <n>`), `docs/engineering/` in full, the
65
+ `docs/patterns/` file for your concern, and `docs-site/content/resources/roadmap.mdx` for the arc
66
+ this issue sits in, before any edit. Consequence: skip it and Stage 1's
66
67
  design has nothing real to bind against, and the design gate has nothing to compare it to.
67
68
 
68
69
  CONSTRAINT, spec gate: if the issue lacks `Done when` outcomes or scope bounds (what must NOT be
@@ -18,6 +18,11 @@ ALWAYS use this exact structure, written into the draft PR body before the first
18
18
  - `## Expected delta` (1 line): predicted net code LOC.
19
19
  - `## Design` (max 200 words, no subsections): what the change does. A subsection means it grew
20
20
  past what the issue ruled; split the PR instead.
21
+ - `Q1-Q7:` one line naming the questions the change implicates and their answers, major features
22
+ only (`docs/engineering/principles.md`). Omit the line entirely for a bugfix. CONSTRAINT: a
23
+ question you name and cannot answer is a design that is not finished. Raise it on the issue and
24
+ stop, exactly as a missing `Done when` stops Stage 0. The gate rejects an unanswered one, and it
25
+ costs nothing here against a design and everything later against working code.
21
26
  - `Closes #<n>`, a `## Left for the docs-site pass` list, and the docs-impact acknowledgement
22
27
  (`make check` names the affected pages; open each and either fix it or list it as reviewed).
23
28
 
@@ -27,6 +27,31 @@ In each case the primary flow had a test and the adjacent path the same change c
27
27
  did not. Naming the gap is not lesser than closing it, but naming nothing is a failed answer:
28
28
  "none" only holds if you can point to the test that actually exercises the adjacent path.
29
29
 
30
+ ## The standard
31
+
32
+ CONSTRAINT for a major feature, skip for a bugfix: the `Q1-Q7:` line you wrote into the body at
33
+ Stage 1 is now checkable against real code. Confirm each answer still holds, or name the one that
34
+ stopped being true and what you did about it. Q2 (can a developer who does not need it ignore it
35
+ completely) and Q4 (are we absorbing complexity, or transferring it to the user) are the two the
36
+ project fails most, so a feature touching the public surface answers those two whatever else it
37
+ implicates.
38
+
39
+ ## The outside question
40
+
41
+ CONSTRAINT for any change to a public symbol: write the smallest call a user makes, as they would
42
+ write it, and count what they have to know to write it. A concept in that line the issue did not
43
+ introduce is this change transferring complexity, whatever the diff looks like.
44
+
45
+ Every other question here reads the diff. "Simple on the outside" is not visible from inside it,
46
+ which is why this one is asked separately and answered with a call rather than an argument.
47
+
48
+ ## The second reader
49
+
50
+ CONSTRAINT: whatever a human can see or drive here, a coding agent can reach the same way. A typed
51
+ payload, a return value, an event on the log, a CLI read path: any one of them answers this. If the
52
+ only way a program learns what happened is parsing terminal output, the capability is half-built and
53
+ Q7 fails, which is the argument the binding SPI itself was built on.
54
+
30
55
  ## The shape questions
31
56
 
32
57
  CONSTRAINT: answer all ten, against `git diff dev...HEAD`, honestly.
@@ -0,0 +1 @@
1
+ {"agentdeck.bindings.agui": 1789378100.134315, "agentdeck.adapters.bindings.native.binding": 1789378100.130272, "agentdeck.adapters.executors.openai_agents.runconfig": 1789378100.1310852, "agentdeck.adapters.telemetry.langfuse": 1789378100.1328099, "agentdeck.adapters.control": 1789378100.130408, "agentdeck.adapters.telemetry.langfuse.sink": 1789378100.132864, "agentdeck.adapters.stores.sqlite": 1789378100.1323657, "agentdeck.adapters.stores": 1789378100.1318371, "agentdeck.adapters.executors.openai_agents.reconcile": 1789378100.1310852, "agentdeck.core.control": 1789378100.1347923, "agentdeck.core.errors": 1789378100.1347923, "agentdeck.adapters.tools": 1789378100.132864, "agentdeck.adapters.control.memory.port": 1789378100.1306167, "agentdeck.core": 1789378100.134315, "agentdeck.bindings": 1789378100.13403, "agentdeck.adapters.control.sqlite.port": 1789378100.130733, "agentdeck.adapters.stores.sqlite.store": 1789378100.1325743, "agentdeck.adapters.executors.openai_agents.translate": 1789378100.1310852, "agentdeck.adapters.bindings.agui.adapter": 1789378100.1300414, "agentdeck.adapters.executors.openai_agents.sessions": 1789378100.1310852, "agentdeck.adapters.executors.native.executor": 1789378100.130927, "agentdeck.adapters.telemetry.langfuse.trace": 1789378100.132864, "agentdeck.bindings.exposure": 1789378100.134315, "agentdeck.bindings.native": 1789378100.134315, "agentdeck.authoring.compile": 1789378100.1334822, "agentdeck.core.reporting": 1789378100.1353886, "agentdeck.adapters.control.sqlite": 1789378100.1306167, "agentdeck.observers": 1789378100.1353886, "agentdeck.authoring.skills": 1789378100.13403, "agentdeck.adapters.bindings.agui": 1789378100.1299903, "agentdeck.core.ports.lease": 1789378100.1353886, "agentdeck.runtime.dispatch": 1789378100.1365426, "agentdeck.core.workers": 1789378100.1353886, "agentdeck.runtime": 1789378100.1353886, "agentdeck.core.ports.control": 1789378100.1353886, "agentdeck.adapters.executors": 1789378100.130733, "agentdeck.core.content": 1789378100.1347923, "agentdeck.authoring.tools": 1789378100.13403, "agentdeck.runtime.capture": 1789378100.1365426, "agentdeck.core.ports": 1789378100.1347923, "agentdeck.adapters.stores.redis.store": 1789378100.1323657, "agentdeck.authoring.agent": 1789378100.1334822, "agentdeck.adapters.bindings.terminal.binding": 1789378100.130408, "agentdeck.authoring.native": 1789378100.1334822, "agentdeck.adapters.tools.mcp.wiring": 1789378100.1332045, "agentdeck.authoring.hooks": 1789378100.1334822, "agentdeck.core.base": 1789378100.1347923, "agentdeck.adapters.leases": 1789378100.1315114, "agentdeck.core.ports.executor": 1789378100.1353886, "agentdeck.adapters.leases.memory": 1789378100.131639, "agentdeck.core.ports.store": 1789378100.1353886, "agentdeck.runtime.service": 1789378100.1365426, "agentdeck.adapters.executors.stub": 1789378100.1310852, "agentdeck.bindings.terminal": 1789378100.134315, "agentdeck.skills": 1789378100.1365426, "agentdeck.authoring": 1789378100.1332045, "agentdeck.adapters.executors.native": 1789378100.130877, "agentdeck.adapters.tools.mcp.transport": 1789378100.1332045, "agentdeck.authoring.web_search": 1789378100.13403, "agentdeck.views": 1789378100.137384, "agentdeck": 1789378100.129805, "agentdeck.adapters.stores.memory.store": 1789378100.1320312, "agentdeck.adapters.tools.mcp": 1789378100.1331518, "agentdeck.runtime.registry": 1789378100.1365426, "agentdeck.adapters": 1789378100.129805, "agentdeck.core.ports.sink": 1789378100.1353886, "agentdeck.adapters.stores.memory": 1789378100.131977, "agentdeck.adapters.telemetry": 1789378100.1325743, "agentdeck.adapters.bindings.native": 1789378100.1300414, "agentdeck.adapters.stores.postgres.store": 1789378100.1321683, "agentdeck.errors": 1789378100.1353886, "agentdeck.runtime.settings": 1789378100.1365426, "agentdeck.adapters.tools.mcp.source": 1789378100.1332045, "agentdeck.cli": 1789378100.134315, "agentdeck.adapters.tools.mcp.lifecycle": 1789378100.1332045, "agentdeck.adapters.executors.stub.executor": 1789378100.1315114, "agentdeck.runtime.discovery": 1789378100.1365426, "agentdeck.authoring.interrupts": 1789378100.1334822, "agentdeck.core.status": 1789378100.1353886, "agentdeck.adapters.control.memory": 1789378100.1305623, "agentdeck.adapters.leases.sqlite": 1789378100.1316864, "agentdeck.authoring.injection": 1789378100.1334822, "agentdeck.core.context": 1789378100.1347923, "agentdeck.skills.bundle": 1789378100.137384, "agentdeck.authoring.instructions": 1789378100.1334822, "agentdeck.adapters.leases.sqlite.port": 1789378100.1318371, "agentdeck.testing": 1789378100.137384, "agentdeck.adapters.leases.memory.port": 1789378100.1316864, "agentdeck.core.invocable": 1789378100.1347923, "agentdeck.mcp": 1789378100.1353886, "agentdeck.bindings.gateway": 1789378100.134315, "agentdeck.adapters.stores.redis": 1789378100.1321683, "agentdeck.adapters.executors.openai_agents.executor": 1789378100.1310852, "agentdeck.adapters.bindings.terminal": 1789378100.130272, "agentdeck.bindings.binding": 1789378100.134315, "agentdeck.authoring.runners.agent": 1789378100.13403, "agentdeck.core.events": 1789378100.1347923, "agentdeck.authoring.runners": 1789378100.1334822, "agentdeck.adapters.bindings.agui.binding": 1789378100.1300414, "agentdeck.adapters.executors.openai_agents": 1789378100.130927, "agentdeck.adapters.telemetry.langfuse.client": 1789378100.132864, "agentdeck.adapters.stores.postgres": 1789378100.1320312, "agentdeck.adapters.bindings": 1789378100.1299286, "agentdeck.composition": 1789378100.134315, "agentdeck.deck": 1789378100.1353886, "agentdeck.core.ports.tools": 1789378100.1353886}
@@ -0,0 +1 @@
1
+ {"imports_by_module":{"agentdeck":[["agentdeck.core.ports",false,27,"from agentdeck.core.ports import Observer"],["agentdeck.views",false,13,"from agentdeck import views"],["importlib",false,11,"from importlib.metadata import version as _version"],["agentdeck.core.events",false,25,"from agentdeck.core.events import Event"],["agentdeck.core.content",false,16,"from agentdeck.core.content import ("],["importlib",false,10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.core.status",false,28,"from agentdeck.core.status import RunStatus"],["agentdeck.deck",false,29,"from agentdeck.deck import Deck, Run, TurnResult"],["agentdeck.core.invocable",false,26,"from agentdeck.core.invocable import AgentInstance"],["agentdeck.authoring.native",false,15,"from agentdeck.authoring.native import tool, workflow"],["agentdeck.core.context",false,24,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.authoring",false,14,"from agentdeck.authoring import Agent"]],"agentdeck.adapters":[],"agentdeck.adapters.bindings":[],"agentdeck.adapters.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",false,5,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.adapters.bindings.agui.adapter":[["__future__",false,6,"from __future__ import annotations"],["ag_ui",false,46,"from ag_ui.core import InputContentPart, RunAgentInput"],["agentdeck",false,40,"from agentdeck import AudioBlock, ImageBlock, ResourceBlock, TextBlock"],["typing",false,10,"from typing import TYPE_CHECKING, Any"],["ag_ui",false,12,"from ag_ui.core import ("],["agentdeck.errors",false,41,"from agentdeck.errors import InputError"],["collections",false,44,"from collections.abc import Callable"],["agentdeck",false,48,"from agentdeck import ContentBlock, Event"],["json",false,8,"import json"],["dataclasses",false,9,"from dataclasses import dataclass"]],"agentdeck.adapters.bindings.agui.binding":[["starlette",false,14,"from starlette.applications import Starlette"],["__future__",false,5,"from __future__ import annotations"],["collections",false,36,"from collections.abc import AsyncIterator"],["asyncio",false,7,"import asyncio"],["starlette",false,15,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["typing",false,9,"from typing import TYPE_CHECKING, Any"],["starlette",false,39,"from starlette.requests import Request"],["logging",false,8,"import logging"],["agentdeck.adapters.bindings.agui.adapter",false,19,"from agentdeck.adapters.bindings.agui.adapter import ("],["agentdeck.bindings",false,25,"from agentdeck.bindings import ("],["agentdeck",false,41,"from agentdeck import Event, Run"],["ag_ui",false,38,"from ag_ui.core import ResumeEntry"],["agentdeck",false,18,"from agentdeck import RunStatus"],["ag_ui",false,12,"from ag_ui.encoder import EventEncoder"],["ag_ui",false,11,"from ag_ui.core import RunAgentInput, RunErrorEvent, RunStartedEvent"],["pydantic",false,13,"from pydantic import ValidationError as PydanticValidationError"],["starlette",false,16,"from starlette.routing import Route"],["agentdeck.bindings",false,42,"from agentdeck.bindings import Binding"],["agentdeck.errors",false,33,"from agentdeck.errors import ConfigError, InputError, RunStateError, UnsupportedControlError"]],"agentdeck.adapters.bindings.native":[["agentdeck.adapters.bindings.native.binding",false,6,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.adapters.bindings.native.binding":[["starlette",false,10,"from starlette.routing import Route"],["agentdeck.bindings",false,29,"from agentdeck.bindings import Binding"],["typing",false,6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings",false,13,"from agentdeck.bindings import ("],["agentdeck",false,28,"from agentdeck import Event, Run"],["agentdeck",false,12,"from agentdeck import RunStatus"],["starlette",false,26,"from starlette.requests import Request"],["__future__",false,3,"from __future__ import annotations"],["starlette",false,9,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["agentdeck.errors",false,21,"from agentdeck.errors import InputError, RunStateError, UnsupportedControlError"],["logging",false,5,"import logging"],["collections",false,24,"from collections.abc import AsyncIterator"],["starlette",false,8,"from starlette.applications import Starlette"]],"agentdeck.adapters.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",false,5,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.adapters.bindings.terminal.binding":[["sys",false,13,"import sys"],["contextlib",false,12,"import contextlib"],["agentdeck.bindings",false,18,"from agentdeck.bindings import PROTOCOL_SPI_VERSION, BindingInfo, DeckGateway, StdioEndpoint"],["agentdeck.bindings",false,23,"from agentdeck.bindings import Binding"],["agentdeck",false,22,"from agentdeck import Event, Run"],["uuid",false,16,"from uuid import uuid4"],["threading",false,14,"import threading"],["asyncio",false,11,"import asyncio"],["agentdeck.errors",false,19,"from agentdeck.errors import ConfigError, InputError, RunStateError"],["__future__",false,9,"from __future__ import annotations"],["typing",false,15,"from typing import TYPE_CHECKING, Any, TextIO"]],"agentdeck.adapters.control":[],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",false,3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.adapters.control.memory.port":[["agentdeck.core.ports.control",false,8,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.control",false,7,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",false,5,"from __future__ import annotations"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",false,3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.adapters.control.sqlite.port":[["__future__",false,7,"from __future__ import annotations"],["agentdeck.errors",false,17,"from agentdeck.errors import StoreError"],["functools",false,12,"from functools import partial"],["sqlite3",false,10,"import sqlite3"],["agentdeck.core.ports.control",false,16,"from agentdeck.core.ports.control import ControlPort"],["pathlib",false,21,"from pathlib import Path"],["typing",false,13,"from typing import TYPE_CHECKING"],["collections",false,20,"from collections.abc import Callable"],["contextlib",false,11,"from contextlib import suppress"],["asyncio",false,9,"import asyncio"],["agentdeck.core.control",false,15,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.adapters.executors":[],"agentdeck.adapters.executors.native":[["agentdeck.adapters.executors.native.executor",false,3,"from agentdeck.adapters.executors.native.executor import NativeExecutor"]],"agentdeck.adapters.executors.native.executor":[["agentdeck.core.status",false,22,"from agentdeck.core.status import SUSPENDED_KINDS, Play, continuation_of"],["contextlib",false,12,"from contextlib import suppress"],["agentdeck.core.events",false,19,"from agentdeck.core.events import RunCompleted, Usage"],["agentdeck.core.invocable",false,20,"from agentdeck.core.invocable import NativeExecution, NativeInvocable"],["agentdeck.core.invocable",false,31,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",false,29,"from agentdeck.core.context import Agents, Invoker, RunContext"],["asyncio",false,11,"import asyncio"],["agentdeck.core.context",false,17,"from agentdeck.core.context import WorkflowCtx"],["agentdeck.core.content",false,16,"from agentdeck.core.content import DataBlock, answer_of, coerce_input"],["agentdeck.core.content",false,28,"from agentdeck.core.content import Input"],["agentdeck.errors",false,23,"from agentdeck.errors import ConfigError, InputError"],["collections",false,26,"from collections.abc import AsyncGenerator, Sequence"],["agentdeck.core.events",false,30,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.status",false,32,"from agentdeck.core.status import Continuation"],["__future__",false,9,"from __future__ import annotations"],["dataclasses",false,13,"from dataclasses import dataclass, field"],["agentdeck.core.workers",false,33,"from agentdeck.core.workers import SyncToolWorkers"],["typing",false,14,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.core.control",false,18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Executor"]],"agentdeck.adapters.executors.openai_agents":[["agentdeck.adapters.executors.openai_agents.runconfig",false,6,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.executors.openai_agents.executor",false,5,"from agentdeck.adapters.executors.openai_agents.executor import OpenAIAgentsExecutor"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.sessions",false,7,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore, SessionFactory"]],"agentdeck.adapters.executors.openai_agents.executor":[["collections",false,34,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["typing",false,17,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agents",false,36,"from agents.items import TResponseInputItem"],["agentdeck.core.invocable",false,44,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.adapters.executors.openai_agents.reconcile",false,22,"from agentdeck.adapters.executors.openai_agents.reconcile import reconcile, render_data_block"],["__future__",false,10,"from __future__ import annotations"],["agentdeck.core.control",false,27,"from agentdeck.core.control import ControlSignalled"],["dataclasses",false,12,"import dataclasses"],["agents",false,37,"from agents.memory.session import Session"],["agentdeck.core.events",false,43,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.adapters.executors.openai_agents.sessions",false,24,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore"],["collections",false,14,"from collections.abc import Callable"],["agents",false,19,"from agents import Agent, Runner"],["agents",false,39,"from agents.usage import Usage as SDKUsage"],["contextlib",false,15,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["agentdeck.core.content",false,26,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agents",false,38,"from agents.result import RunResultStreaming"],["pydantic",false,20,"from pydantic import BaseModel"],["dataclasses",false,16,"from dataclasses import dataclass"],["json",false,13,"import json"],["agentdeck.core.events",false,28,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["agentdeck.core.context",false,42,"from agentdeck.core.context import RunContext"],["agentdeck.adapters.executors.openai_agents.translate",false,25,"from agentdeck.adapters.executors.openai_agents.translate import run_artifacts, translate"],["agentdeck.core.content",false,41,"from agentdeck.core.content import ContentBlock, Input"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["agentdeck.errors",false,31,"from agentdeck.errors import ConfigError"],["agentdeck.core.status",false,30,"from agentdeck.core.status import Play, continuation_of"],["agentdeck.core.ports",false,29,"from agentdeck.core.ports import Executor"]],"agentdeck.adapters.executors.openai_agents.reconcile":[["asyncio",false,26,"import asyncio"],["agentdeck.core.events",false,42,"from agentdeck.core.events import Event"],["json",false,27,"import json"],["collections",false,36,"from collections.abc import Iterable, Sequence"],["__future__",false,24,"from __future__ import annotations"],["weakref",false,30,"from weakref import WeakKeyDictionary"],["agentdeck.core.content",false,41,"from agentdeck.core.content import Input"],["agents",false,39,"from agents.memory.session import Session"],["agents",false,38,"from agents.items import TResponseInputItem"],["agentdeck.core.content",false,32,"from agentdeck.core.content import DataBlock, TextBlock"],["agentdeck.core.events",false,33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"],["typing",false,29,"from typing import TYPE_CHECKING, Any, Literal"],["logging",false,28,"import logging"]],"agentdeck.adapters.executors.openai_agents.runconfig":[["openai",false,24,"from openai import AsyncOpenAI"],["__future__",false,15,"from __future__ import annotations"],["os",false,17,"import os"],["typing",false,19,"from typing import TYPE_CHECKING, Any, cast"],["agents",false,22,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",false,18,"from dataclasses import dataclass"],["agents",false,28,"from agents.items import TResponseInputItem"],["agents",false,23,"from agents.models.multi_provider import MultiProviderMap"],["httpx",false,21,"import httpx"],["agents",false,27,"from agents.handoffs import HandoffHistoryMapper"]],"agentdeck.adapters.executors.openai_agents.sessions":[["agents",false,23,"from agents import SQLiteSession"],["agentdeck.core.context",false,29,"from agentdeck.core.context import RunContext"],["__future__",false,19,"from __future__ import annotations"],["agents",false,26,"from agents.memory.session import Session"],["agentdeck.runtime.settings",false,30,"from agentdeck.runtime.settings import SessionSettings"],["redis",false,27,"from redis.asyncio import Redis"],["redis",false,53,"from redis.asyncio import Redis"],["agents",false,68,"from agents.extensions.memory import RedisSession"],["typing",false,21,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors.openai_agents.translate":[["pydantic",false,22,"from pydantic import ValidationError"],["agentdeck.core.content",false,24,"from agentdeck.core.content import ContentBlock, ImageBlock, ResourceBlock"],["agents",false,20,"from agents.items import ToolCallItem, ToolCallOutputItem"],["agentdeck.core.events",false,25,"from agentdeck.core.events import ("],["hashlib",false,12,"import hashlib"],["json",false,13,"import json"],["logging",false,14,"import logging"],["agents",false,21,"from agents.tool import ToolOutputFileContent, ToolOutputImage"],["re",false,15,"import re"],["base64",false,16,"from base64 import b64encode"],["collections",false,36,"from collections.abc import Iterator, Sequence"],["urllib",false,18,"from urllib.parse import unquote_to_bytes"],["typing",false,17,"from typing import TYPE_CHECKING, Any"],["__future__",false,10,"from __future__ import annotations"]],"agentdeck.adapters.executors.stub":[["agentdeck.adapters.executors.stub.executor",false,3,"from agentdeck.adapters.executors.stub.executor import Step, StubExecutor, stub_spec"]],"agentdeck.adapters.executors.stub.executor":[["agentdeck.core.content",false,28,"from agentdeck.core.content import Input"],["typing",false,16,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.events",false,19,"from agentdeck.core.events import RunInterrupted"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Executor"],["agentdeck.core.invocable",false,20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["__future__",false,13,"from __future__ import annotations"],["agentdeck.core.status",false,22,"from agentdeck.core.status import Play, continuation_of"],["collections",false,26,"from collections.abc import AsyncGenerator"],["agentdeck.core.events",false,30,"from agentdeck.core.events import Event, KnownPayload"],["collections",false,15,"from collections.abc import Sequence"],["agentdeck.core.context",false,29,"from agentdeck.core.context import RunContext"],["agentdeck.errors",false,23,"from agentdeck.errors import ConfigError"],["agentdeck.core.control",false,18,"from agentdeck.core.control import ControlSignalled"]],"agentdeck.adapters.leases":[],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",false,3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.leases.memory.port":[["datetime",false,19,"from datetime import timedelta"],["collections",false,18,"from collections.abc import Callable, Collection"],["__future__",false,10,"from __future__ import annotations"],["agentdeck.core.ports.lease",false,15,"from agentdeck.core.ports.lease import LeasePort"],["datetime",false,12,"from datetime import UTC, datetime"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",false,3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.adapters.leases.sqlite.port":[["pathlib",false,28,"from pathlib import Path"],["__future__",false,14,"from __future__ import annotations"],["agentdeck.core.ports.lease",false,22,"from agentdeck.core.ports.lease import LeasePort"],["asyncio",false,16,"import asyncio"],["collections",false,26,"from collections.abc import Callable, Collection"],["sqlite3",false,17,"import sqlite3"],["typing",false,20,"from typing import TYPE_CHECKING"],["functools",false,19,"from functools import partial"],["contextlib",false,18,"from contextlib import suppress"],["agentdeck.errors",false,23,"from agentdeck.errors import StoreError"],["datetime",false,27,"from datetime import timedelta"]],"agentdeck.adapters.stores":[["__future__",false,3,"from __future__ import annotations"],["typing",false,5,"from typing import TYPE_CHECKING"],["agentdeck.core.status",false,7,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",false,8,"from agentdeck.errors import RunStateError"],["agentdeck.core.context",false,11,"from agentdeck.core.context import RunContext"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",false,3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.context",false,19,"from agentdeck.core.context import RunContext"],["agentdeck.adapters.stores",false,9,"from agentdeck.adapters.stores import _refuse_if_sealed"],["datetime",false,6,"from datetime import UTC, datetime"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.errors",false,13,"from agentdeck.errors import DuplicateKeyError"],["collections",false,16,"from collections.abc import Callable, Sequence"],["asyncio",false,5,"import asyncio"],["agentdeck.core.events",false,10,"from agentdeck.core.events import Event"],["agentdeck.core.status",false,12,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.ports",false,11,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["datetime",false,17,"from datetime import timedelta"],["typing",false,7,"from typing import TYPE_CHECKING"],["agentdeck.core.events",false,20,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",false,3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.adapters.stores.postgres.store":[["agentdeck.adapters.stores",false,27,"from agentdeck.adapters.stores import _refuse_if_sealed"],["agentdeck.core.events",false,38,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.status",false,39,"from agentdeck.core.status import RunStatus"],["agentdeck.core.ports",false,29,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",false,23,"import psycopg"],["datetime",false,35,"from datetime import timedelta"],["psycopg",false,25,"from psycopg import sql"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["psycopg",false,24,"from psycopg import errors as pg_errors"],["collections",false,34,"from collections.abc import Awaitable, Callable, Sequence"],["agentdeck.core.status",false,30,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.events",false,28,"from agentdeck.core.events import Event"],["__future__",false,17,"from __future__ import annotations"],["agentdeck.errors",false,31,"from agentdeck.errors import DuplicateKeyError, StoreError"],["agentdeck.core.context",false,37,"from agentdeck.core.context import RunContext"],["asyncio",false,19,"import asyncio"],["hashlib",false,20,"import hashlib"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",false,3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.adapters.stores.redis.store":[["collections",false,46,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["redis",false,49,"from redis.asyncio.client import Pipeline"],["agentdeck.errors",false,43,"from agentdeck.errors import DuplicateKeyError, StoreError"],["agentdeck.core.events",false,52,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["datetime",false,32,"from datetime import UTC, datetime"],["redis",false,37,"from redis.exceptions import RedisError, WatchError"],["redis",false,36,"from redis.asyncio import Redis"],["agentdeck.core.status",false,53,"from agentdeck.core.status import RunStatus"],["__future__",false,29,"from __future__ import annotations"],["agentdeck.core.context",false,51,"from agentdeck.core.context import RunContext"],["typing",false,33,"from typing import TYPE_CHECKING, cast"],["agentdeck.core.status",false,42,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.ports",false,41,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.events",false,40,"from agentdeck.core.events import Event"],["json",false,31,"import json"],["urllib",false,34,"from urllib.parse import quote"],["agentdeck.adapters.stores",false,39,"from agentdeck.adapters.stores import _refuse_if_sealed"],["datetime",false,47,"from datetime import timedelta"]],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",false,3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.adapters.stores.sqlite.store":[["agentdeck.core.status",false,22,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.errors",false,23,"from agentdeck.errors import DuplicateKeyError, StoreError"],["asyncio",false,11,"import asyncio"],["agentdeck.core.status",false,32,"from agentdeck.core.status import RunStatus"],["datetime",false,15,"from datetime import datetime"],["agentdeck.core.events",false,20,"from agentdeck.core.events import Event"],["__future__",false,9,"from __future__ import annotations"],["datetime",false,27,"from datetime import timedelta"],["functools",false,16,"from functools import partial"],["sqlite3",false,13,"import sqlite3"],["agentdeck.core.context",false,30,"from agentdeck.core.context import RunContext"],["typing",false,17,"from typing import TYPE_CHECKING"],["agentdeck.adapters.stores",false,19,"from agentdeck.adapters.stores import _refuse_if_sealed"],["json",false,12,"import json"],["contextlib",false,14,"from contextlib import suppress"],["agentdeck.core.events",false,31,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["pathlib",false,28,"from pathlib import Path"],["agentdeck.core.ports",false,21,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["collections",false,26,"from collections.abc import Callable, Sequence"]],"agentdeck.adapters.telemetry":[],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.client",false,3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",false,5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["agentdeck.adapters.telemetry.langfuse.sink",false,4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"]],"agentdeck.adapters.telemetry.langfuse.client":[["__future__",false,13,"from __future__ import annotations"],["agentdeck.runtime.settings",false,26,"from agentdeck.runtime.settings import LangfuseSettings"],["agentdeck.core.events",false,25,"from agentdeck.core.events import Usage"],["langfuse",false,102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["langfuse",false,60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["collections",false,22,"from collections.abc import Mapping"],["os",false,16,"import os"],["agentdeck.adapters.telemetry.langfuse.sink",false,19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["logging",false,15,"import logging"],["agentdeck.adapters.telemetry.langfuse.trace",false,24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"],["typing",false,17,"from typing import TYPE_CHECKING, Any"]],"agentdeck.adapters.telemetry.langfuse.sink":[["agentdeck.core.content",false,51,"from agentdeck.core.content import Input"],["json",false,24,"import json"],["agentdeck.core.content",false,30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["collections",false,48,"from collections.abc import Mapping"],["agentdeck.core.ports",false,45,"from agentdeck.core.ports import Observer"],["logging",false,25,"import logging"],["__future__",false,21,"from __future__ import annotations"],["asyncio",false,23,"import asyncio"],["typing",false,28,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",false,31,"from agentdeck.core.events import ("],["agentdeck.adapters.telemetry.langfuse.trace",false,50,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["re",false,26,"import re"],["dataclasses",false,27,"from dataclasses import dataclass, field"],["agentdeck.core.events",false,52,"from agentdeck.core.events import Event, Usage"]],"agentdeck.adapters.telemetry.langfuse.trace":[["collections",false,18,"from collections.abc import Mapping"],["__future__",false,13,"from __future__ import annotations"],["agentdeck.core.events",false,20,"from agentdeck.core.events import Usage"],["typing",false,15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"]],"agentdeck.adapters.tools":[],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.lifecycle",false,5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.source",false,6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"],["agentdeck.adapters.tools.mcp.wiring",false,8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.transport",false,7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"]],"agentdeck.adapters.tools.mcp.lifecycle":[["__future__",false,17,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.transport",false,23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["collections",false,27,"from collections.abc import Sequence"],["agentdeck.errors",false,24,"from agentdeck.errors import ConfigError"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["asyncio",false,19,"import asyncio"],["agents",false,29,"from agents.mcp import MCPServer"],["logging",false,20,"import logging"]],"agentdeck.adapters.tools.mcp.source":[["__future__",false,9,"from __future__ import annotations"],["typing",false,11,"from typing import TYPE_CHECKING"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.ports.tools",false,14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.adapters.tools.mcp.wiring",false,13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"]],"agentdeck.adapters.tools.mcp.transport":[["asyncio",false,11,"import asyncio"],["typing",false,14,"from typing import TYPE_CHECKING, Any, TypeVar"],["logging",false,12,"import logging"],["agents",false,17,"from agents.mcp import MCPServerStreamableHttp"],["contextlib",false,13,"from contextlib import AsyncExitStack, suppress"],["collections",false,20,"from collections.abc import Awaitable, Callable"],["httpx",false,16,"import httpx"],["__future__",false,9,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp.wiring":[["typing",false,10,"from typing import TYPE_CHECKING"],["__future__",false,8,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.lifecycle",false,12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["collections",false,15,"from collections.abc import Iterable, Sequence"],["agents",false,17,"from agents.mcp import MCPServer"]],"agentdeck.authoring":[["agentdeck.authoring.agent",false,7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"],["agentdeck.authoring.interrupts",false,8,"from agentdeck.authoring.interrupts import InterruptResult"]],"agentdeck.authoring.agent":[["typing",false,12,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.compile",false,163,"from agentdeck.authoring.compile import compile_agent"],["agents",false,18,"from agents.lifecycle import AgentHooks"],["__future__",false,10,"from __future__ import annotations"],["agents",false,17,"from agents.agent_output import AgentOutputSchemaBase"],["agentdeck.authoring.runners.agent",false,169,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["collections",false,15,"from collections.abc import Callable, Mapping, Sequence"]],"agentdeck.authoring.compile":[["agents",false,48,"from agents import Tool as SDKTool"],["__future__",false,41,"from __future__ import annotations"],["agents",false,46,"from agents import Agent as SDKAgent"],["agentdeck.authoring.agent",false,65,"from agentdeck.authoring.agent import Agent"],["agentdeck.core.context",false,66,"from agentdeck.core.context import RunContext"],["agentdeck.authoring.native",false,54,"from agentdeck.authoring.native import tool as _native_tool"],["agentdeck.authoring.hooks",false,51,"from agentdeck.authoring.hooks import compile_hooks"],["re",false,43,"import re"],["agentdeck.authoring.native",false,53,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.authoring.instructions",false,52,"from agentdeck.authoring.instructions import compile_instructions"],["agents",false,47,"from agents import ModelSettings"],["agentdeck.adapters.tools.mcp.wiring",false,50,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["collections",false,61,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["agentdeck.authoring.agent",false,217,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agentdeck.authoring.tools",false,55,"from agentdeck.authoring.tools import compile_tool"],["agents",false,63,"from agents.tool import FunctionTool"],["typing",false,44,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.runtime.settings",false,58,"from agentdeck.runtime.settings import get_settings"],["agentdeck.core.workers",false,67,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.errors",false,57,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.core.context",false,56,"from agentdeck.core.context import ToolCtx # noqa: TC001 - a subagent tool's own annotation, resolved at runtime"]],"agentdeck.authoring.hooks":[["__future__",false,19,"from __future__ import annotations"],["agentdeck.core.context",false,27,"from agentdeck.core.context import RunContext, ToolCtx"],["agentdeck.authoring.injection",false,26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.errors",false,28,"from agentdeck.errors import ConfigError"],["collections",false,31,"from collections.abc import Callable"],["inspect",false,21,"import inspect"],["agents",false,24,"from agents.lifecycle import AgentHooks"],["typing",false,22,"from typing import TYPE_CHECKING, Any"]],"agentdeck.authoring.injection":[["__future__",false,27,"from __future__ import annotations"],["agentdeck.core.context",false,34,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.errors",false,35,"from agentdeck.errors import ConfigError, ContextTypeError"],["collections",false,38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["types",false,30,"import types"],["inspect",false,29,"import inspect"],["typing",false,32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["dataclasses",false,31,"from dataclasses import dataclass"]],"agentdeck.authoring.instructions":[["inspect",false,20,"import inspect"],["agentdeck.core.context",false,24,"from agentdeck.core.context import RunContext, ToolCtx"],["__future__",false,18,"from __future__ import annotations"],["agentdeck.errors",false,25,"from agentdeck.errors import ConfigError"],["agentdeck.authoring.injection",false,23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["collections",false,28,"from collections.abc import Callable"]],"agentdeck.authoring.interrupts":[["__future__",false,8,"from __future__ import annotations"],["typing",false,10,"from typing import Any, Literal, NotRequired, TypedDict"]],"agentdeck.authoring.native":[["collections",false,20,"from collections.abc import Callable"],["agentdeck.core.invocable",false,16,"from agentdeck.core.invocable import InvocableKind, NativeExecution"],["dataclasses",false,11,"from dataclasses import dataclass"],["agentdeck.authoring.injection",false,14,"from agentdeck.authoring.injection import analyze_callable, describe_callable"],["agentdeck.core.context",false,15,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.authoring.injection",false,22,"from agentdeck.authoring.injection import CallableAnalysis"],["typing",false,12,"from typing import TYPE_CHECKING, Any"],["__future__",false,8,"from __future__ import annotations"],["agentdeck.errors",false,17,"from agentdeck.errors import ConfigError"],["inspect",false,10,"import inspect"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.agent",false,3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.authoring.runners.agent":[["agentdeck.runtime.settings",false,24,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["dataclasses",false,18,"from dataclasses import dataclass, field"],["agents",false,21,"from agents import Agent, RunConfig, Runner, RunResult"],["contextlib",false,17,"from contextlib import aclosing"],["typing",false,19,"from typing import TYPE_CHECKING, Any, Self, cast"],["collections",false,27,"from collections.abc import AsyncGenerator, AsyncIterator"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["__future__",false,15,"from __future__ import annotations"]],"agentdeck.authoring.skills":[["agentdeck.skills",false,20,"from agentdeck.skills import Skills"],["__future__",false,9,"from __future__ import annotations"],["agents",false,13,"from agents import function_tool"],["collections",false,16,"from collections.abc import Callable, Sequence"],["agents",false,18,"from agents.tool import FunctionTool"],["typing",false,11,"from typing import TYPE_CHECKING"]],"agentdeck.authoring.tools":[["__future__",false,23,"from __future__ import annotations"],["agents",false,29,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["agentdeck.authoring.injection",false,40,"from agentdeck.authoring.injection import CallableAnalysis"],["agentdeck.core.context",false,32,"from agentdeck.core.context import RunContext, ToolCtx"],["agentdeck.authoring.injection",false,31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["typing",false,27,"from typing import TYPE_CHECKING, Any, get_type_hints"],["asyncio",false,25,"import asyncio"],["collections",false,36,"from collections.abc import Callable"],["agentdeck.errors",false,33,"from agentdeck.errors import ConfigError"],["agents",false,38,"from agents.tool import FunctionTool"],["agentdeck.core.workers",false,41,"from agentdeck.core.workers import SyncToolWorkers"],["inspect",false,26,"import inspect"]],"agentdeck.authoring.web_search":[["__future__",false,10,"from __future__ import annotations"],["httpx",false,12,"import httpx"],["agents",false,13,"from agents import function_tool"],["agentdeck.runtime.settings",false,15,"from agentdeck.runtime.settings import get_settings"]],"agentdeck.bindings":[["importlib",false,5,"from importlib import import_module"],["agentdeck.bindings.gateway",false,17,"from agentdeck.bindings.gateway import ("],["typing",false,6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings.terminal",false,30,"from agentdeck.bindings.terminal import Terminal as Terminal"],["agentdeck.bindings.exposure",false,16,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.bindings.binding",false,8,"from agentdeck.bindings.binding import ("],["agentdeck.bindings.native",false,29,"from agentdeck.bindings.native import Native as Native"],["agentdeck.bindings.agui",false,28,"from agentdeck.bindings.agui import AGUI as AGUI"]],"agentdeck.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",false,10,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.bindings.binding":[["collections",false,12,"from collections.abc import Awaitable, Callable"],["__future__",false,6,"from __future__ import annotations"],["agentdeck.bindings.gateway",false,14,"from agentdeck.bindings.gateway import DeckGateway"],["dataclasses",false,8,"from dataclasses import dataclass"],["typing",false,9,"from typing import TYPE_CHECKING, Any, Literal, Protocol"]],"agentdeck.bindings.exposure":[["agentdeck.deck",false,20,"from agentdeck.deck import Deck"],["typing",false,10,"from typing import TYPE_CHECKING, Any"],["collections",false,8,"from collections import Counter"],["contextlib",false,9,"from contextlib import asynccontextmanager"],["agentdeck.bindings.gateway",false,13,"from agentdeck.bindings.gateway import DeckGateway"],["starlette",false,78,"from starlette.applications import Starlette"],["starlette",false,79,"from starlette.routing import Mount"],["agentdeck.bindings.binding",false,12,"from agentdeck.bindings.binding import PROTOCOL_SPI_VERSION, HttpEndpoint, StdioEndpoint"],["agentdeck.errors",false,14,"from agentdeck.errors import ConfigError"],["__future__",false,5,"from __future__ import annotations"],["agentdeck.bindings.binding",false,19,"from agentdeck.bindings.binding import Binding, Endpoint"],["collections",false,17,"from collections.abc import AsyncIterator, Sequence"],["uvicorn",false,106,"import uvicorn"],["asyncio",false,7,"import asyncio"]],"agentdeck.bindings.gateway":[["__future__",false,8,"from __future__ import annotations"],["agentdeck.deck",false,32,"from agentdeck.deck import Deck, Run"],["agentdeck.core.status",false,31,"from agentdeck.core.status import RunStatus"],["agentdeck.authoring.native",false,30,"from agentdeck.authoring.native import NativeDefinition"],["typing",false,13,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.authoring",false,29,"from agentdeck.authoring import Agent"],["enum",false,12,"from enum import Enum, auto"],["collections",false,27,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["pydantic",false,15,"from pydantic import create_model"],["inspect",false,10,"import inspect"],["dataclasses",false,11,"from dataclasses import dataclass"],["agentdeck.errors",false,17,"from agentdeck.errors import ("]],"agentdeck.bindings.native":[["agentdeck.adapters.bindings.native.binding",false,10,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",false,9,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.cli":[["argparse",false,15,"import argparse"],["contextlib",false,17,"import contextlib"],["agentdeck.errors",false,52,"from agentdeck.errors import ConfigError"],["agentdeck.bindings",false,50,"from agentdeck.bindings import Terminal"],["agentdeck.adapters.control.sqlite",false,20,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.deck",false,51,"from agentdeck.deck import Deck"],["__future__",false,13,"from __future__ import annotations"],["asyncio",false,16,"import asyncio"],["agentdeck.core.control",false,21,"from agentdeck.core.control import Signal"],["sys",false,18,"import sys"]],"agentdeck.composition":[["agentdeck.adapters.stores.sqlite",false,27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["collections",false,41,"from collections.abc import Mapping, Sequence"],["logging",false,18,"import logging"],["datetime",false,42,"from datetime import timedelta"],["agentdeck.adapters.leases.memory",false,24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.adapters.stores.memory",false,26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.observers",false,112,"from agentdeck.observers import LangfuseObserver"],["agentdeck.adapters.control.memory",false,21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["agentdeck.adapters.leases.sqlite",false,25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"],["agentdeck.adapters.control.sqlite",false,22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["typing",false,19,"from typing import TYPE_CHECKING"],["agentdeck.adapters.stores.postgres",false,244,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.adapters.stores.redis",false,235,"from agentdeck.adapters.stores.redis import RedisEventStore"],["__future__",false,16,"from __future__ import annotations"],["agentdeck.core.ports",false,45,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"],["agentdeck.core.errors",false,28,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.core.invocable",false,44,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.adapters.executors.openai_agents.runconfig",false,23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.runtime.service",false,30,"from agentdeck.runtime.service import Runtime"],["agentdeck.runtime.settings",false,31,"from agentdeck.runtime.settings import ("],["agentdeck.runtime.discovery",false,29,"from agentdeck.runtime.discovery import InvocableRegistry"]],"agentdeck.core":[["agentdeck.core.events",false,21,"from agentdeck.core.events import ("],["agentdeck.core.content",false,7,"from agentdeck.core.content import ("],["agentdeck.core.invocable",false,55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.core.reporting",false,56,"from agentdeck.core.reporting import Reporter"],["agentdeck.core.status",false,57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.context",false,20,"from agentdeck.core.context import RunContext"]],"agentdeck.core.base":[["typing",false,10,"from typing import Annotated"],["math",false,9,"from math import isfinite"],["pydantic",false,12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["__future__",false,7,"from __future__ import annotations"]],"agentdeck.core.content":[["agentdeck.core.errors",false,195,"from agentdeck.core.errors import InputError"],["typing",false,14,"from typing import Annotated, Any, Literal, get_args"],["base64",false,13,"import base64"],["agentdeck.core.base",false,26,"from agentdeck.core.base import CoreModel, JsonData"],["agentdeck.core.errors",false,170,"from agentdeck.core.errors import InputError"],["__future__",false,11,"from __future__ import annotations"],["pydantic",false,16,"from pydantic import ("]],"agentdeck.core.context":[["__future__",false,18,"from __future__ import annotations"],["logging",false,22,"import logging"],["agentdeck.core.control",false,27,"from agentdeck.core.control import Gate, RunPausedError"],["uuid",false,25,"from uuid import uuid4"],["agentdeck.core.events",false,29,"from agentdeck.core.events import KnownPayload, RunInterrupted"],["asyncio",false,20,"import asyncio"],["asyncio",false,36,"from asyncio import AbstractEventLoop"],["agentdeck.core.errors",false,28,"from agentdeck.core.errors import DOCS_URL, ConfigError"],["agentdeck.core.reporting",false,30,"from agentdeck.core.reporting import Reporter"],["inspect",false,21,"import inspect"],["agentdeck.core.status",false,31,"from agentdeck.core.status import RunStatus"],["agentdeck.core.invocable",false,40,"from agentdeck.core.invocable import AgentInstance"],["typing",false,24,"from typing import TYPE_CHECKING, Any, NoReturn, Protocol, cast, runtime_checkable"],["dataclasses",false,23,"from dataclasses import dataclass, field"],["collections",false,37,"from collections.abc import Callable, Coroutine"],["agentdeck.core.base",false,39,"from agentdeck.core.base import JsonData"]],"agentdeck.core.control":[["agentdeck.core.events",false,20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"],["dataclasses",false,16,"from dataclasses import dataclass"],["__future__",false,13,"from __future__ import annotations"],["typing",false,18,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.events",false,26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["agentdeck.core.ports.control",false,27,"from agentdeck.core.ports.control import ControlPort"],["enum",false,17,"from enum import StrEnum"],["time",false,15,"import time"],["collections",false,24,"from collections.abc import Callable, Mapping"],["agentdeck.core.status",false,21,"from agentdeck.core.status import Action, RunStatus, decide"]],"agentdeck.core.errors":[["agentdeck.core.status",false,20,"from agentdeck.core.status import RunStatus"],["__future__",false,16,"from __future__ import annotations"],["typing",false,18,"from typing import Any"]],"agentdeck.core.events":[["__future__",false,21,"from __future__ import annotations"],["typing",false,23,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.content",false,37,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"],["pydantic",false,25,"from pydantic import ("],["agentdeck.core.base",false,36,"from agentdeck.core.base import CoreModel, JsonData"]],"agentdeck.core.invocable":[["typing",false,11,"from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable"],["__future__",false,7,"from __future__ import annotations"],["dataclasses",false,9,"from dataclasses import dataclass"],["pydantic",false,13,"from pydantic import ConfigDict, Field"],["agentdeck.core.base",false,15,"from agentdeck.core.base import CoreModel"],["collections",false,18,"from collections.abc import Callable"],["enum",false,10,"from enum import StrEnum"]],"agentdeck.core.ports":[["agentdeck.core.ports.tools",false,16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.sink",false,14,"from agentdeck.core.ports.sink import Observer"],["agentdeck.core.ports.store",false,15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.lease",false,13,"from agentdeck.core.ports.lease import LeasePort"],["agentdeck.core.ports.executor",false,12,"from agentdeck.core.ports.executor import Executor"],["agentdeck.core.ports.control",false,11,"from agentdeck.core.ports.control import ControlPort"]],"agentdeck.core.ports.control":[["__future__",false,14,"from __future__ import annotations"],["agentdeck.core.control",false,20,"from agentdeck.core.control import ControlSignal, Signal"],["typing",false,17,"from typing import TYPE_CHECKING"],["abc",false,16,"from abc import ABC, abstractmethod"]],"agentdeck.core.ports.executor":[["__future__",false,7,"from __future__ import annotations"],["collections",false,13,"from collections.abc import AsyncGenerator, Sequence"],["agentdeck.core.invocable",false,18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.events",false,17,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.content",false,15,"from agentdeck.core.content import Input"],["typing",false,10,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.context",false,16,"from agentdeck.core.context import RunContext"],["abc",false,9,"from abc import ABC, abstractmethod"]],"agentdeck.core.ports.lease":[["datetime",false,21,"from datetime import timedelta"],["__future__",false,14,"from __future__ import annotations"],["abc",false,16,"from abc import ABC, abstractmethod"],["collections",false,20,"from collections.abc import Collection"],["typing",false,17,"from typing import TYPE_CHECKING"]],"agentdeck.core.ports.sink":[["typing",false,10,"from typing import TYPE_CHECKING"],["abc",false,9,"from abc import ABC, abstractmethod"],["__future__",false,7,"from __future__ import annotations"],["agentdeck.core.events",false,13,"from agentdeck.core.events import Event"]],"agentdeck.core.ports.store":[["dataclasses",false,12,"from dataclasses import dataclass"],["datetime",false,19,"from datetime import timedelta"],["abc",false,11,"from abc import ABC, abstractmethod"],["agentdeck.core.status",false,15,"from agentdeck.core.status import RunStatus, status_of"],["__future__",false,9,"from __future__ import annotations"],["agentdeck.core.events",false,22,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"],["typing",false,13,"from typing import TYPE_CHECKING"],["collections",false,18,"from collections.abc import Sequence"],["agentdeck.core.context",false,21,"from agentdeck.core.context import RunContext"]],"agentdeck.core.ports.tools":[["agentdeck.core.base",false,19,"from agentdeck.core.base import CoreModel"],["pydantic",false,17,"from pydantic import ConfigDict"],["typing",false,15,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.invocable",false,22,"from agentdeck.core.invocable import InvocableSpec"],["__future__",false,12,"from __future__ import annotations"],["abc",false,14,"from abc import ABC, abstractmethod"]],"agentdeck.core.reporting":[["__future__",false,11,"from __future__ import annotations"],["agentdeck.core.events",false,15,"from agentdeck.core.events import Reported"],["collections",false,18,"from collections.abc import Callable"],["agentdeck.core.base",false,20,"from agentdeck.core.base import JsonData"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.core.status":[["typing",false,21,"from typing import TYPE_CHECKING, Any"],["collections",false,27,"from collections.abc import Mapping, Sequence"],["enum",false,20,"from enum import StrEnum"],["agentdeck.core.content",false,23,"from agentdeck.core.content import answer_of"],["agentdeck.core.events",false,24,"from agentdeck.core.events import TERMINAL_KINDS, RunInterrupted, RunResumed"],["agentdeck.core.events",false,29,"from agentdeck.core.events import Event"],["dataclasses",false,19,"from dataclasses import dataclass"],["__future__",false,17,"from __future__ import annotations"]],"agentdeck.core.workers":[["collections",false,17,"from collections.abc import Callable"],["asyncio",false,12,"import asyncio"],["concurrent",false,13,"from concurrent.futures import Future, ThreadPoolExecutor"],["typing",false,14,"from typing import TYPE_CHECKING, Any"],["__future__",false,10,"from __future__ import annotations"]],"agentdeck.deck":[["uuid",false,41,"import uuid"],["agentdeck.bindings.binding",false,101,"from agentdeck.bindings.binding import Binding"],["functools",false,39,"import functools"],["agentdeck.composition",false,57,"from agentdeck.composition import ("],["pathlib",false,44,"from pathlib import Path"],["types",false,45,"from types import MappingProxyType"],["agentdeck.runtime.registry",false,90,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.bindings.exposure",false,686,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.core.content",false,64,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["agents",false,98,"from agents.memory.session import Session"],["__future__",false,36,"from __future__ import annotations"],["agentdeck.core.ports",false,76,"from agentdeck.core.ports import Observer"],["agentdeck.errors",false,79,"from agentdeck.errors import ("],["agentdeck.core.invocable",false,75,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["agentdeck.bindings.exposure",false,102,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.core.control",false,66,"from agentdeck.core.control import Signal"],["agentdeck.skills",false,92,"from agentdeck.skills import Skills"],["agentdeck.authoring.compile",false,52,"from agentdeck.authoring.compile import compile_agent, refresh_mcp_status"],["agentdeck.authoring.skills",false,56,"from agentdeck.authoring.skills import skills_resolver"],["agentdeck.authoring.native",false,55,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.runtime.discovery",false,89,"from agentdeck.runtime.discovery import EXECUTOR_FOR_KIND, InvocableRegistry"],["agentdeck.adapters.executors.openai_agents",false,49,"from agentdeck.adapters.executors.openai_agents import ExecutionStore, OpenAIAgentsExecutor, SessionFactory"],["agentdeck.adapters.executors.native",false,48,"from agentdeck.adapters.executors.native import NativeExecutor"],["agentdeck.runtime.service",false,106,"from agentdeck.runtime.service import PendingRun, Runtime"],["collections",false,96,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["collections",false,42,"from collections import ChainMap"],["agentdeck.core.status",false,77,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Controls, Operation, RunStatus, Verdict, can_of"],["agentdeck.authoring.interrupts",false,100,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.core.content",false,103,"from agentdeck.core.content import Input"],["agentdeck.core.events",false,104,"from agentdeck.core.events import Event, Usage"],["typing",false,46,"from typing import TYPE_CHECKING, Any, Literal, cast"],["agentdeck.mcp",false,88,"from agentdeck.mcp import MCP"],["asyncio",false,38,"import asyncio"],["agentdeck.authoring.injection",false,53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.core.events",false,67,"from agentdeck.core.events import ("],["agentdeck.core.ports",false,105,"from agentdeck.core.ports import EventStorePort, Executor"],["agentdeck.core.workers",false,78,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.agent",false,51,"from agentdeck.authoring.agent import Agent"],["logging",false,40,"import logging"],["agentdeck.core.context",false,65,"from agentdeck.core.context import RunContext"],["contextlib",false,43,"from contextlib import aclosing, suppress"],["agentdeck.authoring.interrupts",false,54,"from agentdeck.authoring.interrupts import interrupt_result"],["agentdeck.adapters.tools.mcp.lifecycle",false,50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["builtins",false,95,"import builtins"],["agentdeck.runtime.settings",false,91,"from agentdeck.runtime.settings import Settings, get_settings"]],"agentdeck.errors":[["__future__",false,9,"from __future__ import annotations"],["agentdeck.core.errors",false,11,"from agentdeck.core.errors import ("]],"agentdeck.mcp":[["__future__",false,10,"from __future__ import annotations"],["agentdeck.errors",false,18,"from agentdeck.errors import ConfigError"],["json",false,12,"import json"],["pathlib",false,13,"from pathlib import Path"],["typing",false,14,"from typing import Any"],["pydantic",false,16,"from pydantic import BaseModel, ConfigDict, Field"]],"agentdeck.observers":[["agentdeck.core.ports",false,21,"from agentdeck.core.ports import Observer"],["agentdeck.errors",false,22,"from agentdeck.errors import ConfigError"],["openinference",false,42,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.core.events",false,26,"from agentdeck.core.events import Event"],["agents",false,41,"from agents import set_trace_processors"],["typing",false,19,"from typing import TYPE_CHECKING"],["pathlib",false,18,"from pathlib import Path"],["__future__",false,16,"from __future__ import annotations"],["agentdeck.views",false,27,"from agentdeck.views import View"],["agentdeck.adapters.telemetry.langfuse.client",false,116,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["agentdeck.runtime.settings",false,23,"from agentdeck.runtime.settings import get_settings"]],"agentdeck.runtime":[],"agentdeck.runtime.capture":[["pydantic",false,16,"from pydantic import BaseModel"],["__future__",false,12,"from __future__ import annotations"],["enum",false,14,"from enum import StrEnum"]],"agentdeck.runtime.discovery":[["agentdeck.errors",false,18,"from agentdeck.errors import ConfigError"],["__future__",false,10,"from __future__ import annotations"],["agents",false,24,"from agents import Agent as SDKAgent"],["agentdeck.authoring.native",false,16,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["agentdeck.core.workers",false,29,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.compile",false,15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["collections",false,22,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.core.ports",false,28,"from agentdeck.core.ports import Executor"],["agentdeck.authoring.agent",false,14,"from agentdeck.authoring.agent import Agent"],["agents",false,25,"from agents.tool import FunctionTool"],["typing",false,12,"from typing import TYPE_CHECKING, Any, Final"],["agentdeck.runtime.registry",false,19,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["agentdeck.authoring.compile",false,27,"from agentdeck.authoring.compile import Delegate"]],"agentdeck.runtime.dispatch":[["agentdeck.core.events",false,31,"from agentdeck.core.events import Event"],["collections",false,29,"from collections.abc import Callable"],["__future__",false,21,"from __future__ import annotations"],["typing",false,26,"from typing import TYPE_CHECKING"],["time",false,25,"import time"],["logging",false,24,"import logging"],["agentdeck.core.ports",false,32,"from agentdeck.core.ports import Observer"],["asyncio",false,23,"import asyncio"]],"agentdeck.runtime.registry":[["importlib",false,5,"import importlib"],["dataclasses",false,9,"from dataclasses import dataclass, field"],["importlib",false,10,"from importlib.machinery import ModuleSpec"],["pathlib",false,11,"from pathlib import Path"],["agentdeck.core.invocable",false,17,"from agentdeck.core.invocable import InvocableKind"],["__future__",false,3,"from __future__ import annotations"],["agentdeck.errors",false,14,"from agentdeck.errors import ConfigError, NotFoundError"],["importlib",false,6,"import importlib.util"],["typing",false,12,"from typing import TYPE_CHECKING, Generic, TypeVar"],["types",false,8,"import types"],["sys",false,7,"import sys"]],"agentdeck.runtime.service":[["collections",false,17,"from collections import deque"],["agentdeck.core.content",false,61,"from agentdeck.core.content import Input"],["agentdeck.core.content",false,24,"from agentdeck.core.content import as_answer"],["agentdeck.errors",false,54,"from agentdeck.errors import ConfigError, InputError, NotFoundError, RunStateError, SessionBusyError, StoreError"],["contextlib",false,18,"from contextlib import aclosing, asynccontextmanager, suppress"],["agentdeck.core.reporting",false,42,"from agentdeck.core.reporting import Reporter"],["collections",false,58,"from collections.abc import AsyncGenerator, AsyncIterator, Awaitable, Callable, Mapping, Sequence"],["agentdeck.core.errors",false,27,"from agentdeck.core.errors import DOCS_URL"],["uuid",false,22,"from uuid import uuid4"],["logging",false,16,"import logging"],["datetime",false,20,"from datetime import timedelta"],["agentdeck.runtime.dispatch",false,55,"from agentdeck.runtime.dispatch import SinkDispatch"],["agentdeck.core.invocable",false,64,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",false,25,"from agentdeck.core.context import RunContext"],["agentdeck.core.status",false,43,"from agentdeck.core.status import ("],["agentdeck.core.events",false,63,"from agentdeck.core.events import InterruptReason, KnownPayload"],["agentdeck.core.control",false,26,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.events",false,28,"from agentdeck.core.events import ("],["typing",false,21,"from typing import TYPE_CHECKING, Final"],["__future__",false,13,"from __future__ import annotations"],["agentdeck.core.control",false,62,"from agentdeck.core.control import ControlSignal"],["agentdeck.core.ports.store",false,66,"from agentdeck.core.ports.store import RunSummary"],["asyncio",false,15,"import asyncio"],["typing",false,59,"from typing import Any, Literal"],["dataclasses",false,19,"from dataclasses import dataclass, replace"],["agentdeck.core.ports",false,65,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"]],"agentdeck.runtime.settings":[["dotenv",false,23,"from dotenv import load_dotenv"],["typing",false,21,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["datetime",false,18,"from datetime import timedelta"],["collections",false,17,"from collections.abc import Mapping"],["logging",false,15,"import logging"],["os",false,16,"import os"],["pydantic_settings",false,25,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["pathlib",false,20,"from pathlib import Path"],["__future__",false,13,"from __future__ import annotations"],["functools",false,19,"from functools import lru_cache"],["collections",false,28,"from collections.abc import Callable"],["pydantic",false,24,"from pydantic import BaseModel, ConfigDict, Field, field_validator"]],"agentdeck.skills":[["agentdeck.skills.bundle",false,17,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["__future__",false,10,"from __future__ import annotations"],["agentdeck.core.errors",false,15,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.errors",false,16,"from agentdeck.errors import ConfigError, NotFoundError"],["collections",false,20,"from collections.abc import Sequence"],["pathlib",false,12,"from pathlib import Path"],["typing",false,13,"from typing import TYPE_CHECKING"]],"agentdeck.skills.bundle":[["typing",false,8,"from typing import Any"],["yaml",false,10,"import yaml"],["__future__",false,3,"from __future__ import annotations"],["dataclasses",false,6,"from dataclasses import dataclass, field"],["pathlib",false,7,"from pathlib import Path"],["re",false,5,"import re"],["agentdeck.errors",false,12,"from agentdeck.errors import ConfigError"]],"agentdeck.testing":[["unittest",false,22,"from unittest.mock import patch"],["json",false,17,"import json"],["typing",false,21,"from typing import TYPE_CHECKING, Any"],["openai",false,36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["openai",false,27,"from openai.types.responses import ("],["agents",false,25,"from agents.models.interface import Model"],["agents",false,24,"from agents.items import ModelResponse"],["threading",false,18,"import threading"],["http",false,20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["asyncio",false,16,"import asyncio"],["agents",false,26,"from agents.usage import Usage"],["__future__",false,14,"from __future__ import annotations"],["collections",false,39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"],["contextlib",false,19,"from contextlib import contextmanager"]],"agentdeck.views":[["collections",false,21,"from collections.abc import Callable"],["agentdeck.core.events",false,23,"from agentdeck.core.events import Event"],["agentdeck.core.status",false,18,"from agentdeck.core.status import LIFECYCLE_KINDS"],["typing",false,16,"from typing import TYPE_CHECKING"],["__future__",false,14,"from __future__ import annotations"]]},"version":2}
@@ -8,6 +8,27 @@ Fixed / Security` order - and are written to be attached to a release as-is.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [6.0.5] - 2026-09-14
12
+
13
+ ### Added
14
+
15
+ - **A public roadmap** (#723). `/resources/roadmap` states where AgentDeck is going: reach across
16
+ protocols through 6.x, programmable execution and debugging in v7, isolation and sandboxing in
17
+ v8, and rooms, automation, batteries and operations as directions rather than a release order. No
18
+ dates. Protocol sequencing stays authoritative in the repository's protocol roadmap.
19
+
20
+ ### Changed
21
+
22
+ - **Ask Jack says he is away before you type, rather than after** (#224). The docs site checks the
23
+ assistant's `/health` on load: when it is unreachable the launcher reads "Jack is away" and takes
24
+ no question, instead of accepting one and failing on send. A backend that answers with an error
25
+ reads differently from one that is not running.
26
+ - **The `observability` extra now requires Langfuse 4.x** (#748). `langfuse>=4.15.2` and
27
+ `openinference-instrumentation-openai-agents>=2.4.1`, up from `>=2.60` and `>=0.1`. Langfuse 4
28
+ is past their OpenTelemetry rewrite, so an environment pinning Langfuse 2.x will not resolve
29
+ `agentdeck-sdk[observability]` until it moves. AgentDeck's own observer surface is unchanged:
30
+ `Deck(observers=[Langfuse()])` is the same call and the same behavior.
31
+
11
32
  ## [6.0.4] - 2026-09-13
12
33
 
13
34
  ### Changed
@@ -2865,7 +2886,8 @@ documentation platform and its CI.
2865
2886
  `runtime/tools.py`, `PluginRegistry.pick`, `skill_runtime` LLM/batch
2866
2887
  helpers; deps typer, rich, prompt-toolkit.
2867
2888
 
2868
- [Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.4...HEAD
2889
+ [Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.5...HEAD
2890
+ [6.0.5]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.4...v6.0.5
2869
2891
  [6.0.4]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.3...v6.0.4
2870
2892
  [6.0.3]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.2...v6.0.3
2871
2893
  [6.0.2]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.1...v6.0.2
@@ -3,25 +3,40 @@
3
3
  AgentDeck is a declarative runtime harness for multi-agent systems and workflows (OpenAI Agents SDK, plus AgentDeck-native `@tool`/`@workflow`).
4
4
 
5
5
  **Core standards:** `docs/engineering/`: the linked suite of binding engineering law:
6
- 1. [`docs/engineering/principles.md`](docs/engineering/principles.md): Product philosophy & North Star.
6
+ 1. [`docs/engineering/principles.md`](docs/engineering/principles.md): Product philosophy, and the standard a feature is held to (Q1-Q7).
7
7
  2. [`docs/engineering/coding-standards.md`](docs/engineering/coding-standards.md): Binding front door for every code change.
8
8
  3. [`docs/engineering/coding-agents.md`](docs/engineering/coding-agents.md): Mandatory rules for coding agents.
9
9
  4. [`docs/engineering/documentation.md`](docs/engineering/documentation.md): Binding for every page under `docs-site/content/`.
10
10
  5. Specialized standards: [`architecture.md`](docs/engineering/architecture.md), [`runtime-contracts.md`](docs/engineering/runtime-contracts.md), [`testing.md`](docs/engineering/testing.md), [`dependencies.md`](docs/engineering/dependencies.md), [`repository-policy.md`](docs/engineering/repository-policy.md), [`import-boundaries.md`](docs/engineering/import-boundaries.md).
11
11
  6. [`docs/patterns/`](docs/patterns/README.md): the project's taste as real good/bad pairs. Read the file for your concern before writing; match the good side.
12
12
 
13
+ **Every file under `docs/` declares its status on line 3**, from four words, so law is distinguishable from archaeology without opening it:
14
+
15
+ | Status | Means | Where |
16
+ |---|---|---|
17
+ | **Binding** | a change that violates it is wrong | all of `docs/engineering/` and `docs/patterns/`, the 16 files above |
18
+ | **Design of record** | live rulings; amend it rather than contradicting it | `docs/design/` including `protocols/`, and `docs/delivery/`, whose plans are cited by ruling number from tests and source |
19
+ | **Reference** | true, not law | `docs/brand/README.md` |
20
+ | **History** | a state the project has left. Usually it is deleted instead: git is the archive, and #734 deleted the eight that nothing read | nothing, currently |
21
+
22
+ A version in a **History** title is that document's own subject, not a stale claim about this repository.
23
+
13
24
  ---
14
25
 
15
26
  ## 1. Product Philosophy & North Star
16
27
 
17
- > **Make powerful agentic systems feel obvious to build, compose, run, and operate.**
18
- > **Great software does the hard work so its users do not have to. Simple on the outside, elegant on the inside.**
28
+ > **You build the software. AgentDeck handles the agentic machinery.**
29
+ > **Simple on the outside, elegant on the inside.**
30
+
31
+ Suspending a run on a human and resuming it days later on another machine is hard. So is cancelling a live run from another process, one conversation that spans turns and surfaces and restarts, and one run readable over HTTP, stdio and AG-UI at once. Our position is that we write those once, carefully, instead of every team writing them again under deadline. These subsystems are sophisticated inside and **must not make application code sophisticated**. When a design makes the inside simpler by making the outside harder, we have failed, and that is not a trade we are allowed to make quietly.
19
32
 
20
33
  * **User owns intent, AgentDeck owns machinery:** Users define agents, tools, workflows, skills, and context. AgentDeck manages run identity, execution lifecycle, persistence, event streams, cancellation, and concurrency.
34
+ * **Complexity grows slower than capability:** Needing concurrency, a human, another agent or a protocol costs one call, not a redesign. An application is never restructured because its requirements got more serious.
21
35
  * **Abstractions must delete complexity:** An abstraction is successful only when the caller needs to know *less*. Never leak internal plumbing (stores, resolvers, internal contexts, log keys) into public user APIs.
22
36
  * **One obvious path first:** One clean, standard path for common tasks (`await deck.run(...)`). Advanced knobs remain escape hatches, never obstacles.
23
- * **Conciseness is mandatory:** No fluff, no sprawling prose. If one sentence suffices, write one sentence. Code, comments, docs, PR descriptions, and issue specs must be terse, precise, and dense with signal.
24
- * **No em dashes:** Never use the ` - ` character in any documentation, code, comments, or agent output. Use a regular hyphen `-`, colon `:`, or separate into distinct sentences.
37
+ * **We are not exempt:** Finding that AgentDeck's own API has transferred complexity to the user is a defect, not a preference.
38
+
39
+ **The standard.** Every major feature answers **Q1-Q7** in [`docs/engineering/principles.md`](docs/engineering/principles.md#the-standard), and a review cites them by key. Q2, can a developer who does not need it ignore it completely, kills most proposals. Q4, are we absorbing complexity or transferring it to the user, is the one we most often fail. A bugfix answers neither.
25
40
 
26
41
  ---
27
42
 
@@ -51,6 +66,8 @@ AgentDeck is a declarative runtime harness for multi-agent systems and workflows
51
66
  * **Comments:** Extremely rare, max 1–2 lines explaining non-obvious *why*, never restating what the code does.
52
67
  * Good (real, `core/control.py`): `# Before the raise, because the raise is what records the effect: an intent left pending behind an honored one would be honored a second time on the next resume.`
53
68
  * Bad: `# Increment the retry count` above `retry_count += 1`. A `PostToolUse` hook (`scripts/slopcheck.py`) flags this per edit.
69
+ * **Conciseness is mandatory:** No fluff, no sprawling prose. If one sentence suffices, write one sentence. Code, comments, docs, PR descriptions, and issue specs must be terse, precise, and dense with signal.
70
+ * **No em dashes:** Never use the ` - ` character in any documentation, code, comments, or agent output. Use a regular hyphen `-`, colon `:`, or separate into distinct sentences.
54
71
 
55
72
  ---
56
73
 
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentdeck-sdk
3
- Version: 6.0.4
4
- Summary: Build agents, tools and workflows as normal software, and serve them through bindings: one Deck, reachable over its own HTTP wire, the terminal and AG-UI, with the same runs and controls everywhere.
3
+ Version: 6.0.5
4
+ Summary: Agentic software should feel like software. Build agents, tools and workflows as normal software, and get one execution model you can observe, control and extend.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
7
7
  Classifier: Development Status :: 4 - Beta
@@ -27,19 +27,19 @@ Requires-Dist: starlette>=0.40; extra == 'agui'
27
27
  Provides-Extra: dev
28
28
  Requires-Dist: ag-ui-protocol<0.2,>=0.1.22; extra == 'dev'
29
29
  Requires-Dist: fastapi>=0.115; extra == 'dev'
30
- Requires-Dist: griffe>=1.6; extra == 'dev'
31
- Requires-Dist: import-linter==2.14; extra == 'dev'
30
+ Requires-Dist: griffe>=2.3.0; extra == 'dev'
31
+ Requires-Dist: import-linter==2.15; extra == 'dev'
32
32
  Requires-Dist: pre-commit>=4.0; extra == 'dev'
33
33
  Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
34
34
  Requires-Dist: pytest-cov>=5.0; extra == 'dev'
35
35
  Requires-Dist: pytest-timeout>=2.3; extra == 'dev'
36
36
  Requires-Dist: pytest>=8.0; extra == 'dev'
37
37
  Requires-Dist: redis>=5.0; extra == 'dev'
38
- Requires-Dist: ruff>=0.6; extra == 'dev'
39
- Requires-Dist: ty>=0.0.1a21; extra == 'dev'
38
+ Requires-Dist: ruff>=0.16.7; extra == 'dev'
39
+ Requires-Dist: ty>=0.0.80; extra == 'dev'
40
40
  Provides-Extra: observability
41
- Requires-Dist: langfuse>=2.60; extra == 'observability'
42
- Requires-Dist: openinference-instrumentation-openai-agents>=0.1; extra == 'observability'
41
+ Requires-Dist: langfuse>=4.15.2; extra == 'observability'
42
+ Requires-Dist: openinference-instrumentation-openai-agents>=2.4.1; extra == 'observability'
43
43
  Requires-Dist: opentelemetry-sdk>=1.27; extra == 'observability'
44
44
  Provides-Extra: postgres
45
45
  Requires-Dist: psycopg[binary]>=3.2; extra == 'postgres'
@@ -73,6 +73,14 @@ AgentDeck gives them one execution model you can observe, control and extend.
73
73
 
74
74
  </div>
75
75
 
76
+ You write the agents, tools and workflows. AgentDeck writes what surrounds them: a run that suspends
77
+ on a human and resumes days later on another machine, a cancel that lands on a run in another
78
+ process, one conversation that survives turns, surfaces and restarts, and one event log that the
79
+ HTTP wire, the terminal and AG-UI all read the same way.
80
+
81
+ None of that is your application, and all of it is work. It is done once here instead of again in
82
+ every project that needs it, and needing the next piece of it costs one call, not a redesign.
83
+
76
84
  ```bash
77
85
  pip install agentdeck-sdk
78
86
  ```
@@ -21,6 +21,14 @@ AgentDeck gives them one execution model you can observe, control and extend.
21
21
 
22
22
  </div>
23
23
 
24
+ You write the agents, tools and workflows. AgentDeck writes what surrounds them: a run that suspends
25
+ on a human and resumes days later on another machine, a cancel that lands on a run in another
26
+ process, one conversation that survives turns, surfaces and restarts, and one event log that the
27
+ HTTP wire, the terminal and AG-UI all read the same way.
28
+
29
+ None of that is your application, and all of it is work. It is done once here instead of again in
30
+ every project that needs it, and needing the next piece of it costs one call, not a redesign.
31
+
24
32
  ```bash
25
33
  pip install agentdeck-sdk
26
34
  ```