stageflow-core 0.2.0__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 (302) hide show
  1. stageflow_core-0.2.0/.github/workflows/ci.yml +45 -0
  2. stageflow_core-0.2.0/.github/workflows/delete-merged-branches.yml +28 -0
  3. stageflow_core-0.2.0/.github/workflows/publish.yml +40 -0
  4. stageflow_core-0.2.0/.gitignore +49 -0
  5. stageflow_core-0.2.0/.hypothesis/constants/025d2a49ca3ee142 +4 -0
  6. stageflow_core-0.2.0/.hypothesis/constants/058b63ab21d1bdcb +4 -0
  7. stageflow_core-0.2.0/.hypothesis/constants/080276a65cdd8afa +4 -0
  8. stageflow_core-0.2.0/.hypothesis/constants/096795ae98b68b32 +4 -0
  9. stageflow_core-0.2.0/.hypothesis/constants/09df27c4a9f2ec5e +4 -0
  10. stageflow_core-0.2.0/.hypothesis/constants/0d1570ede6192757 +4 -0
  11. stageflow_core-0.2.0/.hypothesis/constants/108c58c13fe0bba4 +4 -0
  12. stageflow_core-0.2.0/.hypothesis/constants/118b8983d5d010ac +4 -0
  13. stageflow_core-0.2.0/.hypothesis/constants/123b58440a83bc36 +4 -0
  14. stageflow_core-0.2.0/.hypothesis/constants/177352ca909b2537 +4 -0
  15. stageflow_core-0.2.0/.hypothesis/constants/17a78105ed38bef1 +4 -0
  16. stageflow_core-0.2.0/.hypothesis/constants/18ab88299e3d5c93 +4 -0
  17. stageflow_core-0.2.0/.hypothesis/constants/194850401f5eb015 +4 -0
  18. stageflow_core-0.2.0/.hypothesis/constants/19e6b74ef59bc5d0 +4 -0
  19. stageflow_core-0.2.0/.hypothesis/constants/1da57ead57fd0da9 +4 -0
  20. stageflow_core-0.2.0/.hypothesis/constants/20eaa2f19321ffbc +4 -0
  21. stageflow_core-0.2.0/.hypothesis/constants/2122359ebdd9e937 +4 -0
  22. stageflow_core-0.2.0/.hypothesis/constants/2455fedc5bd21a91 +4 -0
  23. stageflow_core-0.2.0/.hypothesis/constants/2e44a492b1fb0084 +4 -0
  24. stageflow_core-0.2.0/.hypothesis/constants/3059b3cd2679fd0f +4 -0
  25. stageflow_core-0.2.0/.hypothesis/constants/3a557d5b068503d7 +4 -0
  26. stageflow_core-0.2.0/.hypothesis/constants/3a6d146c8afbb77d +4 -0
  27. stageflow_core-0.2.0/.hypothesis/constants/3e7567bc45c14915 +4 -0
  28. stageflow_core-0.2.0/.hypothesis/constants/3ee14f069f2ca56b +4 -0
  29. stageflow_core-0.2.0/.hypothesis/constants/3f91e56db934d304 +4 -0
  30. stageflow_core-0.2.0/.hypothesis/constants/41e33280999c7b42 +4 -0
  31. stageflow_core-0.2.0/.hypothesis/constants/48f33b70693fd80c +4 -0
  32. stageflow_core-0.2.0/.hypothesis/constants/4948b9085ee14573 +4 -0
  33. stageflow_core-0.2.0/.hypothesis/constants/52db8c58887c16d7 +4 -0
  34. stageflow_core-0.2.0/.hypothesis/constants/54ff3bc1d51ca2cb +4 -0
  35. stageflow_core-0.2.0/.hypothesis/constants/5cacc3d6cd44b33f +4 -0
  36. stageflow_core-0.2.0/.hypothesis/constants/5e5889128b5cb44f +4 -0
  37. stageflow_core-0.2.0/.hypothesis/constants/618e321dcb2140f0 +4 -0
  38. stageflow_core-0.2.0/.hypothesis/constants/633b353a8f92a0e2 +4 -0
  39. stageflow_core-0.2.0/.hypothesis/constants/673957dc6bdda058 +4 -0
  40. stageflow_core-0.2.0/.hypothesis/constants/67b0a8ccf18bf5d2 +4 -0
  41. stageflow_core-0.2.0/.hypothesis/constants/6fa518d2c2477c2c +4 -0
  42. stageflow_core-0.2.0/.hypothesis/constants/85775da6aa210b64 +4 -0
  43. stageflow_core-0.2.0/.hypothesis/constants/86325e2f2a710fa6 +4 -0
  44. stageflow_core-0.2.0/.hypothesis/constants/87edb15484446384 +4 -0
  45. stageflow_core-0.2.0/.hypothesis/constants/8b3106da6e2707b1 +4 -0
  46. stageflow_core-0.2.0/.hypothesis/constants/8b4e65d9ec39d7f3 +4 -0
  47. stageflow_core-0.2.0/.hypothesis/constants/8c5a4ba67cb4b5c4 +4 -0
  48. stageflow_core-0.2.0/.hypothesis/constants/8c8cdd70cabb3d7d +4 -0
  49. stageflow_core-0.2.0/.hypothesis/constants/90ef254f3ac17fee +4 -0
  50. stageflow_core-0.2.0/.hypothesis/constants/92ef06d9048b6ae4 +4 -0
  51. stageflow_core-0.2.0/.hypothesis/constants/93733e7c848933aa +4 -0
  52. stageflow_core-0.2.0/.hypothesis/constants/a02396db6e003cf6 +4 -0
  53. stageflow_core-0.2.0/.hypothesis/constants/a0dde6c3e0806a8d +4 -0
  54. stageflow_core-0.2.0/.hypothesis/constants/a30912ed93f0cd32 +4 -0
  55. stageflow_core-0.2.0/.hypothesis/constants/a40cfd11810659c6 +4 -0
  56. stageflow_core-0.2.0/.hypothesis/constants/a66fdafdc9e38be4 +4 -0
  57. stageflow_core-0.2.0/.hypothesis/constants/a7f949e82c1bcce9 +4 -0
  58. stageflow_core-0.2.0/.hypothesis/constants/aadbd7b2f559c1dd +4 -0
  59. stageflow_core-0.2.0/.hypothesis/constants/ab553afee9ba9895 +4 -0
  60. stageflow_core-0.2.0/.hypothesis/constants/ac9ea149b996c19e +4 -0
  61. stageflow_core-0.2.0/.hypothesis/constants/ad380f993de229b4 +4 -0
  62. stageflow_core-0.2.0/.hypothesis/constants/ada9a67172a2cbb1 +4 -0
  63. stageflow_core-0.2.0/.hypothesis/constants/afbeb07c9bc2aeb3 +4 -0
  64. stageflow_core-0.2.0/.hypothesis/constants/b5379899512a5b15 +4 -0
  65. stageflow_core-0.2.0/.hypothesis/constants/b82c04bd481d046d +4 -0
  66. stageflow_core-0.2.0/.hypothesis/constants/bb5954e1c460117e +4 -0
  67. stageflow_core-0.2.0/.hypothesis/constants/c2b2f039af95846f +4 -0
  68. stageflow_core-0.2.0/.hypothesis/constants/c4aaadef78f29e1b +4 -0
  69. stageflow_core-0.2.0/.hypothesis/constants/c4addb92feec2c9f +4 -0
  70. stageflow_core-0.2.0/.hypothesis/constants/ce0fea65c8e5c7ee +4 -0
  71. stageflow_core-0.2.0/.hypothesis/constants/cfe28548ca56b476 +4 -0
  72. stageflow_core-0.2.0/.hypothesis/constants/d054f3d255ab2140 +4 -0
  73. stageflow_core-0.2.0/.hypothesis/constants/d29be42b946f8e53 +4 -0
  74. stageflow_core-0.2.0/.hypothesis/constants/d547cdeb282aeddd +4 -0
  75. stageflow_core-0.2.0/.hypothesis/constants/d8b9567380914029 +4 -0
  76. stageflow_core-0.2.0/.hypothesis/constants/d9ae43b1d1619926 +4 -0
  77. stageflow_core-0.2.0/.hypothesis/constants/d9c0a4edee6ca5dc +4 -0
  78. stageflow_core-0.2.0/.hypothesis/constants/dd6b7ce8c0b536b4 +4 -0
  79. stageflow_core-0.2.0/.hypothesis/constants/dee89c52276a75e0 +4 -0
  80. stageflow_core-0.2.0/.hypothesis/constants/dfe8b2baaf38ed86 +4 -0
  81. stageflow_core-0.2.0/.hypothesis/constants/e533a59595f4e8bb +4 -0
  82. stageflow_core-0.2.0/.hypothesis/constants/e7e98633898e07a0 +4 -0
  83. stageflow_core-0.2.0/.hypothesis/constants/ebb76f629c2919f7 +4 -0
  84. stageflow_core-0.2.0/.hypothesis/constants/ec83f52b8c8a2cf9 +4 -0
  85. stageflow_core-0.2.0/.hypothesis/constants/ed7dbf10fa1f568b +4 -0
  86. stageflow_core-0.2.0/.hypothesis/constants/ee2f645afde6da78 +4 -0
  87. stageflow_core-0.2.0/.hypothesis/constants/f479fadc847f0059 +4 -0
  88. stageflow_core-0.2.0/.hypothesis/constants/f5144d2d9b7c1553 +4 -0
  89. stageflow_core-0.2.0/.hypothesis/constants/fa2dd629bd8a4d44 +4 -0
  90. stageflow_core-0.2.0/.hypothesis/constants/fa3bcb48c735c2b1 +4 -0
  91. stageflow_core-0.2.0/.hypothesis/constants/fe6f44f0a87e07b9 +4 -0
  92. stageflow_core-0.2.0/.hypothesis/unicode_data/15.0.0/charmap.json.gz +0 -0
  93. stageflow_core-0.2.0/PKG-INFO +252 -0
  94. stageflow_core-0.2.0/README.md +220 -0
  95. stageflow_core-0.2.0/bugs.json +40 -0
  96. stageflow_core-0.2.0/changelog.json +48 -0
  97. stageflow_core-0.2.0/docs/advanced/composition.md +428 -0
  98. stageflow_core-0.2.0/docs/advanced/custom-interceptors.md +495 -0
  99. stageflow_core-0.2.0/docs/advanced/errors.md +484 -0
  100. stageflow_core-0.2.0/docs/advanced/extensions.md +535 -0
  101. stageflow_core-0.2.0/docs/advanced/subpipelines.md +742 -0
  102. stageflow_core-0.2.0/docs/advanced/testing.md +869 -0
  103. stageflow_core-0.2.0/docs/api/auth.md +687 -0
  104. stageflow_core-0.2.0/docs/api/cli.md +383 -0
  105. stageflow_core-0.2.0/docs/api/context-submodules.md +832 -0
  106. stageflow_core-0.2.0/docs/api/context.md +406 -0
  107. stageflow_core-0.2.0/docs/api/core.md +345 -0
  108. stageflow_core-0.2.0/docs/api/events.md +338 -0
  109. stageflow_core-0.2.0/docs/api/helpers.md +1124 -0
  110. stageflow_core-0.2.0/docs/api/inputs.md +285 -0
  111. stageflow_core-0.2.0/docs/api/interceptors.md +379 -0
  112. stageflow_core-0.2.0/docs/api/observability.md +484 -0
  113. stageflow_core-0.2.0/docs/api/pipeline.md +555 -0
  114. stageflow_core-0.2.0/docs/api/projector.md +525 -0
  115. stageflow_core-0.2.0/docs/api/protocols.md +316 -0
  116. stageflow_core-0.2.0/docs/api/testing.md +748 -0
  117. stageflow_core-0.2.0/docs/api/tools.md +659 -0
  118. stageflow_core-0.2.0/docs/api/wide-events.md +555 -0
  119. stageflow_core-0.2.0/docs/examples/agent-tools.md +545 -0
  120. stageflow_core-0.2.0/docs/examples/chat.md +470 -0
  121. stageflow_core-0.2.0/docs/examples/full.md +574 -0
  122. stageflow_core-0.2.0/docs/examples/parallel.md +390 -0
  123. stageflow_core-0.2.0/docs/examples/simple.md +213 -0
  124. stageflow_core-0.2.0/docs/examples/transform-chain.md +360 -0
  125. stageflow_core-0.2.0/docs/getting-started/concepts.md +291 -0
  126. stageflow_core-0.2.0/docs/getting-started/installation.md +111 -0
  127. stageflow_core-0.2.0/docs/getting-started/quickstart.md +241 -0
  128. stageflow_core-0.2.0/docs/guides/authentication.md +517 -0
  129. stageflow_core-0.2.0/docs/guides/context.md +624 -0
  130. stageflow_core-0.2.0/docs/guides/dependencies.md +310 -0
  131. stageflow_core-0.2.0/docs/guides/governance.md +504 -0
  132. stageflow_core-0.2.0/docs/guides/interceptors.md +531 -0
  133. stageflow_core-0.2.0/docs/guides/observability.md +850 -0
  134. stageflow_core-0.2.0/docs/guides/pipelines.md +463 -0
  135. stageflow_core-0.2.0/docs/guides/releasing.md +58 -0
  136. stageflow_core-0.2.0/docs/guides/stages.md +609 -0
  137. stageflow_core-0.2.0/docs/guides/tools-approval.md +563 -0
  138. stageflow_core-0.2.0/docs/guides/tools.md +795 -0
  139. stageflow_core-0.2.0/docs/guides/voice-audio.md +510 -0
  140. stageflow_core-0.2.0/docs/index.md +188 -0
  141. stageflow_core-0.2.0/project/STF-SPR-000-generalization.md +492 -0
  142. stageflow_core-0.2.0/project/STF-SPR-001-pipeline-composition.md +404 -0
  143. stageflow_core-0.2.0/project/STF-SPR-002-auth-tenancy-interceptors.md +387 -0
  144. stageflow_core-0.2.0/project/STF-SPR-003-advanced-tool-executor.md +415 -0
  145. stageflow_core-0.2.0/project/STF-SPR-004-subpipeline-runs.md +380 -0
  146. stageflow_core-0.2.0/project/STF-SPR-005-testing-benchmarking.md +477 -0
  147. stageflow_core-0.2.0/project/STF-SPR-006-docs-gap-analysis.md +292 -0
  148. stageflow_core-0.2.0/project/STF-SPR-007-architectural-strategy.md +702 -0
  149. stageflow_core-0.2.0/project/STF-SPRINT-TRACKER.md +40 -0
  150. stageflow_core-0.2.0/project/TEST_FIXES.md +224 -0
  151. stageflow_core-0.2.0/project/beta-testers-reports/FINAL-REPORT-01.md +83 -0
  152. stageflow_core-0.2.0/project/beta-testers-reports/REPORT.md +53 -0
  153. stageflow_core-0.2.0/project/perplexity-analysis.md +426 -0
  154. stageflow_core-0.2.0/project/stageflow.md +564 -0
  155. stageflow_core-0.2.0/pyproject.toml +92 -0
  156. stageflow_core-0.2.0/scripts/check_version_sync.py +101 -0
  157. stageflow_core-0.2.0/scripts/release.py +110 -0
  158. stageflow_core-0.2.0/stageflow/__init__.py +297 -0
  159. stageflow_core-0.2.0/stageflow/agent/__init__.py +19 -0
  160. stageflow_core-0.2.0/stageflow/auth/__init__.py +56 -0
  161. stageflow_core-0.2.0/stageflow/auth/context.py +119 -0
  162. stageflow_core-0.2.0/stageflow/auth/errors.py +87 -0
  163. stageflow_core-0.2.0/stageflow/auth/events.py +118 -0
  164. stageflow_core-0.2.0/stageflow/auth/interceptors.py +340 -0
  165. stageflow_core-0.2.0/stageflow/auth/tenant.py +317 -0
  166. stageflow_core-0.2.0/stageflow/cli/__init__.py +19 -0
  167. stageflow_core-0.2.0/stageflow/cli/__main__.py +130 -0
  168. stageflow_core-0.2.0/stageflow/cli/lint.py +492 -0
  169. stageflow_core-0.2.0/stageflow/context/__init__.py +50 -0
  170. stageflow_core-0.2.0/stageflow/context/bag.py +131 -0
  171. stageflow_core-0.2.0/stageflow/context/context_snapshot.py +453 -0
  172. stageflow_core-0.2.0/stageflow/context/conversation.py +137 -0
  173. stageflow_core-0.2.0/stageflow/context/enrichments.py +196 -0
  174. stageflow_core-0.2.0/stageflow/context/extensions.py +125 -0
  175. stageflow_core-0.2.0/stageflow/context/identity.py +112 -0
  176. stageflow_core-0.2.0/stageflow/context/output_bag.py +329 -0
  177. stageflow_core-0.2.0/stageflow/context/types.py +27 -0
  178. stageflow_core-0.2.0/stageflow/core/__init__.py +19 -0
  179. stageflow_core-0.2.0/stageflow/core/stage_context.py +136 -0
  180. stageflow_core-0.2.0/stageflow/core/stage_enums.py +28 -0
  181. stageflow_core-0.2.0/stageflow/core/stage_output.py +115 -0
  182. stageflow_core-0.2.0/stageflow/core/stage_protocol.py +40 -0
  183. stageflow_core-0.2.0/stageflow/core/timer.py +44 -0
  184. stageflow_core-0.2.0/stageflow/events/__init__.py +42 -0
  185. stageflow_core-0.2.0/stageflow/events/sink.py +319 -0
  186. stageflow_core-0.2.0/stageflow/extensions.py +161 -0
  187. stageflow_core-0.2.0/stageflow/helpers/__init__.py +104 -0
  188. stageflow_core-0.2.0/stageflow/helpers/analytics.py +548 -0
  189. stageflow_core-0.2.0/stageflow/helpers/guardrails.py +551 -0
  190. stageflow_core-0.2.0/stageflow/helpers/memory.py +326 -0
  191. stageflow_core-0.2.0/stageflow/helpers/mocks.py +843 -0
  192. stageflow_core-0.2.0/stageflow/helpers/providers.py +230 -0
  193. stageflow_core-0.2.0/stageflow/helpers/run_utils.py +582 -0
  194. stageflow_core-0.2.0/stageflow/helpers/streaming.py +651 -0
  195. stageflow_core-0.2.0/stageflow/observability/__init__.py +239 -0
  196. stageflow_core-0.2.0/stageflow/observability/tracing.py +466 -0
  197. stageflow_core-0.2.0/stageflow/observability/wide_events.py +191 -0
  198. stageflow_core-0.2.0/stageflow/pipeline/__init__.py +67 -0
  199. stageflow_core-0.2.0/stageflow/pipeline/builder.py +336 -0
  200. stageflow_core-0.2.0/stageflow/pipeline/cancellation.py +332 -0
  201. stageflow_core-0.2.0/stageflow/pipeline/dag.py +735 -0
  202. stageflow_core-0.2.0/stageflow/pipeline/interceptors.py +556 -0
  203. stageflow_core-0.2.0/stageflow/pipeline/interfaces.py +182 -0
  204. stageflow_core-0.2.0/stageflow/pipeline/pipeline.py +173 -0
  205. stageflow_core-0.2.0/stageflow/pipeline/registry.py +88 -0
  206. stageflow_core-0.2.0/stageflow/pipeline/spec.py +118 -0
  207. stageflow_core-0.2.0/stageflow/pipeline/subpipeline.py +682 -0
  208. stageflow_core-0.2.0/stageflow/projector/__init__.py +18 -0
  209. stageflow_core-0.2.0/stageflow/projector/service.py +135 -0
  210. stageflow_core-0.2.0/stageflow/protocols.py +272 -0
  211. stageflow_core-0.2.0/stageflow/py.typed +0 -0
  212. stageflow_core-0.2.0/stageflow/stages/__init__.py +32 -0
  213. stageflow_core-0.2.0/stageflow/stages/context.py +329 -0
  214. stageflow_core-0.2.0/stageflow/stages/errors.py +384 -0
  215. stageflow_core-0.2.0/stageflow/stages/inputs.py +308 -0
  216. stageflow_core-0.2.0/stageflow/stages/ports.py +176 -0
  217. stageflow_core-0.2.0/stageflow/stages/result.py +41 -0
  218. stageflow_core-0.2.0/stageflow/testing.py +402 -0
  219. stageflow_core-0.2.0/stageflow/tools/__init__.py +140 -0
  220. stageflow_core-0.2.0/stageflow/tools/adapters.py +112 -0
  221. stageflow_core-0.2.0/stageflow/tools/approval.py +337 -0
  222. stageflow_core-0.2.0/stageflow/tools/base.py +106 -0
  223. stageflow_core-0.2.0/stageflow/tools/definitions.py +264 -0
  224. stageflow_core-0.2.0/stageflow/tools/diff.py +488 -0
  225. stageflow_core-0.2.0/stageflow/tools/errors.py +176 -0
  226. stageflow_core-0.2.0/stageflow/tools/events.py +207 -0
  227. stageflow_core-0.2.0/stageflow/tools/executor.py +127 -0
  228. stageflow_core-0.2.0/stageflow/tools/executor_v2.py +558 -0
  229. stageflow_core-0.2.0/stageflow/tools/registry.py +302 -0
  230. stageflow_core-0.2.0/stageflow/tools/undo.py +183 -0
  231. stageflow_core-0.2.0/stageflow/utils/__init__.py +8 -0
  232. stageflow_core-0.2.0/stageflow/utils/frozen.py +130 -0
  233. stageflow_core-0.2.0/tests/benchmarks/__init__.py +1 -0
  234. stageflow_core-0.2.0/tests/benchmarks/conftest.py +32 -0
  235. stageflow_core-0.2.0/tests/benchmarks/test_context_bag_benchmarks.py +114 -0
  236. stageflow_core-0.2.0/tests/benchmarks/test_pipeline_benchmarks.py +140 -0
  237. stageflow_core-0.2.0/tests/configuration/test_pipeline.py +487 -0
  238. stageflow_core-0.2.0/tests/configuration/test_registry.py +348 -0
  239. stageflow_core-0.2.0/tests/conftest.py +146 -0
  240. stageflow_core-0.2.0/tests/contract/__init__.py +1 -0
  241. stageflow_core-0.2.0/tests/contract/base.py +161 -0
  242. stageflow_core-0.2.0/tests/contract/test_stage_contracts.py +107 -0
  243. stageflow_core-0.2.0/tests/execution/test_dag.py +460 -0
  244. stageflow_core-0.2.0/tests/execution/test_unified_graph.py +928 -0
  245. stageflow_core-0.2.0/tests/fault/__init__.py +1 -0
  246. stageflow_core-0.2.0/tests/fault/injection.py +190 -0
  247. stageflow_core-0.2.0/tests/fault/test_fault_injection.py +151 -0
  248. stageflow_core-0.2.0/tests/framework/test_context.py +619 -0
  249. stageflow_core-0.2.0/tests/framework/test_interceptors.py +885 -0
  250. stageflow_core-0.2.0/tests/integration/test_pipeline_integration.py +484 -0
  251. stageflow_core-0.2.0/tests/integration/test_stage_inputs_integration.py +277 -0
  252. stageflow_core-0.2.0/tests/property/__init__.py +1 -0
  253. stageflow_core-0.2.0/tests/property/strategies.py +258 -0
  254. stageflow_core-0.2.0/tests/property/test_context_bag_properties.py +128 -0
  255. stageflow_core-0.2.0/tests/property/test_dag_properties.py +121 -0
  256. stageflow_core-0.2.0/tests/property/test_event_properties.py +61 -0
  257. stageflow_core-0.2.0/tests/unit/auth/__init__.py +1 -0
  258. stageflow_core-0.2.0/tests/unit/auth/test_context.py +179 -0
  259. stageflow_core-0.2.0/tests/unit/auth/test_errors.py +125 -0
  260. stageflow_core-0.2.0/tests/unit/auth/test_events.py +121 -0
  261. stageflow_core-0.2.0/tests/unit/auth/test_interceptors.py +259 -0
  262. stageflow_core-0.2.0/tests/unit/auth/test_tenant.py +297 -0
  263. stageflow_core-0.2.0/tests/unit/context/__init__.py +1 -0
  264. stageflow_core-0.2.0/tests/unit/context/test_bag.py +177 -0
  265. stageflow_core-0.2.0/tests/unit/events/__init__.py +1 -0
  266. stageflow_core-0.2.0/tests/unit/events/test_backpressure_sink.py +290 -0
  267. stageflow_core-0.2.0/tests/unit/observability/__init__.py +1 -0
  268. stageflow_core-0.2.0/tests/unit/observability/test_tracing.py +361 -0
  269. stageflow_core-0.2.0/tests/unit/pipeline/__init__.py +1 -0
  270. stageflow_core-0.2.0/tests/unit/pipeline/test_builder.py +239 -0
  271. stageflow_core-0.2.0/tests/unit/pipeline/test_cancellation.py +384 -0
  272. stageflow_core-0.2.0/tests/unit/pipeline/test_spec.py +116 -0
  273. stageflow_core-0.2.0/tests/unit/test_advanced_tool_executor.py +427 -0
  274. stageflow_core-0.2.0/tests/unit/test_child_tracker_metrics.py +380 -0
  275. stageflow_core-0.2.0/tests/unit/test_cli_lint.py +242 -0
  276. stageflow_core-0.2.0/tests/unit/test_context_fork.py +221 -0
  277. stageflow_core-0.2.0/tests/unit/test_core_stages.py +685 -0
  278. stageflow_core-0.2.0/tests/unit/test_events.py +306 -0
  279. stageflow_core-0.2.0/tests/unit/test_execution_context.py +327 -0
  280. stageflow_core-0.2.0/tests/unit/test_frozen.py +165 -0
  281. stageflow_core-0.2.0/tests/unit/test_helpers_analytics.py +555 -0
  282. stageflow_core-0.2.0/tests/unit/test_helpers_guardrails.py +281 -0
  283. stageflow_core-0.2.0/tests/unit/test_helpers_memory.py +221 -0
  284. stageflow_core-0.2.0/tests/unit/test_helpers_mocks.py +359 -0
  285. stageflow_core-0.2.0/tests/unit/test_helpers_providers.py +413 -0
  286. stageflow_core-0.2.0/tests/unit/test_helpers_run_utils.py +247 -0
  287. stageflow_core-0.2.0/tests/unit/test_helpers_streaming.py +565 -0
  288. stageflow_core-0.2.0/tests/unit/test_ports_inputs.py +442 -0
  289. stageflow_core-0.2.0/tests/unit/test_snapshot.py +922 -0
  290. stageflow_core-0.2.0/tests/unit/test_subpipeline.py +249 -0
  291. stageflow_core-0.2.0/tests/unit/test_tool_registry_parse.py +341 -0
  292. stageflow_core-0.2.0/tests/unit/tools/__init__.py +1 -0
  293. stageflow_core-0.2.0/tests/unit/tools/test_approval.py +232 -0
  294. stageflow_core-0.2.0/tests/unit/tools/test_definitions.py +213 -0
  295. stageflow_core-0.2.0/tests/unit/tools/test_diff.py +417 -0
  296. stageflow_core-0.2.0/tests/unit/tools/test_errors.py +176 -0
  297. stageflow_core-0.2.0/tests/unit/tools/test_registry.py +267 -0
  298. stageflow_core-0.2.0/tests/unit/tools/test_undo.py +170 -0
  299. stageflow_core-0.2.0/tests/utils/__init__.py +34 -0
  300. stageflow_core-0.2.0/tests/utils/assertions.py +106 -0
  301. stageflow_core-0.2.0/tests/utils/factories.py +148 -0
  302. stageflow_core-0.2.0/tests/utils/mocks.py +104 -0
@@ -0,0 +1,45 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ tests:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - name: Checkout repository
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Set up Python
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.12"
22
+ cache: "pip"
23
+
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install -e ".[dev]"
28
+
29
+ - name: Run lint
30
+ run: |
31
+ ruff check .
32
+
33
+ - name: Run tests (skip long-running benchmark suites)
34
+ env:
35
+ PYTEST_ADDOPTS: "-m 'not benchmark'"
36
+ run: |
37
+ pytest \
38
+ tests/unit \
39
+ tests/integration \
40
+ tests/property \
41
+ tests/execution \
42
+ tests/framework \
43
+ tests/contract \
44
+ tests/configuration \
45
+ tests/utils
@@ -0,0 +1,28 @@
1
+ name: Delete merged branches
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ delete-merged:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Delete merged branches
18
+ run: |
19
+ git config user.name "github-actions[bot]"
20
+ git config user.email "github-actions[bot]@users.noreply.github.com"
21
+
22
+ # Get all branches merged to main (excluding main and protected branches)
23
+ for branch in $(git branch -r --merged origin/main | grep -v -e 'origin/main' -e 'origin/HEAD' | sed 's/origin\///'); do
24
+ if [ "$branch" != "main" ]; then
25
+ echo "Deleting merged branch: $branch"
26
+ git push origin --delete "$branch" || true
27
+ fi
28
+ done
@@ -0,0 +1,40 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ publish:
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - name: Checkout repository
17
+ uses: actions/checkout@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.12"
23
+ cache: "pip"
24
+
25
+ - name: Install build tooling
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ pip install build
29
+
30
+ - name: Verify version alignment
31
+ run: python scripts/check_version_sync.py --quiet
32
+
33
+ - name: Build distributions
34
+ run: python -m build
35
+
36
+ - name: Publish to PyPI
37
+ if: github.event_name == 'push'
38
+ uses: pypa/gh-action-pypi-publish@release/v1
39
+ with:
40
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,49 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ # Virtual environments
24
+ .venv/
25
+ venv/
26
+ ENV/
27
+
28
+ # IDE
29
+ .idea/
30
+ .vscode/
31
+ *.swp
32
+ *.swo
33
+
34
+ # Testing
35
+ .pytest_cache/
36
+ .coverage
37
+ htmlcov/
38
+ .tox/
39
+ .nox/
40
+
41
+ # Type checking
42
+ .mypy_cache/
43
+
44
+ # OS
45
+ .DS_Store
46
+ Thumbs.db
47
+ test_app/.env
48
+
49
+ notes.txt
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/streaming.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 100, 200, 1000, 2000, 4096, 16000, 'AudioChunk', 'AudioFormat', 'BackpressureMonitor', 'BackpressureStats', 'ChunkQueue', 'EventEmitter', 'StreamConfig', 'StreamingBuffer', 'T', 'ascii', 'blocked_ms', 'blocked_puts', 'buffer_duration_ms', 'bytes_available', 'bytes_buffered', 'bytes_dropped', 'bytes_requested', 'channels', 'data', 'drop_rate', 'dropped_items', 'duration_ms', 'fill_percentage', 'float_32', 'format', 'is_final', 'is_ready', 'max_duration_ms', 'max_queue_size', 'max_size', 'metadata', 'mp3', 'ogg_opus', 'overflow', 'pcm_16', 'pcm_24', 'pcm_32', 'queue_full', 'queue_size', 'reason', 'sample_rate', 'sequence', 'stream.chunk_dropped', 'stream.queue_closed', 'timestamp_ms', 'total_blocked_ms', 'total_dropped', 'total_items', 'total_read', 'total_received', 'underrun_active', 'wav', 'webm']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/output_bag.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['OutputBag', 'OutputConflictError', 'OutputEntry', 'artifacts_count', 'attempt', 'data', 'duration_ms', 'entries', 'error', 'events_count', 'stage_count', 'stage_name', 'status', 'timestamp', 'total_attempts']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/events/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['EventSink', 'LoggingEventSink', 'NoOpEventSink', 'clear_event_sink', 'emit', 'emit_event', 'get_event_sink', 'register_event_sink', 'set_event_sink']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/events/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['BackpressureMetrics', 'EventSink', 'LoggingEventSink', 'NoOpEventSink', 'clear_event_sink', 'emit', 'emit_event', 'get_event_sink', 'register_event_sink', 'set_event_sink']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/enrichments.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/utils/frozen.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['FrozenDict', 'FrozenList', 'K', 'T', 'V', '_data']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/diff.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 1.0, '****', '+', '+++', '+++ new', ',', '-', '---', '--- old', '@@', 'DiffLine', 'DiffResult', 'DiffType', '[', ']', 'a/original', 'add', 'additions', 'b/modified', 'changes', 'content', 'context', 'deletions', 'diff_json', 'diff_output', 'diff_structured', 'diff_text', 'diff_type', 'equal', 'json_patch', 'line_by_line', 'line_number_new', 'line_number_old', 'no changes', 'op', 'path', 'remove', 'replace', 'similarity', 'type', 'unchanged', 'unified', 'value']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/projector/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ProjectorService', 'WSMessageProjector', 'WSMetadata', 'WSOutboundMessage']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/core/stage_protocol.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/run_utils.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 100, 1000, '\nBy category:', '\nNo events captured.', '\nRecent events:', '\x1b[0m', '\x1b[90m', '\x1b[91m', '\x1b[92m', '\x1b[93m', '\x1b[94m', '\x1b[96m', '%H:%M:%S', '-', '.', '...', '=', 'EVENT SUMMARY', 'JsonLogFormatter', 'ObservableEventSink', 'PipelineRunner', 'RESULTS', 'RunResult', '__pipeline_root__', 'action_type', 'asyncio', 'behavior', 'build', 'cancel_reason', 'cancelled', 'channel', 'cli', 'completed', 'data', 'duration_ms', 'elapsed_ms', 'error', 'error_type', 'event', 'exception', 'execution_mode', 'failed', 'level', 'logger', 'message', 'pipeline', 'pipeline_run_id', 'practice', 'reason', 'result', 'setup_logging', 'skip', 'stage', 'stages', 'started', 'success', 'timestamp', 'tool', 'tool_name', 'type', 'urllib3']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/events/sink.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['Event: %s', 'EventSink', 'LoggingEventSink', 'NoOpEventSink', 'clear_event_sink', 'event_data', 'event_sink', 'event_type', 'get_event_sink', 'set_event_sink', 'stageflow.events']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/registry.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ResolvedToolCall', 'ToolRegistry', 'UnresolvedToolCall', 'arguments', 'clear_tool_registry', 'function', 'get_tool_registry', 'id', 'name', 'register_tool', 'tool', 'unknown']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/protocols.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ConfigProvider', 'CorrelationIds', 'EventSink', 'ExecutionContext', 'RunStore', 'created', 'org_id', 'pipeline_run_id', 'request_id', 'session_id', 'trace_id', 'user_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/mocks.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 0.01, 0.85, 0.95, 0.99, 100, 256, 1000, 16000, '...', 'Invalid token', 'Mock LLM error', 'Mock STT error', 'Mock TTS error', 'Mock auth failure', 'Mock response', 'Mock transcription', 'MockAudioChunk', 'MockAuthProvider', 'MockCompletion', 'MockJWTClaims', 'MockLLMProvider', 'MockMessage', 'MockSTTProvider', 'MockTTSProvider', 'MockToolExecutor', 'MockToolResult', 'MockTranscription', 'Token expired', 'arguments', 'assistant', 'aud', 'chat.completion', 'choices', 'completion_tokens', 'confidence', 'content', 'created', 'default', 'duration_ms', 'en', 'error', 'exp', 'finish_reason', 'iat', 'id', 'index', 'iss', 'language', 'message', 'messages', 'mock-auth', 'mock-model', 'mock-user', 'model', 'object', 'ok', 'org_id', 'output', 'pcm_16', 'prompt', 'prompt_tokens', 'role', 'roles', 'stageflow', 'status', 'stop', 'sub', 'success', 'text', 'timestamp', 'token', 'tool', 'tool_calls', 'total_tokens', 'usage', 'words']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/extensions.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ExtensionBundle', 'T', 'UUID', '__str__', 'date', 'datetime', 'time', 'to_dict']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/cli/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['DependencyIssue', 'DependencyLintResult', 'lint_pipeline', 'lint_pipeline_file']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/cancellation.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.01, 5.0, 10.0, 'CancellationToken', 'Cleanup failed', 'Cleanup timed out', 'CleanupRegistry', 'StructuredTaskGroup', 'T', 'Task failed', '__cleanup_name__', 'cleanup_on_cancel', 'run_with_cleanup']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/extensions.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ExtensionHelper', 'ExtensionRegistry', 'T', 'TypedExtension', 'active_skill_ids', 'current_level', 'from_dict', 'skill_progress']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/events/sink.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 0.1, 5.0, 100.0, 1000, 'BackpressureMetrics', 'Event: %s', 'EventSink', 'LoggingEventSink', 'NoOpEventSink', 'clear_event_sink', 'drop_rate_percent', 'dropped', 'dropped_total', 'emitted', 'error', 'event_data', 'event_sink', 'event_type', 'get_event_sink', 'last_drop_time', 'last_emit_time', 'max_queue_size', 'metrics', 'queue_full_count', 'queue_size', 'remaining', 'set_event_sink', 'stageflow.events']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/stages/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AudioPorts', 'CorePorts', 'LLMPorts', 'PipelineContext', 'StageError', 'StageInputs', 'StageResult', 'create_audio_ports', 'create_core_ports', 'create_llm_ports', 'create_stage_inputs']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/pipeline.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['Pipeline', 'UnifiedStageGraph', 'UnifiedStageSpec', 'execute']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/core/stage_context.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [1000, '_config', '_event_sink', '_outputs', '_pipeline_start_ms', '_snapshot', '_started_at', 'event_sink', 'execution_mode', 'inputs', 'pipeline_run_id', 'request_id', 'stage_config', 'started_at', 'timer']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/providers.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 1.0, 16000, 'LLMResponse', 'STTResponse', 'TTSResponse', 'byte_count', 'cached_tokens', 'channels', 'characters_processed', 'confidence', 'content', 'duration_ms', 'en', 'finish_reason', 'format', 'input_tokens', 'is_final', 'language', 'latency_ms', 'llm.cached_tokens', 'llm.finish_reason', 'llm.input_tokens', 'llm.latency_ms', 'llm.model', 'llm.output_tokens', 'llm.provider', 'llm.total_tokens', 'model', 'output_tokens', 'pcm_16', 'provider', 'sample_rate', 'stt.confidence', 'stt.duration_ms', 'stt.is_final', 'stt.language', 'stt.latency_ms', 'stt.model', 'stt.provider', 'text', 'tool_calls', 'total_tokens', 'tts.byte_count', 'tts.duration_ms', 'tts.format', 'tts.latency_ms', 'tts.model', 'tts.provider', 'tts.sample_rate', 'words']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/context_snapshot.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ContextSnapshot', 'T', 'agent_id', 'content', 'conversation', 'created_at', 'documents', 'enrichments', 'execution_mode', 'extensions', 'extensions_type', 'input_text', 'interaction_id', 'memory', 'messages', 'metadata', 'org_id', 'pipeline_name', 'pipeline_run_id', 'profile', 'reason', 'request_id', 'role', 'routing_decision', 'run_id', 'session_id', 'timestamp', 'topology', 'user_id', 'web_results']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/interceptors.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [',', 'AuthInterceptor', 'JwtValidator', 'MockJwtValidator', 'Token has expired', '_', '_auth_context', '_auth_token', '_client_ip', '_org_id', '_resource_org_id', '_user_agent', '_user_id', 'auth', 'auth.failure', 'auth.login', 'auth_interceptor', 'auth_token', 'email', 'error_detail', 'expired_', 'invalid_', 'missing_', 'missing_token', 'org_enforcement', 'org_id', 'reason', 'resource_org_id', 'roles', 'session_id', 'tenant.access_denied', 'user@example.com', 'user_id', 'user_org_id', 'valid_']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/events.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AuthFailureEvent', 'AuthLoginEvent', 'auth.failure', 'auth.login', 'ip_address', 'org_id', 'pipeline_run_id', 'reason', 'request_id', 'resource_org_id', 'session_id', 'tenant.access_denied', 'timestamp', 'type', 'user_agent', 'user_id', 'user_org_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/observability/tracing.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['-', '016x', '032x', 'NoOpSpan', 'OTEL_AVAILABLE', 'StageflowTracer', 'T', 'TraceContext', '_status', '_status_description', 'baggage', 'clear_correlation_id', 'correlation_id', 'created_at', 'exception', 'exception.message', 'exception.type', 'get_correlation_id', 'get_span_id', 'get_trace_id', 'org_id', 'parent_span_id', 'pipeline_run_id', 'request_id', 'set_correlation_id', 'span_id', 'stageflow', 'trace_id', 'traceparent', 'x-baggage-', 'x-correlation-id', 'x-org-id', 'x-pipeline-run-id', 'x-request-id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/registry.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['PipelineRegistry', 'pipeline_registry']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/undo.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [3600.0, 'UndoEntry', 'UndoStore', 'clear_undo_store', 'get_undo_store', 'set_undo_store']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/context_snapshot.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['agent_id', 'blocks', 'content', 'created_at', 'display_name', 'document_id', 'document_type', 'documents', 'execution_mode', 'extensions', 'goals', 'input_text', 'interaction_id', 'key_facts', 'memory', 'messages', 'metadata', 'org_id', 'pipeline_name', 'pipeline_run_id', 'preferences', 'profile', 'reason', 'recent_topics', 'request_id', 'role', 'routing_decision', 'session_id', 'timestamp', 'topology', 'user_id', 'web_results']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/errors.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ToolDeniedError', 'ToolError', 'ToolExecutionError', 'ToolNotFoundError', 'ToolUndoError', 'action_id', 'action_type', 'allowed_behaviors', 'behavior', 'cause', 'error_type', 'message', 'reason', 'request_id', 'timeout', 'timeout_seconds', 'tool', 'user_denied']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/stages/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AudioPorts', 'CorePorts', 'LLMPorts', 'PipelineContext', 'StageError', 'StageInputs', 'StageResult', 'create_audio_ports', 'create_core_ports', 'create_llm_ports', 'create_stage_inputs']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/stages/context.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['PipelineContext', '_', '_kernel', 'artifacts_count', 'canceled', 'correlation_id', 'data', 'execution_mode', 'extract_service', 'interaction_id', 'org_id', 'parent_run_id', 'parent_stage_id', 'pipeline', 'pipeline_run_id', 'request_id', 'service', 'session_id', 'stage', 'status', 'timestamp', 'topology', 'user_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/spec.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [' -> ', 'CycleDetectedError', 'PipelineSpec', 'StageRunner']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/observability/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [500, 'CIRCUIT_OPEN', 'CircuitBreaker', 'NoOpSpan', 'OTEL_AVAILABLE', 'PipelineRunLogger', 'ProviderCallLogger', 'StageflowTracer', 'TIMEOUT', 'TraceContext', 'UNKNOWN', 'WideEventEmitter', 'circuit breaker', 'clear_correlation_id', 'code', 'error', 'failure', 'get_circuit_breaker', 'get_correlation_id', 'get_span_id', 'get_trace_id', 'message', 'pipeline_run_logger', 'provider_call_logger', 'retryable', 'set_correlation_id', 'stage', 'type']
@@ -0,0 +1,4 @@
1
+ # file: /usr/lib/python3.12/sitecustomize.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ []
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/analytics.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.5, 0.8, 10.0, 100, 10000, '\x1b[0m', '\x1b[91m', '\x1b[92m', '\x1b[94m', '\x1b[96m', '%H:%M:%S.%f', 'AnalyticsEvent', 'AnalyticsExporter', 'AnalyticsSink', 'BufferedExporter', 'CompositeExporter', 'ConsoleExporter', 'JSONFileExporter', 'a', 'buffer_size', 'complete', 'data', 'dropped_count', 'duration_ms', 'error', 'event_type', 'fail', 'fill_ratio', 'high_water_warned', 'max_buffer_size', 'metadata', 'pipeline_run_id', 'stage', 'stage_name', 'start', 'success', 'timestamp', 'w']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['Action', 'AdvancedToolExecutor', 'ApprovalDecidedEvent', 'ApprovalDecision', 'ApprovalRequest', 'ApprovalService', 'ApprovalStatus', 'BaseTool', 'DictContextAdapter', 'DiffLine', 'DiffResult', 'DiffType', 'ExecutionResult', 'ResolvedToolCall', 'Tool', 'ToolCompletedEvent', 'ToolDefinition', 'ToolDeniedError', 'ToolDeniedEvent', 'ToolError', 'ToolEventBase', 'ToolExecutionError', 'ToolExecutor', 'ToolExecutorConfig', 'ToolFailedEvent', 'ToolHandler', 'ToolInput', 'ToolInvokedEvent', 'ToolNotFoundError', 'ToolOutput', 'ToolRegistry', 'ToolStartedEvent', 'ToolUndoError', 'ToolUndoFailedEvent', 'ToolUndoneEvent', 'UndoHandler', 'UndoMetadata', 'UndoStore', 'UnresolvedToolCall', 'adapt_context', 'clear_tool_registry', 'clear_undo_store', 'diff_json', 'diff_structured', 'diff_text', 'get_approval_service', 'get_tool_registry', 'get_undo_store', 'register_tool', 'set_approval_service', 'set_undo_store', 'tool']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/subpipeline.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 1000, 'ChildRunTracker', 'SubpipelineResult', 'SubpipelineSpawner', 'active_children', 'active_parents', 'cascade_depth', 'child_run_id', 'cleanup_count', 'clear_child_tracker', 'correlation_id', 'current_depth', 'data', 'duration_ms', 'error', 'error_message', 'get_child_tracker', 'lookup_count', 'max_depth', 'max_depth_seen', 'parent_run_id', 'parent_stage_id', 'pipeline.canceled', 'pipeline_name', 'pipeline_run_id', 'reason', 'registration_count', 'result', 'set_child_tracker', 'success', 'timestamp', 'total_relationships', 'tree_traversal_count', 'unregistration_count', 'user_requested']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/approval.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [60.0, 'ApprovalDecision', 'ApprovalRequest', 'ApprovalService', 'ApprovalStatus', 'action_id', 'approval_message', 'approved', 'cancelled', 'created_at', 'decided_at', 'decided_by', 'denied', 'expired', 'get_approval_service', 'granted', 'id', 'no_decision', 'payload_summary', 'pending', 'pipeline_run_id', 'reason', 'request_id', 'set_approval_service', 'status', 'tool_name']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/guardrails.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 0.3, 0.5, 0.8, 0.9, 1.0, '*', '<\\s*system\\s*>', 'ContentFilter', 'ContentLengthCheck', 'GuardrailCheck', 'GuardrailConfig', 'GuardrailResult', 'GuardrailStage', 'IP address detected', 'InjectionDetector', 'No content to check', 'PIIDetector', 'PolicyViolation', 'SSN detected', 'ViolationType', '\\[\\s*SYSTEM\\s*\\]', '\\b\\w+\\b', 'blocked_topic', 'char_count', 'check', 'checks_run', 'content_too_long', 'credit_card', 'custom', 'damn', 'email', 'guardrail', 'guardrail_passed', 'hell', 'injection_attempt', 'ip_address', 'limit', 'location', 'matched_pattern', 'message', 'metadata', 'minimum', 'passed', 'pattern', 'patterns_checked', 'phone', 'pii_detected', 'pii_type', 'pii_types_checked', 'profanity', 'profanity_checked', 'rate_limited', 'session_id', 'severity', 'ssn', 'token_count', 'toxicity', 'transformed_content', 'type', 'user_id', 'violations', 'word']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/events.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 'ApprovalDecidedEvent', 'ToolCompletedEvent', 'ToolDeniedEvent', 'ToolEventBase', 'ToolFailedEvent', 'ToolInvokedEvent', 'ToolStartedEvent', 'ToolUndoFailedEvent', 'ToolUndoneEvent', 'action_id', 'allowed_behaviors', 'approval_message', 'artifacts_count', 'behavior', 'decided_by', 'decision', 'duration_ms', 'error_code', 'error_message', 'execution_error', 'output_summary', 'payload_summary', 'pipeline_run_id', 'reason', 'request_id', 'timestamp', 'tool_name']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/context/identity.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['RunIdentity', 'created_at', 'interaction_id', 'org_id', 'pipeline_run_id', 'request_id', 'session_id', 'user_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/core/timer.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [1000.0, 1000, '_pipeline_start_ms']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/context.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AuthContext', 'OrgContext', 'PlanTier', 'admin', 'enterprise', 'org_admin', 'pro', 'starter']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/executor_v2.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [0.0, 60.0, 3600.0, 200, 1000, '...', 'AdvancedToolExecutor', 'ExecutionResult', 'ToolExecutorConfig', 'approval.decided', 'approval.requested', 'approval_timeout', 'approved', 'behavior_not_allowed', 'denied', 'has_artifacts', 'has_data', 'has_error', 'has_undo_metadata', 'success', 'tool.completed', 'tool.denied', 'tool.failed', 'tool.invoked', 'tool.started', 'tool.undo_failed', 'tool.undone']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/registry.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ToolRegistry', 'get_tool_registry', 'register_tool', 'tool']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/definitions.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['Action', 'ToolDefinition', 'ToolHandler', 'ToolInput', 'ToolOutput', 'UndoHandler', 'UndoMetadata', 'action_id', 'action_type', 'allowed_behaviors', 'approval_message', 'artifact_type', 'artifacts', 'behavior', 'created_at', 'data', 'description', 'error', 'input_schema', 'name', 'payload', 'pipeline_run_id', 'request_id', 'requires_approval', 'success', 'tool_name', 'undo_data', 'undo_metadata', 'undoable']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/testing.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['; ', 'create_test_snapshot', 'extensions', 'org_id', 'pipeline_run_id', 'request_id', 'test', 'test_stage', 'topology', 'user_id', 'validate_snapshot']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/dag.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [1000, 'Pipeline canceled', 'Pipeline cancelled', 'Stage failed', 'Stage returned skip', 'StageExecutionError', 'StageGraph', 'StageSpec', 'UnifiedStageGraph', 'UnifiedStageSpec', 'a', 'cancel_reason', 'completed', 'data_keys', 'deadlock', 'duration_ms', 'error', 'event', 'event_sink', 'failed', 'graph_completed', 'graph_started', 'inputs', 'kind', 'pending_stages', 'pipeline_cancelled', 'pipeline_dag', 'pipeline_run_id', 'reason', 'request_id', 'skip_reason', 'stage', 'stage_completed', 'stage_count', 'stage_error', 'stage_failed', 'stage_skipped', 'stage_started', 'stages', 'stages_completed', 'started', 'status', 'timer']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/executor.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['ToolExecutor', 'ToolExecutorResult', 'requires_reentry', 'stage.tool_executor']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/base.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['BaseTool', 'Tool', 'ToolInput', 'ToolOutput']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AudioPorts', 'BaseInterceptor', 'ChildRunTracker', 'CircuitBreaker', 'ConfigProvider', 'CorePorts', 'CorrelationIds', 'CycleDetectedError', 'DependencyIssue', 'DependencyLintResult', 'ErrorAction', 'EventSink', 'ExtensionHelper', 'ExtensionRegistry', 'InterceptorContext', 'InterceptorResult', 'IssueSeverity', 'LLMPorts', 'LoggingEventSink', 'LoggingInterceptor', 'MetricsInterceptor', 'NoOpEventSink', 'Pipeline', 'PipelineContext', 'PipelineRegistry', 'PipelineRunLogger', 'PipelineTimer', 'ProjectorService', 'ProviderCallLogger', 'RunStore', 'Stage', 'StageArtifact', 'StageContext', 'StageError', 'StageEvent', 'StageExecutionError', 'StageGraph', 'StageInputs', 'StageKind', 'StageOutput', 'StageResult', 'StageSpec', 'StageStatus', 'SubpipelineResult', 'SubpipelineSpawner', 'TimeoutInterceptor', 'TracingInterceptor', 'TypedExtension', 'UnifiedStageSpec', 'WSMessageProjector', 'WSMetadata', 'WSOutboundMessage', 'WideEventEmitter', '_coerce_uuid_str', 'clear_event_sink', 'create_audio_ports', 'create_core_ports', 'create_llm_ports', 'create_stage_context', 'create_stage_inputs', 'create_test_context', 'create_test_snapshot', 'extract_service', 'get_child_tracker', 'get_circuit_breaker', 'get_event_sink', 'lint_pipeline', 'lint_pipeline_file', 'pipeline_registry', 'set_event_sink']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AuthContext', 'AuthFailureEvent', 'AuthInterceptor', 'AuthLoginEvent', 'AuthenticationError', 'InvalidTokenError', 'JwtValidator', 'MissingClaimsError', 'MockJwtValidator', 'OrgContext', 'TenantAwareLogger', 'TenantContext', 'TenantIsolationError', 'TokenExpiredError', 'clear_current_tenant', 'get_current_tenant', 'require_tenant', 'set_current_tenant']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/stages/ports.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AudioPorts', 'CorePorts', 'LLMPorts', 'create_audio_ports', 'create_core_ports', 'create_llm_ports']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/stages/result.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['LegacyStageStatus', 'StageError', 'StageResult', 'completed', 'failed', 'started']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/utils/__init__.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['FrozenDict', 'FrozenList']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/pipeline/interceptors.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [1000.0, 100, 1000, 30000, 'BaseInterceptor', 'ChildRunTracker', 'ErrorAction', 'InterceptorContext', 'InterceptorError', 'InterceptorResult', 'LoggingInterceptor', 'MetricsInterceptor', 'TimeoutInterceptor', 'TracingInterceptor', '_timeout_ms', '_tracing.span_name', '_tracing.span_start', 'base_interceptor', 'circuit_breaker', 'closed', 'completed', 'component', 'duration_ms', 'error', 'failed', 'half_open', 'interceptor', 'interceptors', 'is_child_run', 'logging', 'metrics', 'open', 'pipeline_run_id', 'stage', 'stage_interceptor', 'stage_metrics', 'status', 'timeout', 'timeout_ms', 'topology', 'tracing']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/helpers/memory.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ [4000, 'InMemoryStore', 'MemoryConfig', 'MemoryEntry', 'MemoryFetchStage', 'MemoryStore', 'MemoryWriteStage', 'assistant', 'content', 'id', 'llm', 'memory_fetch', 'memory_write', 'metadata', 'response', 'role', 'session_id', 'system', 'timestamp', 'user']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/tools/adapters.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['DictContextAdapter', 'adapt_context', 'execution_mode', 'pipeline_run_id', 'request_id', 'to_dict', 'try_emit_event']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/core/stage_enums.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['agent', 'cancel', 'enrich', 'fail', 'guard', 'ok', 'retry', 'route', 'skip', 'transform', 'work']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/tenant.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['T', 'TenantAwareLogger', 'TenantContext', 'TenantIsolationError', 'access', 'actual_org_id', 'clear_current_tenant', 'current_tenant', 'event', 'expected_org_id', 'get_current_tenant', 'metadata', 'operation', 'org_id', 'require_tenant', 'resource_id', 'resource_type', 'session_id', 'set_current_tenant', 'tenant_violation', 'unknown', 'user_id']
@@ -0,0 +1,4 @@
1
+ # file: /home/antonio/programming/stageflow/stageflow/auth/errors.py
2
+ # hypothesis_version: 6.150.0
3
+
4
+ ['AuthenticationError', 'Invalid token', 'InvalidTokenError', 'MissingClaimsError', 'Token has expired', 'TokenExpiredError', 'auth_error', 'cross_tenant_access', 'invalid_token', 'missing_claims', 'token_expired']