agentdeck-sdk 6.0.0__tar.gz → 6.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/agents/deck-dev.md +3 -1
  2. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/SKILL.md +6 -2
  3. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/self-review.md +3 -1
  4. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/dependabot.yml +14 -0
  5. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.gitignore +3 -1
  6. agentdeck_sdk-6.0.2/.import_linter_cache/agentdeck.meta.json +1 -0
  7. agentdeck_sdk-6.0.2/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
  8. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/CHANGELOG.md +55 -1
  9. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/PKG-INFO +1 -1
  10. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/native/executor.py +5 -5
  11. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/executor.py +10 -33
  12. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/reconcile.py +10 -7
  13. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/translate.py +81 -10
  14. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/content.py +6 -4
  15. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/context.py +6 -14
  16. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/deck.py +17 -11
  17. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/service.py +63 -13
  18. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/generated-version.ts +1 -1
  19. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/agents.mdx +5 -1
  20. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/workflows.mdx +36 -0
  21. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/deck.mdx +22 -1
  22. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/events.mdx +8 -1
  23. agentdeck_sdk-6.0.2/docs-site/content/resources/changelog.mdx +79 -0
  24. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/sessions.mdx +41 -0
  25. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/next-env.d.ts +1 -0
  26. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/package-lock.json +433 -278
  27. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/package.json +3 -2
  28. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/llms-full.txt +141 -130
  29. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/pyproject.toml +1 -1
  30. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/check_docs_impact.py +3 -0
  31. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_agui_client_conformance.py +10 -1
  32. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_child_runs.py +164 -0
  33. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_deck.py +18 -0
  34. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_native_workflow.py +37 -0
  35. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_engine.py +157 -5
  36. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/uv.lock +67 -67
  37. agentdeck_sdk-6.0.0/.import_linter_cache/agentdeck.meta.json +0 -1
  38. agentdeck_sdk-6.0.0/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
  39. agentdeck_sdk-6.0.0/docs-site/content/resources/changelog.mdx +0 -177
  40. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agentdeck/agents/greeter/agent.py +0 -0
  41. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/SKILL.md +0 -0
  42. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/agents/openai.yaml +0 -0
  43. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/deck-cleanup/references/narrative-prose.md +0 -0
  44. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/open-issue/SKILL.md +0 -0
  45. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/release/SKILL.md +0 -0
  46. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.agents/skills/ship-issue/SKILL.md +0 -0
  47. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/agents/deck-cleanup.md +0 -0
  48. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/agents/deck-reviewer.md +0 -0
  49. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/agents/docs-reviewer.md +0 -0
  50. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/agents/docs-writer.md +0 -0
  51. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/settings.json +0 -0
  52. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/SKILL.md +0 -0
  53. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/references/judging.md +0 -0
  54. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/milestone-retro/references/queries.md +0 -0
  55. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/open-issue/SKILL.md +0 -0
  56. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/release/SKILL.md +0 -0
  57. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/SKILL.md +0 -0
  58. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/attack.md +0 -0
  59. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/classify.md +0 -0
  60. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/craft.md +0 -0
  61. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/overrun.md +0 -0
  62. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/review-pr/references/templates.md +0 -0
  63. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/ship-issue/SKILL.md +0 -0
  64. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/design.md +0 -0
  65. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.claude/skills/ship-pr/references/implement.md +0 -0
  66. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.codex/agents/deck-cleanup.toml +0 -0
  67. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.codex/agents/deck-dev.toml +0 -0
  68. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.codex/agents/deck-reviewer.toml +0 -0
  69. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.codex/agents/docs-reviewer.toml +0 -0
  70. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.codex/agents/docs-writer.toml +0 -0
  71. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.dockerignore +0 -0
  72. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.env.example +0 -0
  73. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.gitattributes +0 -0
  74. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/CODEOWNERS +0 -0
  75. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  76. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  77. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/docs_contribution.yml +0 -0
  78. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  79. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
  80. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  81. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/assets/contributors/merged.png +0 -0
  82. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/assets/contributors/welcome.png +0 -0
  83. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/ci.yml +0 -0
  84. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/docs-check.yml +0 -0
  85. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/docs-impact.yml +0 -0
  86. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/docs-pages.yml +0 -0
  87. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/first-contribution.yml +0 -0
  88. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/issue-hygiene.yml +0 -0
  89. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.github/workflows/release.yml +0 -0
  90. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.import_linter_cache/.gitignore +0 -0
  91. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.import_linter_cache/CACHEDIR.TAG +0 -0
  92. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.importlinter +0 -0
  93. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/.pre-commit-config.yaml +0 -0
  94. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/AGENTS.md +0 -0
  95. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/CLAUDE.md +0 -0
  96. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/CODE_OF_CONDUCT.md +0 -0
  97. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/CONTRIBUTING.md +0 -0
  98. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/Dockerfile +0 -0
  99. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/LICENSE +0 -0
  100. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/Makefile +0 -0
  101. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/README.md +0 -0
  102. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/SECURITY.md +0 -0
  103. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/README.md +0 -0
  104. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/__init__.py +0 -0
  105. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/__init__.py +0 -0
  106. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/__init__.py +0 -0
  107. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/__init__.py +0 -0
  108. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/adapter.py +0 -0
  109. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/agui/binding.py +0 -0
  110. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/native/__init__.py +0 -0
  111. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/native/binding.py +0 -0
  112. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/terminal/__init__.py +0 -0
  113. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/bindings/terminal/binding.py +0 -0
  114. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/__init__.py +0 -0
  115. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/memory/__init__.py +0 -0
  116. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/memory/port.py +0 -0
  117. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
  118. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/control/sqlite/port.py +0 -0
  119. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/__init__.py +0 -0
  120. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/native/__init__.py +0 -0
  121. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/__init__.py +0 -0
  122. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/runconfig.py +0 -0
  123. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/openai_agents/sessions.py +0 -0
  124. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/stub/__init__.py +0 -0
  125. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/executors/stub/executor.py +0 -0
  126. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/__init__.py +0 -0
  127. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/memory/__init__.py +0 -0
  128. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/memory/port.py +0 -0
  129. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
  130. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/leases/sqlite/port.py +0 -0
  131. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/__init__.py +0 -0
  132. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/memory/__init__.py +0 -0
  133. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/memory/store.py +0 -0
  134. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
  135. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/postgres/store.py +0 -0
  136. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/redis/__init__.py +0 -0
  137. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/redis/store.py +0 -0
  138. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
  139. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/stores/sqlite/store.py +0 -0
  140. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/__init__.py +0 -0
  141. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
  142. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
  143. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
  144. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
  145. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/__init__.py +0 -0
  146. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
  147. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
  148. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/source.py +0 -0
  149. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/transport.py +0 -0
  150. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
  151. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/__init__.py +0 -0
  152. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/agent.py +0 -0
  153. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/compile.py +0 -0
  154. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/hooks.py +0 -0
  155. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/injection.py +0 -0
  156. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/instructions.py +0 -0
  157. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/interrupts.py +0 -0
  158. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/native.py +0 -0
  159. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/runners/__init__.py +0 -0
  160. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/runners/agent.py +0 -0
  161. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/skills.py +0 -0
  162. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/tools.py +0 -0
  163. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/authoring/web_search.py +0 -0
  164. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/__init__.py +0 -0
  165. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/agui.py +0 -0
  166. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/binding.py +0 -0
  167. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/exposure.py +0 -0
  168. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/gateway.py +0 -0
  169. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/native.py +0 -0
  170. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/bindings/terminal.py +0 -0
  171. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/cli.py +0 -0
  172. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/composition.py +0 -0
  173. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/__init__.py +0 -0
  174. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/base.py +0 -0
  175. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/control.py +0 -0
  176. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/errors.py +0 -0
  177. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/events.py +0 -0
  178. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/invocable.py +0 -0
  179. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/__init__.py +0 -0
  180. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/control.py +0 -0
  181. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/executor.py +0 -0
  182. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/lease.py +0 -0
  183. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/sink.py +0 -0
  184. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/store.py +0 -0
  185. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/ports/tools.py +0 -0
  186. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/reporting.py +0 -0
  187. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/status.py +0 -0
  188. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/core/workers.py +0 -0
  189. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/errors.py +0 -0
  190. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/mcp.py +0 -0
  191. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/observers.py +0 -0
  192. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/py.typed +0 -0
  193. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/__init__.py +0 -0
  194. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/capture.py +0 -0
  195. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/discovery.py +0 -0
  196. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/dispatch.py +0 -0
  197. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/registry.py +0 -0
  198. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/runtime/settings.py +0 -0
  199. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/skills/__init__.py +0 -0
  200. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/skills/bundle.py +0 -0
  201. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/testing.py +0 -0
  202. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/agentdeck/views.py +0 -0
  203. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/context7.json +0 -0
  204. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docker-compose.yml +0 -0
  205. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/00-project-index.md +0 -0
  206. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/agentdeck-prd.md +0 -0
  207. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/ai-agents/ai_agent_repository_alignment_research.md +0 -0
  208. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/ai-agents/harness_change_log.md +0 -0
  209. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/ai-agents/solutions_for_aligning_ai_agents.md +0 -0
  210. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/ai-agents/sota_style_alignment_findings.md +0 -0
  211. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/README.md +0 -0
  212. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/components/card.svg +0 -0
  213. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/components/spark.svg +0 -0
  214. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/components/wordmark.svg +0 -0
  215. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/contributor-merged.svg +0 -0
  216. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/contributor-welcome.svg +0 -0
  217. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/favicon.svg +0 -0
  218. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-black.svg +0 -0
  219. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-blue.svg +0 -0
  220. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-full.svg +0 -0
  221. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-mark.svg +0 -0
  222. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-traced-original.svg +0 -0
  223. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo-white.svg +0 -0
  224. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/logo.svg +0 -0
  225. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-a-master.svg +0 -0
  226. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-a-stylized-master.svg +0 -0
  227. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-card-a-preview.svg +0 -0
  228. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-card-a-preview.svg +0 -0
  229. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-cut-r28.svg +0 -0
  230. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-master.svg +0 -0
  231. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clean-fixed.svg +0 -0
  232. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-clearspace.svg +0 -0
  233. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-knockout.svg +0 -0
  234. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-locked.svg +0 -0
  235. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-primary-mark-v1-monochrome.svg +0 -0
  236. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/refine-brand/agentdeck-spark-master.svg +0 -0
  237. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/brand/social-card.svg +0 -0
  238. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/beta-user-report-v3.md +0 -0
  239. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/decision-v3-entry-point.md +0 -0
  240. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
  241. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/discoverability-baseline.md +0 -0
  242. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/docs-site-plan.md +0 -0
  243. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
  244. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/findings-register.md +0 -0
  245. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/milestone-0-findings.md +0 -0
  246. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
  247. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-166-delivery.md +0 -0
  248. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-219-delivery.md +0 -0
  249. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-adoption.md +0 -0
  250. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-context-injection.md +0 -0
  251. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-docs-ia.md +0 -0
  252. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-jack-eval.md +0 -0
  253. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-multimodal.md +0 -0
  254. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-phase4-deck.md +0 -0
  255. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-provider-credential-validation.md +0 -0
  256. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-skills.md +0 -0
  257. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-slop-comment-ratio.md +0 -0
  258. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/plan-v2-cutover.md +0 -0
  259. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/review-context-injection.md +0 -0
  260. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/review-phase4-deck.md +0 -0
  261. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/review-v3-outsider.md +0 -0
  262. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/roadmap-v3.1.md +0 -0
  263. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/roadmap-v3.md +0 -0
  264. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/delivery/workflow.md +0 -0
  265. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
  266. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/adr-d5-two-stores.md +0 -0
  267. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/agentdeck-v2-architecture.md +0 -0
  268. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/event-store-claims.md +0 -0
  269. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/execution-api-source.md +0 -0
  270. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/execution-api.md +0 -0
  271. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/README.md +0 -0
  272. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/agui.md +0 -0
  273. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/bindings.md +0 -0
  274. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/exposure.md +0 -0
  275. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/gateway.md +0 -0
  276. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/invariants.md +0 -0
  277. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/native-wire.md +0 -0
  278. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/projection.md +0 -0
  279. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/roadmap.md +0 -0
  280. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/rulings.md +0 -0
  281. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/protocols/spi.md +0 -0
  282. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/run-identity.md +0 -0
  283. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/run-lifecycle.md +0 -0
  284. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/run-operations.md +0 -0
  285. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design/sink-dispatch.md +0 -0
  286. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/design-system.md +0 -0
  287. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/README.md +0 -0
  288. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/architecture.md +0 -0
  289. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/coding-agents.md +0 -0
  290. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/coding-standards.md +0 -0
  291. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/dependencies.md +0 -0
  292. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/import-boundaries.md +0 -0
  293. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/principles.md +0 -0
  294. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/repository-policy.md +0 -0
  295. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/runtime-contracts.md +0 -0
  296. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/engineering/testing.md +0 -0
  297. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/patterns/README.md +0 -0
  298. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/patterns/comments.md +0 -0
  299. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/patterns/errors.md +0 -0
  300. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/patterns/lifecycle.md +0 -0
  301. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/patterns/tests.md +0 -0
  302. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/project-brief.md +0 -0
  303. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/prompts/pr0-baseline-prompt.md +0 -0
  304. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/prompts/pr0-review-prompt.md +0 -0
  305. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/prompts/pr1-event-schema-prompt.md +0 -0
  306. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs/spec.md +0 -0
  307. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/.env.development +0 -0
  308. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/.env.production +0 -0
  309. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/.gitignore +0 -0
  310. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/README.md +0 -0
  311. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
  312. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/announcement.tsx +0 -0
  313. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/brand-icons.tsx +0 -0
  314. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/brand.css +0 -0
  315. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/callout.tsx +0 -0
  316. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/contribute.tsx +0 -0
  317. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/deck-figure.tsx +0 -0
  318. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/design-system.tsx +0 -0
  319. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/diagram.tsx +0 -0
  320. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/docs-slugs.ts +0 -0
  321. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/hero.css +0 -0
  322. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/hero.tsx +0 -0
  323. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/icon.svg +0 -0
  324. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/install-line.tsx +0 -0
  325. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack-answer-link.tsx +0 -0
  326. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack-citations.ts +0 -0
  327. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack-live.tsx +0 -0
  328. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack-stream.ts +0 -0
  329. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack.css +0 -0
  330. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/jack.tsx +0 -0
  331. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/kind-icons.tsx +0 -0
  332. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/landing-components.tsx +0 -0
  333. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/landing.css +0 -0
  334. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/layout.tsx +0 -0
  335. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/mark.tsx +0 -0
  336. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/not-found.tsx +0 -0
  337. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/page-feedback.tsx +0 -0
  338. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/robots.ts +0 -0
  339. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/site.ts +0 -0
  340. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/sitemap.ts +0 -0
  341. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/app/toc-active.tsx +0 -0
  342. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/_meta.ts +0 -0
  343. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/_meta.ts +0 -0
  344. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/agui.mdx +0 -0
  345. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/index.mdx +0 -0
  346. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/native.mdx +0 -0
  347. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/serve.mdx +0 -0
  348. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/terminal.mdx +0 -0
  349. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/bindings/write-your-own.mdx +0 -0
  350. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/_meta.ts +0 -0
  351. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/context.mdx +0 -0
  352. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/deck.mdx +0 -0
  353. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/skills.mdx +0 -0
  354. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/build-your-deck/tools.mdx +0 -0
  355. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/_meta.ts +0 -0
  356. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/agent-with-a-skill.mdx +0 -0
  357. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/chat-agent-with-a-tool.mdx +0 -0
  358. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/chat-in-the-terminal.mdx +0 -0
  359. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/index.mdx +0 -0
  360. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/examples/run-events-stream.mdx +0 -0
  361. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/index.mdx +0 -0
  362. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/_meta.ts +0 -0
  363. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/existing-agents.mdx +0 -0
  364. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/mcp.mdx +0 -0
  365. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
  366. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/jack/_meta.ts +0 -0
  367. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/jack/notes.mdx +0 -0
  368. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/jack.mdx +0 -0
  369. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/_meta.ts +0 -0
  370. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
  371. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
  372. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/quickstart.mdx +0 -0
  373. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/meet-agentdeck/whats-new-6.mdx +0 -0
  374. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/operate/_meta.ts +0 -0
  375. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/operate/deployment.mdx +0 -0
  376. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/_meta.ts +0 -0
  377. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/cli.mdx +0 -0
  378. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/python-api.mdx +0 -0
  379. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/run.mdx +0 -0
  380. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/reference/settings.mdx +0 -0
  381. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/resources/_meta.ts +0 -0
  382. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/resources/known-issues.mdx +0 -0
  383. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/resources/migration-guides.mdx +0 -0
  384. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/resources/troubleshooting.mdx +0 -0
  385. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/_meta.ts +0 -0
  386. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/events.mdx +0 -0
  387. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/human-input.mdx +0 -0
  388. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
  389. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
  390. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/content/runs-and-control/runs.mdx +0 -0
  391. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/mdx-components.tsx +0 -0
  392. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/next.config.mjs +0 -0
  393. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/a-chevron.svg +0 -0
  394. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/card.svg +0 -0
  395. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/contributor-merged.svg +0 -0
  396. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/contributor-welcome.svg +0 -0
  397. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/favicon.svg +0 -0
  398. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-black.svg +0 -0
  399. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-blue.svg +0 -0
  400. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-full.svg +0 -0
  401. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-mark.svg +0 -0
  402. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-traced-original.svg +0 -0
  403. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo-white.svg +0 -0
  404. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/logo.svg +0 -0
  405. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/social-card.svg +0 -0
  406. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/spark.svg +0 -0
  407. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/brand/wordmark.svg +0 -0
  408. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/public/llms.txt +0 -0
  409. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/docs-site/tsconfig.json +0 -0
  410. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
  411. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
  412. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/README.md +0 -0
  413. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/agent-with-a-skill/run.py +0 -0
  414. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
  415. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/README.md +0 -0
  416. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/chat-agent-with-a-tool/run.py +0 -0
  417. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/chat-in-the-terminal/.agentdeck/workflows/shift_handover/workflow.py +0 -0
  418. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/chat-in-the-terminal/README.md +0 -0
  419. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/README.md +0 -0
  420. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/cloudflared.yml +0 -0
  421. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/eval.py +0 -0
  422. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/evals/__init__.py +0 -0
  423. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/evals/judge.py +0 -0
  424. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/evals/metrics.py +0 -0
  425. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/evals/run.py +0 -0
  426. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/evalset.py +0 -0
  427. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/jack/__init__.py +0 -0
  428. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/jack/agent.py +0 -0
  429. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/jack/corpus.py +0 -0
  430. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/jack/server.py +0 -0
  431. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/jack/session.py +0 -0
  432. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/jack/run.py +0 -0
  433. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/run-events-stream/README.md +0 -0
  434. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/examples/run-events-stream/run.py +0 -0
  435. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/changelog_position.py +0 -0
  436. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/check_commit_hygiene.py +0 -0
  437. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/concept_budget.py +0 -0
  438. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/generate_docs_reference.py +0 -0
  439. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/quality_delta.py +0 -0
  440. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/release_bump.py +0 -0
  441. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/repomap.py +0 -0
  442. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/slopcheck.py +0 -0
  443. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/sync_claude_to_codex.py +0 -0
  444. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/scripts/sync_roadmap.py +0 -0
  445. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/package-lock.json +0 -0
  446. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/package.json +0 -0
  447. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/agui_client/run_scenario.js +0 -0
  448. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/.importlinter +0 -0
  449. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/__init__.py +0 -0
  450. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/fixture_plugin/channel.py +0 -0
  451. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_agui_binding.py +0 -0
  452. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_contract.py +0 -0
  453. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_deck_verbs.py +0 -0
  454. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_gateway_boundary.py +0 -0
  455. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_native_binding.py +0 -0
  456. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_terminal_binding.py +0 -0
  457. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/bindings/test_three_bindings_one_deck.py +0 -0
  458. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/concurrency_worker.py +0 -0
  459. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/conftest.py +0 -0
  460. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/context_injection_subjects.py +0 -0
  461. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/case_types.py +0 -0
  462. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/conftest.py +0 -0
  463. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/context_subjects.py +0 -0
  464. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/contract_cases.py +0 -0
  465. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/live_stores.py +0 -0
  466. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/never_yields.py +0 -0
  467. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/openai_agents_cases.py +0 -0
  468. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_context_parity.py +0 -0
  469. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_control.py +0 -0
  470. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_control_port.py +0 -0
  471. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_event_stream.py +0 -0
  472. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_lease.py +0 -0
  473. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_resume.py +0 -0
  474. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/contract/test_store.py +0 -0
  475. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/conftest.py +0 -0
  476. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/agent.changed.json +0 -0
  477. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/answer.refused.json +0 -0
  478. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/artifact.created.json +0 -0
  479. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/control.observed.json +0 -0
  480. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/control.requested.json +0 -0
  481. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/custom.json +0 -0
  482. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/input.appended.json +0 -0
  483. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/message.completed.json +0 -0
  484. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/report.json +0 -0
  485. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.cancelled.json +0 -0
  486. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.completed.json +0 -0
  487. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.failed.json +0 -0
  488. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.interrupted.json +0 -0
  489. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.paused.json +0 -0
  490. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.resumed.json +0 -0
  491. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/run.started.json +0 -0
  492. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/text.delta.json +0 -0
  493. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/thought.delta.json +0 -0
  494. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/tool.call.completed.json +0 -0
  495. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/tool.call.started.json +0 -0
  496. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/snapshots/usage.reported.json +0 -0
  497. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_content.py +0 -0
  498. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_context.py +0 -0
  499. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_continuation.py +0 -0
  500. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_events.py +0 -0
  501. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_golden_json.py +0 -0
  502. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_import_law.py +0 -0
  503. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_model_config.py +0 -0
  504. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_old_reader_block_compat.py +0 -0
  505. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_old_reader_compat.py +0 -0
  506. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_reporting.py +0 -0
  507. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_run_lifecycle_tables.py +0 -0
  508. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/core/test_vocabularies_agree.py +0 -0
  509. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/crash_worker.py +0 -0
  510. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/event_log_checks.py +0 -0
  511. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/plays.py +0 -0
  512. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/project_executors.py +0 -0
  513. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_agent_changed.py +0 -0
  514. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_agent_model_resolution.py +0 -0
  515. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_authoring.py +0 -0
  516. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_bindings_binding.py +0 -0
  517. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_bindings_exposure.py +0 -0
  518. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_bindings_gateway.py +0 -0
  519. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_brand_assets.py +0 -0
  520. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_changelog.py +0 -0
  521. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_cli.py +0 -0
  522. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_commit_hygiene.py +0 -0
  523. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_composition.py +0 -0
  524. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_context_injection.py +0 -0
  525. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_context_validation.py +0 -0
  526. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_crash_reconciliation.py +0 -0
  527. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_docs_examples.py +0 -0
  528. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_docs_impact.py +0 -0
  529. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_docs_site.py +0 -0
  530. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_errors.py +0 -0
  531. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_examples.py +0 -0
  532. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_executor_plays.py +0 -0
  533. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_generated_reference.py +0 -0
  534. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_governance_workflows.py +0 -0
  535. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_handoff_ends_on_user_turn.py +0 -0
  536. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_handoff_round_trip.py +0 -0
  537. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_handoffs.py +0 -0
  538. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_instructions_and_hooks.py +0 -0
  539. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_invocable_registry.py +0 -0
  540. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_jack.py +0 -0
  541. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_jack_server.py +0 -0
  542. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_langfuse_sink.py +0 -0
  543. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_langfuse_tracer.py +0 -0
  544. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_mcp.py +0 -0
  545. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_mcp_tool_source.py +0 -0
  546. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_memory_store.py +0 -0
  547. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_model_providers.py +0 -0
  548. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_multiprocess_concurrency.py +0 -0
  549. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_observability.py +0 -0
  550. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_reconcile.py +0 -0
  551. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_sessions.py +0 -0
  552. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_openai_agents_tool_failure.py +0 -0
  553. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_package.py +0 -0
  554. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_postgres_store.py +0 -0
  555. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_public_surface.py +0 -0
  556. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_redis_store.py +0 -0
  557. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_release_bump.py +0 -0
  558. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_run_config_parity.py +0 -0
  559. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_run_control.py +0 -0
  560. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_run_reporting.py +0 -0
  561. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_runtime_service.py +0 -0
  562. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_settings.py +0 -0
  563. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_sink_dispatch.py +0 -0
  564. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_skills.py +0 -0
  565. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_sqlite_control_port.py +0 -0
  566. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_sqlite_store.py +0 -0
  567. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_streaming.py +0 -0
  568. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_subagents.py +0 -0
  569. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_sync_tool_workers.py +0 -0
  570. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_tool_compilation.py +0 -0
  571. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_uc3_slowpoke.py +0 -0
  572. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_views.py +0 -0
  573. {agentdeck_sdk-6.0.0 → agentdeck_sdk-6.0.2}/tests/test_web_search.py +0 -0
@@ -23,4 +23,6 @@ You implement one agentdeck GitHub issue end-to-end and open a PR.
23
23
 
24
24
  **Output style:** ≤25 words between tool calls; final response ≤100 words unless more detail is required.
25
25
 
26
- Return: PR URL, one-paragraph summary, `make check` status, and declared-vs-actual concept budget.
26
+ Return: PR URL, one-paragraph summary, `make check` status, the gate's docs-impact line
27
+ verbatim ("No mapped documentation pages are affected" counts; never invent one it did not
28
+ print), and declared-vs-actual concept budget.
@@ -94,8 +94,12 @@ including the coverage question. An unanswered question fails the stage.
94
94
 
95
95
  - Compact the PR body: it describes the change as it now stands, not the rounds that produced it.
96
96
  Delete abandoned design and justifications the code no longer needs.
97
- - CONSTRAINT: `make check` 100% green before `gh pr ready`. Consequence: `gh pr ready` on a red
98
- `make check` puts a red required check on the PR and it cannot merge.
97
+ - CONSTRAINT: run `export PR_BODY="$(gh pr view <n> --json body -q .body)" && make check`, 100%
98
+ green, before `gh pr ready`. Two consequences: a red `make check` shipped by `gh pr ready` puts a
99
+ red required check on the PR and it cannot merge; and without the export,
100
+ `scripts/check_docs_impact.py` reads an empty body, reports affected pages as unreviewed (or the
101
+ author never sees the list), so CI's required "Check affected documentation" goes red on a gate
102
+ believed clean (#602, #607, #617).
99
103
  - No attribution trailers anywhere.
100
104
 
101
105
  ## Answering a review
@@ -12,7 +12,9 @@ CONSTRAINT, answer in writing before the gate:
12
12
  > write the test.
13
13
 
14
14
  This is the question the other ten do not ask. All four `deck-dev` PRs of the v5.0.0 milestone
15
- tested what they built and not what they changed, and `make check` was green on every one:
15
+ tested what they built and not what they changed, and `make check` was green on every one: the
16
+ same blind spot covers its `docs impact:` line, which only reflects reality when Stage 4's
17
+ `PR_BODY` export ran.
16
18
 
17
19
  | PR | built and tested | created and not tested |
18
20
  |---|---|---|
@@ -27,3 +27,17 @@ updates:
27
27
  actions-minor-and-patch:
28
28
  patterns: ["*"]
29
29
  update-types: ["minor", "patch"]
30
+
31
+ # The two npm projects: docs-site's build and the AGUI conformance fixture's pinned client.
32
+ # Neither ships to a user, and `npm ci`'s own audit went unread into a captured pipe (#650),
33
+ # so this is where an npm advisory becomes something somebody sees.
34
+ - package-ecosystem: "npm"
35
+ directories:
36
+ - "/docs-site"
37
+ - "/tests/bindings/agui_client"
38
+ schedule:
39
+ interval: "weekly"
40
+ groups:
41
+ npm-minor-and-patch:
42
+ patterns: ["*"]
43
+ update-types: ["minor", "patch"]
@@ -8,8 +8,10 @@ __pycache__/
8
8
  .pytest_cache/
9
9
  .env
10
10
 
11
- # Claude Code agent worktrees
11
+ # Claude Code agent worktrees, and the local state its tooling writes beside them
12
12
  .claude/worktrees/
13
+ .claude/*.lock
14
+ .serena/
13
15
 
14
16
  # Local development container
15
17
  .devcontainer/
@@ -0,0 +1 @@
1
+ {"agentdeck.adapters.tools.mcp": 1788527440.0654876, "agentdeck.mcp": 1788527440.0672784, "agentdeck.core.ports.store": 1788527440.0672705, "agentdeck.adapters.tools.mcp.wiring": 1788527440.0655286, "agentdeck.bindings": 1788527440.066182, "agentdeck.adapters.executors.openai_agents.sessions": 1788527440.0639248, "agentdeck.adapters.stores": 1788527440.064489, "agentdeck.adapters.tools": 1788527440.0652597, "agentdeck.composition": 1788527440.066406, "agentdeck.bindings.gateway": 1788527440.066406, "agentdeck": 1788527440.0629313, "agentdeck.authoring.runners": 1788527440.0657735, "agentdeck.adapters.executors.native.executor": 1788527440.0637953, "agentdeck.authoring.skills": 1788527440.066182, "agentdeck.adapters.control": 1788527440.0634089, "agentdeck.cli": 1788527440.066406, "agentdeck.adapters.control.sqlite.port": 1788527440.063633, "agentdeck.core.ports.tools": 1788527440.0672705, "agentdeck.adapters.bindings.agui.binding": 1788527440.0631151, "agentdeck.runtime.registry": 1788527440.0681772, "agentdeck.core.ports.control": 1788527440.0672705, "agentdeck.adapters.leases.sqlite.port": 1788527440.064489, "agentdeck.authoring.interrupts": 1788527440.0657735, "agentdeck.core.ports.sink": 1788527440.0672705, "agentdeck.runtime.capture": 1788527440.0681772, "agentdeck.runtime.settings": 1788527440.0682783, "agentdeck.adapters.telemetry.langfuse.sink": 1788527440.0652597, "agentdeck.authoring": 1788527440.0655286, "agentdeck.core.content": 1788527440.0667868, "agentdeck.runtime": 1788527440.0672784, "agentdeck.testing": 1788527440.068847, "agentdeck.adapters.bindings": 1788527440.063022, "agentdeck.adapters.leases": 1788527440.064281, "agentdeck.runtime.discovery": 1788527440.0681772, "agentdeck.adapters.executors": 1788527440.063633, "agentdeck.runtime.service": 1788527440.0681772, "agentdeck.authoring.native": 1788527440.0657735, "agentdeck.adapters.executors.stub.executor": 1788527440.064281, "agentdeck.adapters.leases.memory.port": 1788527440.0644116, "agentdeck.adapters.control.memory": 1788527440.06352, "agentdeck.authoring.compile": 1788527440.0657735, "agentdeck.observers": 1788527440.0672784, "agentdeck.adapters.leases.memory": 1788527440.0643766, "agentdeck.bindings.terminal": 1788527440.066406, "agentdeck.core": 1788527440.066406, "agentdeck.adapters.executors.openai_agents.executor": 1788527440.0639248, "agentdeck.authoring.runners.agent": 1788527440.066182, "agentdeck.runtime.dispatch": 1788527440.0681772, "agentdeck.core.workers": 1788527440.0672705, "agentdeck.adapters.tools.mcp.transport": 1788527440.0655286, "agentdeck.adapters.control.sqlite": 1788527440.06356, "agentdeck.core.ports": 1788527440.0667868, "agentdeck.adapters.bindings.terminal.binding": 1788527440.0634089, "agentdeck.adapters.executors.native": 1788527440.063758, "agentdeck.bindings.native": 1788527440.066406, "agentdeck.core.ports.lease": 1788527440.0672705, "agentdeck.adapters.telemetry.langfuse.client": 1788527440.0652597, "agentdeck.authoring.tools": 1788527440.066182, "agentdeck.skills": 1788527440.0682783, "agentdeck.core.context": 1788527440.0667868, "agentdeck.adapters.tools.mcp.source": 1788527440.0655286, "agentdeck.adapters.telemetry.langfuse.trace": 1788527440.0652597, "agentdeck.adapters.stores.postgres": 1788527440.064635, "agentdeck.adapters.leases.sqlite": 1788527440.0644116, "agentdeck.adapters": 1788527440.0629313, "agentdeck.adapters.executors.openai_agents.reconcile": 1788527440.0639248, "agentdeck.skills.bundle": 1788527440.068847, "agentdeck.views": 1788527440.068847, "agentdeck.deck": 1788527440.0672784, "agentdeck.adapters.stores.postgres.store": 1788527440.0647597, "agentdeck.core.invocable": 1788527440.0667868, "agentdeck.core.base": 1788527440.0667868, "agentdeck.core.reporting": 1788527440.0672705, "agentdeck.adapters.stores.memory.store": 1788527440.064635, "agentdeck.authoring.agent": 1788527440.0657735, "agentdeck.core.ports.executor": 1788527440.0672705, "agentdeck.adapters.executors.openai_agents": 1788527440.0637953, "agentdeck.core.errors": 1788527440.0667868, "agentdeck.adapters.bindings.native.binding": 1788527440.0632992, "agentdeck.errors": 1788527440.0672784, "agentdeck.adapters.stores.memory": 1788527440.064598, "agentdeck.adapters.stores.sqlite.store": 1788527440.0650582, "agentdeck.adapters.telemetry.langfuse": 1788527440.0652184, "agentdeck.bindings.agui": 1788527440.066406, "agentdeck.adapters.executors.openai_agents.translate": 1788527440.0639248, "agentdeck.adapters.tools.mcp.lifecycle": 1788527440.0655286, "agentdeck.bindings.exposure": 1788527440.066406, "agentdeck.core.events": 1788527440.0667868, "agentdeck.adapters.executors.stub": 1788527440.0639248, "agentdeck.adapters.telemetry": 1788527440.0650582, "agentdeck.adapters.stores.redis.store": 1788527440.0649145, "agentdeck.adapters.stores.sqlite": 1788527440.0649145, "agentdeck.core.status": 1788527440.0672705, "agentdeck.authoring.web_search": 1788527440.066182, "agentdeck.bindings.binding": 1788527440.066406, "agentdeck.authoring.injection": 1788527440.0657735, "agentdeck.adapters.stores.redis": 1788527440.0647597, "agentdeck.adapters.bindings.native": 1788527440.0631151, "agentdeck.adapters.bindings.agui": 1788527440.0630713, "agentdeck.core.control": 1788527440.0667868, "agentdeck.adapters.executors.openai_agents.runconfig": 1788527440.0639248, "agentdeck.adapters.control.memory.port": 1788527440.06356, "agentdeck.adapters.bindings.agui.adapter": 1788527440.0631151, "agentdeck.adapters.bindings.terminal": 1788527440.0632992, "agentdeck.authoring.hooks": 1788527440.0657735, "agentdeck.authoring.instructions": 1788527440.0657735}
@@ -0,0 +1 @@
1
+ {"agentdeck.adapters.control.memory.port":[["agentdeck.core.ports.control",8,"from agentdeck.core.ports.control import ControlPort"],["__future__",5,"from __future__ import annotations"],["agentdeck.core.control",7,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.authoring.injection":[["inspect",29,"import inspect"],["agentdeck.errors",35,"from agentdeck.errors import ConfigError, ContextTypeError"],["types",30,"import types"],["agentdeck.core.context",34,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["collections",38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["dataclasses",31,"from dataclasses import dataclass"],["typing",32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["__future__",27,"from __future__ import annotations"]],"agentdeck.adapters.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",5,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.core.events":[["__future__",21,"from __future__ import annotations"],["agentdeck.core.base",36,"from agentdeck.core.base import CoreModel, JsonData"],["typing",23,"from typing import Annotated, Any, Literal, get_args"],["pydantic",25,"from pydantic import ("],["agentdeck.core.content",37,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"]],"agentdeck.adapters.executors.openai_agents.sessions":[["agentdeck.runtime.settings",30,"from agentdeck.runtime.settings import SessionSettings"],["agents",23,"from agents import SQLiteSession"],["redis",53,"from redis.asyncio import Redis"],["typing",21,"from typing import TYPE_CHECKING"],["redis",27,"from redis.asyncio import Redis"],["agents",26,"from agents.memory.session import Session"],["agents",68,"from agents.extensions.memory import RedisSession"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",19,"from __future__ import annotations"]],"agentdeck.adapters.executors":[],"agentdeck.adapters.tools.mcp.lifecycle":[["logging",20,"import logging"],["__future__",17,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.adapters.tools.mcp.transport",23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["agentdeck.errors",24,"from agentdeck.errors import ConfigError"],["asyncio",19,"import asyncio"],["collections",27,"from collections.abc import Sequence"],["agents",29,"from agents.mcp import MCPServer"]],"agentdeck.core.workers":[["typing",14,"from typing import TYPE_CHECKING, Any"],["concurrent",13,"from concurrent.futures import Future, ThreadPoolExecutor"],["collections",17,"from collections.abc import Callable"],["__future__",10,"from __future__ import annotations"],["asyncio",12,"import asyncio"]],"agentdeck.adapters.tools":[],"agentdeck.adapters.bindings.native.binding":[["logging",5,"import logging"],["agentdeck",12,"from agentdeck import RunStatus"],["starlette",8,"from starlette.applications import Starlette"],["typing",6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings",13,"from agentdeck.bindings import ("],["agentdeck.errors",21,"from agentdeck.errors import InputError, RunStateError, UnsupportedControlError"],["collections",24,"from collections.abc import AsyncIterator"],["starlette",9,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["agentdeck",28,"from agentdeck import Event, Run"],["starlette",26,"from starlette.requests import Request"],["__future__",3,"from __future__ import annotations"],["agentdeck.bindings",29,"from agentdeck.bindings import Binding"],["starlette",10,"from starlette.routing import Route"]],"agentdeck.authoring.native":[["typing",12,"from typing import TYPE_CHECKING, Any"],["agentdeck.errors",17,"from agentdeck.errors import ConfigError"],["dataclasses",11,"from dataclasses import dataclass"],["agentdeck.authoring.injection",22,"from agentdeck.authoring.injection import CallableAnalysis"],["collections",20,"from collections.abc import Callable"],["agentdeck.authoring.injection",14,"from agentdeck.authoring.injection import analyze_callable, describe_callable"],["agentdeck.core.context",15,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["inspect",10,"import inspect"],["agentdeck.core.invocable",16,"from agentdeck.core.invocable import InvocableKind, NativeExecution"],["__future__",8,"from __future__ import annotations"]],"agentdeck.adapters.bindings.agui.adapter":[["collections",44,"from collections.abc import Callable"],["agentdeck",40,"from agentdeck import AudioBlock, ImageBlock, ResourceBlock, TextBlock"],["json",8,"import json"],["ag_ui",46,"from ag_ui.core import InputContentPart, RunAgentInput"],["agentdeck",48,"from agentdeck import ContentBlock, Event"],["dataclasses",9,"from dataclasses import dataclass"],["__future__",6,"from __future__ import annotations"],["agentdeck.errors",41,"from agentdeck.errors import InputError"],["typing",10,"from typing import TYPE_CHECKING, Any"],["ag_ui",12,"from ag_ui.core import ("]],"agentdeck.core.content":[["agentdeck.core.base",26,"from agentdeck.core.base import CoreModel, JsonData"],["agentdeck.core.errors",170,"from agentdeck.core.errors import InputError"],["pydantic",16,"from pydantic import ("],["base64",13,"import base64"],["agentdeck.core.errors",195,"from agentdeck.core.errors import InputError"],["__future__",11,"from __future__ import annotations"],["typing",14,"from typing import Annotated, Any, Literal, get_args"]],"agentdeck.adapters.telemetry.langfuse.sink":[["asyncio",23,"import asyncio"],["agentdeck.core.content",51,"from agentdeck.core.content import Input"],["agentdeck.core.content",30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["agentdeck.core.ports",45,"from agentdeck.core.ports import Observer"],["collections",48,"from collections.abc import Mapping"],["logging",25,"import logging"],["agentdeck.core.events",31,"from agentdeck.core.events import ("],["typing",28,"from typing import TYPE_CHECKING, Any"],["dataclasses",27,"from dataclasses import dataclass, field"],["agentdeck.core.events",52,"from agentdeck.core.events import Event, Usage"],["agentdeck.adapters.telemetry.langfuse.trace",50,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["json",24,"import json"],["__future__",21,"from __future__ import annotations"],["re",26,"import re"]],"agentdeck.adapters.bindings.agui.binding":[["ag_ui",38,"from ag_ui.core import ResumeEntry"],["logging",8,"import logging"],["ag_ui",12,"from ag_ui.encoder import EventEncoder"],["agentdeck",41,"from agentdeck import Event, Run"],["starlette",39,"from starlette.requests import Request"],["agentdeck.bindings",42,"from agentdeck.bindings import Binding"],["agentdeck.errors",33,"from agentdeck.errors import ConfigError, InputError, RunStateError, UnsupportedControlError"],["agentdeck.bindings",25,"from agentdeck.bindings import ("],["agentdeck",18,"from agentdeck import RunStatus"],["starlette",15,"from starlette.responses import JSONResponse, Response, StreamingResponse"],["collections",36,"from collections.abc import AsyncIterator"],["ag_ui",11,"from ag_ui.core import RunAgentInput, RunErrorEvent, RunStartedEvent"],["agentdeck.adapters.bindings.agui.adapter",19,"from agentdeck.adapters.bindings.agui.adapter import ("],["__future__",5,"from __future__ import annotations"],["asyncio",7,"import asyncio"],["starlette",16,"from starlette.routing import Route"],["pydantic",13,"from pydantic import ValidationError as PydanticValidationError"],["starlette",14,"from starlette.applications import Starlette"],["typing",9,"from typing import TYPE_CHECKING, Any"]],"agentdeck.runtime.discovery":[["__future__",10,"from __future__ import annotations"],["agentdeck.runtime.registry",19,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["collections",22,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["agentdeck.authoring.agent",14,"from agentdeck.authoring.agent import Agent"],["agents",24,"from agents import Agent as SDKAgent"],["agentdeck.core.ports",28,"from agentdeck.core.ports import Executor"],["agentdeck.authoring.compile",27,"from agentdeck.authoring.compile import Delegate"],["typing",12,"from typing import TYPE_CHECKING, Any, Final"],["agentdeck.authoring.compile",15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["agentdeck.authoring.native",16,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.workers",29,"from agentdeck.core.workers import SyncToolWorkers"],["agents",25,"from agents.tool import FunctionTool"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"]],"agentdeck.bindings.gateway":[["agentdeck.errors",17,"from agentdeck.errors import ("],["inspect",10,"import inspect"],["typing",13,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.authoring.native",30,"from agentdeck.authoring.native import NativeDefinition"],["pydantic",15,"from pydantic import create_model"],["dataclasses",11,"from dataclasses import dataclass"],["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["enum",12,"from enum import Enum, auto"],["__future__",8,"from __future__ import annotations"],["agentdeck.deck",32,"from agentdeck.deck import Deck, Run"],["agentdeck.authoring",29,"from agentdeck.authoring import Agent"],["collections",27,"from collections.abc import Awaitable, Callable, Mapping, Sequence"]],"agentdeck.bindings.agui":[["agentdeck.adapters.bindings.agui.binding",10,"from agentdeck.adapters.bindings.agui.binding import AGUI"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.agent",3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.authoring.compile":[["typing",44,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.errors",57,"from agentdeck.errors import ConfigError, NotFoundError"],["agentdeck.core.workers",67,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.authoring.hooks",51,"from agentdeck.authoring.hooks import compile_hooks"],["collections",61,"from collections.abc import Awaitable, Callable, Mapping, Sequence"],["agentdeck.core.context",56,"from agentdeck.core.context import ToolCtx # noqa: TC001 - a subagent tool's own annotation, resolved at runtime"],["agents",46,"from agents import Agent as SDKAgent"],["agents",48,"from agents import Tool as SDKTool"],["agentdeck.authoring.agent",217,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agents",47,"from agents import ModelSettings"],["__future__",41,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.wiring",50,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agentdeck.authoring.instructions",52,"from agentdeck.authoring.instructions import compile_instructions"],["re",43,"import re"],["agents",63,"from agents.tool import FunctionTool"],["agentdeck.authoring.tools",55,"from agentdeck.authoring.tools import compile_tool"],["agentdeck.authoring.native",53,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.authoring.native",54,"from agentdeck.authoring.native import tool as _native_tool"],["agentdeck.authoring.agent",65,"from agentdeck.authoring.agent import Agent"],["agentdeck.runtime.settings",58,"from agentdeck.runtime.settings import get_settings"],["agentdeck.core.context",66,"from agentdeck.core.context import RunContext"]],"agentdeck.adapters.control.sqlite.port":[["contextlib",11,"from contextlib import suppress"],["functools",12,"from functools import partial"],["agentdeck.core.control",15,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",7,"from __future__ import annotations"],["sqlite3",10,"import sqlite3"],["typing",13,"from typing import TYPE_CHECKING"],["agentdeck.errors",17,"from agentdeck.errors import StoreError"],["collections",20,"from collections.abc import Callable"],["agentdeck.core.ports.control",16,"from agentdeck.core.ports.control import ControlPort"],["asyncio",9,"import asyncio"],["pathlib",21,"from pathlib import Path"]],"agentdeck.cli":[["sys",22,"import sys"],["agentdeck.deck",55,"from agentdeck.deck import Deck"],["agentdeck.adapters.control.sqlite",24,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.core.control",25,"from agentdeck.core.control import Signal"],["argparse",19,"import argparse"],["agentdeck.errors",56,"from agentdeck.errors import ConfigError"],["asyncio",20,"import asyncio"],["agentdeck.bindings",54,"from agentdeck.bindings import Terminal"],["__future__",17,"from __future__ import annotations"],["contextlib",21,"import contextlib"]],"agentdeck":[["agentdeck.authoring.native",15,"from agentdeck.authoring.native import tool, workflow"],["agentdeck.core.content",16,"from agentdeck.core.content import ("],["agentdeck.deck",29,"from agentdeck.deck import Deck, Run, TurnResult"],["agentdeck.core.ports",27,"from agentdeck.core.ports import Observer"],["agentdeck.core.invocable",26,"from agentdeck.core.invocable import AgentInstance"],["importlib",11,"from importlib.metadata import version as _version"],["importlib",10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.core.events",25,"from agentdeck.core.events import Event"],["agentdeck.core.context",24,"from agentdeck.core.context import ToolCtx, WorkflowCtx"],["agentdeck.core.status",28,"from agentdeck.core.status import RunStatus"],["agentdeck.views",13,"from agentdeck import views"],["agentdeck.authoring",14,"from agentdeck.authoring import Agent"]],"agentdeck.authoring.skills":[["agents",13,"from agents import function_tool"],["__future__",9,"from __future__ import annotations"],["agentdeck.skills",20,"from agentdeck.skills import Skills"],["agents",18,"from agents.tool import FunctionTool"],["typing",11,"from typing import TYPE_CHECKING"],["collections",16,"from collections.abc import Callable, Sequence"]],"agentdeck.runtime.registry":[["importlib",5,"import importlib"],["importlib",6,"import importlib.util"],["importlib",10,"from importlib.machinery import ModuleSpec"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableKind"],["sys",7,"import sys"],["__future__",3,"from __future__ import annotations"],["dataclasses",9,"from dataclasses import dataclass, field"],["typing",12,"from typing import TYPE_CHECKING, Generic, TypeVar"],["pathlib",11,"from pathlib import Path"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError, NotFoundError"],["types",8,"import types"]],"agentdeck.bindings.native":[["agentdeck.adapters.bindings.native.binding",10,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.composition":[["__future__",16,"from __future__ import annotations"],["logging",18,"import logging"],["agentdeck.adapters.control.memory",21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["datetime",42,"from datetime import timedelta"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["collections",41,"from collections.abc import Mapping, Sequence"],["agentdeck.adapters.stores.memory",26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.core.ports",45,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"],["agentdeck.runtime.settings",31,"from agentdeck.runtime.settings import ("],["agentdeck.runtime.discovery",29,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.adapters.stores.postgres",244,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.adapters.stores.sqlite",27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.observers",112,"from agentdeck.observers import LangfuseObserver"],["typing",19,"from typing import TYPE_CHECKING"],["agentdeck.adapters.leases.memory",24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.runtime.service",30,"from agentdeck.runtime.service import Runtime"],["agentdeck.core.errors",28,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.adapters.stores.redis",235,"from agentdeck.adapters.stores.redis import RedisEventStore"],["agentdeck.adapters.leases.sqlite",25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"]],"agentdeck.core.reporting":[["agentdeck.core.events",24,"from agentdeck.core.events import KnownPayload"],["collections",21,"from collections import deque"],["agentdeck.core.events",18,"from agentdeck.core.events import Reported"],["__future__",12,"from __future__ import annotations"],["threading",15,"import threading"],["logging",14,"import logging"],["agentdeck.core.base",23,"from agentdeck.core.base import JsonData"],["typing",16,"from typing import TYPE_CHECKING"]],"agentdeck.bindings":[["agentdeck.bindings.binding",8,"from agentdeck.bindings.binding import ("],["importlib",5,"from importlib import import_module"],["agentdeck.bindings.native",29,"from agentdeck.bindings.native import Native as Native"],["typing",6,"from typing import TYPE_CHECKING, Any"],["agentdeck.bindings.agui",28,"from agentdeck.bindings.agui import AGUI as AGUI"],["agentdeck.bindings.exposure",16,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.bindings.gateway",17,"from agentdeck.bindings.gateway import ("],["agentdeck.bindings.terminal",30,"from agentdeck.bindings.terminal import Terminal as Terminal"]],"agentdeck.runtime.service":[["agentdeck.core.events",62,"from agentdeck.core.events import InterruptReason, KnownPayload"],["typing",58,"from typing import Any"],["agentdeck.core.reporting",41,"from agentdeck.core.reporting import Reporter"],["dataclasses",19,"from dataclasses import dataclass, replace"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Mapping, Sequence"],["uuid",22,"from uuid import uuid4"],["agentdeck.errors",53,"from agentdeck.errors import ConfigError, InputError, NotFoundError, RunStateError, SessionBusyError, StoreError"],["logging",16,"import logging"],["contextlib",18,"from contextlib import aclosing, asynccontextmanager, suppress"],["asyncio",15,"import asyncio"],["agentdeck.core.events",28,"from agentdeck.core.events import ("],["agentdeck.core.errors",27,"from agentdeck.core.errors import DOCS_URL"],["agentdeck.core.context",25,"from agentdeck.core.context import RunContext"],["datetime",20,"from datetime import timedelta"],["agentdeck.runtime.dispatch",54,"from agentdeck.runtime.dispatch import SinkDispatch"],["agentdeck.core.control",26,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.invocable",63,"from agentdeck.core.invocable import InvocableSpec"],["typing",21,"from typing import TYPE_CHECKING, Final"],["agentdeck.core.control",61,"from agentdeck.core.control import ControlSignal"],["collections",17,"from collections import deque"],["agentdeck.core.status",42,"from agentdeck.core.status import ("],["__future__",13,"from __future__ import annotations"],["agentdeck.core.content",24,"from agentdeck.core.content import as_answer"],["agentdeck.core.ports.store",65,"from agentdeck.core.ports.store import RunSummary"],["agentdeck.core.content",60,"from agentdeck.core.content import Input"],["agentdeck.core.ports",64,"from agentdeck.core.ports import ControlPort, EventStorePort, Executor, LeasePort, Observer"]],"agentdeck.core.ports.sink":[["typing",10,"from typing import TYPE_CHECKING"],["__future__",7,"from __future__ import annotations"],["abc",9,"from abc import ABC, abstractmethod"],["agentdeck.core.events",13,"from agentdeck.core.events import Event"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.mcp":[["pathlib",13,"from pathlib import Path"],["json",12,"import json"],["pydantic",16,"from pydantic import BaseModel, ConfigDict, Field"],["typing",14,"from typing import Any"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp.source":[["agentdeck.core.ports.tools",14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.adapters.tools.mcp.wiring",13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["typing",11,"from typing import TYPE_CHECKING"],["__future__",9,"from __future__ import annotations"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.authoring.agent":[["__future__",10,"from __future__ import annotations"],["agents",18,"from agents.lifecycle import AgentHooks"],["collections",15,"from collections.abc import Callable, Mapping, Sequence"],["agents",17,"from agents.agent_output import AgentOutputSchemaBase"],["agentdeck.authoring.runners.agent",169,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["typing",12,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.compile",163,"from agentdeck.authoring.compile import compile_agent"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.core.ports.executor":[["typing",10,"from typing import TYPE_CHECKING, ClassVar"],["abc",9,"from abc import ABC, abstractmethod"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",16,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",17,"from agentdeck.core.events import Event, KnownPayload"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import Input"],["collections",13,"from collections.abc import AsyncGenerator, Sequence"]],"agentdeck.adapters.stores.sqlite.store":[["__future__",9,"from __future__ import annotations"],["functools",16,"from functools import partial"],["pathlib",28,"from pathlib import Path"],["contextlib",14,"from contextlib import suppress"],["agentdeck.core.ports",21,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["agentdeck.adapters.stores",19,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["agentdeck.core.status",32,"from agentdeck.core.status import RunStatus"],["typing",17,"from typing import TYPE_CHECKING"],["agentdeck.core.context",30,"from agentdeck.core.context import RunContext"],["datetime",27,"from datetime import timedelta"],["sqlite3",13,"import sqlite3"],["json",12,"import json"],["agentdeck.core.events",31,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["asyncio",11,"import asyncio"],["agentdeck.core.status",22,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["datetime",15,"from datetime import datetime"],["agentdeck.core.events",20,"from agentdeck.core.events import Event"],["agentdeck.errors",23,"from agentdeck.errors import DuplicateKeyError, StoreError"],["collections",26,"from collections.abc import Callable, Sequence"]],"agentdeck.core.invocable":[["typing",11,"from typing import TYPE_CHECKING, Any, Protocol, runtime_checkable"],["pydantic",13,"from pydantic import ConfigDict, Field"],["enum",10,"from enum import StrEnum"],["agentdeck.core.base",15,"from agentdeck.core.base import CoreModel"],["dataclasses",9,"from dataclasses import dataclass"],["collections",18,"from collections.abc import Callable"],["__future__",7,"from __future__ import annotations"]],"agentdeck.adapters.stores.postgres.store":[["agentdeck.errors",31,"from agentdeck.errors import DuplicateKeyError, StoreError"],["agentdeck.adapters.stores",27,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["agentdeck.core.ports",29,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",24,"from psycopg import errors as pg_errors"],["agentdeck.core.status",39,"from agentdeck.core.status import RunStatus"],["asyncio",19,"import asyncio"],["__future__",17,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.status",30,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["psycopg",25,"from psycopg import sql"],["datetime",35,"from datetime import timedelta"],["collections",34,"from collections.abc import Awaitable, Callable, Sequence"],["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["psycopg",23,"import psycopg"],["agentdeck.core.events",38,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["hashlib",20,"import hashlib"],["agentdeck.core.context",37,"from agentdeck.core.context import RunContext"]],"agentdeck.authoring.instructions":[["agentdeck.authoring.injection",23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["collections",28,"from collections.abc import Callable"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.context",24,"from agentdeck.core.context import RunContext, ToolCtx"],["inspect",20,"import inspect"],["agentdeck.errors",25,"from agentdeck.errors import ConfigError"],["__future__",18,"from __future__ import annotations"]],"agentdeck.errors":[["agentdeck.core.errors",11,"from agentdeck.core.errors import ("],["__future__",9,"from __future__ import annotations"]],"agentdeck.adapters.executors.openai_agents.executor":[["agentdeck.core.ports",29,"from agentdeck.core.ports import Executor"],["agents",36,"from agents.items import TResponseInputItem"],["agents",19,"from agents import Agent, Runner"],["agents",39,"from agents.usage import Usage as SDKUsage"],["typing",17,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.core.status",30,"from agentdeck.core.status import Play, continuation_of"],["__future__",10,"from __future__ import annotations"],["agentdeck.core.content",26,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agents",38,"from agents.result import RunResultStreaming"],["collections",14,"from collections.abc import Callable"],["pydantic",20,"from pydantic import BaseModel"],["agentdeck.core.events",28,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["agentdeck.adapters.executors.openai_agents.reconcile",22,"from agentdeck.adapters.executors.openai_agents.reconcile import reconcile, render_data_block"],["agentdeck.adapters.executors.openai_agents.translate",25,"from agentdeck.adapters.executors.openai_agents.translate import run_artifacts, translate"],["dataclasses",16,"from dataclasses import dataclass"],["agentdeck.adapters.executors.openai_agents.sessions",24,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore"],["agentdeck.core.events",43,"from agentdeck.core.events import Event, KnownPayload"],["contextlib",15,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["agentdeck.core.context",42,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",41,"from agentdeck.core.content import ContentBlock, Input"],["agents",37,"from agents.memory.session import Session"],["agentdeck.core.control",27,"from agentdeck.core.control import ControlSignalled"],["dataclasses",12,"import dataclasses"],["collections",34,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.errors",31,"from agentdeck.errors import ConfigError"],["json",13,"import json"]],"agentdeck.adapters.executors.openai_agents":[["agentdeck.adapters.executors.openai_agents.runconfig",6,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings"],["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.sessions",7,"from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore, SessionFactory"],["agentdeck.adapters.executors.openai_agents.executor",5,"from agentdeck.adapters.executors.openai_agents.executor import OpenAIAgentsExecutor"]],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.core.ports":[["agentdeck.core.ports.sink",14,"from agentdeck.core.ports.sink import Observer"],["agentdeck.core.ports.tools",16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.lease",13,"from agentdeck.core.ports.lease import LeasePort"],["agentdeck.core.ports.store",15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.control",11,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.ports.executor",12,"from agentdeck.core.ports.executor import Executor"]],"agentdeck.core.context":[["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["agentdeck.core.events",29,"from agentdeck.core.events import KnownPayload, RunInterrupted"],["agentdeck.core.control",27,"from agentdeck.core.control import Gate, RunPausedError"],["asyncio",36,"from asyncio import AbstractEventLoop"],["typing",24,"from typing import TYPE_CHECKING, Any, NoReturn, Protocol, cast, runtime_checkable"],["inspect",21,"import inspect"],["uuid",25,"from uuid import uuid4"],["collections",37,"from collections.abc import Callable, Coroutine"],["dataclasses",23,"from dataclasses import dataclass, field"],["agentdeck.core.reporting",30,"from agentdeck.core.reporting import Reporter"],["logging",22,"import logging"],["agentdeck.core.base",39,"from agentdeck.core.base import JsonData"],["asyncio",20,"import asyncio"],["__future__",18,"from __future__ import annotations"],["agentdeck.core.invocable",40,"from agentdeck.core.invocable import AgentInstance"],["agentdeck.core.errors",28,"from agentdeck.core.errors import DOCS_URL, ConfigError"]],"agentdeck.testing":[["contextlib",19,"from contextlib import contextmanager"],["threading",18,"import threading"],["agents",24,"from agents.items import ModelResponse"],["asyncio",16,"import asyncio"],["agents",26,"from agents.usage import Usage"],["http",20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["openai",36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["agents",25,"from agents.models.interface import Model"],["typing",21,"from typing import TYPE_CHECKING, Any"],["openai",27,"from openai.types.responses import ("],["unittest",22,"from unittest.mock import patch"],["json",17,"import json"],["__future__",14,"from __future__ import annotations"],["collections",39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"]],"agentdeck.adapters.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",5,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.adapters.bindings.native":[["agentdeck.adapters.bindings.native.binding",6,"from agentdeck.adapters.bindings.native.binding import Native"]],"agentdeck.runtime":[],"agentdeck.adapters.leases":[],"agentdeck.adapters.leases.memory.port":[["agentdeck.core.ports.lease",15,"from agentdeck.core.ports.lease import LeasePort"],["__future__",10,"from __future__ import annotations"],["datetime",19,"from datetime import timedelta"],["datetime",12,"from datetime import UTC, datetime"],["collections",18,"from collections.abc import Callable, Collection"],["typing",13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors.native":[["agentdeck.adapters.executors.native.executor",3,"from agentdeck.adapters.executors.native.executor import NativeExecutor"]],"agentdeck.core.control":[["enum",17,"from enum import StrEnum"],["__future__",13,"from __future__ import annotations"],["agentdeck.core.events",26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["time",15,"import time"],["agentdeck.core.status",21,"from agentdeck.core.status import Action, RunStatus, decide"],["dataclasses",16,"from dataclasses import dataclass"],["collections",24,"from collections.abc import Callable, Mapping"],["agentdeck.core.ports.control",27,"from agentdeck.core.ports.control import ControlPort"],["typing",18,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.core.events",20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"]],"agentdeck.adapters.stores.redis.store":[["agentdeck.adapters.stores",39,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["redis",49,"from redis.asyncio.client import Pipeline"],["urllib",34,"from urllib.parse import quote"],["agentdeck.core.events",40,"from agentdeck.core.events import Event"],["datetime",32,"from datetime import UTC, datetime"],["collections",46,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["__future__",29,"from __future__ import annotations"],["agentdeck.core.context",51,"from agentdeck.core.context import RunContext"],["datetime",47,"from datetime import timedelta"],["typing",33,"from typing import TYPE_CHECKING, cast"],["agentdeck.core.status",42,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.events",52,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["redis",36,"from redis.asyncio import Redis"],["json",31,"import json"],["agentdeck.core.ports",41,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.status",53,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",43,"from agentdeck.errors import DuplicateKeyError, StoreError"],["redis",37,"from redis.exceptions import RedisError, WatchError"]],"agentdeck.core.ports.control":[["typing",17,"from typing import TYPE_CHECKING"],["abc",16,"from abc import ABC, abstractmethod"],["__future__",14,"from __future__ import annotations"],["agentdeck.core.control",20,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.core.base":[["pydantic",12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["typing",10,"from typing import Annotated"],["math",9,"from math import isfinite"],["__future__",7,"from __future__ import annotations"]],"agentdeck.authoring.tools":[["agentdeck.errors",33,"from agentdeck.errors import ConfigError"],["agentdeck.core.context",32,"from agentdeck.core.context import RunContext, ToolCtx"],["inspect",26,"import inspect"],["asyncio",25,"import asyncio"],["agentdeck.core.workers",41,"from agentdeck.core.workers import SyncToolWorkers"],["collections",36,"from collections.abc import Callable"],["agents",29,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["agents",38,"from agents.tool import FunctionTool"],["typing",27,"from typing import TYPE_CHECKING, Any, get_type_hints"],["agentdeck.authoring.injection",40,"from agentdeck.authoring.injection import CallableAnalysis"],["__future__",23,"from __future__ import annotations"],["agentdeck.authoring.injection",31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"]],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.adapters.control":[],"agentdeck.authoring.web_search":[["agents",13,"from agents import function_tool"],["httpx",12,"import httpx"],["agentdeck.runtime.settings",15,"from agentdeck.runtime.settings import get_settings"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.adapters.executors.openai_agents.runconfig":[["__future__",15,"from __future__ import annotations"],["agents",28,"from agents.items import TResponseInputItem"],["os",17,"import os"],["openai",24,"from openai import AsyncOpenAI"],["agents",23,"from agents.models.multi_provider import MultiProviderMap"],["agents",22,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",18,"from dataclasses import dataclass"],["typing",19,"from typing import TYPE_CHECKING, Any, cast"],["agents",27,"from agents.handoffs import HandoffHistoryMapper"],["httpx",21,"import httpx"]],"agentdeck.adapters.telemetry.langfuse.trace":[["collections",18,"from collections.abc import Mapping"],["__future__",13,"from __future__ import annotations"],["typing",15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["agentdeck.core.events",20,"from agentdeck.core.events import Usage"]],"agentdeck.core.errors":[["agentdeck.core.status",20,"from agentdeck.core.status import RunStatus"],["typing",18,"from typing import Any"],["__future__",16,"from __future__ import annotations"]],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.sink",4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"],["agentdeck.adapters.telemetry.langfuse.client",3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"]],"agentdeck.adapters":[],"agentdeck.runtime.capture":[["pydantic",16,"from pydantic import BaseModel"],["__future__",12,"from __future__ import annotations"],["enum",14,"from enum import StrEnum"]],"agentdeck.core.ports.lease":[["typing",17,"from typing import TYPE_CHECKING"],["__future__",14,"from __future__ import annotations"],["collections",20,"from collections.abc import Collection"],["datetime",21,"from datetime import timedelta"],["abc",16,"from abc import ABC, abstractmethod"]],"agentdeck.adapters.bindings":[],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.status",12,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.events",20,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["collections",16,"from collections.abc import Callable, Sequence"],["agentdeck.core.events",10,"from agentdeck.core.events import Event"],["agentdeck.adapters.stores",9,"from agentdeck.adapters.stores import _refuse_if_cancelled"],["datetime",6,"from datetime import UTC, datetime"],["agentdeck.core.ports",11,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["__future__",3,"from __future__ import annotations"],["asyncio",5,"import asyncio"],["agentdeck.errors",13,"from agentdeck.errors import DuplicateKeyError"],["typing",7,"from typing import TYPE_CHECKING"],["datetime",17,"from datetime import timedelta"]],"agentdeck.core.status":[["__future__",17,"from __future__ import annotations"],["agentdeck.core.events",24,"from agentdeck.core.events import TERMINAL_KINDS, RunInterrupted, RunResumed"],["agentdeck.core.content",23,"from agentdeck.core.content import answer_of"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",29,"from agentdeck.core.events import Event"],["enum",20,"from enum import StrEnum"],["dataclasses",19,"from dataclasses import dataclass"],["collections",27,"from collections.abc import Mapping, Sequence"]],"agentdeck.skills.bundle":[["re",5,"import re"],["pathlib",7,"from pathlib import Path"],["typing",8,"from typing import Any"],["yaml",10,"import yaml"],["agentdeck.errors",12,"from agentdeck.errors import ConfigError"],["dataclasses",6,"from dataclasses import dataclass, field"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.source",6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"],["agentdeck.adapters.tools.mcp.lifecycle",5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.wiring",8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["agentdeck.adapters.tools.mcp.transport",7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",3,"from __future__ import annotations"]],"agentdeck.authoring.interrupts":[["typing",10,"from typing import Any, Literal, NotRequired, TypedDict"],["__future__",8,"from __future__ import annotations"]],"agentdeck.adapters.executors.native.executor":[["agentdeck.errors",23,"from agentdeck.errors import ConfigError, InputError"],["agentdeck.core.context",17,"from agentdeck.core.context import WorkflowCtx"],["agentdeck.core.workers",33,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Executor"],["agentdeck.core.events",30,"from agentdeck.core.events import Event, KnownPayload"],["dataclasses",13,"from dataclasses import dataclass, field"],["typing",14,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.core.events",19,"from agentdeck.core.events import RunCompleted, Usage"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import NativeExecution, NativeInvocable"],["asyncio",11,"import asyncio"],["agentdeck.core.invocable",31,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.status",32,"from agentdeck.core.status import Continuation"],["agentdeck.core.content",16,"from agentdeck.core.content import DataBlock, answer_of, coerce_input"],["agentdeck.core.status",22,"from agentdeck.core.status import SUSPENDED_KINDS, Play, continuation_of"],["__future__",9,"from __future__ import annotations"],["agentdeck.core.content",28,"from agentdeck.core.content import Input"],["agentdeck.core.context",29,"from agentdeck.core.context import Agents, Invoker, RunContext"],["collections",26,"from collections.abc import AsyncGenerator, Sequence"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["contextlib",12,"from contextlib import suppress"]],"agentdeck.bindings.exposure":[["starlette",79,"from starlette.routing import Mount"],["agentdeck.bindings.binding",19,"from agentdeck.bindings.binding import Binding, Endpoint"],["collections",8,"from collections import Counter"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError"],["uvicorn",106,"import uvicorn"],["typing",10,"from typing import TYPE_CHECKING, Any"],["__future__",5,"from __future__ import annotations"],["starlette",78,"from starlette.applications import Starlette"],["contextlib",9,"from contextlib import asynccontextmanager"],["asyncio",7,"import asyncio"],["agentdeck.bindings.gateway",13,"from agentdeck.bindings.gateway import DeckGateway"],["agentdeck.deck",20,"from agentdeck.deck import Deck"],["collections",17,"from collections.abc import AsyncIterator, Sequence"],["agentdeck.bindings.binding",12,"from agentdeck.bindings.binding import PROTOCOL_SPI_VERSION, HttpEndpoint, StdioEndpoint"]],"agentdeck.adapters.stores":[["__future__",3,"from __future__ import annotations"],["agentdeck.core.context",11,"from agentdeck.core.context import RunContext"],["agentdeck.errors",8,"from agentdeck.errors import RunStateError"],["typing",5,"from typing import TYPE_CHECKING"],["agentdeck.core.status",7,"from agentdeck.core.status import RunStatus"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.adapters.executors.openai_agents.translate":[["__future__",10,"from __future__ import annotations"],["logging",14,"import logging"],["hashlib",12,"import hashlib"],["agents",20,"from agents.items import ToolCallItem, ToolCallOutputItem"],["typing",17,"from typing import TYPE_CHECKING, Any"],["json",13,"import json"],["agentdeck.core.content",24,"from agentdeck.core.content import ContentBlock, ImageBlock, ResourceBlock"],["re",15,"import re"],["urllib",18,"from urllib.parse import unquote_to_bytes"],["pydantic",22,"from pydantic import ValidationError"],["agents",21,"from agents.tool import ToolOutputFileContent, ToolOutputImage"],["base64",16,"from base64 import b64encode"],["collections",36,"from collections.abc import Iterator, Sequence"],["agentdeck.core.events",25,"from agentdeck.core.events import ("]],"agentdeck.adapters.leases.sqlite.port":[["agentdeck.errors",23,"from agentdeck.errors import StoreError"],["typing",20,"from typing import TYPE_CHECKING"],["pathlib",28,"from pathlib import Path"],["agentdeck.core.ports.lease",22,"from agentdeck.core.ports.lease import LeasePort"],["__future__",14,"from __future__ import annotations"],["sqlite3",17,"import sqlite3"],["datetime",27,"from datetime import timedelta"],["asyncio",16,"import asyncio"],["contextlib",18,"from contextlib import suppress"],["functools",19,"from functools import partial"],["collections",26,"from collections.abc import Callable, Collection"]],"agentdeck.skills":[["__future__",10,"from __future__ import annotations"],["agentdeck.errors",16,"from agentdeck.errors import ConfigError, NotFoundError"],["typing",13,"from typing import TYPE_CHECKING"],["pathlib",12,"from pathlib import Path"],["collections",20,"from collections.abc import Sequence"],["agentdeck.skills.bundle",17,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["agentdeck.core.errors",15,"from agentdeck.core.errors import DOCS_URL"]],"agentdeck.core.ports.tools":[["agentdeck.core.invocable",22,"from agentdeck.core.invocable import InvocableSpec"],["typing",15,"from typing import TYPE_CHECKING, Any"],["__future__",12,"from __future__ import annotations"],["pydantic",17,"from pydantic import ConfigDict"],["agentdeck.core.base",19,"from agentdeck.core.base import CoreModel"],["abc",14,"from abc import ABC, abstractmethod"]],"agentdeck.authoring":[["agentdeck.authoring.agent",7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"],["agentdeck.authoring.interrupts",8,"from agentdeck.authoring.interrupts import InterruptResult"]],"agentdeck.adapters.tools.mcp.wiring":[["__future__",8,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.lifecycle",12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agents",17,"from agents.mcp import MCPServer"],["typing",10,"from typing import TYPE_CHECKING"],["collections",15,"from collections.abc import Iterable, Sequence"]],"agentdeck.adapters.telemetry":[],"agentdeck.authoring.runners.agent":[["__future__",15,"from __future__ import annotations"],["agentdeck.adapters.executors.openai_agents.runconfig",23,"from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config"],["contextlib",17,"from contextlib import aclosing"],["dataclasses",18,"from dataclasses import dataclass, field"],["agentdeck.runtime.settings",24,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["agents",21,"from agents import Agent, RunConfig, Runner, RunResult"],["collections",27,"from collections.abc import AsyncGenerator, AsyncIterator"],["typing",19,"from typing import TYPE_CHECKING, Any, Self, cast"]],"agentdeck.adapters.telemetry.langfuse.client":[["os",16,"import os"],["agentdeck.adapters.telemetry.langfuse.trace",24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"],["__future__",13,"from __future__ import annotations"],["collections",22,"from collections.abc import Mapping"],["agentdeck.adapters.telemetry.langfuse.sink",19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["langfuse",60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["langfuse",102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["typing",17,"from typing import TYPE_CHECKING, Any"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import LangfuseSettings"],["agentdeck.core.events",25,"from agentdeck.core.events import Usage"],["logging",15,"import logging"]],"agentdeck.core":[["agentdeck.core.context",20,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",21,"from agentdeck.core.events import ("],["agentdeck.core.content",7,"from agentdeck.core.content import ("],["agentdeck.core.status",57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.reporting",56,"from agentdeck.core.reporting import Reporter"],["agentdeck.core.invocable",55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"]],"agentdeck.adapters.bindings.terminal.binding":[["uuid",16,"from uuid import uuid4"],["asyncio",11,"import asyncio"],["contextlib",12,"import contextlib"],["sys",13,"import sys"],["__future__",9,"from __future__ import annotations"],["agentdeck",22,"from agentdeck import Event, Run"],["typing",15,"from typing import TYPE_CHECKING, Any, TextIO"],["agentdeck.bindings",23,"from agentdeck.bindings import Binding"],["agentdeck.errors",19,"from agentdeck.errors import ConfigError, InputError, RunStateError"],["threading",14,"import threading"],["agentdeck.bindings",18,"from agentdeck.bindings import PROTOCOL_SPI_VERSION, BindingInfo, DeckGateway, StdioEndpoint"]],"agentdeck.adapters.executors.stub.executor":[["agentdeck.core.status",22,"from agentdeck.core.status import Play, continuation_of"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["collections",26,"from collections.abc import AsyncGenerator"],["agentdeck.core.events",19,"from agentdeck.core.events import RunInterrupted"],["typing",16,"from typing import TYPE_CHECKING, ClassVar"],["agentdeck.errors",23,"from agentdeck.errors import ConfigError"],["agentdeck.core.content",28,"from agentdeck.core.content import Input"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Executor"],["collections",15,"from collections.abc import Sequence"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",30,"from agentdeck.core.events import Event, KnownPayload"],["__future__",13,"from __future__ import annotations"]],"agentdeck.adapters.executors.stub":[["agentdeck.adapters.executors.stub.executor",3,"from agentdeck.adapters.executors.stub.executor import Step, StubExecutor, stub_spec"]],"agentdeck.bindings.binding":[["dataclasses",8,"from dataclasses import dataclass"],["agentdeck.bindings.gateway",14,"from agentdeck.bindings.gateway import DeckGateway"],["__future__",6,"from __future__ import annotations"],["typing",9,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["collections",12,"from collections.abc import Awaitable, Callable"]],"agentdeck.runtime.settings":[["collections",17,"from collections.abc import Mapping"],["collections",28,"from collections.abc import Callable"],["logging",15,"import logging"],["pydantic_settings",25,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["pydantic",24,"from pydantic import BaseModel, ConfigDict, Field, field_validator"],["datetime",18,"from datetime import timedelta"],["os",16,"import os"],["typing",21,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["dotenv",23,"from dotenv import load_dotenv"],["functools",19,"from functools import lru_cache"],["pathlib",20,"from pathlib import Path"],["__future__",13,"from __future__ import annotations"]],"agentdeck.bindings.terminal":[["agentdeck.adapters.bindings.terminal.binding",9,"from agentdeck.adapters.bindings.terminal.binding import Terminal"]],"agentdeck.runtime.dispatch":[["collections",29,"from collections.abc import Callable"],["__future__",21,"from __future__ import annotations"],["asyncio",23,"import asyncio"],["logging",24,"import logging"],["agentdeck.core.ports",32,"from agentdeck.core.ports import Observer"],["typing",26,"from typing import TYPE_CHECKING"],["agentdeck.core.events",31,"from agentdeck.core.events import Event"],["time",25,"import time"]],"agentdeck.views":[["__future__",14,"from __future__ import annotations"],["agentdeck.core.events",23,"from agentdeck.core.events import Event"],["agentdeck.core.status",18,"from agentdeck.core.status import LIFECYCLE_KINDS"],["collections",21,"from collections.abc import Callable"],["typing",16,"from typing import TYPE_CHECKING"]],"agentdeck.observers":[["agentdeck.core.events",26,"from agentdeck.core.events import Event"],["pathlib",18,"from pathlib import Path"],["openinference",42,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.runtime.settings",23,"from agentdeck.runtime.settings import get_settings"],["agentdeck.views",27,"from agentdeck.views import View"],["__future__",16,"from __future__ import annotations"],["agentdeck.adapters.telemetry.langfuse.client",116,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["agentdeck.errors",22,"from agentdeck.errors import ConfigError"],["agents",41,"from agents import set_trace_processors"],["agentdeck.core.ports",21,"from agentdeck.core.ports import Observer"],["typing",19,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.executors.openai_agents.reconcile":[["agentdeck.core.events",42,"from agentdeck.core.events import Event"],["weakref",30,"from weakref import WeakKeyDictionary"],["json",27,"import json"],["agents",38,"from agents.items import TResponseInputItem"],["typing",29,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.core.events",33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"],["agents",39,"from agents.memory.session import Session"],["collections",36,"from collections.abc import Iterable, Sequence"],["agentdeck.core.content",41,"from agentdeck.core.content import Input"],["logging",28,"import logging"],["asyncio",26,"import asyncio"],["__future__",24,"from __future__ import annotations"],["agentdeck.core.content",32,"from agentdeck.core.content import DataBlock, TextBlock"]],"agentdeck.authoring.hooks":[["agents",24,"from agents.lifecycle import AgentHooks"],["agentdeck.authoring.injection",26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["inspect",21,"import inspect"],["__future__",19,"from __future__ import annotations"],["typing",22,"from typing import TYPE_CHECKING, Any"],["agentdeck.errors",28,"from agentdeck.errors import ConfigError"],["agentdeck.core.context",27,"from agentdeck.core.context import RunContext, ToolCtx"],["collections",31,"from collections.abc import Callable"]],"agentdeck.deck":[["agentdeck.mcp",88,"from agentdeck.mcp import MCP"],["agentdeck.adapters.executors.native",48,"from agentdeck.adapters.executors.native import NativeExecutor"],["agentdeck.core.context",65,"from agentdeck.core.context import RunContext"],["typing",46,"from typing import TYPE_CHECKING, Any, Literal, cast"],["agentdeck.runtime.settings",91,"from agentdeck.runtime.settings import Settings, get_settings"],["asyncio",38,"import asyncio"],["agentdeck.authoring.agent",51,"from agentdeck.authoring.agent import Agent"],["logging",40,"import logging"],["agentdeck.errors",79,"from agentdeck.errors import ("],["agentdeck.adapters.tools.mcp.lifecycle",50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.core.status",77,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Controls, Operation, RunStatus, Verdict, can_of"],["agentdeck.composition",57,"from agentdeck.composition import ("],["types",45,"from types import MappingProxyType"],["agentdeck.runtime.service",106,"from agentdeck.runtime.service import PendingRun, Runtime"],["functools",39,"import functools"],["agentdeck.core.events",104,"from agentdeck.core.events import Event, Usage"],["agentdeck.bindings.exposure",102,"from agentdeck.bindings.exposure import Exposure"],["builtins",95,"import builtins"],["__future__",36,"from __future__ import annotations"],["agentdeck.skills",92,"from agentdeck.skills import Skills"],["agentdeck.authoring.interrupts",100,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.interrupts",54,"from agentdeck.authoring.interrupts import interrupt_result"],["uuid",41,"import uuid"],["collections",96,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["agentdeck.authoring.native",55,"from agentdeck.authoring.native import NativeDefinition"],["agentdeck.core.content",103,"from agentdeck.core.content import Input"],["agentdeck.authoring.compile",52,"from agentdeck.authoring.compile import compile_agent, refresh_mcp_status"],["agentdeck.runtime.registry",90,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.authoring.skills",56,"from agentdeck.authoring.skills import skills_resolver"],["agentdeck.bindings.binding",101,"from agentdeck.bindings.binding import Binding"],["collections",42,"from collections import ChainMap"],["agentdeck.core.workers",78,"from agentdeck.core.workers import SyncToolWorkers"],["agentdeck.bindings.exposure",686,"from agentdeck.bindings.exposure import Exposure"],["agentdeck.core.events",67,"from agentdeck.core.events import ("],["agentdeck.authoring.injection",53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.adapters.executors.openai_agents",49,"from agentdeck.adapters.executors.openai_agents import ExecutionStore, OpenAIAgentsExecutor, SessionFactory"],["agentdeck.core.control",66,"from agentdeck.core.control import Signal"],["agents",98,"from agents.memory.session import Session"],["agentdeck.core.ports",105,"from agentdeck.core.ports import EventStorePort, Executor"],["pathlib",44,"from pathlib import Path"],["agentdeck.core.invocable",75,"from agentdeck.core.invocable import AgentInstance, InvocableKind, InvocableSpec"],["agentdeck.core.ports",76,"from agentdeck.core.ports import Observer"],["agentdeck.runtime.discovery",89,"from agentdeck.runtime.discovery import EXECUTOR_FOR_KIND, InvocableRegistry"],["agentdeck.core.content",64,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["contextlib",43,"from contextlib import aclosing, suppress"]],"agentdeck.core.ports.store":[["typing",11,"from typing import TYPE_CHECKING"],["datetime",17,"from datetime import timedelta"],["dataclasses",10,"from dataclasses import dataclass"],["abc",9,"from abc import ABC, abstractmethod"],["collections",16,"from collections.abc import Sequence"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.status",13,"from agentdeck.core.status import RunStatus, status_of"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",20,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"]],"agentdeck.adapters.tools.mcp.transport":[["contextlib",13,"from contextlib import AsyncExitStack, suppress"],["__future__",9,"from __future__ import annotations"],["asyncio",11,"import asyncio"],["agents",17,"from agents.mcp import MCPServerStreamableHttp"],["collections",20,"from collections.abc import Awaitable, Callable"],["typing",14,"from typing import TYPE_CHECKING, Any, TypeVar"],["httpx",16,"import httpx"],["logging",12,"import logging"]]}
@@ -8,6 +8,58 @@ Fixed / Security` order - and are written to be attached to a release as-is.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [6.0.2] - 2026-09-04
12
+
13
+ ### Fixed
14
+
15
+ - **A `ctx.invoke` child run's events reach an `Observer` under its parent's session** (#491). A
16
+ sink bucketing by conversation now sees the child's `run.started` / `usage.reported` /
17
+ `run.completed` under it, instead of losing them to a process-wide session-less bucket shared
18
+ with every other conversation's children. Live sinks only, and attribution only: the child's
19
+ stored rows stay session-less, so it still claims no session, is still played with its own
20
+ history, and still contributes nothing to the conversation's transcript. Read a stored child
21
+ back through `run.started.parent_run_id`.
22
+ - **A workflow sharing a conversation's `session_id` no longer duplicates its input into the
23
+ agent's next prompt** (#490). Only an agent turn is a conversational turn: a workflow or tool
24
+ run passed the same `session_id` joins that conversation's event stream, so an operator
25
+ surface keyed by the session sees it, but its input is an orchestration argument and never
26
+ reaches the model as something the user said. "Enrich, then answer" on one session is now the
27
+ one obvious path, with no derived `<session>|step` id to invent.
28
+ One limit, for a conversation that already ran a workflow on a shared `session_id` under an
29
+ earlier release: that release replayed the workflow's input into the engine's session, which
30
+ the transcript no longer counts, so the two disagree from that message on. Such a session
31
+ reports `openai_agents.session_diverged` on every later turn and skips crash repair, the
32
+ reconciliation that replays a message the log recorded and a killed process never wrote. Turns
33
+ themselves are unaffected, and nothing is written into a session AgentDeck cannot account for.
34
+ Reset one with `await deck.session_for("<session-id>").clear_session()`, which drops that
35
+ conversation's engine-side memory (the event log is untouched), or move the conversation to a
36
+ new `session_id`. A session that never shared a workflow run is unaffected.
37
+
38
+ ## [6.0.1] - 2026-09-04
39
+
40
+ ### Changed
41
+
42
+ - **A completed run reports the artifacts it produced** (#636). `run.completed`'s
43
+ `output: list[ContentBlock]` now leads with the media the run made - a hosted
44
+ `ImageGenerationTool` image, a rich tool's image or file - and closes with the final text or
45
+ structured block, so a channel can send the image and caption it from one result instead of
46
+ reassembling it from executor events. Nothing else from the transcript is promoted, and a
47
+ text-only run is byte for byte what it was. The inline cap on `ImageBlock`/`AudioBlock` moves
48
+ from 1 MB to 8 MB decoded, because a generated PNG does not fit under 1 MB.
49
+
50
+ ### Fixed
51
+
52
+ - **A `@workflow` returning content blocks crashed its own run** (#636). Anything other than a
53
+ `TextBlock` or `DataBlock` was wrapped in a `DataBlock` that could not hold it; a body may now
54
+ return any list of blocks and `run` hands back exactly those blocks.
55
+
56
+ - **`ctx.invoke`'s return shape was undocumented.** `await ctx.invoke(<agent>)` resolves to a
57
+ `TurnResult` (value at `.output`), `await ctx.invoke(<tool|workflow>)` resolves to the body's
58
+ return value directly, and `ctx.parallel(...)` resolves to a list of each handle's own result,
59
+ never to handles. `build-your-deck/workflows` now states all three, and
60
+ `WorkflowCtx.invoke`'s docstring no longer claims the body's return value unconditionally
61
+ (#489).
62
+
11
63
  ## [6.0.0] - 2026-09-03
12
64
 
13
65
  ### Added
@@ -2707,7 +2759,9 @@ documentation platform and its CI.
2707
2759
  `runtime/tools.py`, `PluginRegistry.pick`, `skill_runtime` LLM/batch
2708
2760
  helpers; deps typer, rich, prompt-toolkit.
2709
2761
 
2710
- [Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.0...HEAD
2762
+ [Unreleased]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.2...HEAD
2763
+ [6.0.2]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.1...v6.0.2
2764
+ [6.0.1]: https://github.com/agentdecksdk/agentdeck/compare/v6.0.0...v6.0.1
2711
2765
  [6.0.0]: https://github.com/agentdecksdk/agentdeck/compare/v5.2.1...v6.0.0
2712
2766
  [5.2.1]: https://github.com/agentdecksdk/agentdeck/compare/v5.2.0...v5.2.1
2713
2767
  [5.2.0]: https://github.com/agentdecksdk/agentdeck/compare/v5.1.0...v5.2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentdeck-sdk
3
- Version: 6.0.0
3
+ Version: 6.0.2
4
4
  Summary: Build agents, tools and workflows as normal software, and serve them through bindings: one Deck, reachable over its own HTTP wire, the terminal and AG-UI, with the same runs and controls everywhere.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -13,7 +13,7 @@ from contextlib import suppress
13
13
  from dataclasses import dataclass, field
14
14
  from typing import TYPE_CHECKING, Any, ClassVar
15
15
 
16
- from agentdeck.core.content import DataBlock, TextBlock, answer_of
16
+ from agentdeck.core.content import DataBlock, answer_of, coerce_input
17
17
  from agentdeck.core.context import WorkflowCtx
18
18
  from agentdeck.core.control import ControlSignalled
19
19
  from agentdeck.core.events import RunCompleted, Usage
@@ -301,12 +301,12 @@ def _as_output(result: Any) -> Input:
301
301
 
302
302
  A value, so a data block - a string included, because what a workflow returns is its result
303
303
  and not a message to a person. Content a body built itself is the one exception, and passes
304
- through as the blocks it already is.
304
+ through as the blocks it already is: every block type, since a body that assembled an image
305
+ knew what it was returning, and wrapping one in a ``DataBlock`` raised on the way out (#636).
305
306
  """
306
307
  if isinstance(result, list) and result:
307
- blocks: Input = [block for block in result if isinstance(block, TextBlock | DataBlock)]
308
- if len(blocks) == len(result):
309
- return blocks
308
+ with suppress(InputError):
309
+ return coerce_input(result)
310
310
  return [DataBlock(data=result)]
311
311
 
312
312
 
@@ -1,34 +1,10 @@
1
1
  """The openai-agents engine: ``Executor`` over ``agents.Runner``.
2
2
 
3
- ``spec.native`` is the pre-built ``agents.Agent`` (handoffs and tools included) - this
4
- adapter only runs it and translates its stream, per ``core/ports/engine.py``. Execution
5
- state (the SDK session) is engine-private (ADR-D5): the session, not the log, is what
6
- feeds the model. The log passed in as ``history`` is read for exactly one purpose - the
7
- turn-start reconciliation in ``reconcile.py``, which repairs a session left behind by a
8
- crash between the log write and the session write.
9
-
10
- Input is multimodal (``_to_sdk_input`` maps ``TextBlock``/``ImageBlock``/``AudioBlock``/
11
- ``DataBlock`` onto the SDK's own canonical parts); output is not. Nothing in this run loop
12
- produces an image or audio block - ``_run_completed`` only ever builds
13
- ``TextBlock``/``DataBlock`` - so an agent can *see* a photo or a voice note and never *return*
14
- one. Audio is chat-completions only: at the pinned ``openai-agents==0.17.0``/``openai==2.32.0``,
15
- the Responses API's content list has no audio member, so an ``AudioBlock`` under
16
- ``use_responses=True`` raises rather than reaching the endpoint and coming back as an opaque 400.
17
-
18
- A ``DataBlock`` renders as its own ``input_text`` part (``reconcile.render_data_block``:
19
- ``json.dumps(block.data, ensure_ascii=False)``, nothing wrapped around it - see ``_part_of``).
20
- Each block is already a separate entry in the SDK's content list, so the boundary between it and
21
- a neighbouring ``TextBlock`` is the API's own, not a delimiter this adapter invents - there is no
22
- paired open/close token embedded data could spoof to escape early, the way a hand-rolled
23
- ``<context>...</context>`` preamble can be broken by a value that contains ``</context>``.
24
- ``ResourceBlock`` still raises: a URI is a pointer, not content, and rendering just the pointer
25
- would let a caller believe the model saw the bytes at that address when it never fetched them.
26
-
27
- The renderer lives in ``reconcile.py``, not here: a ``DataBlock`` now produces the same
28
- ``{"type": "input_text", "text": ...}`` shape a real ``TextBlock`` does, so the SDK session
29
- stores it indistinguishably from one - and ``reconcile``'s log-side transcript has to render it
30
- identically, or a turn that carried a ``DataBlock`` would look like a permanent divergence on
31
- every later turn. One function, called from both sides, is what keeps that from drifting.
3
+ ``spec.native`` is the pre-built ``agents.Agent`` (handoffs and tools included): this adapter only runs it and
4
+ translates its stream, per ``core/ports/engine.py``. Execution state (the SDK session) is engine-private
5
+ (ADR-D5); the ``history`` passed in is read only for the turn-start reconciliation in ``reconcile.py``. Both
6
+ directions are multimodal: ``_to_sdk_input`` maps blocks onto the SDK's own canonical parts (``_part_of`` names
7
+ the two it refuses and why), and ``_run_completed`` leads with the artifacts ``run_artifacts`` found (#636).
32
8
  """
33
9
 
34
10
  from __future__ import annotations
@@ -46,7 +22,7 @@ from pydantic import BaseModel
46
22
  from agentdeck.adapters.executors.openai_agents.reconcile import reconcile, render_data_block
47
23
  from agentdeck.adapters.executors.openai_agents.runconfig import RunSettings, build_run_config
48
24
  from agentdeck.adapters.executors.openai_agents.sessions import ExecutionStore
49
- from agentdeck.adapters.executors.openai_agents.translate import translate
25
+ from agentdeck.adapters.executors.openai_agents.translate import run_artifacts, translate
50
26
  from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input
51
27
  from agentdeck.core.control import ControlSignalled
52
28
  from agentdeck.core.events import RunCompleted, Usage, UsageReported
@@ -301,10 +277,11 @@ def _audio_format(media_type: str) -> str:
301
277
 
302
278
 
303
279
  def _run_completed(result: RunResultStreaming) -> RunCompleted:
280
+ """Artifacts first, final output last: a channel projecting this result sends the image and
281
+ captions it, which is the order ``new_items`` already recorded them in (#636)."""
304
282
  output = result.final_output
305
- if isinstance(output, str):
306
- return RunCompleted(output=coerce_input(output), usage=_usage_of(result))
307
- return RunCompleted(output=[DataBlock(data=_structured(output))], usage=_usage_of(result))
283
+ final = coerce_input(output) if isinstance(output, str) else [DataBlock(data=_structured(output))]
284
+ return RunCompleted(output=[*run_artifacts(result.new_items), *final], usage=_usage_of(result))
308
285
 
309
286
 
310
287
  def _structured(output: Any) -> Any:
@@ -112,12 +112,15 @@ def _log_transcript(history: Sequence[Event]) -> list[Message]:
112
112
  assistant's side on ``message.completed``. Deltas are streaming UX and tool traffic is not
113
113
  message level, so neither belongs here.
114
114
 
115
- A run that was cancelled *before it got anywhere* contributes no input: the consumer walked
116
- away before the engine read anything, so the session never saw that question and the user's
117
- retry would arrive behind a copy of itself. Cancelled after an answer is the opposite case -
118
- the SDK persists a turn's input and its output together, so both are in the session and
119
- dropping the input would misalign the two transcripts on every later turn. A *failed* run
120
- also keeps its input, because a session write that died is what a failure looks like here.
115
+ Which ``run.started`` inputs count is the part that is not obvious:
116
+
117
+ | the run | its input | why |
118
+ |---|---|---|
119
+ | an agent turn | counts | the SDK persists a turn's input with its output, so the session holds both |
120
+ | cancelled before it produced anything | dropped | the engine read nothing, so the user's retry would arrive behind a copy of itself |
121
+ | cancelled after an answer | counts | dropping it would misalign the two transcripts on every later turn |
122
+ | failed | counts | a session write that died is what a failure looks like here |
123
+ | a workflow or tool (#490) | dropped | no model played it: sharing a conversation's ``session_id`` puts the run on that conversation's event stream, where an operator surface keyed by the session reads it, and its input is an orchestration argument nobody said |
121
124
  """
122
125
  cancelled = {event.run_id for event in history if isinstance(event.payload, RunCancelled)}
123
126
  answered = {event.run_id for event in history if isinstance(event.payload, MessageCompleted)}
@@ -125,7 +128,7 @@ def _log_transcript(history: Sequence[Event]) -> list[Message]:
125
128
  transcript: list[Message] = []
126
129
  for event in history:
127
130
  payload = event.payload
128
- if isinstance(payload, RunStarted) and event.run_id in abandoned:
131
+ if isinstance(payload, RunStarted) and (event.run_id in abandoned or payload.kind_of_invocable != "agent"):
129
132
  continue
130
133
  if isinstance(payload, RunStarted | InputAppended):
131
134
  transcript.append(("user", _text_of(payload.input)))
@@ -1,11 +1,10 @@
1
- """Stream-event → canonical-payload translation.
2
-
3
- Ported from the delta-only extraction in ``agents/runners/headless.py`` (v1 stays
4
- untouched) and widened to text deltas, completed messages, tool calls and their results.
5
- Reasoning items are deliberately not translated (ADR-D5: they live only in the SDK
6
- session, and mirroring them would chain the event schema to the SDK's item format).
7
- A completed handoff maps to the core kind ``agent.changed`` (#249, D10's second
8
- promotion after ``DataBlock``/#101): it stopped being one namespaced ``custom`` event.
1
+ """Stream-event → canonical-payload translation, and a finished run's items → its result artifacts.
2
+
3
+ Ported from the delta-only extraction in ``agents/runners/headless.py`` (v1 stays untouched), widened to text
4
+ deltas, completed messages, tool calls and their results, and again to the media a run leaves behind in
5
+ ``new_items`` (#636). Reasoning items are deliberately not translated (ADR-D5: they live only in the SDK
6
+ session, and mirroring them would chain the event schema to the SDK's item format). A completed handoff maps to
7
+ the core kind ``agent.changed`` (#249, D10's second promotion after ``DataBlock``/#101, out of ``custom``).
9
8
  """
10
9
 
11
10
  from __future__ import annotations
@@ -13,8 +12,16 @@ from __future__ import annotations
13
12
  import hashlib
14
13
  import json
15
14
  import logging
16
- from typing import Any
15
+ import re
16
+ from base64 import b64encode
17
+ from typing import TYPE_CHECKING, Any
18
+ from urllib.parse import unquote_to_bytes
19
+
20
+ from agents.items import ToolCallItem, ToolCallOutputItem
21
+ from agents.tool import ToolOutputFileContent, ToolOutputImage
22
+ from pydantic import ValidationError
17
23
 
24
+ from agentdeck.core.content import ContentBlock, ImageBlock, ResourceBlock
18
25
  from agentdeck.core.events import (
19
26
  RESULT_PREVIEW_MAX,
20
27
  AgentChanged,
@@ -25,7 +32,11 @@ from agentdeck.core.events import (
25
32
  ToolCallStarted,
26
33
  )
27
34
 
35
+ if TYPE_CHECKING:
36
+ from collections.abc import Iterator, Sequence
37
+
28
38
  logger = logging.getLogger(__name__)
39
+ _DATA_URL = re.compile(r"data:([^;,]+)((?:;[^;,]+)*),(.*)", re.DOTALL)
29
40
 
30
41
 
31
42
  def translate(event: Any, tool_names: dict[str, str], tool_failures: dict[str, str]) -> KnownPayload | None:
@@ -123,4 +134,64 @@ def _handoff(item: Any) -> KnownPayload:
123
134
  return AgentChanged(previous_agent=item.source_agent.name, next_agent=item.target_agent.name)
124
135
 
125
136
 
126
- __all__ = ["translate"]
137
+ def run_artifacts(items: Sequence[Any]) -> list[ContentBlock]:
138
+ """The user-facing media a finished run produced, in the order the SDK recorded it (#636).
139
+
140
+ A run's result is its artifacts plus its final output, not its whole transcript, so a
141
+ ``MessageOutputItem`` is deliberately absent (``final_output`` already is that text, and
142
+ mapping both would duplicate it) and so is every other tool result, which stays a
143
+ ``tool.call.completed`` event. Never a ``DataBlock`` either: ``deck._completed_result``
144
+ reads the first one as the agent's own return value, and an artifact would hijack it.
145
+ """
146
+ return [block for item in items for block in _artifacts_of(item)]
147
+
148
+
149
+ def _artifacts_of(item: Any) -> Iterator[ContentBlock]:
150
+ if isinstance(item, ToolCallItem):
151
+ raw = item.raw_item
152
+ if getattr(raw, "type", None) == "image_generation_call" and raw.status == "completed" and raw.result:
153
+ # The raw call carries id/result/status/type and nothing else, so the media type is
154
+ # not knowable here; the hosted tool returns PNG.
155
+ yield from _inline_image("image/png", raw.result)
156
+ elif isinstance(item, ToolCallOutputItem):
157
+ outputs = item.output if isinstance(item.output, list) else [item.output]
158
+ for output in outputs:
159
+ yield from _tool_output(output)
160
+
161
+
162
+ def _tool_output(output: Any) -> Iterator[ContentBlock]:
163
+ """A rich function-tool result. The ``file_id``-only forms of both types are skipped: an id
164
+ into the provider's file store is not a URI this run's reader can dereference."""
165
+ if isinstance(output, ToolOutputImage) and output.image_url is not None:
166
+ yield from _image_url(output.image_url)
167
+ elif isinstance(output, ToolOutputFileContent) and output.file_url is not None:
168
+ yield ResourceBlock(uri=output.file_url)
169
+
170
+
171
+ def _image_url(url: str) -> Iterator[ContentBlock]:
172
+ """A ``data:`` URL carries the bytes and becomes an inline block; anything else is a pointer
173
+ and stays one. A ``data:`` URL this cannot decode is neither, and is dropped rather than
174
+ handed on as a megabyte-long ``uri``."""
175
+ if not url.startswith("data:"):
176
+ yield ResourceBlock(uri=url)
177
+ return
178
+ match = _DATA_URL.match(url)
179
+ if match is None:
180
+ logger.warning("dropped an image artifact from the run result: its data: URL is malformed")
181
+ return
182
+ media_type, parameters, payload = match.groups()
183
+ # Percent-encoding is the other half of RFC 2397, and an SVG tool result arrives that way.
184
+ data_b64 = payload if ";base64" in parameters else b64encode(unquote_to_bytes(payload)).decode()
185
+ yield from _inline_image(media_type, data_b64)
186
+
187
+
188
+ def _inline_image(media_type: str, data_b64: str) -> Iterator[ImageBlock]:
189
+ """Over the inline cap, the block is dropped and the rest of the result survives: the run has
190
+ already finished, and raising here would fail it at its terminal event."""
191
+ try:
192
+ yield ImageBlock(media_type=media_type, data_b64=data_b64)
193
+ except ValidationError as exc:
194
+ logger.warning("dropped a %s artifact from the run result: %s", media_type, exc)
195
+
196
+
197
+ __all__ = ["run_artifacts", "translate"]
@@ -25,12 +25,14 @@ from pydantic import (
25
25
 
26
26
  from agentdeck.core.base import CoreModel, JsonData
27
27
 
28
- INLINE_BYTES_CAP = 1024 * 1024
29
- """1 MB decoded, enforced on every inline block (:class:`ImageBlock`, :class:`AudioBlock`).
28
+ INLINE_BYTES_CAP = 8 * 1024 * 1024
29
+ """8 MB decoded, enforced on every inline block (:class:`ImageBlock`, :class:`AudioBlock`).
30
30
 
31
31
  Base64 in an event lands in an append-only log and replays down every SSE connection for the
32
- life of that run, so a documented-only limit is a limit that ships violated. Deliberately low:
33
- raising the cap later is compatible, lowering it is not."""
32
+ life of that run, so a documented-only limit is a limit that ships violated. Sized for one
33
+ generated image (a 1024x1024 PNG from ``ImageGenerationTool`` runs past the 1 MB this started
34
+ at, and a run result that cannot hold its own image is the bug #636 fixes); raising the cap
35
+ again is compatible, lowering it is not."""
34
36
 
35
37
 
36
38
  def _capped_inline(value: str) -> str: