agentdeck-sdk 4.0.1__tar.gz → 4.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/workflows/docs-pages.yml +1 -1
  2. agentdeck_sdk-4.0.2/.import_linter_cache/agentdeck.meta.json +1 -0
  3. agentdeck_sdk-4.0.2/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +1 -0
  4. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/CHANGELOG.md +26 -0
  5. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/PKG-INFO +125 -94
  6. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/README.md +124 -93
  7. agentdeck_sdk-4.0.2/docs-site/.env.development +3 -0
  8. agentdeck_sdk-4.0.2/docs-site/.env.production +6 -0
  9. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/hero.css +8 -3
  10. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/jack-live.tsx +30 -13
  11. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/jack.css +54 -11
  12. agentdeck_sdk-4.0.2/docs-site/app/landing-components.tsx +171 -0
  13. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/landing.css +211 -3
  14. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/layout.tsx +33 -0
  15. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/_meta.ts +1 -0
  16. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/examples/index.mdx +2 -1
  17. agentdeck_sdk-4.0.2/docs-site/content/index.mdx +30 -0
  18. agentdeck_sdk-4.0.2/docs-site/content/jack/_meta.ts +3 -0
  19. agentdeck_sdk-4.0.2/docs-site/content/jack/notes.mdx +88 -0
  20. agentdeck_sdk-4.0.2/docs-site/content/jack.mdx +111 -0
  21. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/resources/changelog.mdx +25 -11
  22. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/mdx-components.tsx +5 -17
  23. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/llms-full.txt +235 -132
  24. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/llms.txt +3 -1
  25. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/README.md +6 -5
  26. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/cloudflared.yml +4 -4
  27. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/jack/server.py +3 -3
  28. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/pyproject.toml +1 -1
  29. agentdeck_sdk-4.0.1/.import_linter_cache/agentdeck.meta.json +0 -1
  30. agentdeck_sdk-4.0.1/.import_linter_cache/cc0de4ae2e5697bf7cf3a0b9c3aff14b2ece24cd.data.json +0 -1
  31. agentdeck_sdk-4.0.1/docs-site/app/landing-components.tsx +0 -420
  32. agentdeck_sdk-4.0.1/docs-site/content/index.mdx +0 -147
  33. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.agentdeck/agents/greeter/agent.py +0 -0
  34. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.agents/skills/open-issue/SKILL.md +0 -0
  35. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.agents/skills/release/SKILL.md +0 -0
  36. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.agents/skills/ship-issue/SKILL.md +0 -0
  37. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/agents/deck-dev.md +0 -0
  38. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/agents/deck-reviewer.md +0 -0
  39. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/agents/docs-reviewer.md +0 -0
  40. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/agents/docs-writer.md +0 -0
  41. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/skills/open-issue/SKILL.md +0 -0
  42. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/skills/release/SKILL.md +0 -0
  43. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.claude/skills/ship-issue/SKILL.md +0 -0
  44. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.coderabbit.yaml +0 -0
  45. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.codex/agents/deck-dev.toml +0 -0
  46. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.codex/agents/deck-reviewer.toml +0 -0
  47. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.codex/agents/docs-reviewer.toml +0 -0
  48. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.codex/agents/docs-writer.toml +0 -0
  49. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.dockerignore +0 -0
  50. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.env.example +0 -0
  51. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.gitattributes +0 -0
  52. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/CODEOWNERS +0 -0
  53. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  54. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  55. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/ISSUE_TEMPLATE/finding.yml +0 -0
  56. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  57. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/assets/contributors/merged.png +0 -0
  58. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/assets/contributors/welcome.png +0 -0
  59. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/dependabot.yml +0 -0
  60. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/workflows/ci.yml +0 -0
  61. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/workflows/docs-check.yml +0 -0
  62. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/workflows/first-contribution.yml +0 -0
  63. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.github/workflows/release.yml +0 -0
  64. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.gitignore +0 -0
  65. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.import_linter_cache/.gitignore +0 -0
  66. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.import_linter_cache/CACHEDIR.TAG +0 -0
  67. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.importlinter +0 -0
  68. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/.pre-commit-config.yaml +0 -0
  69. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/AGENTS.md +0 -0
  70. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/CLAUDE.md +0 -0
  71. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/CODE_OF_CONDUCT.md +0 -0
  72. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/CONTRIBUTING.md +0 -0
  73. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/Dockerfile +0 -0
  74. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/LICENSE +0 -0
  75. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/Makefile +0 -0
  76. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/SECURITY.md +0 -0
  77. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/README.md +0 -0
  78. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/__init__.py +0 -0
  79. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/__init__.py +0 -0
  80. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/__init__.py +0 -0
  81. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/memory/__init__.py +0 -0
  82. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/memory/port.py +0 -0
  83. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/sqlite/__init__.py +0 -0
  84. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/control/sqlite/port.py +0 -0
  85. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/__init__.py +0 -0
  86. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/__init__.py +0 -0
  87. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/checkpointer.py +0 -0
  88. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/langgraph/engine.py +0 -0
  89. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/__init__.py +0 -0
  90. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/engine.py +0 -0
  91. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/reconcile.py +0 -0
  92. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/runconfig.py +0 -0
  93. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/sessions.py +0 -0
  94. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/openai_agents/translate.py +0 -0
  95. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/stub/__init__.py +0 -0
  96. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/engines/stub/engine.py +0 -0
  97. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/__init__.py +0 -0
  98. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/memory/__init__.py +0 -0
  99. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/memory/port.py +0 -0
  100. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/sqlite/__init__.py +0 -0
  101. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/leases/sqlite/port.py +0 -0
  102. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/__init__.py +0 -0
  103. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/memory/__init__.py +0 -0
  104. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/memory/store.py +0 -0
  105. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/postgres/__init__.py +0 -0
  106. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/postgres/store.py +0 -0
  107. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/redis/__init__.py +0 -0
  108. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/redis/store.py +0 -0
  109. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/sqlite/__init__.py +0 -0
  110. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/stores/sqlite/store.py +0 -0
  111. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/__init__.py +0 -0
  112. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/__init__.py +0 -0
  113. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/client.py +0 -0
  114. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/sink.py +0 -0
  115. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/telemetry/langfuse/trace.py +0 -0
  116. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/__init__.py +0 -0
  117. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/__init__.py +0 -0
  118. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/lifecycle.py +0 -0
  119. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/source.py +0 -0
  120. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/transport.py +0 -0
  121. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/adapters/tools/mcp/wiring.py +0 -0
  122. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/__init__.py +0 -0
  123. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/agent.py +0 -0
  124. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/compile.py +0 -0
  125. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/graphs.py +0 -0
  126. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/hooks.py +0 -0
  127. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/injection.py +0 -0
  128. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/instructions.py +0 -0
  129. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/interrupts.py +0 -0
  130. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/nodes.py +0 -0
  131. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/__init__.py +0 -0
  132. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/agent.py +0 -0
  133. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/runners/workflow.py +0 -0
  134. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/skills.py +0 -0
  135. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/state.py +0 -0
  136. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/timers.py +0 -0
  137. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/tools.py +0 -0
  138. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/web_search.py +0 -0
  139. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/authoring/workflow.py +0 -0
  140. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/cli.py +0 -0
  141. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/composition.py +0 -0
  142. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/__init__.py +0 -0
  143. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/base.py +0 -0
  144. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/content.py +0 -0
  145. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/context.py +0 -0
  146. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/control.py +0 -0
  147. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/events.py +0 -0
  148. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/invocable.py +0 -0
  149. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/__init__.py +0 -0
  150. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/control.py +0 -0
  151. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/engine.py +0 -0
  152. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/lease.py +0 -0
  153. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/sink.py +0 -0
  154. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/store.py +0 -0
  155. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/ports/tools.py +0 -0
  156. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/reporting.py +0 -0
  157. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/core/status.py +0 -0
  158. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/deck.py +0 -0
  159. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/errors.py +0 -0
  160. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/mcp.py +0 -0
  161. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/observers.py +0 -0
  162. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/py.typed +0 -0
  163. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/__init__.py +0 -0
  164. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/capture.py +0 -0
  165. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/config.default.yaml +0 -0
  166. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/discovery.py +0 -0
  167. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/dispatch.py +0 -0
  168. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/registry.py +0 -0
  169. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/service.py +0 -0
  170. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/runtime/settings.py +0 -0
  171. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/serve.py +0 -0
  172. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/skills/__init__.py +0 -0
  173. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/skills/bundle.py +0 -0
  174. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/__init__.py +0 -0
  175. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/cli/__init__.py +0 -0
  176. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/cli/chat.py +0 -0
  177. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/__init__.py +0 -0
  178. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/app.py +0 -0
  179. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/compat.py +0 -0
  180. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/surfaces/serve/workflows.py +0 -0
  181. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/agentdeck/testing.py +0 -0
  182. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/context7.json +0 -0
  183. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docker-compose.yml +0 -0
  184. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/00-project-index.md +0 -0
  185. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/agentdeck-prd.md +0 -0
  186. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/README.md +0 -0
  187. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/components/card.svg +0 -0
  188. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/components/spark.svg +0 -0
  189. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/components/wordmark.svg +0 -0
  190. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/contributor-merged.svg +0 -0
  191. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/contributor-welcome.svg +0 -0
  192. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/favicon.svg +0 -0
  193. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-black.svg +0 -0
  194. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-blue.svg +0 -0
  195. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-full.svg +0 -0
  196. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-mark.svg +0 -0
  197. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-traced-original.svg +0 -0
  198. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo-white.svg +0 -0
  199. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/logo.svg +0 -0
  200. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/brand/social-card.svg +0 -0
  201. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/beta-user-report-v3.md +0 -0
  202. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/decision-v3-entry-point.md +0 -0
  203. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/deck-capability-wrapper-pattern.md +0 -0
  204. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/discoverability-baseline.md +0 -0
  205. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/docs-site-plan.md +0 -0
  206. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/epic-agentdeck-v2-core.md +0 -0
  207. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/findings-register.md +0 -0
  208. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/milestone-0-findings.md +0 -0
  209. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/milestone-0-walking-skeleton.md +0 -0
  210. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-166-delivery.md +0 -0
  211. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-219-delivery.md +0 -0
  212. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-adoption.md +0 -0
  213. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-context-injection.md +0 -0
  214. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-multimodal.md +0 -0
  215. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-phase4-deck.md +0 -0
  216. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-skills.md +0 -0
  217. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/plan-v2-cutover.md +0 -0
  218. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/review-context-injection.md +0 -0
  219. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/review-phase4-deck.md +0 -0
  220. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/review-v3-outsider.md +0 -0
  221. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/roadmap-v3.1.md +0 -0
  222. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/roadmap-v3.md +0 -0
  223. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/delivery/workflow.md +0 -0
  224. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/adr-d11-store-assigns-seq-and-time.md +0 -0
  225. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/adr-d5-two-stores.md +0 -0
  226. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/agentdeck-v2-architecture.md +0 -0
  227. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/event-store-claims.md +0 -0
  228. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/run-identity.md +0 -0
  229. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/run-lifecycle.md +0 -0
  230. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/run-operations.md +0 -0
  231. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design/sink-dispatch.md +0 -0
  232. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/design-system.md +0 -0
  233. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/README.md +0 -0
  234. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/architecture.md +0 -0
  235. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/coding-agents.md +0 -0
  236. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/coding-standards.md +0 -0
  237. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/dependencies.md +0 -0
  238. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/import-boundaries.md +0 -0
  239. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/principles.md +0 -0
  240. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/repository-policy.md +0 -0
  241. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/runtime-contracts.md +0 -0
  242. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/engineering/testing.md +0 -0
  243. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/project-brief.md +0 -0
  244. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/prompts/pr0-baseline-prompt.md +0 -0
  245. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/prompts/pr0-review-prompt.md +0 -0
  246. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/prompts/pr1-event-schema-prompt.md +0 -0
  247. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs/spec.md +0 -0
  248. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/.gitignore +0 -0
  249. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/README.md +0 -0
  250. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/[[...mdxPath]]/page.tsx +0 -0
  251. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/brand-icons.tsx +0 -0
  252. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/brand.css +0 -0
  253. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/callout.tsx +0 -0
  254. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/deck-figure.tsx +0 -0
  255. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/design-system.tsx +0 -0
  256. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/diagram.tsx +0 -0
  257. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/hero.tsx +0 -0
  258. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/icon.svg +0 -0
  259. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/install-line.tsx +0 -0
  260. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/jack-stream.ts +0 -0
  261. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/jack.tsx +0 -0
  262. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/kind-icons.tsx +0 -0
  263. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/mark.tsx +0 -0
  264. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/not-found.tsx +0 -0
  265. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/robots.ts +0 -0
  266. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/site.ts +0 -0
  267. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/app/sitemap.ts +0 -0
  268. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/_meta.ts +0 -0
  269. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/agents.mdx +0 -0
  270. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/context.mdx +0 -0
  271. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/deck.mdx +0 -0
  272. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/skills.mdx +0 -0
  273. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/tools.mdx +0 -0
  274. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/build-your-deck/workflows.mdx +0 -0
  275. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/examples/_meta.ts +0 -0
  276. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/integrations/_meta.ts +0 -0
  277. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/integrations/existing-agents.mdx +0 -0
  278. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/integrations/langgraph.mdx +0 -0
  279. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/integrations/mcp.mdx +0 -0
  280. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/integrations/openai-agents-sdk.mdx +0 -0
  281. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/meet-agentdeck/_meta.ts +0 -0
  282. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/meet-agentdeck/mental-model.mdx +0 -0
  283. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/meet-agentdeck/overview.mdx +0 -0
  284. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/meet-agentdeck/quickstart.mdx +0 -0
  285. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/_meta.ts +0 -0
  286. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/cli.mdx +0 -0
  287. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/deck.mdx +0 -0
  288. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/events.mdx +0 -0
  289. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/python-api.mdx +0 -0
  290. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/run.mdx +0 -0
  291. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/reference/settings.mdx +0 -0
  292. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/resources/_meta.ts +0 -0
  293. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/resources/known-issues.mdx +0 -0
  294. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/resources/migration-guides.mdx +0 -0
  295. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/resources/troubleshooting.mdx +0 -0
  296. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/_meta.ts +0 -0
  297. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/events.mdx +0 -0
  298. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/human-input.mdx +0 -0
  299. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/lifecycle-and-control.mdx +0 -0
  300. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/pause-resume.mdx +0 -0
  301. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/runs.mdx +0 -0
  302. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/content/runs-and-control/sessions.mdx +0 -0
  303. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/next-env.d.ts +0 -0
  304. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/next.config.mjs +0 -0
  305. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/package-lock.json +0 -0
  306. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/package.json +0 -0
  307. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/card.svg +0 -0
  308. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/contributor-merged.svg +0 -0
  309. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/contributor-welcome.svg +0 -0
  310. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/favicon.svg +0 -0
  311. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-black.svg +0 -0
  312. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-blue.svg +0 -0
  313. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-full.svg +0 -0
  314. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-mark.svg +0 -0
  315. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-traced-original.svg +0 -0
  316. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo-white.svg +0 -0
  317. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/logo.svg +0 -0
  318. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/social-card.svg +0 -0
  319. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/spark.svg +0 -0
  320. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/public/brand/wordmark.svg +0 -0
  321. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/docs-site/tsconfig.json +0 -0
  322. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/.agentdeck/agents/handover_desk/agent.py +0 -0
  323. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/.agentdeck/skills/shift-notes/SKILL.md +0 -0
  324. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/README.md +0 -0
  325. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/agent-with-a-skill/run.py +0 -0
  326. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/.agentdeck/agents/order_desk/agent.py +0 -0
  327. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/README.md +0 -0
  328. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/chat-agent-with-a-tool/run.py +0 -0
  329. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/.agentdeck/workflows/triage/pipeline.py +0 -0
  330. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/.agentdeck/workflows/triage/workflow.py +0 -0
  331. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/README.md +0 -0
  332. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/existing-langgraph-agent/run.py +0 -0
  333. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/eval.py +0 -0
  334. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/jack/__init__.py +0 -0
  335. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/jack/agent.py +0 -0
  336. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/jack/corpus.py +0 -0
  337. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/jack/run.py +0 -0
  338. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/.agentdeck/workflows/refund_approval/workflow.py +0 -0
  339. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/README.md +0 -0
  340. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/examples/workflow-with-an-approval/run.py +0 -0
  341. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/scripts/generate_docs_reference.py +0 -0
  342. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/scripts/m0_demo.py +0 -0
  343. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/scripts/sync_claude_to_codex.py +0 -0
  344. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/scripts/sync_roadmap.py +0 -0
  345. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/concurrency_worker.py +0 -0
  346. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/conftest.py +0 -0
  347. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/context_injection_subjects.py +0 -0
  348. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/case_types.py +0 -0
  349. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/conftest.py +0 -0
  350. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/context_subjects.py +0 -0
  351. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/contract_cases.py +0 -0
  352. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/langgraph_cases.py +0 -0
  353. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/live_stores.py +0 -0
  354. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/never_yields.py +0 -0
  355. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/openai_agents_cases.py +0 -0
  356. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_context_parity.py +0 -0
  357. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_control.py +0 -0
  358. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_control_port.py +0 -0
  359. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_event_stream.py +0 -0
  360. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_lease.py +0 -0
  361. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_resume.py +0 -0
  362. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/contract/test_store.py +0 -0
  363. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/conftest.py +0 -0
  364. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/artifact.created.json +0 -0
  365. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/control.observed.json +0 -0
  366. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/control.requested.json +0 -0
  367. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/custom.json +0 -0
  368. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/input.appended.json +0 -0
  369. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/message.completed.json +0 -0
  370. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/node.updated.json +0 -0
  371. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/progress.reported.json +0 -0
  372. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.cancelled.json +0 -0
  373. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.completed.json +0 -0
  374. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.failed.json +0 -0
  375. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.interrupted.json +0 -0
  376. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.paused.json +0 -0
  377. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.resumed.json +0 -0
  378. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/run.started.json +0 -0
  379. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/status.reported.json +0 -0
  380. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/text.delta.json +0 -0
  381. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/thought.delta.json +0 -0
  382. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/tool.call.completed.json +0 -0
  383. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/tool.call.started.json +0 -0
  384. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/snapshots/usage.reported.json +0 -0
  385. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_content.py +0 -0
  386. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_context.py +0 -0
  387. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_events.py +0 -0
  388. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_golden_json.py +0 -0
  389. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_import_law.py +0 -0
  390. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_model_config.py +0 -0
  391. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_old_reader_block_compat.py +0 -0
  392. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_old_reader_compat.py +0 -0
  393. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_reporting.py +0 -0
  394. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_run_lifecycle_tables.py +0 -0
  395. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/core/test_vocabularies_agree.py +0 -0
  396. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/crash_worker.py +0 -0
  397. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/event_log_checks.py +0 -0
  398. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/README.md +0 -0
  399. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/conftest.py +0 -0
  400. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/agents/greeter/agent.py +0 -0
  401. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/approval_flow/workflow.py +0 -0
  402. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/boom_flow/workflow.py +0 -0
  403. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/crash_flow/workflow.py +0 -0
  404. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/echo_flow/workflow.py +0 -0
  405. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/fanout_interrupt_flow/workflow.py +0 -0
  406. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/fixture_project/.agentdeck/workflows/side_effect_flow/workflow.py +0 -0
  407. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/01_health.http +0 -0
  408. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/02_chat.http +0 -0
  409. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/03_chat_stream.http +0 -0
  410. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/04_chat_missing_field.http +0 -0
  411. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/05_agent_unknown.http +0 -0
  412. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/06_workflow.http +0 -0
  413. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/07_workflow_stream.http +0 -0
  414. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/08_interrupt_stream.http +0 -0
  415. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/09_pending.http +0 -0
  416. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/10_resume.http +0 -0
  417. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/11_pending_after_resume.http +0 -0
  418. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/12_workflow_error.http +0 -0
  419. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/13_workflow_error_stream.http +0 -0
  420. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/14_side_effect.http +0 -0
  421. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/15_side_effect_stream.http +0 -0
  422. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/16_fanout_interrupt.http +0 -0
  423. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/17_fanout_interrupt_stream.http +0 -0
  424. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/snapshots/18_workflow_crash.http +0 -0
  425. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/golden/test_golden_wire.py +0 -0
  426. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/project_engines.py +0 -0
  427. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_agent_model_resolution.py +0 -0
  428. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_authoring.py +0 -0
  429. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_brand_assets.py +0 -0
  430. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_cli.py +0 -0
  431. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_cli_render.py +0 -0
  432. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_composition.py +0 -0
  433. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_context_injection.py +0 -0
  434. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_context_validation.py +0 -0
  435. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_crash_reconciliation.py +0 -0
  436. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_deck.py +0 -0
  437. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_docs_examples.py +0 -0
  438. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_docs_site.py +0 -0
  439. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_errors.py +0 -0
  440. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_examples.py +0 -0
  441. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_generated_reference.py +0 -0
  442. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_handoff_ends_on_user_turn.py +0 -0
  443. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_handoff_round_trip.py +0 -0
  444. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_handoffs.py +0 -0
  445. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_instructions_and_hooks.py +0 -0
  446. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_invocable_registry.py +0 -0
  447. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_jack.py +0 -0
  448. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_jack_server.py +0 -0
  449. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langfuse_sink.py +0 -0
  450. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langfuse_tracer.py +0 -0
  451. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langgraph_checkpointer.py +0 -0
  452. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langgraph_fanout_interrupt.py +0 -0
  453. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langgraph_node_boundary_pause.py +0 -0
  454. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_langgraph_structured_state.py +0 -0
  455. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_load_file_node.py +0 -0
  456. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_mcp.py +0 -0
  457. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_mcp_tool_source.py +0 -0
  458. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_memory_store.py +0 -0
  459. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_multiprocess_concurrency.py +0 -0
  460. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_node_compilation.py +0 -0
  461. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_observability.py +0 -0
  462. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_engine.py +0 -0
  463. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_reconcile.py +0 -0
  464. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_sessions.py +0 -0
  465. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_openai_agents_tool_failure.py +0 -0
  466. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_package.py +0 -0
  467. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_postgres_store.py +0 -0
  468. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_redis_store.py +0 -0
  469. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_run_config_parity.py +0 -0
  470. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_run_control.py +0 -0
  471. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_run_reporting.py +0 -0
  472. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_runtime_service.py +0 -0
  473. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_serve.py +0 -0
  474. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_serve_compat.py +0 -0
  475. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_serve_session_claim.py +0 -0
  476. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_settings.py +0 -0
  477. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_sink_dispatch.py +0 -0
  478. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_skills.py +0 -0
  479. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_sqlite_control_port.py +0 -0
  480. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_sqlite_store.py +0 -0
  481. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_streaming.py +0 -0
  482. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_tool_compilation.py +0 -0
  483. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_uc1_handoff.py +0 -0
  484. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_uc2_claim_pipeline.py +0 -0
  485. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_uc3_slowpoke.py +0 -0
  486. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_web_search.py +0 -0
  487. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_workflow_durability.py +0 -0
  488. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_workflow_interrupts.py +0 -0
  489. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_workflow_streaming.py +0 -0
  490. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/tests/test_workflow_timers.py +0 -0
  491. {agentdeck_sdk-4.0.1 → agentdeck_sdk-4.0.2}/uv.lock +0 -0
@@ -49,7 +49,7 @@ jobs:
49
49
  # calling http://, which is the real reason the backend needs a tunnel rather than a
50
50
  # port forward. Never put a secret here — NEXT_PUBLIC_* is public by construction, and
51
51
  # everything under it is readable in the shipped JavaScript.
52
- NEXT_PUBLIC_AGENTDECK_API_URL: ${{ vars.ASK_AGENTDECK_API_URL }}
52
+ NEXT_PUBLIC_AGENTDECK_API_URL: ${{ vars.JACK_API_URL }}
53
53
  # The canonical origin, baked into canonical tags, Open Graph URLs, the sitemap and
54
54
  # robots.txt. Unset, it falls back to the Pages URL. Setting this repository variable
55
55
  # is what moves the site to agentdecksdk.com — one variable, not a sweep, which is the
@@ -0,0 +1 @@
1
+ {"agentdeck.authoring.tools": 1787112918.7268076, "agentdeck.adapters.telemetry.langfuse": 1787112918.7255192, "agentdeck.surfaces": 1787112918.7298076, "agentdeck.surfaces.serve.compat": 1787112918.730176, "agentdeck.adapters": 1787112918.7229855, "agentdeck.composition": 1787112918.7268076, "agentdeck.adapters.tools.mcp.transport": 1787112918.725934, "agentdeck.core.ports.control": 1787112918.727932, "agentdeck.adapters.engines.langgraph.engine": 1787112918.723521, "agentdeck.runtime.service": 1787112918.72897, "agentdeck.authoring.agent": 1787112918.7262156, "agentdeck.errors": 1787112918.727932, "agentdeck.core.events": 1787112918.7274418, "agentdeck.authoring.runners": 1787112918.7262156, "agentdeck.runtime.registry": 1787112918.72897, "agentdeck.surfaces.cli": 1787112918.7300088, "agentdeck.authoring.timers": 1787112918.7268076, "agentdeck.adapters.stores.redis.store": 1787112918.725127, "agentdeck.skills": 1787112918.72897, "agentdeck.adapters.engines.stub.engine": 1787112918.724265, "agentdeck.core.content": 1787112918.7274418, "agentdeck.authoring.web_search": 1787112918.7268076, "agentdeck.surfaces.serve.app": 1787112918.730176, "agentdeck.core.ports.lease": 1787112918.727932, "agentdeck.adapters.stores.sqlite.store": 1787112918.725316, "agentdeck.adapters.tools.mcp": 1787112918.7258077, "agentdeck.adapters.telemetry.langfuse.trace": 1787112918.7255728, "agentdeck.authoring.instructions": 1787112918.7262156, "agentdeck.adapters.engines.openai_agents.sessions": 1787112918.7238076, "agentdeck.adapters.telemetry.langfuse.sink": 1787112918.7255728, "agentdeck.authoring.runners.workflow": 1787112918.7268076, "agentdeck.observers": 1787112918.727932, "agentdeck.adapters.engines.openai_agents.runconfig": 1787112918.7238076, "agentdeck.adapters.engines.langgraph": 1787112918.7234612, "agentdeck.runtime.settings": 1787112918.72897, "agentdeck.skills.bundle": 1787112918.7298076, "agentdeck.adapters.tools": 1787112918.7255728, "agentdeck.core.ports.tools": 1787112918.727932, "agentdeck.adapters.engines.langgraph.checkpointer": 1787112918.723521, "agentdeck.cli": 1787112918.7268076, "agentdeck.adapters.leases.sqlite.port": 1787112918.7245457, "agentdeck.adapters.control.memory.port": 1787112918.7232156, "agentdeck.core.ports.sink": 1787112918.727932, "agentdeck.adapters.tools.mcp.lifecycle": 1787112918.725934, "agentdeck.serve": 1787112918.72897, "agentdeck.adapters.stores.memory": 1787112918.7246792, "agentdeck.adapters.stores.memory.store": 1787112918.7247288, "agentdeck.adapters.telemetry.langfuse.client": 1787112918.7255728, "agentdeck.deck": 1787112918.727932, "agentdeck.core.base": 1787112918.7274418, "agentdeck.authoring.runners.agent": 1787112918.7267725, "agentdeck.adapters.engines.openai_agents.engine": 1787112918.7238076, "agentdeck.authoring.injection": 1787112918.7262156, "agentdeck.adapters.leases.memory": 1787112918.7243917, "agentdeck": 1787112918.7229855, "agentdeck.adapters.control.memory": 1787112918.7231653, "agentdeck.adapters.stores": 1787112918.7245457, "agentdeck.adapters.engines.openai_agents.translate": 1787112918.7238076, "agentdeck.authoring.workflow": 1787112918.7268076, "agentdeck.core.control": 1787112918.7274418, "agentdeck.adapters.control.sqlite.port": 1787112918.7233129, "agentdeck.adapters.stores.postgres": 1787112918.7248077, "agentdeck.runtime.dispatch": 1787112918.72897, "agentdeck.adapters.leases": 1787112918.724265, "agentdeck.testing": 1787112918.730176, "agentdeck.adapters.leases.memory.port": 1787112918.7244415, "agentdeck.surfaces.cli.chat": 1787112918.7300642, "agentdeck.adapters.stores.redis": 1787112918.7248077, "agentdeck.authoring.hooks": 1787112918.7262156, "agentdeck.adapters.engines": 1787112918.7233129, "agentdeck.adapters.stores.sqlite": 1787112918.725127, "agentdeck.surfaces.serve.workflows": 1787112918.730176, "agentdeck.authoring.graphs": 1787112918.7262156, "agentdeck.core.status": 1787112918.727932, "agentdeck.adapters.stores.postgres.store": 1787112918.7248077, "agentdeck.authoring.compile": 1787112918.7262156, "agentdeck.core.invocable": 1787112918.7274418, "agentdeck.authoring.state": 1787112918.7268076, "agentdeck.authoring.nodes": 1787112918.7262156, "agentdeck.core.ports.engine": 1787112918.727932, "agentdeck.runtime": 1787112918.7288077, "agentdeck.authoring": 1787112918.725934, "agentdeck.adapters.engines.openai_agents.reconcile": 1787112918.7238076, "agentdeck.adapters.telemetry": 1787112918.725316, "agentdeck.authoring.skills": 1787112918.7268076, "agentdeck.core": 1787112918.7268076, "agentdeck.surfaces.serve": 1787112918.7300642, "agentdeck.adapters.control.sqlite": 1787112918.7232156, "agentdeck.core.reporting": 1787112918.727932, "agentdeck.adapters.tools.mcp.wiring": 1787112918.725934, "agentdeck.authoring.interrupts": 1787112918.7262156, "agentdeck.adapters.leases.sqlite": 1787112918.7244415, "agentdeck.adapters.tools.mcp.source": 1787112918.725934, "agentdeck.adapters.engines.openai_agents": 1787112918.723521, "agentdeck.runtime.discovery": 1787112918.72897, "agentdeck.core.ports.store": 1787112918.727932, "agentdeck.core.context": 1787112918.7274418, "agentdeck.core.ports": 1787112918.7278075, "agentdeck.adapters.control": 1787112918.7231023, "agentdeck.mcp": 1787112918.727932, "agentdeck.runtime.capture": 1787112918.72897, "agentdeck.adapters.engines.stub": 1787112918.7238076}
@@ -0,0 +1 @@
1
+ {"agentdeck.observers":[["agentdeck.core.ports",17,"from agentdeck.core.ports import EventSinkPort"],["typing",15,"from typing import TYPE_CHECKING"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["agentdeck.core.events",22,"from agentdeck.core.events import Event"],["agentdeck.runtime.settings",19,"from agentdeck.runtime.settings import get_settings"],["agents",36,"from agents import set_trace_processors"],["agentdeck.adapters.telemetry.langfuse.client",85,"from agentdeck.adapters.telemetry.langfuse.client import langfuse_sink"],["__future__",13,"from __future__ import annotations"],["openinference",37,"from openinference.instrumentation.openai_agents import ( # ty: ignore[unresolved-import] - [observability] extra"]],"agentdeck.authoring.agent":[["typing",12,"from typing import TYPE_CHECKING, Any, ClassVar"],["__future__",10,"from __future__ import annotations"],["agentdeck.authoring.runners.agent",158,"from agentdeck.authoring.runners.agent import HeadlessRunner"],["collections",15,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.authoring.compile",152,"from agentdeck.authoring.compile import compile_agent"],["agents",18,"from agents.lifecycle import AgentHooks"],["agents",17,"from agents.agent_output import AgentOutputSchemaBase"]],"agentdeck.adapters.engines.openai_agents.sessions":[["typing",21,"from typing import TYPE_CHECKING"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",19,"from __future__ import annotations"],["agents",68,"from agents.extensions.memory import RedisSession"],["redis",53,"from redis.asyncio import Redis"],["agents",26,"from agents.memory.session import Session"],["agentdeck.runtime.settings",30,"from agentdeck.runtime.settings import SessionSettings"],["redis",27,"from redis.asyncio import Redis"],["agents",23,"from agents import SQLiteSession"]],"agentdeck.testing":[["agents",26,"from agents.usage import Usage"],["openai",27,"from openai.types.responses import ("],["openai",36,"from openai.types.responses.response_usage import InputTokensDetails, OutputTokensDetails"],["agents",24,"from agents.items import ModelResponse"],["threading",18,"import threading"],["http",20,"from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer"],["collections",39,"from collections.abc import AsyncIterator, Callable, Iterator, Sequence"],["json",17,"import json"],["asyncio",16,"import asyncio"],["contextlib",19,"from contextlib import contextmanager"],["unittest",22,"from unittest.mock import patch"],["__future__",14,"from __future__ import annotations"],["agents",25,"from agents.models.interface import Model"],["typing",21,"from typing import TYPE_CHECKING, Any"]],"agentdeck.runtime.discovery":[["collections",23,"from collections.abc import Callable, Mapping, Sequence"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.authoring.agent",14,"from agentdeck.authoring.agent import Agent"],["agentdeck.core.ports",28,"from agentdeck.core.ports import EnginePort"],["__future__",10,"from __future__ import annotations"],["agentdeck.errors",19,"from agentdeck.errors import ConfigError"],["agents",25,"from agents import Agent as SDKAgent"],["agentdeck.authoring.compile",15,"from agentdeck.authoring.compile import compile_agent, link_handoffs"],["agents",26,"from agents.tool import FunctionTool"],["agentdeck.runtime.registry",20,"from agentdeck.runtime.registry import PluginRegistry, mount_project_dir"],["agentdeck.authoring.graphs",16,"from agentdeck.authoring.graphs import bridge_context_nodes"],["agentdeck.authoring.workflow",17,"from agentdeck.authoring.workflow import Workflow"],["typing",12,"from typing import TYPE_CHECKING, Any, Final"]],"agentdeck.authoring.compile":[["agentdeck.authoring.instructions",50,"from agentdeck.authoring.instructions import compile_instructions"],["agentdeck.authoring.tools",51,"from agentdeck.authoring.tools import compile_tool"],["agents",58,"from agents.tool import FunctionTool"],["agentdeck.authoring.workflow",62,"from agentdeck.authoring.workflow import Workflow"],["agentdeck.adapters.engines.langgraph.checkpointer",47,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["langgraph",59,"from langgraph.graph.state import CompiledStateGraph"],["agentdeck.authoring.agent",172,"from agentdeck.authoring.agent import Agent as AuthoringAgent"],["agentdeck.authoring.workflow",118,"from agentdeck.authoring.workflow import Workflow"],["agents",44,"from agents import ModelSettings"],["agentdeck.adapters.tools.mcp.wiring",48,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agents",45,"from agents import Tool as SDKTool"],["agentdeck.authoring.hooks",49,"from agentdeck.authoring.hooks import compile_hooks"],["typing",41,"from typing import TYPE_CHECKING, Any, get_args, get_origin"],["agentdeck.authoring.agent",61,"from agentdeck.authoring.agent import Agent"],["agentdeck.errors",52,"from agentdeck.errors import ConfigError, NotFoundError"],["agents",43,"from agents import Agent as SDKAgent"],["agentdeck.runtime.settings",53,"from agentdeck.runtime.settings import get_settings, parse_backend_url"],["collections",56,"from collections.abc import Callable, Mapping, Sequence"],["__future__",39,"from __future__ import annotations"]],"agentdeck.surfaces.cli":[["__future__",3,"from __future__ import annotations"],["agentdeck.surfaces.cli.chat",5,"from agentdeck.surfaces.cli.chat import render, stream_chat"]],"agentdeck.adapters.engines.stub":[["agentdeck.adapters.engines.stub.engine",3,"from agentdeck.adapters.engines.stub.engine import Step, StubEngine, stub_spec"]],"agentdeck.cli":[["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["__future__",17,"from __future__ import annotations"],["agentdeck.core.control",23,"from agentdeck.core.control import Signal"],["argparse",19,"import argparse"],["asyncio",20,"import asyncio"]],"agentdeck.authoring.instructions":[["agentdeck.errors",25,"from agentdeck.errors import ConfigError"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.authoring.injection",23,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["__future__",18,"from __future__ import annotations"],["inspect",20,"import inspect"],["collections",28,"from collections.abc import Callable"],["agentdeck.core.context",24,"from agentdeck.core.context import Context, RunContext"]],"agentdeck.adapters.stores.redis.store":[["agentdeck.core.ports",40,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["redis",36,"from redis.asyncio import Redis"],["agentdeck.core.events",51,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.errors",42,"from agentdeck.errors import DuplicateKeyError, StoreError"],["typing",33,"from typing import TYPE_CHECKING, cast"],["__future__",29,"from __future__ import annotations"],["redis",37,"from redis.exceptions import RedisError, WatchError"],["redis",48,"from redis.asyncio.client import Pipeline"],["urllib",34,"from urllib.parse import quote, unquote"],["agentdeck.core.status",52,"from agentdeck.core.status import RunStatus"],["agentdeck.core.events",39,"from agentdeck.core.events import Event"],["agentdeck.core.status",41,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["json",31,"import json"],["agentdeck.core.context",50,"from agentdeck.core.context import RunContext"],["collections",45,"from collections.abc import Awaitable, Callable, Iterable, Sequence"],["datetime",32,"from datetime import UTC, datetime"],["datetime",46,"from datetime import timedelta"]],"agentdeck.deck":[["agentdeck.authoring.compile",52,"from agentdeck.authoring.compile import refresh_mcp_status"],["pathlib",44,"from pathlib import Path"],["typing",46,"from typing import TYPE_CHECKING, Any, Literal"],["agentdeck.authoring.interrupts",54,"from agentdeck.authoring.interrupts import interrupt_result"],["builtins",88,"import builtins"],["agentdeck.runtime.discovery",82,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.core.content",95,"from agentdeck.core.content import Input"],["agents",92,"from agents.tool import FunctionTool"],["agentdeck.adapters.engines.openai_agents",49,"from agentdeck.adapters.engines.openai_agents import ExecutionStore, OpenAIAgentsEngine, SessionFactory"],["agentdeck.core.events",96,"from agentdeck.core.events import Event, Usage"],["agentdeck.adapters.engines.langgraph",48,"from agentdeck.adapters.engines.langgraph import LangGraphEngine"],["uuid",41,"import uuid"],["agentdeck.runtime.settings",84,"from agentdeck.runtime.settings import Settings, get_settings"],["agentdeck.core.control",68,"from agentdeck.core.control import Signal"],["agentdeck.core.events",69,"from agentdeck.core.events import ("],["asyncio",38,"import asyncio"],["agentdeck.runtime.service",99,"from agentdeck.runtime.service import PendingRun, Runtime"],["datetime",43,"from datetime import UTC, datetime"],["agentdeck.serve",1107,"from agentdeck.serve import build_asgi_app"],["agents",91,"from agents.memory.session import Session"],["agentdeck.core.ports",78,"from agentdeck.core.ports import EventSinkPort"],["agentdeck.core.ports",98,"from agentdeck.core.ports import EnginePort, EventStorePort"],["agentdeck.composition",58,"from agentdeck.composition import ("],["agentdeck.authoring.agent",51,"from agentdeck.authoring.agent import Agent"],["agentdeck.skills",85,"from agentdeck.skills import Skills"],["__future__",36,"from __future__ import annotations"],["agentdeck.mcp",81,"from agentdeck.mcp import MCP"],["agentdeck.core.status",79,"from agentdeck.core.status import PRECONDITIONS, SUSPENDED_KINDS, Operation, RunStatus, Verdict"],["agentdeck.authoring.interrupts",94,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.timers",56,"from agentdeck.authoring.timers import WAKE_AT_KEY, wake_at_of"],["agentdeck.core.content",66,"from agentdeck.core.content import DataBlock, TextBlock, coerce_input"],["agentdeck.core.invocable",97,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.authoring.injection",53,"from agentdeck.authoring.injection import declared_context_type"],["agentdeck.authoring.skills",55,"from agentdeck.authoring.skills import skills_resolver"],["collections",89,"from collections.abc import AsyncGenerator, AsyncIterator, Generator, Mapping, Sequence"],["agentdeck.runtime.registry",83,"from agentdeck.runtime.registry import PROJECT_DIR, PluginRegistry, mount_project_dir"],["agentdeck.authoring.workflow",57,"from agentdeck.authoring.workflow import Workflow"],["logging",40,"import logging"],["functools",39,"import functools"],["contextlib",42,"from contextlib import aclosing, suppress"],["agentdeck.errors",80,"from agentdeck.errors import AgentdeckError, ConfigError, NotFoundError, RunStateError, RunSuspendedError"],["agentdeck.core.context",67,"from agentdeck.core.context import RunContext"],["types",45,"from types import MappingProxyType"],["agentdeck.adapters.tools.mcp.lifecycle",50,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"]],"agentdeck.core.base":[["__future__",7,"from __future__ import annotations"],["math",9,"from math import isfinite"],["pydantic",12,"from pydantic import AfterValidator, BaseModel, ConfigDict, JsonValue"],["typing",10,"from typing import Annotated"]],"agentdeck.adapters.telemetry.langfuse.client":[["langfuse",102,"from langfuse import propagate_attributes # ty: ignore[unresolved-import] - [observability] extra"],["typing",17,"from typing import TYPE_CHECKING, Any"],["os",16,"import os"],["__future__",13,"from __future__ import annotations"],["logging",15,"import logging"],["agentdeck.core.events",25,"from agentdeck.core.events import Usage"],["collections",22,"from collections.abc import Mapping"],["langfuse",60,"from langfuse import Langfuse # ty: ignore[unresolved-import] - [observability] extra"],["agentdeck.adapters.telemetry.langfuse.sink",19,"from agentdeck.adapters.telemetry.langfuse.sink import LangfuseSink"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import LangfuseSettings"],["agentdeck.adapters.telemetry.langfuse.trace",24,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind"]],"agentdeck.runtime.settings":[["pydantic_settings",30,"from pydantic_settings.sources import YamlConfigSettingsSource"],["pydantic_settings",29,"from pydantic_settings import BaseSettings, SettingsConfigDict"],["logging",19,"import logging"],["typing",25,"from typing import TYPE_CHECKING, Any, ClassVar, Self"],["pathlib",24,"from pathlib import Path"],["os",20,"import os"],["datetime",22,"from datetime import timedelta"],["functools",23,"from functools import lru_cache"],["collections",21,"from collections.abc import Mapping"],["importlib",34,"from importlib.resources.abc import Traversable"],["pydantic",28,"from pydantic import BaseModel, ConfigDict, Field, field_validator"],["__future__",17,"from __future__ import annotations"],["collections",33,"from collections.abc import Callable"],["dotenv",27,"from dotenv import load_dotenv"]],"agentdeck.authoring.runners":[["agentdeck.authoring.runners.workflow",4,"from agentdeck.authoring.runners.workflow import BaseWorkflowRunner, DevWorkflowRunner"],["agentdeck.authoring.runners.agent",3,"from agentdeck.authoring.runners.agent import BaseRunner, HeadlessRunner, StreamDone"]],"agentdeck.adapters.telemetry.langfuse":[["agentdeck.adapters.telemetry.langfuse.sink",4,"from agentdeck.adapters.telemetry.langfuse.sink import MAX_OPEN_CALLS, MAX_OPEN_RUNS, LangfuseSink"],["agentdeck.adapters.telemetry.langfuse.client",3,"from agentdeck.adapters.telemetry.langfuse.client import LangfuseTracer, build_client, langfuse_sink"],["agentdeck.adapters.telemetry.langfuse.trace",5,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"]],"agentdeck.core.ports.engine":[["__future__",7,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import Input"],["typing",10,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.core.events",17,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.invocable",18,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.core.context",16,"from agentdeck.core.context import RunContext"],["abc",9,"from abc import ABC, abstractmethod"],["collections",13,"from collections.abc import AsyncGenerator, Sequence"]],"agentdeck.serve":[["agentdeck.deck",83,"from agentdeck.deck import Deck"],["uvicorn",354,"import uvicorn"],["agentdeck.core.content",60,"from agentdeck.core.content import coerce_input"],["logging",55,"import logging"],["agentdeck.surfaces.serve.compat",63,"from agentdeck.surfaces.serve.compat import ("],["agentdeck.deck",77,"from agentdeck.deck import Deck"],["agentdeck.core.status",61,"from agentdeck.core.status import status_of"],["contextlib",57,"from contextlib import aclosing, asynccontextmanager"],["collections",72,"from collections.abc import AsyncGenerator, AsyncIterator, Awaitable, Callable"],["argparse",54,"import argparse"],["os",56,"import os"],["fastapi",74,"from fastapi import FastAPI"],["agentdeck.errors",62,"from agentdeck.errors import AgentdeckError, NotFoundError, RunStateError, SessionBusyError"],["__future__",52,"from __future__ import annotations"],["fastapi",108,"from fastapi.responses import JSONResponse, StreamingResponse"],["typing",58,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.events",76,"from agentdeck.core.events import Event"],["fastapi",107,"from fastapi import FastAPI, HTTPException, Request"]],"agentdeck.adapters.engines.openai_agents.runconfig":[["openai",27,"from openai import AsyncOpenAI"],["typing",23,"from typing import TYPE_CHECKING, Any, cast"],["agents",30,"from agents.handoffs import HandoffHistoryMapper"],["os",21,"import os"],["agents",31,"from agents.items import TResponseInputItem"],["agents",26,"from agents import ModelSettings, MultiProvider, OpenAIProvider, RunConfig, default_handoff_history_mapper"],["dataclasses",22,"from dataclasses import dataclass"],["__future__",19,"from __future__ import annotations"],["httpx",25,"import httpx"]],"agentdeck.authoring.web_search":[["agents",13,"from agents import function_tool"],["agentdeck.runtime.settings",15,"from agentdeck.runtime.settings import get_settings"],["httpx",12,"import httpx"],["__future__",10,"from __future__ import annotations"]],"agentdeck.adapters.engines.langgraph":[["agentdeck.adapters.engines.langgraph.engine",6,"from agentdeck.adapters.engines.langgraph.engine import DURABLE_KEY, REPORTER_KEY, LangGraphEngine"],["agentdeck.adapters.engines.langgraph.checkpointer",5,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["__future__",3,"from __future__ import annotations"]],"agentdeck.surfaces.serve.workflows":[["collections",19,"from collections.abc import AsyncIterator"],["agentdeck.runtime.service",21,"from agentdeck.runtime.service import Runtime"],["typing",12,"from typing import TYPE_CHECKING, Any"],["fastapi",15,"from fastapi.responses import StreamingResponse"],["pydantic",16,"from pydantic import BaseModel"],["fastapi",14,"from fastapi import FastAPI"],["__future__",10,"from __future__ import annotations"]],"agentdeck.runtime.service":[["uuid",22,"from uuid import uuid4"],["datetime",20,"from datetime import timedelta"],["contextlib",18,"from contextlib import aclosing, asynccontextmanager, suppress"],["typing",56,"from typing import Any"],["agentdeck.core.events",60,"from agentdeck.core.events import KnownPayload"],["agentdeck.core.reporting",39,"from agentdeck.core.reporting import Reporter"],["agentdeck.errors",51,"from agentdeck.errors import DOCS_URL, NotFoundError, RunStateError, SessionBusyError, StoreError"],["collections",17,"from collections import deque"],["agentdeck.core.control",28,"from agentdeck.core.control import CONTROL_POLL_INTERVAL, Gate, Signal"],["agentdeck.core.events",29,"from agentdeck.core.events import ("],["agentdeck.core.ports.store",63,"from agentdeck.core.ports.store import RunSummary"],["pydantic",24,"from pydantic import ValidationError"],["agentdeck.core.content",58,"from agentdeck.core.content import Input"],["agentdeck.runtime.dispatch",52,"from agentdeck.runtime.dispatch import SinkDispatch"],["collections",55,"from collections.abc import AsyncGenerator, AsyncIterator, Mapping, Sequence"],["agentdeck.core.ports",62,"from agentdeck.core.ports import ControlPort, EnginePort, EventSinkPort, EventStorePort, LeasePort"],["agentdeck.core.status",40,"from agentdeck.core.status import ("],["agentdeck.core.content",26,"from agentdeck.core.content import DataBlock, coerce_input"],["logging",16,"import logging"],["agentdeck.core.control",59,"from agentdeck.core.control import ControlSignal"],["__future__",13,"from __future__ import annotations"],["typing",21,"from typing import TYPE_CHECKING"],["agentdeck.core.context",27,"from agentdeck.core.context import RunContext"],["dataclasses",19,"from dataclasses import dataclass, replace"],["agentdeck.core.invocable",61,"from agentdeck.core.invocable import InvocableSpec"],["asyncio",15,"import asyncio"]],"agentdeck.adapters.engines.stub.engine":[["agentdeck.core.ports",21,"from agentdeck.core.ports import EnginePort"],["agentdeck.core.events",19,"from agentdeck.core.events import RunInterrupted"],["collections",15,"from collections.abc import Sequence"],["agentdeck.core.invocable",20,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["__future__",13,"from __future__ import annotations"],["agentdeck.core.control",18,"from agentdeck.core.control import ControlSignalled"],["agentdeck.core.events",29,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.context",28,"from agentdeck.core.context import RunContext"],["agentdeck.core.content",27,"from agentdeck.core.content import Input"],["agentdeck.errors",22,"from agentdeck.errors import ConfigError"],["typing",16,"from typing import TYPE_CHECKING, Any, ClassVar"],["collections",25,"from collections.abc import AsyncGenerator"]],"agentdeck.adapters.stores.sqlite.store":[["json",12,"import json"],["typing",17,"from typing import TYPE_CHECKING"],["contextlib",14,"from contextlib import suppress"],["agentdeck.core.status",31,"from agentdeck.core.status import RunStatus"],["agentdeck.errors",22,"from agentdeck.errors import DuplicateKeyError, StoreError"],["datetime",26,"from datetime import timedelta"],["pathlib",27,"from pathlib import Path"],["agentdeck.core.ports",20,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["collections",25,"from collections.abc import Callable, Sequence"],["functools",16,"from functools import partial"],["agentdeck.core.status",21,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["agentdeck.core.events",30,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["datetime",15,"from datetime import datetime"],["asyncio",11,"import asyncio"],["agentdeck.core.events",19,"from agentdeck.core.events import Event"],["sqlite3",13,"import sqlite3"],["agentdeck.core.context",29,"from agentdeck.core.context import RunContext"],["__future__",9,"from __future__ import annotations"]],"agentdeck.authoring.nodes":[["typing",15,"from typing import Any"],["pathlib",14,"from pathlib import Path"],["agentdeck.authoring.runners.agent",22,"from agentdeck.authoring.runners.agent import HeadlessRunner, StreamDone"],["langgraph",17,"from langgraph.config import get_config, get_stream_writer"],["collections",13,"from collections.abc import Callable, Mapping"],["agentdeck.adapters.engines.langgraph.engine",19,"from agentdeck.adapters.engines.langgraph.engine import STREAM_CONFIGURABLE_KEY"],["__future__",10,"from __future__ import annotations"],["logging",12,"import logging"],["agentdeck.authoring.agent",20,"from agentdeck.authoring.agent import Agent"],["agentdeck.authoring.compile",21,"from agentdeck.authoring.compile import compile_agent"]],"agentdeck.surfaces.serve":[["agentdeck.surfaces.serve.app",5,"from agentdeck.surfaces.serve.app import build_app"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.control.memory.port":[["agentdeck.core.ports.control",8,"from agentdeck.core.ports.control import ControlPort"],["__future__",5,"from __future__ import annotations"],["agentdeck.core.control",7,"from agentdeck.core.control import ControlSignal, Signal"]],"agentdeck.mcp":[["typing",14,"from typing import Any"],["pydantic",16,"from pydantic import BaseModel, ConfigDict, Field"],["json",12,"import json"],["__future__",10,"from __future__ import annotations"],["agentdeck.errors",18,"from agentdeck.errors import ConfigError"],["pathlib",13,"from pathlib import Path"]],"agentdeck.errors":[["__future__",12,"from __future__ import annotations"],["agentdeck.core.status",16,"from agentdeck.core.status import RunStatus"],["typing",14,"from typing import Any"]],"agentdeck.adapters.control.memory":[["agentdeck.adapters.control.memory.port",3,"from agentdeck.adapters.control.memory.port import MemoryControlPort"]],"agentdeck.authoring.graphs":[["agentdeck.core.context",32,"from agentdeck.core.context import Context, RunContext"],["agentdeck.authoring.injection",31,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["langgraph",29,"from langgraph.utils.runnable import RunnableCallable"],["collections",36,"from collections.abc import Callable"],["__future__",22,"from __future__ import annotations"],["dataclasses",25,"import dataclasses"],["inspect",26,"import inspect"],["langgraph",38,"from langgraph.graph.state import StateGraph"],["typing",27,"from typing import TYPE_CHECKING, Any"],["agentdeck.authoring.injection",40,"from agentdeck.authoring.injection import CallableAnalysis"],["agentdeck.errors",33,"from agentdeck.errors import ConfigError"],["asyncio",24,"import asyncio"]],"agentdeck.adapters":[],"agentdeck.core.ports.lease":[["__future__",14,"from __future__ import annotations"],["datetime",21,"from datetime import timedelta"],["abc",16,"from abc import ABC, abstractmethod"],["collections",20,"from collections.abc import Collection"],["typing",17,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.control":[],"agentdeck.core.invocable":[["enum",9,"from enum import StrEnum"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.base",14,"from agentdeck.core.base import CoreModel"],["typing",10,"from typing import Any"],["pydantic",12,"from pydantic import ConfigDict, Field"]],"agentdeck.core.reporting":[["__future__",12,"from __future__ import annotations"],["collections",20,"from collections import deque"],["logging",14,"import logging"],["typing",15,"from typing import TYPE_CHECKING"],["agentdeck.core.events",22,"from agentdeck.core.events import KnownPayload"],["agentdeck.core.events",17,"from agentdeck.core.events import ProgressReported, StatusReported"]],"agentdeck.adapters.stores.postgres":[["agentdeck.adapters.stores.postgres.store",3,"from agentdeck.adapters.stores.postgres.store import PostgresEventStore"]],"agentdeck.authoring.interrupts":[["__future__",10,"from __future__ import annotations"],["typing",12,"from typing import Any, Literal, NotRequired, TypedDict"]],"agentdeck.core":[["agentdeck.core.content",7,"from agentdeck.core.content import ("],["agentdeck.core.status",57,"from agentdeck.core.status import RunStatus, can_resume, status_of"],["agentdeck.core.invocable",55,"from agentdeck.core.invocable import InvocableKind, InvocableSpec"],["agentdeck.core.context",20,"from agentdeck.core.context import RunContext"],["agentdeck.core.events",21,"from agentdeck.core.events import ("],["agentdeck.core.reporting",56,"from agentdeck.core.reporting import Reporter"]],"agentdeck.core.ports.sink":[["typing",10,"from typing import TYPE_CHECKING"],["agentdeck.core.events",13,"from agentdeck.core.events import Event"],["__future__",7,"from __future__ import annotations"],["abc",9,"from abc import ABC, abstractmethod"]],"agentdeck.surfaces.cli.chat":[["typing",13,"from typing import TYPE_CHECKING"],["agentdeck.core.events",16,"from agentdeck.core.events import ("],["__future__",10,"from __future__ import annotations"],["collections",32,"from collections.abc import AsyncIterator"],["agentdeck.core.content",15,"from agentdeck.core.content import TextBlock"],["httpx",34,"import httpx"],["json",12,"import json"]],"agentdeck.core.control":[["agentdeck.core.status",21,"from agentdeck.core.status import Action, RunStatus, decide"],["agentdeck.core.events",26,"from agentdeck.core.events import ControlVerb, KnownPayload, SafePoint"],["agentdeck.core.ports.control",27,"from agentdeck.core.ports.control import ControlPort"],["dataclasses",16,"from dataclasses import dataclass"],["__future__",13,"from __future__ import annotations"],["typing",18,"from typing import TYPE_CHECKING, ClassVar"],["time",15,"import time"],["enum",17,"from enum import StrEnum"],["agentdeck.core.events",20,"from agentdeck.core.events import ControlObserved, ControlRequested, RunCancelled, RunPaused"],["collections",24,"from collections.abc import Callable, Mapping"]],"agentdeck.core.context":[["agentdeck.core.reporting",24,"from agentdeck.core.reporting import Reporter"],["__future__",18,"from __future__ import annotations"],["agentdeck.core.control",23,"from agentdeck.core.control import Gate"],["dataclasses",20,"from dataclasses import dataclass, field"],["typing",21,"from typing import cast"]],"agentdeck.adapters.stores.postgres.store":[["asyncio",19,"import asyncio"],["datetime",34,"from datetime import timedelta"],["agentdeck.core.context",36,"from agentdeck.core.context import RunContext"],["agentdeck.core.status",29,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, can_resume, status_of"],["hashlib",20,"import hashlib"],["__future__",17,"from __future__ import annotations"],["agentdeck.core.ports",28,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["psycopg",24,"from psycopg import errors as pg_errors"],["psycopg",25,"from psycopg import sql"],["agentdeck.errors",30,"from agentdeck.errors import DuplicateKeyError, StoreError"],["psycopg",23,"import psycopg"],["agentdeck.core.events",37,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["agentdeck.core.events",27,"from agentdeck.core.events import Event"],["agentdeck.core.status",38,"from agentdeck.core.status import RunStatus"],["typing",21,"from typing import TYPE_CHECKING, Any"],["collections",33,"from collections.abc import Awaitable, Callable, Sequence"]],"agentdeck.adapters.tools.mcp.lifecycle":[["asyncio",19,"import asyncio"],["logging",20,"import logging"],["agentdeck.errors",24,"from agentdeck.errors import ConfigError"],["__future__",17,"from __future__ import annotations"],["collections",27,"from collections.abc import Sequence"],["agents",29,"from agents.mcp import MCPServer"],["typing",21,"from typing import TYPE_CHECKING, Any"],["agentdeck.adapters.tools.mcp.transport",23,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"]],"agentdeck.adapters.tools.mcp.transport":[["__future__",9,"from __future__ import annotations"],["asyncio",11,"import asyncio"],["contextlib",13,"from contextlib import AsyncExitStack, suppress"],["collections",20,"from collections.abc import Awaitable, Callable"],["typing",14,"from typing import TYPE_CHECKING, Any, TypeVar"],["agents",17,"from agents.mcp import MCPServerStreamableHttp"],["httpx",16,"import httpx"],["logging",12,"import logging"]],"agentdeck.authoring.runners.agent":[["httpx",21,"import httpx"],["agentdeck.runtime.settings",26,"from agentdeck.runtime.settings import Settings, default_use_responses, get_settings"],["openai",23,"from openai import AsyncOpenAI"],["agents",22,"from agents import Agent, ModelSettings, OpenAIProvider, RunConfig, Runner, RunResult"],["agentdeck.adapters.engines.openai_agents.runconfig",25,"from agentdeck.adapters.engines.openai_agents.runconfig import build_handoff_ends_on_user_turn_mapper, tracing_enabled"],["__future__",15,"from __future__ import annotations"],["contextlib",17,"from contextlib import aclosing"],["typing",19,"from typing import TYPE_CHECKING, Any, Self, cast"],["collections",29,"from collections.abc import AsyncGenerator, AsyncIterator"],["dataclasses",18,"from dataclasses import dataclass, field"]],"agentdeck.skills.bundle":[["re",5,"import re"],["pathlib",7,"from pathlib import Path"],["yaml",10,"import yaml"],["dataclasses",6,"from dataclasses import dataclass, field"],["agentdeck.errors",12,"from agentdeck.errors import ConfigError"],["typing",8,"from typing import Any"],["__future__",3,"from __future__ import annotations"]],"agentdeck.adapters.tools":[],"agentdeck.core.events":[["__future__",22,"from __future__ import annotations"],["agentdeck.core.content",39,"from agentdeck.core.content import Input # noqa: TC001 - pydantic resolves field annotations at runtime"],["pydantic",26,"from pydantic import ("],["typing",24,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.base",38,"from agentdeck.core.base import CoreModel, JsonData"]],"agentdeck.authoring.runners.workflow":[["__future__",13,"from __future__ import annotations"],["langchain_core",18,"from langchain_core.runnables import RunnableConfig"],["agentdeck.authoring.compile",21,"from agentdeck.authoring.compile import compile_workflow"],["langgraph",27,"from langgraph.graph.state import CompiledStateGraph"],["collections",25,"from collections.abc import AsyncIterator"],["typing",16,"from typing import TYPE_CHECKING, Any, Self, cast"],["agentdeck.authoring.state",22,"from agentdeck.authoring.state import coerce_input"],["agentdeck.adapters.engines.langgraph.engine",20,"from agentdeck.adapters.engines.langgraph.engine import STREAM_CONFIGURABLE_KEY"],["agentdeck.authoring.workflow",29,"from agentdeck.authoring.workflow import Workflow"],["dataclasses",15,"from dataclasses import dataclass, field"]],"agentdeck.adapters.control.sqlite":[["agentdeck.adapters.control.sqlite.port",3,"from agentdeck.adapters.control.sqlite.port import SqliteControlPort"]],"agentdeck.adapters.telemetry.langfuse.sink":[["agentdeck.core.events",53,"from agentdeck.core.events import Event, Usage"],["json",24,"import json"],["agentdeck.core.content",30,"from agentdeck.core.content import DataBlock, ImageBlock, ResourceBlock, TextBlock"],["dataclasses",27,"from dataclasses import dataclass, field"],["collections",49,"from collections.abc import Mapping"],["typing",28,"from typing import TYPE_CHECKING, Any"],["agentdeck.core.content",52,"from agentdeck.core.content import Input"],["agentdeck.core.events",31,"from agentdeck.core.events import ("],["agentdeck.core.ports",46,"from agentdeck.core.ports import EventSinkPort"],["re",26,"import re"],["__future__",21,"from __future__ import annotations"],["logging",25,"import logging"],["agentdeck.adapters.telemetry.langfuse.trace",51,"from agentdeck.adapters.telemetry.langfuse.trace import Level, Observation, ObservationKind, Tracer"],["asyncio",23,"import asyncio"]],"agentdeck.skills":[["agentdeck.errors",15,"from agentdeck.errors import DOCS_URL, ConfigError, NotFoundError"],["agentdeck.skills.bundle",16,"from agentdeck.skills.bundle import SKILL_MD_FILENAME, SkillBundle"],["pathlib",12,"from pathlib import Path"],["typing",13,"from typing import TYPE_CHECKING"],["__future__",10,"from __future__ import annotations"],["collections",19,"from collections.abc import Sequence"]],"agentdeck.adapters.stores.memory.store":[["agentdeck.core.context",18,"from agentdeck.core.context import RunContext"],["agentdeck.errors",12,"from agentdeck.errors import DuplicateKeyError, StoreError"],["datetime",6,"from datetime import UTC, datetime"],["agentdeck.core.events",9,"from agentdeck.core.events import Event"],["agentdeck.core.status",11,"from agentdeck.core.status import LIFECYCLE_KINDS, STATES, RunStatus, can_resume, status_of"],["agentdeck.core.ports",10,"from agentdeck.core.ports import EventStorePort, RunSummary, SessionClaim"],["collections",15,"from collections.abc import Callable, Sequence"],["asyncio",5,"import asyncio"],["__future__",3,"from __future__ import annotations"],["datetime",16,"from datetime import timedelta"],["agentdeck.core.events",19,"from agentdeck.core.events import KnownPayload, RunResumed, RunStarted"],["typing",7,"from typing import TYPE_CHECKING"]],"agentdeck.runtime.capture":[["__future__",12,"from __future__ import annotations"],["enum",14,"from enum import StrEnum"],["pydantic",16,"from pydantic import BaseModel"]],"agentdeck.adapters.leases.memory":[["agentdeck.adapters.leases.memory.port",3,"from agentdeck.adapters.leases.memory.port import MemoryLeasePort"]],"agentdeck.adapters.tools.mcp.wiring":[["typing",10,"from typing import TYPE_CHECKING"],["agentdeck.adapters.tools.mcp.lifecycle",12,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["__future__",8,"from __future__ import annotations"],["agents",17,"from agents.mcp import MCPServer"],["collections",15,"from collections.abc import Iterable, Sequence"]],"agentdeck.authoring.timers":[["typing",10,"from typing import Any"],["datetime",9,"from datetime import UTC, datetime"],["langgraph",12,"from langgraph.types import interrupt"],["__future__",7,"from __future__ import annotations"]],"agentdeck.authoring.injection":[["inspect",29,"import inspect"],["typing",32,"from typing import TYPE_CHECKING, Any, Union, get_args, get_origin, get_type_hints"],["__future__",27,"from __future__ import annotations"],["types",30,"import types"],["dataclasses",31,"from dataclasses import dataclass"],["agentdeck.errors",35,"from agentdeck.errors import ConfigError, ContextTypeError"],["collections",38,"from collections.abc import Callable, Iterable, Iterator, Mapping"],["agentdeck.core.context",34,"from agentdeck.core.context import Context"]],"agentdeck.authoring.state":[["collections",7,"from collections.abc import Mapping"],["langgraph",10,"from langgraph.types import Command"],["dataclasses",5,"import dataclasses"],["json",6,"import json"],["pydantic",11,"from pydantic import BaseModel"],["__future__",3,"from __future__ import annotations"],["typing",8,"from typing import Any"]],"agentdeck.adapters.engines.langgraph.checkpointer":[["agentdeck.errors",29,"from agentdeck.errors import DOCS_URL, StoreError"],["functools",25,"from functools import cache, partial"],["collections",33,"from collections.abc import Callable, Coroutine, MutableMapping"],["threading",24,"import threading"],["weakref",27,"from weakref import WeakKeyDictionary"],["typing",26,"from typing import TYPE_CHECKING, Any, TypeVar"],["__future__",20,"from __future__ import annotations"],["psycopg",191,"import psycopg # ty: ignore[unresolved-import] - [durability] extra"],["aiosqlite",152,"import aiosqlite"],["langgraph",139,"from langgraph.checkpoint.memory import MemorySaver"],["langgraph",184,"from langgraph.checkpoint.postgres.aio import ( # ty: ignore[unresolved-import] - [durability] extra"],["asyncio",32,"from asyncio import AbstractEventLoop"],["sqlite3",23,"import sqlite3"],["langgraph",153,"from langgraph.checkpoint.sqlite import aio as sqlite_aio"],["asyncio",22,"import asyncio"],["langgraph",35,"from langgraph.checkpoint.base import BaseCheckpointSaver"]],"agentdeck.adapters.leases.sqlite.port":[["agentdeck.core.ports.lease",22,"from agentdeck.core.ports.lease import LeasePort"],["__future__",14,"from __future__ import annotations"],["functools",19,"from functools import partial"],["pathlib",28,"from pathlib import Path"],["contextlib",18,"from contextlib import suppress"],["agentdeck.errors",23,"from agentdeck.errors import StoreError"],["sqlite3",17,"import sqlite3"],["collections",26,"from collections.abc import Callable, Collection"],["asyncio",16,"import asyncio"],["typing",20,"from typing import TYPE_CHECKING"],["datetime",27,"from datetime import timedelta"]],"agentdeck.adapters.stores.redis":[["agentdeck.adapters.stores.redis.store",3,"from agentdeck.adapters.stores.redis.store import RedisEventStore"]],"agentdeck.surfaces.serve.app":[["fastapi",12,"from fastapi.responses import JSONResponse, StreamingResponse"],["http",8,"from http import HTTPStatus"],["fastapi",11,"from fastapi import FastAPI"],["typing",9,"from typing import TYPE_CHECKING, Any"],["pydantic",13,"from pydantic import BaseModel, Field"],["__future__",6,"from __future__ import annotations"],["agentdeck.core.content",15,"from agentdeck.core.content import coerce_input"],["agentdeck.core.events",21,"from agentdeck.core.events import Event"],["collections",19,"from collections.abc import AsyncIterator"],["agentdeck.runtime.service",22,"from agentdeck.runtime.service import Runtime"],["agentdeck.errors",16,"from agentdeck.errors import SessionBusyError"]],"agentdeck.authoring.workflow":[["__future__",11,"from __future__ import annotations"],["agentdeck.authoring.state",218,"from agentdeck.authoring.state import dump_state"],["langgraph",164,"from langgraph.types import Command"],["langgraph",25,"from langgraph.graph import StateGraph"],["agentdeck.authoring.interrupts",173,"from agentdeck.authoring.interrupts import interrupt_result"],["re",14,"import re"],["agentdeck.errors",19,"from agentdeck.errors import DOCS_URL, ConfigError"],["agentdeck.authoring.interrupts",27,"from agentdeck.authoring.interrupts import InterruptResult"],["json",13,"import json"],["agentdeck.authoring.runners.workflow",108,"from agentdeck.authoring.runners.workflow import DevWorkflowRunner"],["agentdeck.authoring.compile",172,"from agentdeck.authoring.compile import compile_workflow"],["typing",15,"from typing import TYPE_CHECKING, Any, ClassVar"],["agentdeck.authoring.interrupts",140,"from agentdeck.authoring.interrupts import as_interrupt"],["agentdeck.authoring.interrupts",130,"from agentdeck.authoring.interrupts import INTERRUPT_KEY"],["langgraph",195,"from langgraph.graph import END, START"],["agentdeck.authoring.compile",103,"from agentdeck.authoring.compile import compile_workflow"],["pydantic",17,"from pydantic import BaseModel"],["agents",216,"from agents.tool import FunctionTool"],["agents",24,"from agents.tool import FunctionTool"],["collections",22,"from collections.abc import AsyncIterator, Callable, Iterable, Sequence"]],"agentdeck.core.ports.tools":[["__future__",12,"from __future__ import annotations"],["agentdeck.core.invocable",22,"from agentdeck.core.invocable import InvocableSpec"],["typing",15,"from typing import TYPE_CHECKING, Any"],["pydantic",17,"from pydantic import ConfigDict"],["abc",14,"from abc import ABC, abstractmethod"],["agentdeck.core.base",19,"from agentdeck.core.base import CoreModel"]],"agentdeck.adapters.engines.openai_agents.engine":[["agentdeck.adapters.engines.openai_agents.sessions",48,"from agentdeck.adapters.engines.openai_agents.sessions import ExecutionStore"],["agentdeck.core.content",50,"from agentdeck.core.content import AudioBlock, DataBlock, ImageBlock, ResourceBlock, TextBlock, coerce_input"],["agentdeck.adapters.engines.openai_agents.runconfig",47,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings, build_run_config"],["json",37,"import json"],["agents",61,"from agents.result import RunResultStreaming"],["agents",60,"from agents.memory.session import Session"],["pydantic",44,"from pydantic import BaseModel"],["agentdeck.core.ports",53,"from agentdeck.core.ports import EnginePort"],["agents",43,"from agents import Agent, Runner"],["agentdeck.core.invocable",67,"from agentdeck.core.invocable import InvocableSpec"],["agentdeck.errors",54,"from agentdeck.errors import ConfigError"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.core.content",64,"from agentdeck.core.content import ContentBlock, Input"],["agents",62,"from agents.usage import Usage as SDKUsage"],["agentdeck.core.events",52,"from agentdeck.core.events import RunCompleted, Usage, UsageReported"],["typing",41,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.adapters.engines.openai_agents.reconcile",46,"from agentdeck.adapters.engines.openai_agents.reconcile import reconcile, render_data_block"],["agentdeck.core.events",66,"from agentdeck.core.events import Event, KnownPayload"],["contextlib",39,"from contextlib import AbstractAsyncContextManager, aclosing, asynccontextmanager, nullcontext"],["dataclasses",36,"import dataclasses"],["agentdeck.core.context",65,"from agentdeck.core.context import RunContext"],["dataclasses",40,"from dataclasses import dataclass"],["agentdeck.adapters.engines.openai_agents.translate",49,"from agentdeck.adapters.engines.openai_agents.translate import translate"],["__future__",34,"from __future__ import annotations"],["collections",38,"from collections.abc import Callable"],["agentdeck.core.control",51,"from agentdeck.core.control import ControlSignalled"],["agents",59,"from agents.items import TResponseInputItem"]],"agentdeck.core.ports":[["agentdeck.core.ports.sink",14,"from agentdeck.core.ports.sink import EventSinkPort"],["agentdeck.core.ports.control",11,"from agentdeck.core.ports.control import ControlPort"],["agentdeck.core.ports.engine",12,"from agentdeck.core.ports.engine import EnginePort"],["agentdeck.core.ports.store",15,"from agentdeck.core.ports.store import EventStorePort, RunSummary, SessionClaim"],["agentdeck.core.ports.tools",16,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["agentdeck.core.ports.lease",13,"from agentdeck.core.ports.lease import LeasePort"]],"agentdeck.adapters.stores":[],"agentdeck.adapters.control.sqlite.port":[["sqlite3",10,"import sqlite3"],["agentdeck.core.ports.control",16,"from agentdeck.core.ports.control import ControlPort"],["typing",13,"from typing import TYPE_CHECKING"],["functools",12,"from functools import partial"],["pathlib",21,"from pathlib import Path"],["agentdeck.errors",17,"from agentdeck.errors import StoreError"],["collections",20,"from collections.abc import Callable"],["agentdeck.core.control",15,"from agentdeck.core.control import ControlSignal, Signal"],["__future__",7,"from __future__ import annotations"],["asyncio",9,"import asyncio"],["contextlib",11,"from contextlib import suppress"]],"agentdeck.adapters.stores.memory":[["agentdeck.adapters.stores.memory.store",3,"from agentdeck.adapters.stores.memory.store import MemoryEventStore"]],"agentdeck.authoring":[["agentdeck.authoring.interrupts",8,"from agentdeck.authoring.interrupts import InterruptResult"],["agentdeck.authoring.workflow",11,"from agentdeck.authoring.workflow import Workflow, WorkflowDeclaration"],["agentdeck.authoring.nodes",9,"from agentdeck.authoring.nodes import AgentNode, LoadFileNode"],["agentdeck.authoring.timers",10,"from agentdeck.authoring.timers import sleep_until"],["agentdeck.authoring.agent",7,"from agentdeck.authoring.agent import Agent, AgentDeclaration"]],"agentdeck.authoring.skills":[["typing",11,"from typing import TYPE_CHECKING"],["agents",13,"from agents import function_tool"],["__future__",9,"from __future__ import annotations"],["agents",18,"from agents.tool import FunctionTool"],["agentdeck.skills",20,"from agentdeck.skills import Skills"],["collections",16,"from collections.abc import Callable, Sequence"]],"agentdeck.core.status":[["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["agentdeck.core.events",23,"from agentdeck.core.events import TERMINAL_KINDS"],["typing",21,"from typing import TYPE_CHECKING"],["collections",26,"from collections.abc import Mapping, Sequence"],["__future__",17,"from __future__ import annotations"],["dataclasses",19,"from dataclasses import dataclass"],["enum",20,"from enum import StrEnum"]],"agentdeck.adapters.engines":[],"agentdeck.adapters.telemetry":[],"agentdeck.adapters.leases":[],"agentdeck.core.ports.control":[["__future__",14,"from __future__ import annotations"],["agentdeck.core.control",20,"from agentdeck.core.control import ControlSignal, Signal"],["abc",16,"from abc import ABC, abstractmethod"],["typing",17,"from typing import TYPE_CHECKING"]],"agentdeck.composition":[["collections",41,"from collections.abc import Mapping, Sequence"],["agentdeck.adapters.leases.sqlite",25,"from agentdeck.adapters.leases.sqlite import SqliteLeasePort"],["agentdeck.runtime.service",30,"from agentdeck.runtime.service import Runtime"],["agentdeck.adapters.leases.memory",24,"from agentdeck.adapters.leases.memory import MemoryLeasePort"],["agentdeck.adapters.stores.sqlite",27,"from agentdeck.adapters.stores.sqlite import SqliteEventStore"],["__future__",16,"from __future__ import annotations"],["typing",19,"from typing import TYPE_CHECKING"],["logging",18,"import logging"],["agentdeck.observers",112,"from agentdeck.observers import Langfuse"],["agentdeck.core.ports",45,"from agentdeck.core.ports import ControlPort, EnginePort, EventSinkPort, EventStorePort, LeasePort"],["agentdeck.adapters.engines.openai_agents.runconfig",23,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.stores.memory",26,"from agentdeck.adapters.stores.memory import MemoryEventStore"],["agentdeck.adapters.stores.postgres",249,"from agentdeck.adapters.stores.postgres import PostgresEventStore"],["agentdeck.adapters.control.memory",21,"from agentdeck.adapters.control.memory import MemoryControlPort"],["agentdeck.adapters.control.sqlite",22,"from agentdeck.adapters.control.sqlite import SqliteControlPort"],["agentdeck.errors",28,"from agentdeck.errors import DOCS_URL"],["agentdeck.adapters.stores.redis",240,"from agentdeck.adapters.stores.redis import RedisEventStore"],["agentdeck.runtime.discovery",29,"from agentdeck.runtime.discovery import InvocableRegistry"],["agentdeck.core.invocable",44,"from agentdeck.core.invocable import InvocableSpec"],["datetime",42,"from datetime import timedelta"],["agentdeck.runtime.settings",31,"from agentdeck.runtime.settings import ("]],"agentdeck":[["importlib",10,"from importlib.metadata import PackageNotFoundError"],["agentdeck.authoring",13,"from agentdeck.authoring import Agent, Workflow"],["agentdeck.errors",16,"from agentdeck.errors import ("],["agentdeck.deck",15,"from agentdeck.deck import Deck, Run, TurnResult"],["importlib",11,"from importlib.metadata import version as _version"],["agentdeck.core.context",14,"from agentdeck.core.context import Context"]],"agentdeck.runtime.registry":[["pathlib",11,"from pathlib import Path"],["importlib",6,"import importlib.util"],["agentdeck.errors",14,"from agentdeck.errors import ConfigError, NotFoundError"],["dataclasses",9,"from dataclasses import dataclass, field"],["importlib",5,"import importlib"],["importlib",10,"from importlib.machinery import ModuleSpec"],["typing",12,"from typing import Generic, TypeVar"],["__future__",3,"from __future__ import annotations"],["types",8,"import types"],["sys",7,"import sys"]],"agentdeck.adapters.leases.sqlite":[["agentdeck.adapters.leases.sqlite.port",3,"from agentdeck.adapters.leases.sqlite.port import SqliteLeasePort"]],"agentdeck.runtime.dispatch":[["typing",26,"from typing import TYPE_CHECKING"],["agentdeck.core.ports",32,"from agentdeck.core.ports import EventSinkPort"],["__future__",21,"from __future__ import annotations"],["collections",29,"from collections.abc import Callable"],["agentdeck.core.events",31,"from agentdeck.core.events import Event"],["asyncio",23,"import asyncio"],["logging",24,"import logging"],["time",25,"import time"]],"agentdeck.adapters.engines.langgraph.engine":[["langgraph",61,"from langgraph.checkpoint.base import BaseCheckpointSaver"],["agentdeck.errors",54,"from agentdeck.errors import DOCS_URL, ConfigError"],["json",38,"import json"],["agentdeck.core.status",53,"from agentdeck.core.status import LIFECYCLE_KINDS"],["pydantic",46,"from pydantic import BaseModel"],["agentdeck.core.events",51,"from agentdeck.core.events import Custom, NodeUpdated, RunCompleted, RunInterrupted, Usage"],["langgraph",62,"from langgraph.graph.state import CompiledStateGraph"],["langgraph",45,"from langgraph.types import Command"],["langgraph",43,"from langgraph.checkpoint.memory import MemorySaver"],["langchain_core",60,"from langchain_core.runnables import RunnableConfig"],["agentdeck.core.control",50,"from agentdeck.core.control import ControlSignalled"],["langgraph",44,"from langgraph.graph.state import StateGraph"],["dataclasses",37,"import dataclasses"],["agentdeck.core.context",66,"from agentdeck.core.context import RunContext"],["langgraph",63,"from langgraph.types import StreamMode"],["agentdeck.core.content",49,"from agentdeck.core.content import DataBlock, TextBlock"],["agentdeck.core.content",65,"from agentdeck.core.content import Input"],["agentdeck.core.events",67,"from agentdeck.core.events import Event, KnownPayload"],["agentdeck.core.invocable",68,"from agentdeck.core.invocable import InvocableSpec"],["contextlib",58,"from contextlib import AbstractAsyncContextManager"],["collections",57,"from collections.abc import AsyncGenerator, AsyncIterator, Callable, Sequence"],["contextlib",40,"from contextlib import aclosing, nullcontext"],["typing",41,"from typing import TYPE_CHECKING, Any, ClassVar, cast"],["agentdeck.core.ports",52,"from agentdeck.core.ports import EnginePort"],["agentdeck.adapters.engines.langgraph.checkpointer",48,"from agentdeck.adapters.engines.langgraph.checkpointer import resolve_checkpointer"],["__future__",35,"from __future__ import annotations"],["collections",39,"from collections.abc import Mapping"]],"agentdeck.surfaces.serve.compat":[["__future__",16,"from __future__ import annotations"],["json",18,"import json"],["agentdeck.core.events",28,"from agentdeck.core.events import Event"],["contextlib",19,"from contextlib import aclosing"],["agentdeck.core.events",23,"from agentdeck.core.events import Custom, NodeUpdated, RunCompleted, RunInterrupted, TextDelta, UsageReported"],["collections",26,"from collections.abc import AsyncGenerator, AsyncIterator, Sequence"],["agentdeck.core.content",22,"from agentdeck.core.content import DataBlock, TextBlock"],["typing",20,"from typing import TYPE_CHECKING, Any"],["agentdeck.runtime.service",29,"from agentdeck.runtime.service import PendingRun"]],"agentdeck.adapters.engines.openai_agents":[["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.engines.openai_agents.runconfig",6,"from agentdeck.adapters.engines.openai_agents.runconfig import RunSettings"],["agentdeck.adapters.engines.openai_agents.sessions",7,"from agentdeck.adapters.engines.openai_agents.sessions import ExecutionStore, SessionFactory"],["agentdeck.adapters.engines.openai_agents.engine",5,"from agentdeck.adapters.engines.openai_agents.engine import OpenAIAgentsEngine"]],"agentdeck.adapters.leases.memory.port":[["datetime",12,"from datetime import UTC, datetime"],["collections",18,"from collections.abc import Callable, Collection"],["agentdeck.core.ports.lease",15,"from agentdeck.core.ports.lease import LeasePort"],["datetime",19,"from datetime import timedelta"],["__future__",10,"from __future__ import annotations"],["typing",13,"from typing import TYPE_CHECKING"]],"agentdeck.adapters.engines.openai_agents.translate":[["json",14,"import json"],["logging",15,"import logging"],["typing",16,"from typing import Any"],["__future__",11,"from __future__ import annotations"],["hashlib",13,"import hashlib"],["agentdeck.core.events",18,"from agentdeck.core.events import ("]],"agentdeck.authoring.hooks":[["inspect",21,"import inspect"],["collections",31,"from collections.abc import Callable"],["agentdeck.errors",28,"from agentdeck.errors import ConfigError"],["agentdeck.authoring.injection",26,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.core.context",27,"from agentdeck.core.context import Context, RunContext"],["agents",24,"from agents.lifecycle import AgentHooks"],["typing",22,"from typing import TYPE_CHECKING, Any"],["__future__",19,"from __future__ import annotations"]],"agentdeck.core.content":[["typing",14,"from typing import Annotated, Any, Literal, get_args"],["agentdeck.core.base",26,"from agentdeck.core.base import CoreModel, JsonData"],["pydantic",16,"from pydantic import ("],["base64",13,"import base64"],["__future__",11,"from __future__ import annotations"]],"agentdeck.runtime":[],"agentdeck.adapters.stores.sqlite":[["agentdeck.adapters.stores.sqlite.store",3,"from agentdeck.adapters.stores.sqlite.store import SqliteEventStore"]],"agentdeck.adapters.tools.mcp.source":[["agentdeck.core.ports.tools",14,"from agentdeck.core.ports.tools import ToolSet, ToolSourcePort"],["__future__",9,"from __future__ import annotations"],["typing",11,"from typing import TYPE_CHECKING"],["agentdeck.adapters.tools.mcp.wiring",13,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_status"],["agentdeck.core.invocable",17,"from agentdeck.core.invocable import InvocableSpec"]],"agentdeck.adapters.tools.mcp":[["agentdeck.adapters.tools.mcp.transport",7,"from agentdeck.adapters.tools.mcp.transport import MCPServerStreamableHttpResilient"],["__future__",3,"from __future__ import annotations"],["agentdeck.adapters.tools.mcp.lifecycle",5,"from agentdeck.adapters.tools.mcp.lifecycle import MCPLifecycle"],["agentdeck.adapters.tools.mcp.wiring",8,"from agentdeck.adapters.tools.mcp.wiring import mcp_status_banner, resolve_agent_mcp_servers, resolve_agent_mcp_status"],["agentdeck.adapters.tools.mcp.source",6,"from agentdeck.adapters.tools.mcp.source import MCP_SERVER_NAMES_KEY, MCPToolSource"]],"agentdeck.adapters.telemetry.langfuse.trace":[["__future__",13,"from __future__ import annotations"],["agentdeck.core.events",20,"from agentdeck.core.events import Usage"],["typing",15,"from typing import TYPE_CHECKING, Any, Literal, Protocol"],["collections",18,"from collections.abc import Mapping"]],"agentdeck.surfaces":[],"agentdeck.adapters.engines.openai_agents.reconcile":[["agentdeck.core.content",32,"from agentdeck.core.content import DataBlock, TextBlock"],["asyncio",26,"import asyncio"],["agents",38,"from agents.items import TResponseInputItem"],["agentdeck.core.events",33,"from agentdeck.core.events import Custom, InputAppended, MessageCompleted, RunCancelled, RunStarted"],["agentdeck.core.content",41,"from agentdeck.core.content import Input"],["collections",36,"from collections.abc import Iterable, Sequence"],["agentdeck.core.events",42,"from agentdeck.core.events import Event"],["logging",28,"import logging"],["typing",29,"from typing import TYPE_CHECKING, Any, Literal"],["json",27,"import json"],["__future__",24,"from __future__ import annotations"],["agents",39,"from agents.memory.session import Session"],["weakref",30,"from weakref import WeakKeyDictionary"]],"agentdeck.core.ports.store":[["typing",11,"from typing import TYPE_CHECKING"],["abc",9,"from abc import ABC, abstractmethod"],["datetime",17,"from datetime import timedelta"],["agentdeck.core.status",13,"from agentdeck.core.status import RunStatus, status_of"],["collections",16,"from collections.abc import Sequence"],["dataclasses",10,"from dataclasses import dataclass"],["agentdeck.core.context",19,"from agentdeck.core.context import RunContext"],["__future__",7,"from __future__ import annotations"],["agentdeck.core.events",20,"from agentdeck.core.events import Event, KnownPayload, RunResumed, RunStarted"]],"agentdeck.authoring.tools":[["agentdeck.authoring.injection",28,"from agentdeck.authoring.injection import analyze_callable, check_context_type, describe_callable"],["agentdeck.core.context",29,"from agentdeck.core.context import Context, RunContext"],["asyncio",22,"import asyncio"],["agentdeck.authoring.injection",37,"from agentdeck.authoring.injection import CallableAnalysis"],["__future__",20,"from __future__ import annotations"],["collections",33,"from collections.abc import Callable"],["agents",35,"from agents.tool import FunctionTool"],["agents",26,"from agents import RunContextWrapper, default_tool_error_function, function_tool"],["agentdeck.errors",30,"from agentdeck.errors import ConfigError"],["typing",24,"from typing import TYPE_CHECKING, Any"],["inspect",23,"import inspect"]]}
@@ -8,6 +8,32 @@ Fixed / Security` order - and are written to be attached to a release as-is.
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [4.0.2] - 2026-08-19
12
+
13
+ ### Changed
14
+
15
+ - **`examples/jack` reads `JACK_*` environment variables.** `ASK_AGENTDECK_ORIGINS`,
16
+ `ASK_AGENTDECK_SESSIONS_PER_DAY` and `ASK_AGENTDECK_TURNS_PER_SESSION` are now
17
+ `JACK_ORIGINS`, `JACK_SESSIONS_PER_DAY` and `JACK_TURNS_PER_SESSION`, correcting 4.0.1,
18
+ which said they would keep their names. A deployment that sets the old names falls back to
19
+ the defaults silently, so rename them when you upgrade.
20
+ - **The documentation landing page is one continuous build rather than nine chapters.** It
21
+ builds Jack once, from an `Agent` to a live run, and the execution tree beside the code is
22
+ that code's own tree.
23
+ - **[How Jack is built](https://agentdecksdk.com/jack) is its own page**, with the decisions
24
+ and the alternatives they beat in
25
+ [Implementation notes](https://agentdecksdk.com/jack/notes). The README follows the same
26
+ build.
27
+
28
+ ### Fixed
29
+
30
+ - **Jack could not be reached from the published site.** The docs build baked
31
+ `http://localhost:8100` as its API origin whenever `NEXT_PUBLIC_AGENTDECK_API_URL` was
32
+ unset, so the panel called the visitor's own machine. `docs-site/.env.production` now
33
+ carries the origin, and a real environment variable still wins.
34
+ - **A second question to Jack replaced the first.** The panel keeps the transcript, so a
35
+ conversation reads as one.
36
+
11
37
  ## [4.0.1] - 2026-08-18
12
38
 
13
39
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentdeck-sdk
3
- Version: 4.0.1
3
+ Version: 4.0.2
4
4
  Summary: Declarative harness over the OpenAI Agents SDK and LangGraph: settings, capabilities, skills, runners, graph compilation, plug-in discovery.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -53,9 +53,10 @@ Description-Content-Type: text/markdown
53
53
 
54
54
  # AgentDeck SDK
55
55
 
56
- **Compose. Observe. Ship.**
56
+ **Agentic software should feel like software.**
57
57
 
58
- The production runtime for agents you already have.
58
+ Build agents, tools and workflows as normal software.
59
+ AgentDeck gives them one execution model you can observe, control and extend.
59
60
 
60
61
  <!-- The blue variant, not logo.svg: that one is fill="currentColor" for inlining, and an SVG
61
62
  loaded through <img> has nothing to inherit from, so it renders black - invisible on
@@ -69,66 +70,143 @@ The production runtime for agents you already have.
69
70
 
70
71
  </div>
71
72
 
72
- **A harness for agents you have to operate.** You write agents, workflows and skills as small
73
- Python declarations in a `.agentdeck/` directory; AgentDeck supplies the runtime around them and
74
- leaves the running of a turn to the engines underneath.
75
-
76
73
  ```bash
77
74
  pip install agentdeck-sdk
78
75
  ```
79
76
 
77
+ The rest of this page builds one real application, a step at a time. Its name is Jack, he
78
+ answers questions about AgentDeck, and he is the assistant running on
79
+ [agentdecksdk.com](https://agentdecksdk.com/) right now. Everything below is his actual source.
80
+
81
+ ## Let's build Jack
82
+
83
+ An agent is a declaration. A Deck is where an agentic application comes together.
84
+
80
85
  ```python
81
- # .agentdeck/agents/greeter/agent.py
82
- from agentdeck import Agent
86
+ from agentdeck import Agent, Deck
83
87
 
84
- greeter = Agent(name="Greeter", instructions="You are a friendly scheduling assistant.")
88
+ jack = Agent(
89
+ name="Jack",
90
+ instructions="Help developers build with AgentDeck.",
91
+ )
92
+
93
+ deck = Deck(agents=[jack])
85
94
  ```
86
95
 
96
+ ## Jack needs to know things
97
+
98
+ Tools do work; agents make decisions. A tool that takes a `Context` stays an ordinary function,
99
+ because the model is offered only the arguments it can actually choose: it never sees `docs`.
100
+
87
101
  ```python
88
- # main.py - the directory is the registration: no catalog file, no decorator
89
- import asyncio
102
+ from agentdeck import Agent, Context, Deck
103
+
104
+ def search_docs(query: str, docs: Context[DocsCorpus]) -> str:
105
+ """Find AgentDeck documentation pages matching a query."""
106
+ return docs.data.search(query)
90
107
 
91
- from agentdeck import Deck
108
+ def read_doc(slug: str, docs: Context[DocsCorpus]) -> str:
109
+ """Read one AgentDeck documentation page in full, by its slug."""
110
+ return docs.data.pages[slug]
92
111
 
112
+ jack = Agent(
113
+ name="Jack",
114
+ instructions="Help developers build with AgentDeck.",
115
+ tools=[search_docs, read_doc],
116
+ )
93
117
 
94
- async def main() -> None:
95
- async with Deck.from_project() as deck: # discovers ./.agentdeck, fails fast
96
- result = await deck.run("Greeter", "hello")
97
- print(result.output)
118
+ deck = Deck(agents=[jack], context=DocsCorpus)
119
+ ```
120
+
121
+ `context=DocsCorpus` is the *type*; the instance goes in per run. Declaring it makes `build()`
122
+ check every `Context[...]` in the catalog before a question is ever asked, so the wrong type
123
+ raises at startup rather than mid-answer.
98
124
 
99
- await deck.run("Greeter", "and my name is Ada", session_id="wa-123")
100
- async for event in deck.stream("Greeter", "what's my name?", session_id="wa-123"):
101
- print(event.kind) # text.delta … run.completed
125
+ ## Everything becomes one execution tree
102
126
 
127
+ Run him, and the run is a first-class thing with an ordered event log:
103
128
 
104
- asyncio.run(main())
129
+ ```python
130
+ async with deck:
131
+ async for event in deck.stream("Jack", "how do I pause a run?", context=corpus):
132
+ print(event.kind) # run.started, tool.call.started, text.delta, run.completed
105
133
  ```
106
134
 
107
- **OpenAI Agents SDK × LangGraph × MCP** - sessions · streaming · one event log · human approval ·
108
- run control.
135
+ Every managed invocation appends to that one log, whatever started it. Status is folded from
136
+ the log rather than stored beside it, so there is no second source to disagree with.
109
137
 
110
- If AgentDeck is useful to you, [a star](https://github.com/agentdecksdk/agentdeck) helps other
111
- developers find it.
138
+ ## Execution you can steer
139
+
140
+ A Run is the root execution, and control belongs to the handle rather than to a separate
141
+ lifecycle API:
142
+
143
+ ```python
144
+ run = await deck.runs.start("Jack", question, context=corpus)
112
145
 
113
- ## Build, operate, connect
146
+ await run.pause()
147
+ await run.resume()
148
+ await run.cancel()
114
149
 
115
- | Build | Operate | Connect |
116
- | --- | --- | --- |
117
- | `Agent` | Sessions | OpenAI Agents SDK |
118
- | `Workflow` | Streaming | LangGraph |
119
- | Tools | One event log per run | MCP servers |
120
- | Skills (`SKILL.md`) | Human approval (HITL) | HTTP + SSE (`agentdeck-serve`) |
121
- | `Context[T]` | Run control - pause / resume / cancel | Memory, Redis, SQLite, Postgres stores |
150
+ await run.answer({"approved": True}) # finish a run parked at an interrupt
151
+ ```
152
+
153
+ `deck.runs.get(id)` rehydrates that handle in another process, so a run paused by a web request
154
+ can be resumed by a worker. Two handles on one run always agree: the durable store is the only
155
+ thing either reads.
156
+
157
+ ## Jack is real, and you can use him now
158
+
159
+ The panel on **[agentdecksdk.com](https://agentdecksdk.com/)** is that agent. Ask it something
160
+ about AgentDeck and it searches these docs, reads the pages it finds, and cites them.
161
+
162
+ Its whole source is [`examples/jack`](examples/jack/): three tools over one
163
+ `Context[DocsCorpus]`, streaming the run's own canonical events to the browser over SSE with no
164
+ translation layer on either side. Not a demo written to look good in a README. It is the thing
165
+ serving the site, including the parts a public endpoint needs and a demo skips: an origin check,
166
+ a per-day quota, a token ceiling, and an allowlist deciding which event kinds a browser may see.
167
+
168
+ It is also the honest test of the pitch. If *"agents you have to operate"* meant anything, it
169
+ had to survive being operated.
170
+
171
+ ## Where your definitions live
172
+
173
+ Everything you define lives in a `.agentdeck/` directory next to where you run. The path *is*
174
+ the registration: no catalog file, no `__init__.py`, no decorator to remember.
122
175
 
123
- ## Why it splits that way
176
+ ```text
177
+ .agentdeck/
178
+ ├── agents/greeter/agent.py # an Agent(...)
179
+ ├── workflows/new_booking/workflow.py # a Workflow(...)
180
+ └── skills/parse-request/ # SKILL.md + optional scripts
181
+ ```
182
+
183
+ ```python
184
+ async with Deck.from_project() as deck: # discovers ./.agentdeck, fails fast
185
+ result = await deck.run("Greeter", "hello")
186
+ ```
187
+
188
+ `Deck` discovers, compiles and validates all of it before the first turn: a missing skill, an
189
+ unknown MCP name or a workflow that cannot compile fails at `build()`, not in production.
190
+
191
+ Runnable projects are in [`examples/`](examples/): a chat agent with a tool, a workflow that
192
+ pauses for human approval, an existing LangGraph agent wrapped without rewriting it, and Jack.
193
+ All are built by the test suite, so none can quietly stop working.
194
+
195
+ ## You build the behavior. AgentDeck manages the machinery.
196
+
197
+ | You | AgentDeck |
198
+ | --- | --- |
199
+ | application logic | execution |
200
+ | agents, tools, workflows | sessions, streaming, one event log per run |
201
+ | business state | pause, resume, cancel at documented safe points |
202
+ | integrations | durable human approval that outlives the process |
124
203
 
125
204
  **AgentDeck owns configuration; the
126
205
  [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) and
127
206
  [LangGraph](https://langchain-ai.github.io/langgraph/) own execution.** There is no agent loop
128
- here, no graph engine, and no reimplementation of either - an `Agent` compiles to an SDK agent, a
129
- `Workflow` compiles to a LangGraph graph, and both are run by their own engine. What AgentDeck
130
- adds is the part those libraries deliberately leave to you: where definitions live, how they are
131
- configured, and what you can see and do while a run is in flight.
207
+ here, no graph engine, and no reimplementation of either: an `Agent` compiles to an SDK agent, a
208
+ `Workflow` compiles to a LangGraph graph, and each is run by its own engine. You keep native
209
+ access when you need it.
132
210
 
133
211
  ## Who it is for
134
212
 
@@ -136,7 +214,7 @@ You want this if you are putting agents somewhere they have to keep working: sev
136
214
  workflows in one project, a chat surface and a batch path over the same definitions, runs you
137
215
  need to inspect afterwards, approvals that outlive the process that asked for them.
138
216
 
139
- You do not want this if you are writing one script that calls one model - use the Agents SDK
217
+ You do not want this if you are writing one script that calls one model. Use the Agents SDK
140
218
  directly, and come back when the wiring around it has become the work. You also do not want it
141
219
  if you have already built your own harness: AgentDeck is opinionated about project layout and
142
220
  configuration, and those opinions are the product.
@@ -161,63 +239,13 @@ pip install agentdeck-sdk # or, with the HTTP surface: agentdeck-sd
161
239
  export OPENAI_MODEL=gpt-4.1-mini OPENAI_API_KEY=sk-...
162
240
  ```
163
241
 
164
- The distribution is **`agentdeck-sdk`**; the import stays `agentdeck`. `OPENAI_BASE_URL` points it at any
165
- OpenAI-compatible endpoint instead (a gateway, vLLM, Ollama). Extras: `serve` for the HTTP
166
- surface, `durability` for the Postgres checkpointer and event store (SQLite ships in base -
167
- `durable=True` works out of the box), `redis` for Redis-backed sessions or event log,
242
+ The distribution is **`agentdeck-sdk`**; the import stays `agentdeck`. `OPENAI_BASE_URL` points
243
+ it at any OpenAI-compatible endpoint instead (a gateway, vLLM, Ollama). Extras: `serve` for the
244
+ HTTP surface, `durability` for the Postgres checkpointer and event store (SQLite ships in base,
245
+ so `durable=True` works out of the box), `redis` for Redis-backed sessions or event log,
168
246
  `observability` for Langfuse tracing.
169
247
 
170
- Contributing to agentdeck itself is a different setup - see
171
- [CONTRIBUTING.md](CONTRIBUTING.md).
172
-
173
- ## The project layout
174
-
175
- Everything you define lives in a `.agentdeck/` directory next to where you run. The path *is*
176
- the registration: no catalog file, no `__init__.py`, no decorator to remember.
177
-
178
- ```text
179
- .agentdeck/
180
- ├── agents/greeter/agent.py # an Agent(...)
181
- ├── workflows/new_booking/workflow.py # a Workflow(...)
182
- └── skills/parse-request/ # SKILL.md + optional scripts
183
- ```
184
-
185
- `Deck` discovers, compiles and validates all of it before the first turn - a missing skill, an
186
- unknown MCP name or a workflow that cannot compile fails at `build()`, not in production.
187
-
188
- Runnable projects are in [`examples/`](examples/) - a chat agent with a tool, a workflow that
189
- pauses for a human approval, an existing LangGraph agent wrapped without rewriting it, and the
190
- one below. All are built by the test suite, so none can quietly stop working.
191
-
192
- ## Something built with it, that you can use right now
193
-
194
- The assistant on **[agentdecksdk.com](https://agentdecksdk.com/)** - the panel in the corner of
195
- every documentation page - is an AgentDeck agent. Ask it something about AgentDeck and it will
196
- search these docs, read the pages it finds, and cite them.
197
-
198
- Its entire source is [`examples/jack`](examples/jack/): 617 lines of Python for
199
- three tools over one `Context[DocsCorpus]`, streaming the run's own events to the browser over
200
- SSE. Not a demo written to look good in a README - it is the thing actually serving the site,
201
- including the parts a public endpoint needs and a demo skips: an origin check, a per-day quota, a
202
- token ceiling, and an allowlist deciding which event kinds a browser is allowed to see.
203
-
204
- It is also the honest test of the pitch. If *"agents you have to operate"* meant anything, it had
205
- to survive being operated.
206
-
207
- ## What you get around your definitions
208
-
209
- - **Sessions** - `session_id=` keeps a conversation across calls and across surfaces, in memory
210
- or in Redis.
211
- - **One event log per run** - every turn, however it was started, appends to the same ordered
212
- log: text deltas, tool calls, token usage, the result. Status is folded from it, not stored.
213
- - **Run control** - an agent or workflow run in flight can be paused, resumed or cancelled by
214
- id, at documented safe points, from another process.
215
- - **Human approval** - a `durable=True` workflow node calls `interrupt()`, the run parks, and
216
- `deck.runs.list(status=...)` / `Run.answer()` finish it later, possibly somewhere else.
217
- - **An HTTP surface** - `agentdeck-serve` puts chat, SSE streaming, workflows, and the approval
218
- inbox behind FastAPI without any code of yours.
219
- - **Tools, skills and MCP** - SDK tools as plain functions, skills as `SKILL.md` directories,
220
- and named MCP servers from a `.mcp.json` beside your project.
248
+ Contributing to agentdeck itself is a different setup: see [CONTRIBUTING.md](CONTRIBUTING.md).
221
249
 
222
250
  ## Documentation
223
251
 
@@ -232,6 +260,9 @@ The full docs are at **[agentdecksdk.com](https://agentdecksdk.com/)**:
232
260
  - [Reference](https://agentdecksdk.com/reference/deck) - every setting and every `Deck`
233
261
  method, generated from the code
234
262
 
263
+ If AgentDeck is useful to you, [a star](https://github.com/agentdecksdk/agentdeck) helps other
264
+ developers find it.
265
+
235
266
  ## Project
236
267
 
237
268
  AgentDeck is beta software under active development; breaking changes are listed in