SYMBOL INDEX (6613 symbols across 438 files) FILE: docs/api_docs/docs/api_reference/_static/js/algolia.js function e (line 16) | function e(e, t) { function t (line 28) | function t(t) { function n (line 43) | function n(e) { function r (line 61) | function r(e, t, n) { function o (line 74) | function o() { function i (line 89) | function i(e, t) { function c (line 112) | function c(e, t) { function a (line 155) | function a(e) { function u (line 175) | function u(e, t) { function l (line 190) | function l(e, t) { function _ (line 203) | function _(e, t) { function b (line 207) | function b(e) { function g (line 211) | function g(e, t, n) { function S (line 228) | function S(e, t, n, r, o) { function O (line 246) | function O(e) { function w (line 249) | function w(e, t) { function E (line 252) | function E(e, t) { function j (line 258) | function j(e) { function P (line 269) | function P(e) { function I (line 274) | function I() { function D (line 302) | function D(e, t, n, r, o, i, c, a, u, l) { function k (line 366) | function k(e, t, n) { function C (line 377) | function C(e, t) { function A (line 390) | function A(e, t, n, r, o, i) { function x (line 402) | function x(e, t, n) { function N (line 408) | function N(e, t, n, r, o) { function T (line 444) | function T(e) { function R (line 447) | function R(e) { function q (line 450) | function q(e, t, n, r, o, i, c, a, u) { function L (line 558) | function L(e, t) { function M (line 572) | function M(e, t, n, r, o, i, c, a) { function H (line 659) | function H(e, t, n) { function U (line 666) | function U(e, t, n) { function F (line 686) | function F(e, t, n) { function B (line 689) | function B(e, t, n) { function V (line 713) | function V(e, t) { function K (line 716) | function K(e, t, n) { function te (line 782) | function te(e, t) { function ne (line 787) | function ne(e) { function re (line 790) | function re(e, t, n) { function oe (line 806) | function oe(e, t) { function ie (line 810) | function ie(e, t) { function ce (line 814) | function ce(e, t) { function ae (line 818) | function ae() { function le (line 885) | function le(e) { function se (line 889) | function se(e) { function fe (line 893) | function fe(e, t) { function pe (line 902) | function pe(e, t) { function me (line 905) | function me(e, t) { function de (line 909) | function de(e, t) { function ve (line 914) | function ve(e) { function Se (line 948) | function Se() { function Oe (line 951) | function Oe(e) { function we (line 955) | function we() { function je (line 1054) | function je(e) { function Pe (line 1062) | function Pe(e) { function Ie (line 1090) | function Ie(e, t) { function Ae (line 1135) | function Ae(e, t, n) { function Ne (line 1164) | function Ne() {} function Te (line 1165) | function Te() { function Re (line 1168) | function Re() { function Fe (line 1251) | function Fe(e) { function n (line 1356) | function n(e) { function r (line 1364) | function r(t) { function t (line 1375) | function t(t, r) { function o (line 1403) | function o(o) { function Ke (line 1425) | function Ke(e, t) { function We (line 1437) | function We(e) { function ze (line 1452) | function ze(e, t, n) { function Je (line 1465) | function Je() { function $e (line 1480) | function $e(e, t) { function Ze (line 1503) | function Ze(e, t) { function Qe (line 1547) | function Qe(e, t) { function Ye (line 1562) | function Ye(e, t) { function Ge (line 1567) | function Ge() { function Xe (line 1580) | function Xe() { function nt (line 1658) | function nt(e) { function rt (line 1696) | function rt(e, t) { function ot (line 1707) | function ot(e) { function ct (line 1713) | function ct(e) { function at (line 1720) | function at(e) { function ut (line 1723) | function ut(e, t) { function ft (line 1737) | function ft(e) { function pt (line 1753) | function pt(e, t) { function vt (line 1760) | function vt(e) { function ht (line 1778) | function ht(e) { function yt (line 1812) | function yt(e, t) { function _t (line 1817) | function _t(e, t) { function bt (line 1840) | function bt(e, t) { function gt (line 1852) | function gt(e) { function St (line 1867) | function St(e, t, n) { function Ot (line 1892) | function Ot(e) { function wt (line 1904) | function wt(e) { function Et (line 1922) | function Et(e) { function jt (line 2088) | function jt(e) { function Pt (line 2102) | function Pt(e) { function It (line 2105) | function It(e) { function Dt (line 2123) | function Dt(e) { function kt (line 2157) | function kt(e, t) { function Ct (line 2162) | function Ct(e, t) { function At (line 2174) | function At(e) { function xt (line 2189) | function xt(e, t, n) { function Rt (line 2231) | function Rt(e) { function qt (line 2402) | function qt(e, t) { function Lt (line 2442) | function Lt(e) { function Mt (line 2445) | function Mt(e, t, n) { function Ht (line 2452) | function Ht(e, t, n, r) { function Ut (line 2458) | function Ut(e, t) { function Ft (line 2470) | function Ft(e) { function Bt (line 2485) | function Bt(e, t, n) { function Vt (line 2510) | function Vt(e) { function Kt (line 2528) | function Kt(e) { function zt (line 2571) | function zt(e) { function Jt (line 2589) | function Jt(e, t) { function $t (line 2601) | function $t(e, t, n) { function Zt (line 2626) | function Zt(e) { function Qt (line 2644) | function Qt(e, t) { function Yt (line 2656) | function Yt(e) { function Gt (line 2671) | function Gt(e, t, n) { function Xt (line 2696) | function Xt(e) { function en (line 2714) | function en(e, t) { function tn (line 2719) | function tn(e, t) { function nn (line 2731) | function nn(e) { function rn (line 2746) | function rn(e, t, n) { function on (line 2771) | function on(e, t) { function cn (line 2994) | function cn(e) { function an (line 3012) | function an(e, t) { function un (line 3024) | function un(e) { function ln (line 3039) | function ln(e, t, n) { function sn (line 3064) | function sn(e) { function fn (line 3082) | function fn(e, t) { function pn (line 3094) | function pn(e) { function mn (line 3109) | function mn(e, t, n) { function dn (line 3134) | function dn(e) { function vn (line 3168) | function vn(e, t) { function hn (line 3173) | function hn(e) { function yn (line 3176) | function yn(e) { function _n (line 3213) | function _n(e) { function gn (line 3232) | function gn(e, t) { function Sn (line 3244) | function Sn(e) { function On (line 3259) | function On(e, t, n) { function Dn (line 3298) | function Dn(e) { function kn (line 3559) | function kn(e) { function An (line 3578) | function An(e, t) { function xn (line 3590) | function xn(e) { function Nn (line 3605) | function Nn(e, t, n) { function Tn (line 3630) | function Tn(e) { function Bn (line 3655) | function Bn(e, t) { function Vn (line 3667) | function Vn(e) { function Kn (line 3682) | function Kn(e, t, n) { function Wn (line 3707) | function Wn(e, t) { function zn (line 3730) | function zn(e) { function Jn (line 4214) | function Jn(e) { function $n (line 4232) | function $n(e, t) { function Zn (line 4244) | function Zn(e) { function Qn (line 4259) | function Qn(e, t, n) { function Yn (line 4284) | function Yn(e) { function Gn (line 4324) | function Gn(e) { function Xn (line 4332) | function Xn(e) { function er (line 4350) | function er(e, t) { function tr (line 4362) | function tr(e) { function nr (line 4377) | function nr(e, t, n) { function or (line 4503) | function or(e) { function ir (line 4521) | function ir(e, t) { function cr (line 4533) | function cr(e) { function ar (line 4548) | function ar(e, t, n) { function ur (line 4573) | function ur(e) { function lr (line 4753) | function lr(e) { function sr (line 4832) | function sr(e) { function fr (line 4849) | function fr(e) { function pr (line 4937) | function pr(e) { function mr (line 4942) | function mr() { function dr (line 4974) | function dr() { function vr (line 4996) | function vr() { function hr (line 5010) | function hr() { function _r (line 5046) | function _r(e) { function br (line 5056) | function br() { function gr (line 5070) | function gr() { function Sr (line 5083) | function Sr() { function Or (line 5096) | function Or() { function wr (line 5114) | function wr() { function Er (line 5132) | function Er(e) { function Pr (line 5152) | function Pr(e) { function Dr (line 5255) | function Dr(e, t) { function kr (line 5260) | function kr(e) { function Cr (line 5277) | function Cr(e) { function Ar (line 5303) | function Ar(e) { function xr (line 5416) | function xr(e, t, n) { function Nr (line 5426) | function Nr(e) { function Tr (line 5429) | function Tr(e) { function Rr (line 5432) | function Rr() {} function Mr (line 5435) | function Mr(e) { function Hr (line 5459) | function Hr(e) { function Fr (line 5526) | function Fr(e) { function Wr (line 5695) | function Wr(e) { function Jr (line 5789) | function Jr(e) { function $r (line 5845) | function $r(e) { function Zr (line 5930) | function Zr(e) { function Qr (line 5993) | function Qr() { function Yr (line 6040) | function Yr(e) { function Gr (line 6048) | function Gr(e, t) { function Xr (line 6056) | function Xr(e) { function no (line 6070) | function no(e, t) { function oo (line 6094) | function oo(e) { function io (line 6098) | function io(e) { function uo (line 6109) | function uo(e, n, r, o) { function lo (line 6262) | function lo(e) { function so (line 6277) | function so(e, t, n) { function fo (line 6285) | function fo(e) { function po (line 6301) | function po(e) { function mo (line 6306) | function mo(e) { function Oo (line 6409) | function Oo(e, n, r) { function Eo (line 6648) | function Eo(e) { function jo (line 7108) | function jo(e) { FILE: docs/api_docs/docs/api_reference/_static/js/leadfeeder.js function ce (line 9) | function ce(src) { FILE: docs/api_docs/docs/javascript/algolia.js function e (line 16) | function e(e, t) { function t (line 28) | function t(t) { function n (line 43) | function n(e) { function r (line 61) | function r(e, t, n) { function o (line 74) | function o() { function i (line 89) | function i(e, t) { function c (line 112) | function c(e, t) { function a (line 155) | function a(e) { function u (line 175) | function u(e, t) { function l (line 190) | function l(e, t) { function _ (line 203) | function _(e, t) { function b (line 207) | function b(e) { function g (line 211) | function g(e, t, n) { function S (line 228) | function S(e, t, n, r, o) { function O (line 246) | function O(e) { function w (line 249) | function w(e, t) { function E (line 252) | function E(e, t) { function j (line 258) | function j(e) { function P (line 269) | function P(e) { function I (line 274) | function I() { function D (line 302) | function D(e, t, n, r, o, i, c, a, u, l) { function k (line 366) | function k(e, t, n) { function C (line 377) | function C(e, t) { function A (line 390) | function A(e, t, n, r, o, i) { function x (line 402) | function x(e, t, n) { function N (line 408) | function N(e, t, n, r, o) { function T (line 444) | function T(e) { function R (line 447) | function R(e) { function q (line 450) | function q(e, t, n, r, o, i, c, a, u) { function L (line 558) | function L(e, t) { function M (line 572) | function M(e, t, n, r, o, i, c, a) { function H (line 659) | function H(e, t, n) { function U (line 666) | function U(e, t, n) { function F (line 686) | function F(e, t, n) { function B (line 689) | function B(e, t, n) { function V (line 713) | function V(e, t) { function K (line 716) | function K(e, t, n) { function te (line 782) | function te(e, t) { function ne (line 787) | function ne(e) { function re (line 790) | function re(e, t, n) { function oe (line 806) | function oe(e, t) { function ie (line 810) | function ie(e, t) { function ce (line 814) | function ce(e, t) { function ae (line 818) | function ae() { function le (line 885) | function le(e) { function se (line 889) | function se(e) { function fe (line 893) | function fe(e, t) { function pe (line 902) | function pe(e, t) { function me (line 905) | function me(e, t) { function de (line 909) | function de(e, t) { function ve (line 914) | function ve(e) { function Se (line 948) | function Se() { function Oe (line 951) | function Oe(e) { function we (line 955) | function we() { function je (line 1054) | function je(e) { function Pe (line 1062) | function Pe(e) { function Ie (line 1090) | function Ie(e, t) { function Ae (line 1135) | function Ae(e, t, n) { function Ne (line 1164) | function Ne() {} function Te (line 1165) | function Te() { function Re (line 1168) | function Re() { function Fe (line 1251) | function Fe(e) { function n (line 1356) | function n(e) { function r (line 1364) | function r(t) { function t (line 1375) | function t(t, r) { function o (line 1403) | function o(o) { function Ke (line 1425) | function Ke(e, t) { function We (line 1437) | function We(e) { function ze (line 1452) | function ze(e, t, n) { function Je (line 1465) | function Je() { function $e (line 1480) | function $e(e, t) { function Ze (line 1503) | function Ze(e, t) { function Qe (line 1547) | function Qe(e, t) { function Ye (line 1562) | function Ye(e, t) { function Ge (line 1567) | function Ge() { function Xe (line 1580) | function Xe() { function nt (line 1658) | function nt(e) { function rt (line 1696) | function rt(e, t) { function ot (line 1707) | function ot(e) { function ct (line 1713) | function ct(e) { function at (line 1720) | function at(e) { function ut (line 1723) | function ut(e, t) { function ft (line 1737) | function ft(e) { function pt (line 1753) | function pt(e, t) { function vt (line 1760) | function vt(e) { function ht (line 1778) | function ht(e) { function yt (line 1812) | function yt(e, t) { function _t (line 1817) | function _t(e, t) { function bt (line 1840) | function bt(e, t) { function gt (line 1852) | function gt(e) { function St (line 1867) | function St(e, t, n) { function Ot (line 1892) | function Ot(e) { function wt (line 1904) | function wt(e) { function Et (line 1922) | function Et(e) { function jt (line 2088) | function jt(e) { function Pt (line 2102) | function Pt(e) { function It (line 2105) | function It(e) { function Dt (line 2123) | function Dt(e) { function kt (line 2157) | function kt(e, t) { function Ct (line 2162) | function Ct(e, t) { function At (line 2174) | function At(e) { function xt (line 2189) | function xt(e, t, n) { function Rt (line 2231) | function Rt(e) { function qt (line 2402) | function qt(e, t) { function Lt (line 2442) | function Lt(e) { function Mt (line 2445) | function Mt(e, t, n) { function Ht (line 2452) | function Ht(e, t, n, r) { function Ut (line 2458) | function Ut(e, t) { function Ft (line 2470) | function Ft(e) { function Bt (line 2485) | function Bt(e, t, n) { function Vt (line 2510) | function Vt(e) { function Kt (line 2528) | function Kt(e) { function zt (line 2571) | function zt(e) { function Jt (line 2589) | function Jt(e, t) { function $t (line 2601) | function $t(e, t, n) { function Zt (line 2626) | function Zt(e) { function Qt (line 2644) | function Qt(e, t) { function Yt (line 2656) | function Yt(e) { function Gt (line 2671) | function Gt(e, t, n) { function Xt (line 2696) | function Xt(e) { function en (line 2714) | function en(e, t) { function tn (line 2719) | function tn(e, t) { function nn (line 2731) | function nn(e) { function rn (line 2746) | function rn(e, t, n) { function on (line 2771) | function on(e, t) { function cn (line 2994) | function cn(e) { function an (line 3012) | function an(e, t) { function un (line 3024) | function un(e) { function ln (line 3039) | function ln(e, t, n) { function sn (line 3064) | function sn(e) { function fn (line 3082) | function fn(e, t) { function pn (line 3094) | function pn(e) { function mn (line 3109) | function mn(e, t, n) { function dn (line 3134) | function dn(e) { function vn (line 3168) | function vn(e, t) { function hn (line 3173) | function hn(e) { function yn (line 3176) | function yn(e) { function _n (line 3213) | function _n(e) { function gn (line 3232) | function gn(e, t) { function Sn (line 3244) | function Sn(e) { function On (line 3259) | function On(e, t, n) { function Dn (line 3298) | function Dn(e) { function kn (line 3559) | function kn(e) { function An (line 3578) | function An(e, t) { function xn (line 3590) | function xn(e) { function Nn (line 3605) | function Nn(e, t, n) { function Tn (line 3630) | function Tn(e) { function Bn (line 3655) | function Bn(e, t) { function Vn (line 3667) | function Vn(e) { function Kn (line 3682) | function Kn(e, t, n) { function Wn (line 3707) | function Wn(e, t) { function zn (line 3730) | function zn(e) { function Jn (line 4214) | function Jn(e) { function $n (line 4232) | function $n(e, t) { function Zn (line 4244) | function Zn(e) { function Qn (line 4259) | function Qn(e, t, n) { function Yn (line 4284) | function Yn(e) { function Gn (line 4324) | function Gn(e) { function Xn (line 4332) | function Xn(e) { function er (line 4350) | function er(e, t) { function tr (line 4362) | function tr(e) { function nr (line 4377) | function nr(e, t, n) { function or (line 4503) | function or(e) { function ir (line 4521) | function ir(e, t) { function cr (line 4533) | function cr(e) { function ar (line 4548) | function ar(e, t, n) { function ur (line 4573) | function ur(e) { function lr (line 4753) | function lr(e) { function sr (line 4832) | function sr(e) { function fr (line 4849) | function fr(e) { function pr (line 4937) | function pr(e) { function mr (line 4942) | function mr() { function dr (line 4974) | function dr() { function vr (line 4996) | function vr() { function hr (line 5010) | function hr() { function _r (line 5046) | function _r(e) { function br (line 5056) | function br() { function gr (line 5070) | function gr() { function Sr (line 5083) | function Sr() { function Or (line 5096) | function Or() { function wr (line 5114) | function wr() { function Er (line 5132) | function Er(e) { function Pr (line 5152) | function Pr(e) { function Dr (line 5255) | function Dr(e, t) { function kr (line 5260) | function kr(e) { function Cr (line 5277) | function Cr(e) { function Ar (line 5303) | function Ar(e) { function xr (line 5416) | function xr(e, t, n) { function Nr (line 5426) | function Nr(e) { function Tr (line 5429) | function Tr(e) { function Rr (line 5432) | function Rr() {} function Mr (line 5435) | function Mr(e) { function Hr (line 5459) | function Hr(e) { function Fr (line 5526) | function Fr(e) { function Wr (line 5695) | function Wr(e) { function Jr (line 5789) | function Jr(e) { function $r (line 5845) | function $r(e) { function Zr (line 5930) | function Zr(e) { function Qr (line 5993) | function Qr() { function Yr (line 6040) | function Yr(e) { function Gr (line 6048) | function Gr(e, t) { function Xr (line 6056) | function Xr(e) { function no (line 6070) | function no(e, t) { function oo (line 6094) | function oo(e) { function io (line 6098) | function io(e) { function uo (line 6109) | function uo(e, n, r, o) { function lo (line 6262) | function lo(e) { function so (line 6277) | function so(e, t, n) { function fo (line 6285) | function fo(e) { function po (line 6301) | function po(e) { function mo (line 6306) | function mo(e) { function Oo (line 6409) | function Oo(e, n, r) { function Eo (line 6648) | function Eo(e) { function jo (line 7108) | function jo(e) { FILE: docs/src/components/HomepageFeatures/index.js function Feature (line 38) | function Feature({Svg, title, description}) { function HomepageFeatures (line 52) | function HomepageFeatures() { FILE: docs/src/components/ProtectedContent.jsx constant SELF_HOSTING_PASSWORD (line 3) | const SELF_HOSTING_PASSWORD = 'llamacloud-self-host-2025'; constant STORAGE_KEY (line 4) | const STORAGE_KEY = 'llamacloud-self-hosting-auth'; function ProtectedContent (line 6) | function ProtectedContent({ children }) { FILE: examples/client/base/workflow_client.py class InputNumbers (line 9) | class InputNumbers(StartEvent): function main (line 15) | async def main() -> None: FILE: examples/client/base/workflow_server.py class InputNumbers (line 9) | class InputNumbers(StartEvent): class CalculationEvent (line 15) | class CalculationEvent(Event): class OutputEvent (line 19) | class OutputEvent(StopEvent): class AddOrSubtractWorkflow (line 23) | class AddOrSubtractWorkflow(Workflow): method first_step (line 25) | async def first_step(self, ev: InputNumbers, ctx: Context) -> OutputEv... function main (line 34) | async def main() -> None: FILE: examples/client/human_in_the_loop/workflow_client_hitl.py class ResponseEvent (line 10) | class ResponseEvent(HumanResponseEvent): class OutEvent (line 14) | class OutEvent(StopEvent): function main (line 18) | async def main() -> None: FILE: examples/client/human_in_the_loop/workflow_server_hitl.py class RequestEvent (line 12) | class RequestEvent(InputRequiredEvent): class ResponseEvent (line 16) | class ResponseEvent(HumanResponseEvent): class OutEvent (line 20) | class OutEvent(StopEvent): class HumanInTheLoopWorkflow (line 24) | class HumanInTheLoopWorkflow(Workflow): method prompt_human (line 26) | async def prompt_human(self, ev: StartEvent, ctx: Context) -> RequestE... method greet_human (line 30) | async def greet_human(self, ev: ResponseEvent) -> OutEvent: function main (line 34) | async def main() -> None: FILE: examples/dbos/_replica.py class Tick (line 26) | class Tick(Event): class WaitDone (line 30) | class WaitDone(Event): class CounterResult (line 34) | class CounterResult(StopEvent): class CounterWorkflow (line 38) | class CounterWorkflow(Workflow): method start (line 47) | async def start(self, ctx: Context, ev: StartEvent) -> WaitDone: method tick (line 52) | async def tick(self, ctx: Context, ev: WaitDone) -> Tick | CounterResult: method wait (line 63) | async def wait(self, ctx: Context, ev: Tick) -> WaitDone: function main (line 68) | async def main() -> None: FILE: examples/dbos/durable_workflow.py class Tick (line 34) | class Tick(Event): class CounterResult (line 38) | class CounterResult(StopEvent): class CounterWorkflow (line 42) | class CounterWorkflow(Workflow): method start (line 46) | async def start(self, ctx: Context, ev: StartEvent) -> Tick: method increment (line 52) | async def increment(self, ctx: Context, ev: Tick) -> Tick | CounterRes... function run (line 64) | def run(run_id: str, resume: bool = False) -> None: function main (line 95) | def main() -> None: FILE: examples/dbos/idle_release_demo.py class AskName (line 39) | class AskName(InputRequiredEvent): class UserInput (line 43) | class UserInput(HumanResponseEvent): class GreeterWorkflow (line 47) | class GreeterWorkflow(Workflow): method ask (line 49) | async def ask(self, ctx: Context, ev: StartEvent) -> AskName: method greet (line 53) | async def greet(self, ctx: Context, ev: UserInput) -> StopEvent: function drive_workflow (line 57) | async def drive_workflow(port: int) -> None: function main (line 85) | async def main() -> None: FILE: examples/dbos/server_quickstart.py class Tick (line 50) | class Tick(Event): class CounterResult (line 54) | class CounterResult(StopEvent): class CounterWorkflow (line 58) | class CounterWorkflow(Workflow): method start (line 62) | async def start(self, ctx: Context, ev: StartEvent) -> Tick: method tick (line 66) | async def tick(self, ctx: Context, ev: Tick) -> Tick | CounterResult: function main (line 79) | async def main() -> None: FILE: examples/dbos/server_replicas.py function ts (line 51) | def ts() -> str: function log (line 55) | def log(msg: str, color: str = DIM) -> None: function run_cmd (line 62) | def run_cmd(*args: str, **kwargs: Any) -> subprocess.CompletedProcess[str]: function start_postgres (line 78) | def start_postgres() -> None: function start_replica (line 102) | def start_replica(port: int) -> subprocess.Popen[str]: function wait_for_server (line 112) | def wait_for_server(port: int, timeout: float = 30.0) -> None: function start_workflow (line 128) | async def start_workflow(client: WorkflowClient) -> str: function stream_events (line 133) | async def stream_events( function async_main (line 157) | async def async_main() -> None: function main (line 249) | def main() -> None: FILE: examples/docker/app.py class StreamEvent (line 9) | class StreamEvent(Event): class GreetingWorkflow (line 13) | class GreetingWorkflow(Workflow): method greet (line 15) | async def greet(self, ctx: Context, ev: StartEvent) -> StopEvent: FILE: examples/k8s-otel/app.py function _merge_instrument_tags (line 68) | def _merge_instrument_tags( function _drop_uvicorn_color_message (line 80) | def _drop_uvicorn_color_message( function setup_logging (line 89) | def setup_logging() -> None: class Tick (line 172) | class Tick(Event): class WaitDone (line 176) | class WaitDone(Event): class CounterResult (line 180) | class CounterResult(StopEvent): class CounterWorkflow (line 184) | class CounterWorkflow(Workflow): method start (line 188) | async def start(self, ctx: Context, ev: StartEvent) -> WaitDone: method tick (line 193) | async def tick(self, ctx: Context, ev: WaitDone) -> Tick | CounterResult: method wait (line 203) | async def wait(self, ctx: Context, ev: Tick) -> WaitDone: class AskName (line 213) | class AskName(InputRequiredEvent): class UserInput (line 217) | class UserInput(HumanResponseEvent): class GreeterWorkflow (line 221) | class GreeterWorkflow(Workflow): method ask (line 225) | async def ask(self, ctx: Context, ev: StartEvent) -> AskName: method greet (line 230) | async def greet(self, ctx: Context, ev: UserInput) -> StopEvent: function _flush_and_shutdown (line 258) | def _flush_and_shutdown() -> None: function lifespan (line 264) | async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]: class AccessLogMiddleware (line 280) | class AccessLogMiddleware: method __init__ (line 283) | def __init__(self, app: ASGIApp) -> None: method __call__ (line 286) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... function index (line 330) | async def index() -> RedirectResponse: function health (line 335) | async def health() -> dict[str, str]: function main (line 344) | async def main() -> None: FILE: examples/server/server.py class UserModel (line 9) | class UserModel(BaseModel): function root (line 20) | async def root() -> dict: function get_user (line 25) | async def get_user(user_id: int) -> dict: function create_user (line 34) | async def create_user(user: UserModel) -> dict: class UserProcessingWorkflow (line 39) | class UserProcessingWorkflow(Workflow): method process_user (line 41) | async def process_user(self, ev: StartEvent) -> StopEvent: class NotificationWorkflow (line 56) | class NotificationWorkflow(Workflow): method send_notification (line 58) | async def send_notification(self, ev: StartEvent) -> StopEvent: function main (line 74) | def main() -> None: FILE: examples/server/server_example.py class StreamEvent (line 15) | class StreamEvent(Event): class GreetingInput (line 19) | class GreetingInput(StartEvent): class GreetingOutput (line 26) | class GreetingOutput(StopEvent): class GreetingWorkflow (line 33) | class GreetingWorkflow(Workflow): method greet (line 35) | async def greet(self, ctx: Context, ev: GreetingInput) -> GreetingOutput: class ProgressEvent (line 54) | class ProgressEvent(Event): class MathWorkflow (line 60) | class MathWorkflow(Workflow): method calculate (line 62) | async def calculate(self, ev: StartEvent) -> StopEvent: class ProcessingWorkflow (line 83) | class ProcessingWorkflow(Workflow): method process (line 87) | async def process(self, ctx: Context, ev: StartEvent) -> StopEvent: class ComplicatedInput (line 126) | class ComplicatedInput(StartEvent): class ChildTerrestrialEvent (line 133) | class ChildTerrestrialEvent(Event): class AdultTerrestrialEvent (line 137) | class AdultTerrestrialEvent(Event): class ExtraTerrestrialEvent (line 141) | class ExtraTerrestrialEvent(Event): class ComplicatedWorkflow (line 146) | class ComplicatedWorkflow(Workflow): method first_step (line 148) | async def first_step( method terrestrial_child_step (line 200) | async def terrestrial_child_step(self, ev: ChildTerrestrialEvent) -> S... method terrestrial_adult_step (line 205) | async def terrestrial_adult_step(self, ev: AdultTerrestrialEvent) -> S... method extraterrestrial_step (line 210) | async def extraterrestrial_step(self, ev: ExtraTerrestrialEvent) -> St... class RequestEvent (line 220) | class RequestEvent(InputRequiredEvent): class ResponseEvent (line 224) | class ResponseEvent(HumanResponseEvent): class RunEvent (line 228) | class RunEvent(StartEvent): class HumanInTheLoopWorkflow (line 232) | class HumanInTheLoopWorkflow(Workflow): method prompt_human (line 234) | async def prompt_human(self, ev: RunEvent) -> RequestEvent: method greet_human (line 241) | async def greet_human(self, ctx: Context, ev: ResponseEvent) -> StopEv... function main (line 246) | async def main() -> None: FILE: examples/visualization/resource_nodes_example.py class DatabaseClient (line 30) | class DatabaseClient: method __init__ (line 33) | def __init__(self, connection_string: str = "postgres://localhost/db"): method query (line 36) | def query(self, sql: str) -> list: class CacheClient (line 41) | class CacheClient: method __init__ (line 44) | def __init__(self, host: str = "localhost", port: int = 6379): method get (line 48) | def get(self, key: str) -> str | None: method set (line 52) | def set(self, key: str, value: str) -> None: class LLMClient (line 57) | class LLMClient: method __init__ (line 60) | def __init__(self, api_key: str = "sk-..."): method complete (line 63) | async def complete(self, prompt: str) -> str: function get_database_client (line 71) | def get_database_client() -> DatabaseClient: function get_cache_client (line 80) | def get_cache_client() -> CacheClient: function get_llm_client (line 88) | def get_llm_client() -> LLMClient: class QueryProcessedEvent (line 99) | class QueryProcessedEvent(Event): class ContextRetrievedEvent (line 106) | class ContextRetrievedEvent(Event): class ResponseGeneratedEvent (line 112) | class ResponseGeneratedEvent(Event): class RAGWorkflow (line 121) | class RAGWorkflow(Workflow): method process_query (line 129) | async def process_query( method retrieve_context (line 145) | async def retrieve_context( method generate_response (line 167) | async def generate_response( method finalize_response (line 178) | async def finalize_response( function main (line 189) | def main() -> None: FILE: operator/api/v1/llamadeployment_types.go type LlamaDeploymentSpec (line 11) | type LlamaDeploymentSpec struct type LlamaDeploymentStatus (line 65) | type LlamaDeploymentStatus struct type ReleaseHistoryEntry (line 114) | type ReleaseHistoryEntry struct type LlamaDeployment (line 132) | type LlamaDeployment struct type LlamaDeploymentList (line 143) | type LlamaDeploymentList struct function init (line 149) | func init() { FILE: operator/api/v1/llamadeploymenttemplate_types.go type LlamaDeploymentTemplateSpec (line 12) | type LlamaDeploymentTemplateSpec struct type LlamaDeploymentTemplate (line 27) | type LlamaDeploymentTemplate struct type LlamaDeploymentTemplateList (line 38) | type LlamaDeploymentTemplateList struct function init (line 44) | func init() { FILE: operator/api/v1/zz_generated.deepcopy.go method DeepCopyInto (line 12) | func (in *LlamaDeployment) DeepCopyInto(out *LlamaDeployment) { method DeepCopy (line 21) | func (in *LlamaDeployment) DeepCopy() *LlamaDeployment { method DeepCopyObject (line 31) | func (in *LlamaDeployment) DeepCopyObject() runtime.Object { method DeepCopyInto (line 39) | func (in *LlamaDeploymentList) DeepCopyInto(out *LlamaDeploymentList) { method DeepCopy (line 53) | func (in *LlamaDeploymentList) DeepCopy() *LlamaDeploymentList { method DeepCopyObject (line 63) | func (in *LlamaDeploymentList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 71) | func (in *LlamaDeploymentSpec) DeepCopyInto(out *LlamaDeploymentSpec) { method DeepCopy (line 76) | func (in *LlamaDeploymentSpec) DeepCopy() *LlamaDeploymentSpec { method DeepCopyInto (line 86) | func (in *LlamaDeploymentStatus) DeepCopyInto(out *LlamaDeploymentStatus) { method DeepCopy (line 106) | func (in *LlamaDeploymentStatus) DeepCopy() *LlamaDeploymentStatus { method DeepCopyInto (line 116) | func (in *LlamaDeploymentTemplate) DeepCopyInto(out *LlamaDeploymentTemp... method DeepCopy (line 124) | func (in *LlamaDeploymentTemplate) DeepCopy() *LlamaDeploymentTemplate { method DeepCopyObject (line 134) | func (in *LlamaDeploymentTemplate) DeepCopyObject() runtime.Object { method DeepCopyInto (line 142) | func (in *LlamaDeploymentTemplateList) DeepCopyInto(out *LlamaDeployment... method DeepCopy (line 156) | func (in *LlamaDeploymentTemplateList) DeepCopy() *LlamaDeploymentTempla... method DeepCopyObject (line 166) | func (in *LlamaDeploymentTemplateList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 174) | func (in *LlamaDeploymentTemplateSpec) DeepCopyInto(out *LlamaDeployment... method DeepCopy (line 180) | func (in *LlamaDeploymentTemplateSpec) DeepCopy() *LlamaDeploymentTempla... method DeepCopyInto (line 190) | func (in *ReleaseHistoryEntry) DeepCopyInto(out *ReleaseHistoryEntry) { method DeepCopy (line 196) | func (in *ReleaseHistoryEntry) DeepCopy() *ReleaseHistoryEntry { FILE: operator/cmd/main.go type Config (line 40) | type Config struct function init (line 58) | func init() { function main (line 66) | func main() { FILE: operator/dev.py function run (line 36) | def run( function kind_cluster_exists (line 54) | def kind_cluster_exists() -> bool: function ensure_kind_cluster (line 59) | def ensure_kind_cluster() -> None: function ensure_docker_desktop_cluster (line 122) | def ensure_docker_desktop_cluster() -> None: function install_ingress_controller (line 152) | def install_ingress_controller(target: str) -> None: function resolve_target (line 220) | def resolve_target(ctx: click.Context, target: str | None) -> str: function resolve_apps_namespace (line 224) | def resolve_apps_namespace( function cli (line 234) | def cli(ctx: click.Context, target: str | None, apps_namespace: str | No... function up (line 245) | def up(ctx: click.Context, target: str | None, apps_namespace: str | Non... function down (line 305) | def down( function status (line 340) | def status(ctx: click.Context, target: str | None, apps_namespace: str |... FILE: operator/internal/controller/classify_pod_test.go function TestClassifyPod (line 9) | func TestClassifyPod(t *testing.T) { FILE: operator/internal/controller/image_tag_unit_test.go function TestGetContainerImageTag_Precedence_SpecOverridesEnv (line 14) | func TestGetContainerImageTag_Precedence_SpecOverridesEnv(t *testing.T) { FILE: operator/internal/controller/lifecycle.go function isFailedPhase (line 22) | func isFailedPhase(phase string) bool { function isAwaitingCodePush (line 28) | func isAwaitingCodePush(ld *llamadeployv1.LlamaDeployment) bool { function isRollingPhase (line 33) | func isRollingPhase(phase string) bool { method checkRolloutCapacity (line 39) | func (r *LlamaDeploymentReconciler) checkRolloutCapacity(ctx context.Con... method checkDeploymentCapacity (line 83) | func (r *LlamaDeploymentReconciler) checkDeploymentCapacity(ctx context.... method checkCapacityGates (line 121) | func (r *LlamaDeploymentReconciler) checkCapacityGates(ctx context.Conte... method checkSecretGate (line 140) | func (r *LlamaDeploymentReconciler) checkSecretGate(ctx context.Context,... method checkSecretExists (line 153) | func (r *LlamaDeploymentReconciler) checkSecretExists(ctx context.Contex... method assessDeploymentHealth (line 201) | func (r *LlamaDeploymentReconciler) assessDeploymentHealth(ctx context.C... method determineDeploymentPhase (line 237) | func (r *LlamaDeploymentReconciler) determineDeploymentPhase(ctx context... type rolloutTimeoutResult (line 311) | type rolloutTimeoutResult struct method checkRolloutTimeout (line 320) | func (r *LlamaDeploymentReconciler) checkRolloutTimeout(ctx context.Cont... method remediateFailedRollout (line 356) | func (r *LlamaDeploymentReconciler) remediateFailedRollout(ctx context.C... type failureType (line 400) | type failureType method String (line 408) | func (f failureType) String() string { constant failureUnknown (line 403) | failureUnknown failureType = iota constant failureApp (line 404) | failureApp constant failureInfra (line 405) | failureInfra method classifyPodFailures (line 423) | func (r *LlamaDeploymentReconciler) classifyPodFailures(ctx context.Cont... function classifyPod (line 458) | func classifyPod(pod *corev1.Pod) failureType { method scaleDownFailingReplicaSet (line 494) | func (r *LlamaDeploymentReconciler) scaleDownFailingReplicaSet(ctx conte... method finalizePhase (line 620) | func (r *LlamaDeploymentReconciler) finalizePhase(ctx context.Context, l... FILE: operator/internal/controller/lifecycle_test.go function testSchemeWithApps (line 21) | func testSchemeWithApps() *runtime.Scheme { function TestAssessDeploymentHealth_RolloutTimeout (line 31) | func TestAssessDeploymentHealth_RolloutTimeout(t *testing.T) { function TestAssessDeploymentHealth_RolloutTimeout_WithAvailableReplicas (line 74) | func TestAssessDeploymentHealth_RolloutTimeout_WithAvailableReplicas(t *... function TestAssessDeploymentHealth_PhaseRunning (line 117) | func TestAssessDeploymentHealth_PhaseRunning(t *testing.T) { function TestAssessDeploymentHealth_PhasePending_NoDeployment (line 161) | func TestAssessDeploymentHealth_PhasePending_NoDeployment(t *testing.T) { function TestAssessDeploymentHealth_ClearsRolloutStartedAt_OnRunning (line 198) | func TestAssessDeploymentHealth_ClearsRolloutStartedAt_OnRunning(t *test... function TestAssessDeploymentHealth_PhaseSuspended (line 250) | func TestAssessDeploymentHealth_PhaseSuspended(t *testing.T) { function TestAssessDeploymentHealth_PhaseFailed_ProgressFalse_NoAvailable (line 280) | func TestAssessDeploymentHealth_PhaseFailed_ProgressFalse_NoAvailable(t ... function TestCheckCapacityGates_SkipsWhenNotNeedsFullReconcile (line 324) | func TestCheckCapacityGates_SkipsWhenNotNeedsFullReconcile(t *testing.T) { function TestCheckCapacityGates_SkipsWhenSuspended (line 353) | func TestCheckCapacityGates_SkipsWhenSuspended(t *testing.T) { function TestCheckCapacityGates_SkipsWhenAwaitingCodePhase (line 382) | func TestCheckCapacityGates_SkipsWhenAwaitingCodePhase(t *testing.T) { function TestCheckCapacityGates_RequeuesWhenMaxDeploymentsExceeded (line 426) | func TestCheckCapacityGates_RequeuesWhenMaxDeploymentsExceeded(t *testin... function TestCheckSecretGate_NilWhenSecretNameEmpty (line 473) | func TestCheckSecretGate_NilWhenSecretNameEmpty(t *testing.T) { function TestFinalizePhase_NoWriteWhenUnchangedAndNotDirty (line 502) | func TestFinalizePhase_NoWriteWhenUnchangedAndNotDirty(t *testing.T) { function TestFinalizePhase_WritesOnPhaseChange (line 538) | func TestFinalizePhase_WritesOnPhaseChange(t *testing.T) { function TestFinalizePhase_WritesWhenStatusDirty (line 571) | func TestFinalizePhase_WritesWhenStatusDirty(t *testing.T) { function TestIsFailedPhase (line 606) | func TestIsFailedPhase(t *testing.T) { function TestCheckRolloutTimeout_NilRolloutStartedAt (line 634) | func TestCheckRolloutTimeout_NilRolloutStartedAt(t *testing.T) { function TestCheckRolloutTimeout_RecentStart_RequeuesWithRemaining (line 655) | func TestCheckRolloutTimeout_RecentStart_RequeuesWithRemaining(t *testin... function TestCheckRolloutCapacity_UnlimitedWhenZero (line 681) | func TestCheckRolloutCapacity_UnlimitedWhenZero(t *testing.T) { function TestCheckRolloutCapacity_RequeuesAtLimit (line 699) | func TestCheckRolloutCapacity_RequeuesAtLimit(t *testing.T) { function TestCheckRolloutCapacity_IgnoresSuspendedDeployments (line 729) | func TestCheckRolloutCapacity_IgnoresSuspendedDeployments(t *testing.T) { function TestCheckRolloutCapacity_IgnoresAwaitingCodeDeployments (line 757) | func TestCheckRolloutCapacity_IgnoresAwaitingCodeDeployments(t *testing.... function TestCheckDeploymentCapacity_UnlimitedWhenZero (line 789) | func TestCheckDeploymentCapacity_UnlimitedWhenZero(t *testing.T) { function TestCheckDeploymentCapacity_RequeuesAtLimit (line 807) | func TestCheckDeploymentCapacity_RequeuesAtLimit(t *testing.T) { function TestCheckDeploymentCapacity_IgnoresAwaitingCodeDeployments (line 836) | func TestCheckDeploymentCapacity_IgnoresAwaitingCodeDeployments(t *testi... function TestFailureTypeString (line 868) | func TestFailureTypeString(t *testing.T) { FILE: operator/internal/controller/llamadeployment_controller_test.go constant LLAMA_DEPLOY_REPO_URL (line 29) | LLAMA_DEPLOY_REPO_URL = "LLAMA_DEPLOY_REPO_URL" constant APP (line 30) | APP = "app" FILE: operator/internal/controller/mapping_unit_test.go constant containerNameApp (line 17) | containerNameApp = "app" constant containerNameFileServer (line 18) | containerNameFileServer = "file-server" function TestGenerateNginxConfig_StaticAndProxy (line 22) | func TestGenerateNginxConfig_StaticAndProxy(t *testing.T) { function TestCreateDeploymentForLlama_ShapesPodSpec (line 43) | func TestCreateDeploymentForLlama_ShapesPodSpec(t *testing.T) { function TestGetRolloutTimeout_Default (line 75) | func TestGetRolloutTimeout_Default(t *testing.T) { function TestGetRolloutTimeout_Custom (line 84) | func TestGetRolloutTimeout_Custom(t *testing.T) { function TestGetRolloutTimeoutSeconds_Default (line 92) | func TestGetRolloutTimeoutSeconds_Default(t *testing.T) { function TestGetRolloutTimeoutSeconds_Custom (line 100) | func TestGetRolloutTimeoutSeconds_Custom(t *testing.T) { function TestCreateDeploymentForLlama_ProgressDeadlineSeconds_Default (line 108) | func TestCreateDeploymentForLlama_ProgressDeadlineSeconds_Default(t *tes... function TestCreateDeploymentForLlama_ProgressDeadlineSeconds_Custom (line 124) | func TestCreateDeploymentForLlama_ProgressDeadlineSeconds_Custom(t *test... function TestCreateDeploymentForLlama_BuildIdEnvVar (line 142) | func TestCreateDeploymentForLlama_BuildIdEnvVar(t *testing.T) { function TestCreateDeploymentForLlama_NoBuildIdEnvVar (line 182) | func TestCreateDeploymentForLlama_NoBuildIdEnvVar(t *testing.T) { function TestCreateDeploymentForLlama_ReplicasZeroForFailedPhase (line 211) | func TestCreateDeploymentForLlama_ReplicasZeroForFailedPhase(t *testing.... function TestCreateDeploymentForLlama_ReplicasZeroForSuspended (line 229) | func TestCreateDeploymentForLlama_ReplicasZeroForSuspended(t *testing.T) { function TestLooksLikeFilePath (line 247) | func TestLooksLikeFilePath(t *testing.T) { function TestGetContainerImage (line 275) | func TestGetContainerImage(t *testing.T) { function TestGetContainerImageTag (line 310) | func TestGetContainerImageTag(t *testing.T) { function TestShouldForceOwnership (line 345) | func TestShouldForceOwnership(t *testing.T) { function TestGetContainerImagePullPolicy (line 422) | func TestGetContainerImagePullPolicy(t *testing.T) { function TestGetDefaultImage (line 448) | func TestGetDefaultImage(t *testing.T) { function TestGetDefaultImageTag (line 463) | func TestGetDefaultImageTag(t *testing.T) { function TestGetNginxImage (line 482) | func TestGetNginxImage(t *testing.T) { function TestGetNginxImageTag (line 497) | func TestGetNginxImageTag(t *testing.T) { function TestCreateDeploymentForLlama_WorkingDir (line 516) | func TestCreateDeploymentForLlama_WorkingDir(t *testing.T) { function TestCommonEnvVars_AppserverVersion (line 559) | func TestCommonEnvVars_AppserverVersion(t *testing.T) { function TestCommonEnvFrom (line 621) | func TestCommonEnvFrom(t *testing.T) { function TestIsValidDNS1035Label (line 649) | func TestIsValidDNS1035Label(t *testing.T) { FILE: operator/internal/controller/metrics.go type PhaseCollector (line 20) | type PhaseCollector struct method Describe (line 30) | func (c *PhaseCollector) Describe(ch chan<- *prometheus.Desc) { method Collect (line 34) | func (c *PhaseCollector) Collect(ch chan<- prometheus.Metric) { function NewPhaseCollector (line 26) | func NewPhaseCollector(reader client.Reader) *PhaseCollector { type CapacityCollector (line 68) | type CapacityCollector struct method Describe (line 79) | func (c *CapacityCollector) Describe(ch chan<- *prometheus.Desc) { method Collect (line 84) | func (c *CapacityCollector) Collect(ch chan<- prometheus.Metric) { function NewCapacityCollector (line 75) | func NewCapacityCollector(reader client.Reader, maxDeployments int) *Cap... FILE: operator/internal/controller/reconcile.go constant llamaDeploymentFinalizer (line 29) | llamaDeploymentFinalizer = "deploy.llamaindex.ai/finalizer" constant PhasePending (line 32) | PhasePending = "Pending" constant PhaseRunning (line 33) | PhaseRunning = "Running" constant PhaseFailed (line 34) | PhaseFailed = "Failed" constant PhaseRollingOut (line 35) | PhaseRollingOut = "RollingOut" constant PhaseRolloutFailed (line 36) | PhaseRolloutFailed = "RolloutFailed" constant PhaseSuspended (line 37) | PhaseSuspended = "Suspended" constant PhaseBuilding (line 38) | PhaseBuilding = "Building" constant PhaseBuildFailed (line 39) | PhaseBuildFailed = "BuildFailed" constant PhaseAwaitingCode (line 40) | PhaseAwaitingCode = "AwaitingCode" constant BuildStatusPending (line 43) | BuildStatusPending = "Pending" constant BuildStatusRunning (line 44) | BuildStatusRunning = "Running" constant BuildStatusSucceeded (line 45) | BuildStatusSucceeded = "Succeeded" constant BuildStatusFailed (line 46) | BuildStatusFailed = "Failed" constant CurrentSchemaVersion (line 51) | CurrentSchemaVersion = "7" constant EnvMaxConcurrentRollouts (line 54) | EnvMaxConcurrentRollouts = "LLAMA_DEPLOY_MAX_CONCURRENT_ROLLOUTS" constant EnvMaxDeployments (line 55) | EnvMaxDeployments = "LLAMA_DEPLOY_MAX_DEPLOYMENTS" function ptr (line 59) | func ptr[T any](v T) *T { return &v } function generateAuthToken (line 62) | func generateAuthToken() (string, error) { function isTerminalFailure (line 104) | func isTerminalFailure(phase string) bool { function isActivePhase (line 110) | func isActivePhase(phase string) bool { type LlamaDeploymentReconciler (line 115) | type LlamaDeploymentReconciler struct method needsFullReconciliation (line 83) | func (r *LlamaDeploymentReconciler) needsFullReconciliation(llamaDeplo... method directClient (line 132) | func (r *LlamaDeploymentReconciler) directClient() client.Client { method fetchDeployment (line 138) | func (r *LlamaDeploymentReconciler) fetchDeployment(ctx context.Contex... method migrateDisplayName (line 154) | func (r *LlamaDeploymentReconciler) migrateDisplayName(ctx context.Con... method ensureFinalizer (line 190) | func (r *LlamaDeploymentReconciler) ensureFinalizer(ctx context.Contex... method handleAlreadyFailed (line 208) | func (r *LlamaDeploymentReconciler) handleAlreadyFailed(ctx context.Co... method Reconcile (line 244) | func (r *LlamaDeploymentReconciler) Reconcile(ctx context.Context, req... method initializeStatus (line 359) | func (r *LlamaDeploymentReconciler) initializeStatus(ctx context.Conte... method handleReconcileFailure (line 429) | func (r *LlamaDeploymentReconciler) handleReconcileFailure(ctx context... method handleInvalidDNSName (line 455) | func (r *LlamaDeploymentReconciler) handleInvalidDNSName(ctx context.C... method deleteOwnedResources (line 490) | func (r *LlamaDeploymentReconciler) deleteOwnedResources(ctx context.C... method updateVersionTracking (line 537) | func (r *LlamaDeploymentReconciler) updateVersionTracking(ctx context.... method handleDeletion (line 591) | func (r *LlamaDeploymentReconciler) handleDeletion(ctx context.Context... method deleteSecret (line 615) | func (r *LlamaDeploymentReconciler) deleteSecret(ctx context.Context, ... method SetupWithManager (line 629) | func (r *LlamaDeploymentReconciler) SetupWithManager(mgr ctrl.Manager)... FILE: operator/internal/controller/reconcile_test.go function TestNeedsFullReconciliation (line 20) | func TestNeedsFullReconciliation(t *testing.T) { function TestIsTerminalFailure (line 87) | func TestIsTerminalFailure(t *testing.T) { function TestIsActivePhase (line 115) | func TestIsActivePhase(t *testing.T) { function TestHandleAlreadyFailed_SkipsWhenNoFullReconcile (line 144) | func TestHandleAlreadyFailed_SkipsWhenNoFullReconcile(t *testing.T) { function TestHandleReconcileFailure_UpdatesStatusToFailed (line 175) | func TestHandleReconcileFailure_UpdatesStatusToFailed(t *testing.T) { function TestHandleReconcileFailure_DoesNotOverwriteAlreadyFailed (line 206) | func TestHandleReconcileFailure_DoesNotOverwriteAlreadyFailed(t *testing... FILE: operator/internal/controller/resources.go constant DefaultImage (line 32) | DefaultImage = "llamaindex/llama-agents-appserver" constant DefaultImageTag (line 33) | DefaultImageTag = "latest" constant EnvImageName (line 36) | EnvImageName = "LLAMA_DEPLOY_IMAGE" constant EnvImageTag (line 37) | EnvImageTag = "LLAMA_DEPLOY_IMAGE_TAG" constant EnvImagePullPolicy (line 38) | EnvImagePullPolicy = "LLAMA_DEPLOY_IMAGE_PULL_POLICY" constant DefaultNginxImage (line 41) | DefaultNginxImage = "nginxinc/nginx-unprivileged" constant DefaultNginxImageTag (line 42) | DefaultNginxImageTag = "1.27-alpine" constant EnvNginxImageName (line 43) | EnvNginxImageName = "LLAMA_DEPLOY_NGINX_IMAGE" constant EnvNginxImageTag (line 44) | EnvNginxImageTag = "LLAMA_DEPLOY_NGINX_IMAGE_TAG" constant EnvNginxImagePullPolicy (line 45) | EnvNginxImagePullPolicy = "LLAMA_DEPLOY_NGINX_IMAGE_PULL_POLICY" constant EnvDefaultCPURequest (line 48) | EnvDefaultCPURequest = "LLAMA_DEPLOY_DEFAULT_CPU_REQUEST" constant EnvDefaultMemoryRequest (line 49) | EnvDefaultMemoryRequest = "LLAMA_DEPLOY_DEFAULT_MEMORY_REQUEST" constant EnvDefaultCPULimit (line 53) | EnvDefaultCPULimit = "LLAMA_DEPLOY_DEFAULT_CPU_LIMIT" constant EnvDefaultMemoryLimit (line 54) | EnvDefaultMemoryLimit = "LLAMA_DEPLOY_DEFAULT_MEMORY_LIMIT" constant ContainerNameApp (line 57) | ContainerNameApp = "app" constant ContainerNameBuild (line 58) | ContainerNameBuild = "build" constant AppServerUID (line 61) | AppServerUID int64 = 1001 constant AppServerGID (line 62) | AppServerGID int64 = 1001 constant NginxUID (line 63) | NginxUID int64 = 101 constant NginxGID (line 64) | NginxGID int64 = 101 constant DefaultImagePullPolicy (line 67) | DefaultImagePullPolicy = "IfNotPresent" constant DefaultRolloutTimeoutSeconds (line 70) | DefaultRolloutTimeoutSeconds int32 = 1800 constant DeploymentRevisionHistoryLimit (line 74) | DeploymentRevisionHistoryLimit int32 = 10 constant EnvRolloutTimeoutSeconds (line 77) | EnvRolloutTimeoutSeconds = "LLAMA_DEPLOY_ROLLOUT_TIMEOUT_SECONDS" constant appserverTagPrefix (line 81) | appserverTagPrefix = "appserver-" function buildJobName (line 86) | func buildJobName(deploymentName, buildId string) string { function looksLikeFilePath (line 97) | func looksLikeFilePath(p string) bool { function getDefaultImage (line 112) | func getDefaultImage() string { function getDefaultImageTag (line 123) | func getDefaultImageTag() string { function getContainerImage (line 134) | func getContainerImage(llamaDeploy *llamadeployv1.LlamaDeployment) string { function getContainerImageTag (line 148) | func getContainerImageTag(llamaDeploy *llamadeployv1.LlamaDeployment) st... function getContainerImagePullPolicy (line 163) | func getContainerImagePullPolicy() corev1.PullPolicy { function getPullPolicyFromEnv (line 181) | func getPullPolicyFromEnv(envVarName string) corev1.PullPolicy { function getNginxImage (line 198) | func getNginxImage() string { function getNginxImageTag (line 206) | func getNginxImageTag() string { function getNginxImagePullPolicy (line 214) | func getNginxImagePullPolicy() corev1.PullPolicy { function parseOptionalQuantityFromEnv (line 222) | func parseOptionalQuantityFromEnv(envVarName string) (*resource.Quantity... function getDefaultResourceRequests (line 243) | func getDefaultResourceRequests() corev1.ResourceList { function getDefaultResourceLimits (line 264) | func getDefaultResourceLimits() corev1.ResourceList { function defaultPodSecurityContext (line 282) | func defaultPodSecurityContext() *corev1.PodSecurityContext { function defaultContainerSecurityContext (line 290) | func defaultContainerSecurityContext() *corev1.SecurityContext { function hardenedSecurityContext (line 303) | func hardenedSecurityContext() *corev1.SecurityContext { function getRolloutTimeout (line 312) | func getRolloutTimeout() time.Duration { function getRolloutTimeoutSeconds (line 317) | func getRolloutTimeoutSeconds() *int32 { function getRolloutTimeoutSecondsValue (line 323) | func getRolloutTimeoutSecondsValue() int32 { function isValidDNS1035Label (line 335) | func isValidDNS1035Label(name string) bool { function computeBuildId (line 365) | func computeBuildId(llamaDeploy *llamadeployv1.LlamaDeployment) string { method supersedeStaleBuildJob (line 379) | func (r *LlamaDeploymentReconciler) supersedeStaleBuildJob( method reconcileBuild (line 427) | func (r *LlamaDeploymentReconciler) reconcileBuild(ctx context.Context, ... method createBuildJob (line 592) | func (r *LlamaDeploymentReconciler) createBuildJob(llamaDeploy *llamadep... method applyBuildJobTemplateOverlay (line 661) | func (r *LlamaDeploymentReconciler) applyBuildJobTemplateOverlay(ctx con... function findContainerSecurityContext (line 751) | func findContainerSecurityContext(containers []corev1.Container, name st... function findContainerResources (line 765) | func findContainerResources(containers []corev1.Container, name string) ... function mergeResourceRequirements (line 779) | func mergeResourceRequirements(overlay, defaults *corev1.ResourceRequire... method reconcileResources (line 802) | func (r *LlamaDeploymentReconciler) reconcileResources(ctx context.Conte... method verifySecret (line 847) | func (r *LlamaDeploymentReconciler) verifySecret(ctx context.Context, ll... method reconcileDeployment (line 858) | func (r *LlamaDeploymentReconciler) reconcileDeployment(ctx context.Cont... method reconcileNginxConfigMap (line 914) | func (r *LlamaDeploymentReconciler) reconcileNginxConfigMap(ctx context.... method reconcileService (line 931) | func (r *LlamaDeploymentReconciler) reconcileService(ctx context.Context... method commonEnvVars (line 967) | func (r *LlamaDeploymentReconciler) commonEnvVars(llamaDeploy *llamadepl... method commonEnvFrom (line 1024) | func (r *LlamaDeploymentReconciler) commonEnvFrom(llamaDeploy *llamadepl... method createDeploymentForLlama (line 1041) | func (r *LlamaDeploymentReconciler) createDeploymentForLlama(llamaDeploy... method generateNginxConfig (line 1198) | func (r *LlamaDeploymentReconciler) generateNginxConfig(llamaDeploy *lla... method shouldForceOwnership (line 1240) | func (r *LlamaDeploymentReconciler) shouldForceOwnership(ld *llamadeploy... method applyTemplateOverlay (line 1278) | func (r *LlamaDeploymentReconciler) applyTemplateOverlay(ctx context.Con... FILE: operator/internal/controller/resources_build_unit_test.go function TestCreateBuildJob_HasDefaultResources (line 24) | func TestCreateBuildJob_HasDefaultResources(t *testing.T) { function TestApplyBuildJobTemplateOverlay_MergesAppResources (line 61) | func TestApplyBuildJobTemplateOverlay_MergesAppResources(t *testing.T) { function TestApplyBuildJobTemplateOverlay_TemplateOverridesDefaults (line 139) | func TestApplyBuildJobTemplateOverlay_TemplateOverridesDefaults(t *testi... function newTestScheme (line 207) | func newTestScheme() *runtime.Scheme { type buildSupersedeFixture (line 218) | type buildSupersedeFixture struct function newBuildSupersedeFixture (line 228) | func newBuildSupersedeFixture( function TestComputeBuildId_Deterministic (line 282) | func TestComputeBuildId_Deterministic(t *testing.T) { function TestComputeBuildId_DifferentInputs (line 297) | func TestComputeBuildId_DifferentInputs(t *testing.T) { function TestComputeBuildId_IncludesBuildGeneration (line 311) | func TestComputeBuildId_IncludesBuildGeneration(t *testing.T) { function TestComputeBuildId_DoesNotIncludeImageTag (line 327) | func TestComputeBuildId_DoesNotIncludeImageTag(t *testing.T) { function TestCreateBuildJob_JobNameTruncation (line 345) | func TestCreateBuildJob_JobNameTruncation(t *testing.T) { function TestCreateBuildJob_Labels (line 358) | func TestCreateBuildJob_Labels(t *testing.T) { constant envBuildID (line 374) | envBuildID = "LLAMA_DEPLOY_BUILD_ID" function TestCreateBuildJob_HasBuildIdEnvVar (line 376) | func TestCreateBuildJob_HasBuildIdEnvVar(t *testing.T) { function TestFindContainerResources (line 402) | func TestFindContainerResources(t *testing.T) { function TestMergeResourceRequirements (line 439) | func TestMergeResourceRequirements(t *testing.T) { function TestReconcileBuild_StaleJobDeletion_OnGenerationAdvance (line 479) | func TestReconcileBuild_StaleJobDeletion_OnGenerationAdvance(t *testing.... function TestReconcileBuild_NoJobDeletion_OnSameGeneration (line 557) | func TestReconcileBuild_NoJobDeletion_OnSameGeneration(t *testing.T) { function TestInitializeStatus_PreservesPhaseBuilding (line 630) | func TestInitializeStatus_PreservesPhaseBuilding(t *testing.T) { function TestIsRollingPhase (line 675) | func TestIsRollingPhase(t *testing.T) { function TestReconcileBuild_SkipsSuspendedDeployment (line 726) | func TestReconcileBuild_SkipsSuspendedDeployment(t *testing.T) { function TestReconcileBuild_CacheHitSucceeded (line 764) | func TestReconcileBuild_CacheHitSucceeded(t *testing.T) { function TestReconcileBuild_JobRunning (line 803) | func TestReconcileBuild_JobRunning(t *testing.T) { function TestInitializeStatus_ResetsPendingPhase (line 857) | func TestInitializeStatus_ResetsPendingPhase(t *testing.T) { function TestReconcileBuild_SkipsWhenRepoUrlEmpty (line 901) | func TestReconcileBuild_SkipsWhenRepoUrlEmpty(t *testing.T) { function TestReconcileBuild_SupersedesInFlightJob_OnBuildIdChange (line 941) | func TestReconcileBuild_SupersedesInFlightJob_OnBuildIdChange(t *testing... function TestReconcileBuild_DoesNotDeleteSucceededSupersededJob (line 979) | func TestReconcileBuild_DoesNotDeleteSucceededSupersededJob(t *testing.T) { function TestReconcileBuild_SupersedesJob_WhenStaleJobAlreadyGone (line 1003) | func TestReconcileBuild_SupersedesJob_WhenStaleJobAlreadyGone(t *testing... function TestReconcileBuild_ProceedsWhenRepoUrlSetButGitShaEmpty (line 1027) | func TestReconcileBuild_ProceedsWhenRepoUrlSetButGitShaEmpty(t *testing.... FILE: operator/internal/controller/resources_security_test.go function TestFindContainerSecurityContext (line 21) | func TestFindContainerSecurityContext(t *testing.T) { function TestCreateBuildJob_SecurityContext (line 60) | func TestCreateBuildJob_SecurityContext(t *testing.T) { function TestCreateDeployment_SecurityContexts (line 88) | func TestCreateDeployment_SecurityContexts(t *testing.T) { function TestCreateBuildJob_HasGitSafeDirectoryEnvVars (line 153) | func TestCreateBuildJob_HasGitSafeDirectoryEnvVars(t *testing.T) { function TestApplyBuildJobTemplateOverlay_PropagatesSecurityContext (line 175) | func TestApplyBuildJobTemplateOverlay_PropagatesSecurityContext(t *testi... function TestGenerateNginxConfig_NonRootDirectives (line 288) | func TestGenerateNginxConfig_NonRootDirectives(t *testing.T) { function assertFullSecurityContext (line 320) | func assertFullSecurityContext(t *testing.T, sc *corev1.SecurityContext,... function assertEnvVar (line 342) | func assertEnvVar(t *testing.T, envs []corev1.EnvVar, name, value string) { function findContainer (line 355) | func findContainer(containers []corev1.Container, name string) *corev1.C... FILE: operator/internal/controller/suite_test.go function TestControllers (line 34) | func TestControllers(t *testing.T) { function getFirstFoundEnvTestBinaryDir (line 90) | func getFirstFoundEnvTestBinaryDir() string { FILE: operator/internal/controller/test_utils_test.go function GetDeploymentEventually (line 22) | func GetDeploymentEventually(ctx context.Context, name, ns string) *apps... function GetConfigMapEventually (line 31) | func GetConfigMapEventually(ctx context.Context, name, ns string) *corev... function FindContainer (line 40) | func FindContainer(podSpec corev1.PodSpec, name string) (corev1.Containe... function FindInitContainer (line 50) | func FindInitContainer(podSpec corev1.PodSpec, name string) (corev1.Cont... function EnvMap (line 60) | func EnvMap(c corev1.Container) map[string]string { function ExpectEnv (line 71) | func ExpectEnv(c corev1.Container, key, value string) { function ExpectEnvMatches (line 77) | func ExpectEnvMatches(c corev1.Container, key, pattern string) { function ExpectServicePort (line 83) | func ExpectServicePort(ctx context.Context, name, ns string, port int32,... function CleanupLlama (line 94) | func CleanupLlama(ctx context.Context, name, ns string) { type LlamaSpecOption (line 118) | type LlamaSpecOption function WithImage (line 120) | func WithImage(image string) LlamaSpecOption { function WithImageTag (line 123) | func WithImageTag(tag string) LlamaSpecOption { function WithSecret (line 126) | func WithSecret(name string) LlamaSpecOption { function WithDeploymentFilePath (line 129) | func WithDeploymentFilePath(path string) LlamaSpecOption { function WithGitRef (line 132) | func WithGitRef(ref string) LlamaSpecOption { function WithGitSha (line 135) | func WithGitSha(sha string) LlamaSpecOption { function WithRepoUrl (line 138) | func WithRepoUrl(url string) LlamaSpecOption { function WithAssetsPath (line 141) | func WithAssetsPath(path string) LlamaSpecOption { function WithBuildGeneration (line 144) | func WithBuildGeneration(gen int64) LlamaSpecOption { function NewLlama (line 149) | func NewLlama(name, ns, projectId, repoURL string, opts ...LlamaSpecOpti... function SetDeploymentAvailableReplicas (line 166) | func SetDeploymentAvailableReplicas(ctx context.Context, name, ns string... type ReconcilerOption (line 178) | type ReconcilerOption function WithMaxConcurrentRollouts (line 180) | func WithMaxConcurrentRollouts(n int) ReconcilerOption { function WithMaxDeployments (line 184) | func WithMaxDeployments(n int) ReconcilerOption { function NewTestReconciler (line 189) | func NewTestReconciler(opts ...ReconcilerOption) *LlamaDeploymentReconci... function CreateAndReconcile (line 203) | func CreateAndReconcile(ctx context.Context, r *LlamaDeploymentReconcile... function CompleteBuild (line 212) | func CompleteBuild(ctx context.Context, r *LlamaDeploymentReconciler, ll... FILE: packages/llama-agents-agentcore/src/llama_agents/agentcore/_runtime_decorator.py function as_agentcore_async_task (line 26) | def as_agentcore_async_task( function as_agentcore_workflow_run (line 43) | def as_agentcore_workflow_run( class AgentCoreRuntimeDecorator (line 66) | class AgentCoreRuntimeDecorator(ServerRuntimeDecorator): method __init__ (line 67) | def __init__( method register (line 80) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method track_workflow (line 98) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 102) | def untrack_workflow(self, workflow: Workflow) -> None: method get_registered (line 106) | def get_registered(self, workflow: Workflow) -> RegisteredWorkflow | N... method get_workflow (line 109) | def get_workflow(self, name: str) -> Workflow | None: method get_workflow_names (line 112) | def get_workflow_names(self) -> list[str]: FILE: packages/llama-agents-agentcore/src/llama_agents/agentcore/_service.py class WorkflowNotFoundError (line 24) | class WorkflowNotFoundError(Exception): method __init__ (line 29) | def __init__(self, workflow_name: str) -> None: method __repr__ (line 32) | def __repr__(self) -> str: method __str__ (line 35) | def __str__(self) -> str: class AgentCoreService (line 39) | class AgentCoreService: method __init__ (line 40) | def __init__( method add_workflow (line 63) | def add_workflow(self, workflow_name: str, workflow: Workflow) -> None: method get_workflow (line 67) | def get_workflow(self, workflow_name: str) -> Workflow | None: method get_workflow_names (line 71) | def get_workflow_names(self) -> list[str]: method run_workflow (line 75) | async def run_workflow( method run_workflow_with_session (line 87) | async def run_workflow_with_session( method get_handler (line 127) | async def get_handler(self, handler_id: str) -> HandlerData | None: method query_handlers (line 131) | async def query_handlers(self, query: HandlerQuery) -> list: method get_events (line 135) | async def get_events( method send_event (line 152) | async def send_event( method cancel_handler (line 158) | async def cancel_handler(self, handler_id: str, purge: bool = False) -... FILE: packages/llama-agents-agentcore/src/llama_agents/agentcore/deploy.py class DeployedRuntime (line 60) | class DeployedRuntime: method to_dict (line 71) | def to_dict(self) -> dict[str, str]: method from_dict (line 84) | def from_dict(cls, data: dict[str, str]) -> DeployedRuntime: class DeployConfig (line 90) | class DeployConfig: class AgentCoreDeployer (line 103) | class AgentCoreDeployer: method __init__ (line 115) | def __init__( method account_id (line 128) | def account_id(self) -> str: method deploy (line 138) | def deploy( method invoke (line 209) | def invoke( method destroy (line 245) | def destroy( method destroy_from_metadata (line 275) | def destroy_from_metadata(self, runtime: DeployedRuntime) -> None: method _build_and_push (line 281) | def _build_and_push( method _create_source_zip (line 354) | def _create_source_zip( method _wait_for_build (line 408) | def _wait_for_build(self, build_id: str, poll_interval: int = 10) -> str: method _deploy_runtime (line 447) | def _deploy_runtime( method _find_runtime (line 493) | def _find_runtime(client: Any, runtime_name: str) -> dict[str, Any] | ... method _wait_for_ready (line 504) | def _wait_for_ready(client: Any, runtime_id: str) -> None: method _wait_for_deletion (line 519) | def _wait_for_deletion(client: Any, runtime_id: str) -> None: method _ensure_s3_bucket (line 536) | def _ensure_s3_bucket(self, bucket_name: str) -> None: function _sanitize_name (line 554) | def _sanitize_name(name: str) -> str: function _project_name_from_pyproject (line 559) | def _project_name_from_pyproject(project_dir: Path) -> str: function _generate_dockerfile (line 578) | def _generate_dockerfile() -> str: function _generate_requirements (line 598) | def _generate_requirements(project_dir: Path) -> str: function _parse_deployment_env_vars (line 617) | def _parse_deployment_env_vars(project_dir: Path) -> dict[str, str]: function _generate_buildspec (line 631) | def _generate_buildspec( FILE: packages/llama-agents-agentcore/src/llama_agents/agentcore/entrypoint.py class WorkflowResult (line 72) | class WorkflowResult(BaseModel): class HandlerResult (line 82) | class HandlerResult(BaseModel): function _load_workflows (line 103) | def _load_workflows() -> tuple[dict[str, Workflow], str, str | None]: function _get_sqlite_db_path (line 135) | def _get_sqlite_db_path() -> str: function get_agentcore_service (line 144) | def get_agentcore_service() -> AgentCoreService: function _dt_str (line 162) | def _dt_str(dt: Any) -> str | None: function _handler_to_result (line 170) | def _handler_to_result( function _serialize_event (line 192) | def _serialize_event(stored_event: Any) -> dict[str, Any]: function _resolve_handler_id (line 209) | def _resolve_handler_id(payload: dict[str, Any], session_id: str) -> str: function _parse_and_validate_payload (line 224) | def _parse_and_validate_payload( function _action_run (line 262) | async def _action_run( function _action_get_result (line 305) | async def _action_get_result( function _action_get_events (line 319) | async def _action_get_events( function _action_send_event (line 338) | async def _action_send_event( function _action_cancel (line 356) | async def _action_cancel(payload: dict[str, Any], session_id: str) -> di... function _action_list_workflows (line 370) | async def _action_list_workflows( function _action_list_handlers (line 378) | async def _action_list_handlers( function invoke (line 415) | async def invoke(payload: dict, context: Any) -> dict[str, Any]: FILE: packages/llama-agents-agentcore/src/llama_agents/agentcore/export.py function export_generated_entrypoint_code (line 6) | def export_generated_entrypoint_code() -> None: FILE: packages/llama-agents-agentcore/tests/conftest.py class FileEvent (line 9) | class FileEvent(StartEvent): class Metadata (line 13) | class Metadata(BaseModel): class DummyWorkflow (line 17) | class DummyWorkflow(Workflow): method take_step (line 19) | async def take_step(self, ev: StartEvent) -> StopEvent: class DummyFileWorkflow (line 23) | class DummyFileWorkflow(Workflow): method take_step (line 25) | async def take_step(self, ev: FileEvent) -> StopEvent: class DummyMetadataWorkflow (line 29) | class DummyMetadataWorkflow(Workflow): method take_step (line 31) | async def take_step(self, ev: StartEvent) -> StopEvent: class DummyWorkflowWithError (line 35) | class DummyWorkflowWithError(Workflow): method take_step (line 37) | async def take_step(self, ev: StartEvent) -> StopEvent: class MockContext (line 42) | class MockContext: class MockHandlerData (line 47) | class MockHandlerData: class MockAgentCoreService (line 59) | class MockAgentCoreService: method __init__ (line 60) | def __init__(self, with_error: bool = False) -> None: method run_workflow (line 65) | async def run_workflow( method run_workflow_with_session (line 80) | async def run_workflow_with_session( method get_workflow_names (line 112) | def get_workflow_names(self) -> list[str]: method get_handler (line 115) | async def get_handler(self, handler_id: str) -> MockHandlerData | None: method query_handlers (line 118) | async def query_handlers(self, query: Any) -> list: method get_events (line 121) | async def get_events( method send_event (line 129) | async def send_event( method cancel_handler (line 134) | async def cancel_handler(self, handler_id: str, purge: bool = False) -... class MockBedrockApp (line 138) | class MockBedrockApp: method __init__ (line 139) | def __init__(self) -> None: method add_async_task (line 144) | def add_async_task(self, name: str, metadata: dict[str, Any] | None = ... method complete_async_task (line 149) | def complete_async_task(self, task_id: int) -> bool: FILE: packages/llama-agents-agentcore/tests/test_entrypoint.py function loaded_workflows (line 26) | def loaded_workflows() -> dict[str, Workflow]: function test_load_workflows_with_meta (line 34) | def test_load_workflows_with_meta( function test_load_workflows_without_meta (line 68) | def test_load_workflows_without_meta( function test_load_workflows_without_file (line 106) | def test_load_workflows_without_file( function test_parse_and_validate_payload_success (line 144) | def test_parse_and_validate_payload_success( function test_parse_and_validate_payload_file_id (line 160) | def test_parse_and_validate_payload_file_id( function test_parse_and_validate_payload_defaults (line 176) | def test_parse_and_validate_payload_defaults( function test_parse_and_validate_payload_workflow_not_found (line 192) | def test_parse_and_validate_payload_workflow_not_found( function test_parse_and_validate_payload_invalid_event (line 208) | def test_parse_and_validate_payload_invalid_event( function test_invoke_success_default_action (line 225) | async def test_invoke_success_default_action( function test_invoke_with_explicit_handler_id (line 258) | async def test_invoke_with_explicit_handler_id( function test_invoke_error (line 289) | async def test_invoke_error(loaded_workflows: dict[str, Workflow]) -> None: function test_invoke_handler_with_error (line 322) | async def test_invoke_handler_with_error(loaded_workflows: dict[str, Wor... function test_invoke_validation_error (line 346) | async def test_invoke_validation_error(loaded_workflows: dict[str, Workf... function test_invoke_run_nowait (line 372) | async def test_invoke_run_nowait(loaded_workflows: dict[str, Workflow]) ... function test_invoke_list_workflows (line 396) | async def test_invoke_list_workflows(loaded_workflows: dict[str, Workflo... function test_invoke_unknown_action (line 420) | async def test_invoke_unknown_action(loaded_workflows: dict[str, Workflo... FILE: packages/llama-agents-agentcore/tests/test_export.py function test_export (line 10) | def test_export(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: FILE: packages/llama-agents-agentcore/tests/test_service.py function workflows (line 22) | def workflows() -> dict[str, Workflow]: function store (line 31) | def store() -> MemoryWorkflowStore: function test_init (line 35) | def test_init(store: MemoryWorkflowStore) -> None: function test_add_workflows (line 43) | def test_add_workflows( function test_run_workflow_simple_success (line 60) | async def test_run_workflow_simple_success( function test_run_workflow_file_success (line 79) | async def test_run_workflow_file_success( function test_run_workflow_retains_error (line 98) | async def test_run_workflow_retains_error( function test_run_workflow_not_found_error (line 119) | async def test_run_workflow_not_found_error( FILE: packages/llama-agents-appserver/src/llama_agents/appserver/app.py function lifespan (line 61) | async def lifespan(app: FastAPI) -> AsyncGenerator[None, Any]: function _setup_openapi (line 105) | def _setup_openapi(name: str, app: FastAPI, server: WorkflowServer) -> N... function _configure_cors (line 157) | def _configure_cors(app: FastAPI) -> None: function open_browser_async (line 177) | def open_browser_async(host: str, port: int) -> None: function prepare_server (line 185) | def prepare_server( function start_server (line 207) | def start_server( function start_server_in_target_venv (line 255) | def start_server_in_target_venv( function start_preflight_in_target_venv (line 313) | def start_preflight_in_target_venv( function start_export_json_graph_in_target_venv (line 356) | def start_export_json_graph_in_target_venv( class PreflightValidationError (line 394) | class PreflightValidationError(Exception): method __init__ (line 401) | def __init__(self, errors: list[tuple[str, str]]): function preflight_validate (line 408) | def preflight_validate( function export_json_graph (line 450) | def export_json_graph( FILE: packages/llama-agents-appserver/src/llama_agents/appserver/bootstrap.py function _extract_filter (line 40) | def _extract_filter(member: tarfile.TarInfo, dest_path: str) -> tarfile.... function _download_and_extract_artifact (line 77) | def _download_and_extract_artifact( function _create_tarball (line 121) | def _create_tarball(source_dir: str, output_path: str) -> None: function _artifact_exists (line 138) | def _artifact_exists( function _upload_artifact (line 170) | def _upload_artifact( function bootstrap_app_from_repo (line 205) | def bootstrap_app_from_repo( function run_build (line 300) | def run_build(target_dir: str = "/opt/app") -> None: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/configure_logging.py function _get_or_create_correlation_id (line 22) | def _get_or_create_correlation_id(request: Request) -> str: function add_log_middleware (line 26) | def add_log_middleware(app: FastAPI) -> None: function _add_request_id (line 56) | def _add_request_id(_: Any, __: str, event_dict: dict[str, Any]) -> dict... function _drop_uvicorn_color_message (line 63) | def _drop_uvicorn_color_message( function setup_logging (line 71) | def setup_logging(level: str = "INFO") -> None: function _is_proxy_request (line 171) | def _is_proxy_request(request: Request) -> bool: function _is_health_request (line 179) | def _is_health_request(request: Request) -> bool: class _HttpxProxyNoiseFilter (line 188) | class _HttpxProxyNoiseFilter(logging.Filter): method filter (line 189) | def filter(self, record: logging.LogRecord) -> bool: function suppress_httpx_logs (line 200) | async def suppress_httpx_logs() -> AsyncGenerator[None, None]: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/correlation_id.py function get_correlation_id (line 8) | def get_correlation_id() -> str: function set_correlation_id (line 12) | def set_correlation_id(correlation_id: str) -> None: function create_correlation_id (line 16) | def create_correlation_id() -> str: function random_alphanumeric_string (line 23) | def random_alphanumeric_string(length: int) -> str: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/deployment.py class DeploymentError (line 31) | class DeploymentError(Exception): ... class Deployment (line 34) | class Deployment: method __init__ (line 35) | def __init__( method default_service (line 56) | def default_service(self) -> Workflow | None: method service_names (line 61) | def service_names(self) -> list[str]: method run_workflow (line 65) | async def run_workflow( method run_workflow_no_wait (line 78) | def run_workflow_no_wait( method create_workflow_server (line 96) | def create_workflow_server( method mount_workflow_server (line 136) | def mount_workflow_server(self, app: FastAPI) -> WorkflowServer: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/deployment_config_parser.py function get_deployment_config (line 8) | def get_deployment_config() -> DeploymentConfig: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/interrupts.py function setup_interrupts (line 10) | def setup_interrupts() -> None: class OperationAborted (line 16) | class OperationAborted(Exception): function wait_or_abort (line 23) | async def wait_or_abort( FILE: packages/llama-agents-appserver/src/llama_agents/appserver/process_utils.py function run_process (line 12) | def run_process( function spawn_process (line 44) | def spawn_process( function _use_color (line 69) | def _use_color() -> bool: function _colored_prefix (line 79) | def _colored_prefix(prefix: str, color_code: str) -> str: function _make_prefixer (line 83) | def _make_prefixer( function _should_use_pty (line 102) | def _should_use_pty(use_tty: bool | None) -> bool: function should_use_color (line 110) | def should_use_color() -> bool: class SpawnProcessResult (line 115) | class SpawnProcessResult: function _spawn_process (line 121) | def _spawn_process( function _stream_source (line 180) | def _stream_source( function _log_command (line 214) | def _log_command(cmd: list[str], transform: Callable[[str], str | None] ... function _start_stream_threads (line 223) | def _start_stream_threads( class BootstrapHandler (line 237) | class BootstrapHandler(logging.Handler): method __init__ (line 246) | def __init__( method emit (line 255) | def emit(self, record: logging.LogRecord) -> None: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/routers/deployments.py function create_base_router (line 24) | def create_base_router(name: str) -> APIRouter: function create_deployments_router (line 36) | def create_deployments_router(name: str, deployment: Deployment) -> APIR... FILE: packages/llama-agents-appserver/src/llama_agents/appserver/routers/status.py function health (line 8) | async def health() -> Status: function healthz (line 15) | async def healthz() -> Status: function livez (line 20) | async def livez() -> Status: function readyz (line 25) | async def readyz() -> Status: FILE: packages/llama-agents-appserver/src/llama_agents/appserver/routers/ui_proxy.py function _ws_proxy (line 31) | async def _ws_proxy(ws: WebSocket, upstream_url: str) -> None: function create_ui_proxy_router (line 134) | def create_ui_proxy_router(name: str, port: int) -> APIRouter: function mount_static_files (line 242) | def mount_static_files( FILE: packages/llama-agents-appserver/src/llama_agents/appserver/settings.py class BootstrapSettings (line 11) | class BootstrapSettings(BaseSettings): class ApiserverSettings (line 47) | class ApiserverSettings(BaseSettings): method resolved_config_parent (line 97) | def resolved_config_parent(self) -> Path: function configure_settings (line 104) | def configure_settings( FILE: packages/llama-agents-appserver/src/llama_agents/appserver/types.py function generate_id (line 7) | def generate_id() -> str: class TaskDefinition (line 11) | class TaskDefinition(BaseModel): class SessionDefinition (line 33) | class SessionDefinition(BaseModel): class EventDefinition (line 51) | class EventDefinition(BaseModel): class TaskResult (line 65) | class TaskResult(BaseModel): class StatusEnum (line 86) | class StatusEnum(Enum): class Status (line 92) | class Status(BaseModel): class DeploymentDefinition (line 96) | class DeploymentDefinition(BaseModel): FILE: packages/llama-agents-appserver/src/llama_agents/appserver/workflow_loader.py function _dist_name_for_version (line 43) | def _dist_name_for_version(version: Version) -> str: function load_workflows (line 50) | def load_workflows(config: DeploymentConfig) -> dict[str, Workflow]: function load_environment_variables (line 88) | def load_environment_variables(config: DeploymentConfig, source_root: Pa... function validate_required_env_vars (line 97) | def validate_required_env_vars( function parse_environment_variables (line 130) | def parse_environment_variables( function are_we_editable_mode (line 146) | def are_we_editable_mode() -> bool: function inject_appserver_into_target (line 163) | def inject_appserver_into_target( function _uv_run_python (line 196) | def _uv_run_python(cwd: Path, snippet: str, *, stderr: int | None = None... function _get_installed_version_within_target (line 211) | def _get_installed_version_within_target( function _get_current_version (line 237) | def _get_current_version() -> Version: function _is_missing_or_outdated (line 241) | def _is_missing_or_outdated(path: Path) -> Version | None: function _get_appserver_workflows_requirement (line 253) | def _get_appserver_workflows_requirement() -> SpecifierSet | None: function _ensure_compatible_workflows (line 263) | def _ensure_compatible_workflows( function run_uv (line 310) | def run_uv( function _resolve_project_venv (line 331) | def _resolve_project_venv(source_root: Path, path: Path) -> Path: function _install_and_add_appserver_if_missing (line 342) | def _install_and_add_appserver_if_missing( function _find_development_pyproject (line 448) | def _find_development_pyproject() -> Path | None: function _exclude_venv_warning (line 457) | def _exclude_venv_warning(line: str) -> str | None: function _ensure_uv_available (line 463) | def _ensure_uv_available() -> None: class SamePythonVersionResult (line 495) | class SamePythonVersionResult: function _same_python_version (line 501) | def _same_python_version(venv_path: Path) -> SamePythonVersionResult: function install_ui (line 522) | def install_ui(config: DeploymentConfig, config_parent: Path) -> None: function _ui_env (line 543) | def _ui_env(config: DeploymentConfig, settings: ApiserverSettings) -> di... function build_ui (line 563) | def build_ui( function start_dev_ui_process (line 588) | def start_dev_ui_process( FILE: packages/llama-agents-appserver/tests/conftest.py function reset_config_cache (line 17) | def reset_config_cache( function http_client (line 30) | def http_client() -> TestClient: function write_yaml (line 35) | def write_yaml(tmp_path: Path) -> Iterator[Callable[[str, str], Path]]: function no_browser (line 45) | def no_browser(monkeypatch: pytest.MonkeyPatch) -> None: function make_deployment_file (line 53) | def make_deployment_file(tmp_path: Path) -> Callable[[str, bool], Path]: function process_stub (line 74) | def process_stub() -> object: function proc_with_poll_wait (line 86) | def proc_with_poll_wait() -> object: FILE: packages/llama-agents-appserver/tests/routers/test_deployments.py function build_app (line 14) | def build_app(name: str, deployment: Deployment) -> TestClient: function test_create_and_run_task_basic (line 21) | def test_create_and_run_task_basic() -> None: function test_create_task_nowait_and_list (line 38) | def test_create_task_nowait_and_list() -> None: function test_get_event_stream (line 58) | def test_get_event_stream() -> None: function test_sessions_crud (line 88) | def test_sessions_crud() -> None: FILE: packages/llama-agents-appserver/tests/routers/test_ui_proxy.py function build_client (line 10) | def build_client() -> TestClient: function test_proxy_success (line 17) | def test_proxy_success() -> None: function test_proxy_timeout (line 28) | def test_proxy_timeout() -> None: function test_proxy_connect_error_results_in_502 (line 38) | def test_proxy_connect_error_results_in_502() -> None: function test_header_filtering_and_methods_with_body_and_headers (line 48) | def test_header_filtering_and_methods_with_body_and_headers() -> None: FILE: packages/llama-agents-appserver/tests/routers/test_ui_proxy_ws.py class FakeUpstreamWebSocket (line 12) | class FakeUpstreamWebSocket: method __init__ (line 13) | def __init__(self) -> None: method __aiter__ (line 19) | def __aiter__(self) -> Any: method send (line 22) | async def send(self, data: Any) -> None: method recv (line 26) | async def recv(self) -> Any: method push_from_server (line 33) | async def push_from_server(self, data: Any) -> None: method close (line 36) | async def close(self) -> None: function test_websocket_text_and_binary_and_subprotocol (line 41) | async def test_websocket_text_and_binary_and_subprotocol( function test_websocket_upstream_raises_is_handled (line 108) | async def test_websocket_upstream_raises_is_handled( FILE: packages/llama-agents-appserver/tests/test_app.py function _reset_deployment_config (line 14) | def _reset_deployment_config() -> None: function _write_deployment (line 18) | def _write_deployment( function test_root_redirect_and_metrics (line 33) | def test_root_redirect_and_metrics(tmp_path: Path) -> None: function test_static_ui_mount_serves_dist (line 54) | def test_static_ui_mount_serves_dist(tmp_path: Path) -> None: function test_workflowserver_endpoint_available (line 71) | def test_workflowserver_endpoint_available(tmp_path: Path) -> None: FILE: packages/llama-agents-appserver/tests/test_app_server_start.py function test_start_server_sets_env_and_runs_server (line 12) | def test_start_server_sets_env_and_runs_server( function test_start_server_proxies_ui_and_terminates (line 61) | def test_start_server_proxies_ui_and_terminates( function test_prepare_server_calls_install_and_build_when_flags_set (line 101) | def test_prepare_server_calls_install_and_build_when_flags_set( function test_prepare_server_install_only_invokes_inject_and_install (line 136) | def test_prepare_server_install_only_invokes_inject_and_install( function test_start_server_open_browser_triggers (line 157) | def test_start_server_open_browser_triggers( function test_start_server_in_target_venv_invocation (line 188) | def test_start_server_in_target_venv_invocation( FILE: packages/llama-agents-appserver/tests/test_bootstrap.py function _set_bootstrap_env (line 13) | def _set_bootstrap_env( function _stub_bootstrap_pipeline (line 36) | def _stub_bootstrap_pipeline(monkeypatch: pytest.MonkeyPatch) -> dict[st... function test_bootstrap_minimal_happy_path (line 55) | def test_bootstrap_minimal_happy_path( function test_bootstrap_invokes_clone_repo_with_explicit_git_sha_and_git_ref (line 97) | def test_bootstrap_invokes_clone_repo_with_explicit_git_sha_and_git_ref( function test_bootstrap_invokes_clone_repo_with_git_ref_only (line 126) | def test_bootstrap_invokes_clone_repo_with_git_ref_only( function test_bootstrap_raises_when_repo_url_missing (line 151) | def test_bootstrap_raises_when_repo_url_missing( function test_bootstrap_invokes_clone_repo_with_auth_token (line 161) | def test_bootstrap_invokes_clone_repo_with_auth_token( function test_bootstrap_configure_settings_called_with_app_root_and_deployment_file (line 179) | def test_bootstrap_configure_settings_called_with_app_root_and_deploymen... function test_bootstrap_sdists_passed_when_tarballs_present (line 204) | def test_bootstrap_sdists_passed_when_tarballs_present( function test_bootstrap_sdists_none_when_empty_or_no_tarballs (line 240) | def test_bootstrap_sdists_none_when_empty_or_no_tarballs( function test_bootstrap_propagates_errors_from_clone (line 263) | def test_bootstrap_propagates_errors_from_clone( function _write_minimal_deployment_config (line 281) | def _write_minimal_deployment_config(tmp_path: Path) -> None: function test_artifact_exists_raises_on_503 (line 290) | def test_artifact_exists_raises_on_503() -> None: function test_artifact_exists_returns_false_on_404 (line 297) | def test_artifact_exists_returns_false_on_404() -> None: function test_artifact_exists_returns_true_on_200 (line 303) | def test_artifact_exists_returns_true_on_200() -> None: function test_upload_artifact_raises_on_503 (line 309) | def test_upload_artifact_raises_on_503(tmp_path: Path) -> None: function test_bootstrap_discards_sdists_when_version_mismatch (line 318) | def test_bootstrap_discards_sdists_when_version_mismatch( function test_bootstrap_keeps_sdists_when_version_matches (line 350) | def test_bootstrap_keeps_sdists_when_version_matches( function test_bootstrap_no_appserver_version_env_uses_sdists (line 382) | def test_bootstrap_no_appserver_version_env_uses_sdists( function test_bootstrap_passes_auto_upgrade_false (line 409) | def test_bootstrap_passes_auto_upgrade_false( function test_download_artifact_raises_on_503 (line 431) | def test_download_artifact_raises_on_503() -> None: FILE: packages/llama-agents-appserver/tests/test_configure_logging.py function isolated_logging (line 19) | def isolated_logging() -> Generator[None, None, None]: function test_setup_logging_json_filters_by_level_and_renders_json (line 47) | def test_setup_logging_json_filters_by_level_and_renders_json( function test_setup_logging_console_renders_human_readable (line 77) | def test_setup_logging_console_renders_human_readable( function _fake_request (line 100) | def _fake_request(path: str) -> MagicMock: function test_is_health_request_matches (line 110) | def test_is_health_request_matches(path: str) -> None: function test_is_health_request_rejects (line 118) | def test_is_health_request_rejects(path: str) -> None: function log_app (line 128) | def log_app() -> FastAPI: function test_access_log_suppressed_for_health (line 144) | def test_access_log_suppressed_for_health( function test_access_log_emitted_for_normal_routes (line 163) | def test_access_log_emitted_for_normal_routes( FILE: packages/llama-agents-appserver/tests/test_deployment.py function deployment (line 12) | def deployment(tmp_path: Path) -> Deployment: function test_run_workflow_without_session_without_kwargs (line 18) | async def test_run_workflow_without_session_without_kwargs(tmp_path: Pat... function test_run_workflow_with_session (line 30) | async def test_run_workflow_with_session(tmp_path: Path) -> None: function test_run_workflow_no_wait_creates_session (line 43) | def test_run_workflow_no_wait_creates_session(tmp_path: Path) -> None: function test_run_workflow_no_wait_with_session (line 62) | def test_run_workflow_no_wait_with_session(tmp_path: Path) -> None: FILE: packages/llama-agents-appserver/tests/test_environment_loader.py function _cleanup_env (line 16) | def _cleanup_env() -> Iterator[None]: function test_env_loader_sets_from_env_dict_only (line 25) | def test_env_loader_sets_from_env_dict_only(tmp_path: Path) -> None: function test_env_loader_env_files_override_env (line 36) | def test_env_loader_env_files_override_env(tmp_path: Path) -> None: function test_env_loader_multiple_env_files_last_wins (line 54) | def test_env_loader_multiple_env_files_last_wins(tmp_path: Path) -> None: function test_env_loader_missing_env_file_is_ignored (line 72) | def test_env_loader_missing_env_file_is_ignored(tmp_path: Path) -> None: function test_env_loader_skips_empty_values (line 84) | def test_env_loader_skips_empty_values(tmp_path: Path) -> None: function test_validate_required_env_vars_raises_for_missing (line 100) | def test_validate_required_env_vars_raises_for_missing( function test_validate_required_env_vars_passes_when_set (line 118) | def test_validate_required_env_vars_passes_when_set( function test_validate_required_env_vars_fill_missing (line 133) | def test_validate_required_env_vars_fill_missing( function test_validate_required_env_vars_fill_missing_only_fills_unset (line 154) | def test_validate_required_env_vars_fill_missing_only_fills_unset( FILE: packages/llama-agents-appserver/tests/test_preflight.py function test_preflight_validate_success (line 16) | def test_preflight_validate_success( function test_preflight_validate_collects_errors (line 35) | def test_preflight_validate_collects_errors( function test_start_preflight_in_target_venv_invokes_uv (line 60) | def test_start_preflight_in_target_venv_invokes_uv( function test_start_preflight_in_target_venv_skip_env_validation (line 107) | def test_start_preflight_in_target_venv_skip_env_validation( function test_export_json_graph_strips_event_type_and_writes_file (line 141) | def test_export_json_graph_strips_event_type_and_writes_file( function test_start_export_json_graph_in_target_venv_invokes_uv (line 176) | def test_start_export_json_graph_in_target_venv_invokes_uv( FILE: packages/llama-agents-appserver/tests/test_status.py function client (line 8) | def client() -> TestClient: function test_health_endpoints (line 15) | def test_health_endpoints(client: TestClient, path: str) -> None: FILE: packages/llama-agents-appserver/tests/test_workflow_loader.py function test_load_workflows_imports (line 18) | def test_load_workflows_imports(tmp_path: Path) -> None: function test_load_environment_variables_merges_env_and_files (line 31) | def test_load_environment_variables_merges_env_and_files( function test_build_ui_sets_env_and_calls_pnpm (line 47) | def test_build_ui_sets_env_and_calls_pnpm( function test_ui_env_public_overrides_base (line 80) | def test_ui_env_public_overrides_base(monkeypatch: pytest.MonkeyPatch) -... function test_ui_env_public_without_base_creates_it (line 90) | def test_ui_env_public_without_base_creates_it(monkeypatch: pytest.Monke... function test_ui_env_no_public_leaves_base_alone (line 100) | def test_ui_env_no_public_leaves_base_alone(monkeypatch: pytest.MonkeyPa... FILE: packages/llama-agents-appserver/tests/test_workflow_loader_install.py function resolve_venv_to_pkg (line 26) | def resolve_venv_to_pkg(monkeypatch: pytest.MonkeyPatch) -> None: function test_ensure_uv_available_success_and_bootstrap (line 38) | def test_ensure_uv_available_success_and_bootstrap( function test_add_appserver_pypi_install_calls_uv_with_prefix (line 83) | def test_add_appserver_pypi_install_calls_uv_with_prefix( function test_add_appserver_install_targets_resolved_venv_when_outside_pkg (line 122) | def test_add_appserver_install_targets_resolved_venv_when_outside_pkg( function test_add_appserver_sdists_install (line 173) | def test_add_appserver_sdists_install( function test_add_appserver_editable_install (line 210) | def test_add_appserver_editable_install( function test_install_ui_runs_pnpm_and_validates (line 263) | def test_install_ui_runs_pnpm_and_validates( function test_start_dev_ui_process_port_open_and_spawn (line 287) | def test_start_dev_ui_process_port_open_and_spawn( function test_validate_path_is_safe_rejects_escape (line 332) | def test_validate_path_is_safe_rejects_escape(tmp_path: Path) -> None: function test_get_installed_version_within_target_cases (line 337) | def test_get_installed_version_within_target_cases( function test_current_and_outdated_logic (line 363) | def test_current_and_outdated_logic( function test_add_appserver_target_version_installs_from_pypi (line 389) | def test_add_appserver_target_version_installs_from_pypi( function test_add_appserver_target_version_ignored_in_editable_mode (line 426) | def test_add_appserver_target_version_ignored_in_editable_mode( function test_add_appserver_target_version_ignored_when_sdists_provided (line 479) | def test_add_appserver_target_version_ignored_when_sdists_provided( function test_get_workflows_version_in_target_success (line 519) | def test_get_workflows_version_in_target_success( function test_get_workflows_version_in_target_missing (line 530) | def test_get_workflows_version_in_target_missing( function test_get_workflows_version_in_target_error (line 543) | def test_get_workflows_version_in_target_error( function test_get_appserver_workflows_requirement (line 556) | def test_get_appserver_workflows_requirement() -> None: function test_get_appserver_workflows_requirement_missing (line 565) | def test_get_appserver_workflows_requirement_missing( function test_ensure_compatible_workflows_compatible_noop (line 576) | def test_ensure_compatible_workflows_compatible_noop( function test_ensure_compatible_workflows_incompatible_auto_updates (line 604) | def test_ensure_compatible_workflows_incompatible_auto_updates( function test_ensure_compatible_workflows_not_installed_noop (line 639) | def test_ensure_compatible_workflows_not_installed_noop( function test_ensure_compatible_workflows_update_fails_raises (line 664) | def test_ensure_compatible_workflows_update_fails_raises( function test_install_calls_ensure_compatible_workflows (line 688) | def test_install_calls_ensure_compatible_workflows( FILE: packages/llama-agents-appserver/tests/test_workflow_loader_load_workflows.py function test_load_workflows_module_path (line 12) | def test_load_workflows_module_path( function test_load_workflows_from_workflow_server_app (line 33) | def test_load_workflows_from_workflow_server_app() -> None: FILE: packages/llama-agents-appserver/tests/test_workflow_loader_streaming.py function _no_color (line 21) | def _no_color(monkeypatch: pytest.MonkeyPatch) -> None: class _FakePopen (line 26) | class _FakePopen: method __init__ (line 27) | def __init__(self, text: str, ret: int = 0) -> None: method wait (line 32) | def wait(self) -> int: function test_run_process_success_and_failure (line 36) | def test_run_process_success_and_failure( function test_spawn_process_streams_in_background (line 57) | def test_spawn_process_streams_in_background( function test_install_python_dependencies_calls_when_target_found (line 72) | def test_install_python_dependencies_calls_when_target_found( FILE: packages/llama-agents-client/src/llama_agents/client/client.py function _raise_for_status_with_body (line 36) | def _raise_for_status_with_body(response: httpx.Response) -> None: class _QueuedEvent (line 58) | class _QueuedEvent: class _QueuedError (line 64) | class _QueuedError: class _QueuedDone (line 69) | class _QueuedDone: class EventStream (line 76) | class EventStream: method __init__ (line 92) | def __init__( method last_sequence (line 104) | def last_sequence(self) -> int | Literal["now"]: method __aiter__ (line 109) | def __aiter__(self) -> AsyncIterator[EventEnvelopeWithMetadata]: method _iterate (line 115) | async def _iterate(self) -> AsyncGenerator[EventEnvelopeWithMetadata, ... method aclose (line 128) | async def aclose(self) -> None: class WorkflowClient (line 140) | class WorkflowClient: method __init__ (line 173) | def __init__(self, *, httpx_client: httpx.AsyncClient): ... method __init__ (line 175) | def __init__( method __init__ (line 181) | def __init__( method _get_client (line 195) | async def _get_client(self) -> AsyncIterator[httpx.AsyncClient]: method is_healthy (line 202) | async def is_healthy(self) -> HealthResponse: method list_workflows (line 213) | async def list_workflows(self) -> WorkflowsListResponse: method run_workflow (line 222) | async def run_workflow( method run_workflow_nowait (line 271) | async def run_workflow_nowait( method get_workflow_events (line 323) | def get_workflow_events( method send_event (line 438) | async def send_event( method get_result (line 467) | async def get_result(self, handler_id: str) -> HandlerData: method get_handlers (line 473) | async def get_handlers( method get_handler (line 497) | async def get_handler(self, handler_id: str) -> HandlerData: method cancel_handler (line 512) | async def cancel_handler( function _serialize_event (line 532) | def _serialize_event( FILE: packages/llama-agents-client/src/llama_agents/client/protocol/__init__.py function is_status_completed (line 16) | def is_status_completed(status: Status) -> bool: class HandlerData (line 20) | class HandlerData(BaseModel): class HandlersListResponse (line 32) | class HandlersListResponse(BaseModel): class HealthResponse (line 36) | class HealthResponse(BaseModel): class WorkflowsListResponse (line 40) | class WorkflowsListResponse(BaseModel): class SendEventResponse (line 44) | class SendEventResponse(BaseModel): class CancelHandlerResponse (line 48) | class CancelHandlerResponse(BaseModel): class WorkflowSchemaResponse (line 52) | class WorkflowSchemaResponse(BaseModel): class WorkflowEventsListResponse (line 57) | class WorkflowEventsListResponse(BaseModel): class WorkflowGraphResponse (line 61) | class WorkflowGraphResponse(BaseModel): FILE: packages/llama-agents-client/src/llama_agents/client/protocol/serializable_events.py class EventEnvelopeWithMetadata (line 15) | class EventEnvelopeWithMetadata(BaseModel): method load_event (line 30) | def load_event(self, registry: list[type[Event]] = []) -> Event: method from_event (line 44) | def from_event( class EventEnvelope (line 67) | class EventEnvelope(BaseModel): method _format_compatibility (line 78) | def _format_compatibility(cls, data: Any) -> Any: method from_event (line 91) | def from_event(cls, event: Event) -> EventEnvelope: method parse (line 98) | def parse( function _get_event_subtypes (line 167) | def _get_event_subtypes(cls: type[Event]) -> list[str] | None: function _get_qualified_name (line 183) | def _get_qualified_name(event: type[Event]) -> str: class EventValidationError (line 187) | class EventValidationError(Exception): FILE: packages/llama-agents-client/tests/client/client_test_workflows.py class InputEvent (line 10) | class InputEvent(StartEvent): class GreetEvent (line 15) | class GreetEvent(Event): class OutputEvent (line 20) | class OutputEvent(StopEvent): class GreetingWorkflow (line 24) | class GreetingWorkflow(Workflow): method first_step (line 26) | async def first_step(self, ev: InputEvent, ctx: Context) -> GreetEvent: method second_step (line 33) | async def second_step(self, ev: GreetEvent, ctx: Context) -> OutputEvent: class CrashingWorkflow (line 38) | class CrashingWorkflow(Workflow): method crashing_step (line 40) | async def crashing_step(self, ev: StartEvent) -> StopEvent: FILE: packages/llama-agents-client/tests/client/test_client.py function server (line 27) | def server() -> WorkflowServer: function client (line 36) | def client(server: WorkflowServer) -> WorkflowClient: function test_is_healthy (line 43) | async def test_is_healthy(client: WorkflowClient) -> None: function test_list_workflows (line 49) | async def test_list_workflows(client: WorkflowClient) -> None: function test_run_nowait_and_stream_events (line 57) | async def test_run_nowait_and_stream_events(client: WorkflowClient) -> N... function test_get_result_for_handler (line 73) | async def test_get_result_for_handler(client: WorkflowClient) -> None: function test_get_handler (line 93) | async def test_get_handler(client: WorkflowClient) -> None: function test_get_handlers (line 111) | async def test_get_handlers(client: WorkflowClient) -> None: function test_get_handlers_filter_by_workflow_name (line 123) | async def test_get_handlers_filter_by_workflow_name(client: WorkflowClie... function test_get_handlers_filter_by_status (line 135) | async def test_get_handlers_filter_by_status(client: WorkflowClient) -> ... function test_get_handlers_for_complex_workflows (line 160) | async def test_get_handlers_for_complex_workflows( function test_run_workflow_sync_result (line 188) | async def test_run_workflow_sync_result(client: WorkflowClient) -> None: function test_stream_events_including_internal (line 198) | async def test_stream_events_including_internal(client: WorkflowClient) ... function test_cancel_handler (line 214) | async def test_cancel_handler(client: WorkflowClient) -> None: function test_send_event (line 232) | async def test_send_event(client: WorkflowClient) -> None: function test_error_message_format (line 255) | async def test_error_message_format(client: WorkflowClient) -> None: function _envelope (line 272) | def _envelope(msg: str) -> EventEnvelopeWithMetadata: class FakeStreamClient (line 284) | class FakeStreamClient: method __init__ (line 287) | def __init__(self, script: list[ConnectionScript]) -> None: method stream (line 293) | async def stream( function _collect (line 330) | async def _collect( function test_reconnect_resumes_from_last_sequence (line 343) | async def test_reconnect_resumes_from_last_sequence() -> None: function test_reconnect_exceeds_max_attempts_raises (line 360) | async def test_reconnect_exceeds_max_attempts_raises() -> None: function test_reconnect_resets_attempts_on_success (line 369) | async def test_reconnect_resets_attempts_on_success() -> None: function test_timeout_exception_not_retried (line 383) | async def test_timeout_exception_not_retried() -> None: function test_get_workflow_events_tracks_last_sequence (line 389) | async def test_get_workflow_events_tracks_last_sequence() -> None: function test_get_workflow_events_with_now (line 406) | async def test_get_workflow_events_with_now() -> None: FILE: packages/llama-agents-client/tests/protocol/test_serializable_events.py function test_envelope_user_defined_event (line 22) | def test_envelope_user_defined_event() -> None: function test_envelope_builtin_stop_event (line 36) | def test_envelope_builtin_stop_event() -> None: function test_envelope_stop_event_subclass (line 46) | def test_envelope_stop_event_subclass() -> None: function test_envelope_internal_event (line 62) | def test_envelope_internal_event() -> None: class ModuleScopeEvent (line 80) | class ModuleScopeEvent(Event): class ModuleScopeOtherEvent (line 84) | class ModuleScopeOtherEvent(Event): function test_parse_with_registry_type_success (line 88) | def test_parse_with_registry_type_success() -> None: function test_parse_with_qualified_name_fallback_success (line 98) | def test_parse_with_qualified_name_fallback_success() -> None: function test_parse_with_type_unknown_but_qualified_name_valid (line 106) | def test_parse_with_type_unknown_but_qualified_name_valid() -> None: function test_parse_alias_data_to_value (line 114) | def test_parse_alias_data_to_value() -> None: function test_parse_from_json_string (line 124) | def test_parse_from_json_string() -> None: function test_parse_value_only_with_explicit_event (line 134) | def test_parse_value_only_with_explicit_event() -> None: function test_parse_invalid_inputs_raise (line 144) | def test_parse_invalid_inputs_raise() -> None: function test_from_event_roundtrip_with_registry (line 150) | def test_from_event_roundtrip_with_registry() -> None: function test_metadata_envelope_load_event_with_registry (line 161) | def test_metadata_envelope_load_event_with_registry() -> None: function test_metadata_envelope_qualified_name_toggle (line 172) | def test_metadata_envelope_qualified_name_toggle() -> None: function test_json_serializer_back_compat_with_pydantic_flag (line 184) | def test_json_serializer_back_compat_with_pydantic_flag() -> None: function test_missing_type_and_qualified_name_raises (line 196) | def test_missing_type_and_qualified_name_raises() -> None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/backup/archive.py class BackupManifest (line 30) | class BackupManifest: class BackupEntry (line 39) | class BackupEntry: class BackupContents (line 47) | class BackupContents: function clean_crd_metadata (line 52) | def clean_crd_metadata(doc: dict[str, Any]) -> dict[str, Any]: function clean_secret_metadata (line 61) | def clean_secret_metadata(doc: dict[str, Any]) -> dict[str, Any]: function _clean_metadata (line 66) | def _clean_metadata( function create_backup_archive (line 95) | def create_backup_archive( function read_backup_archive (line 153) | def read_backup_archive( function _add_bytes_to_tar (line 236) | def _add_bytes_to_tar(tar: tarfile.TarFile, name: str, data: bytes) -> N... FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/backup/encryption.py function _derive_key (line 18) | def _derive_key(password: str, salt: bytes) -> bytes: function encrypt (line 29) | def encrypt(plaintext: bytes, password: str) -> bytes: function decrypt (line 42) | def decrypt(data: bytes, password: str) -> bytes: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/backup/storage.py class BackupInfo (line 16) | class BackupInfo: class S3BackupStorage (line 24) | class S3BackupStorage(S3ObjectStorage): method __init__ (line 27) | def __init__( method _key (line 47) | def _key(self, backup_id: str) -> str: method upload (line 50) | async def upload(self, backup_id: str, data: bytes) -> None: method download (line 59) | async def download(self, backup_id: str) -> bytes: method list_backups (line 68) | async def list_backups(self) -> list[BackupInfo]: method delete (line 97) | async def delete(self, backup_id: str) -> None: method get_info (line 105) | async def get_info(self, backup_id: str) -> BackupInfo | None: function generate_backup_id (line 124) | def generate_backup_id() -> str: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/build_api/build_app.py function _lifespan (line 41) | async def _lifespan(app: FastAPI) -> AsyncIterator[None]: class HelloResponse (line 56) | class HelloResponse(BaseModel): function hello (line 64) | async def hello( function health (line 76) | async def health() -> Response: function artifact_exists (line 96) | async def artifact_exists( function download_artifact (line 114) | async def download_artifact( function upload_artifact (line 143) | async def upload_artifact( function git_proxy_get (line 190) | async def git_proxy_get( function git_proxy_post (line 208) | async def git_proxy_post( function _validate_git_path (line 235) | def _validate_git_path(git_path: str) -> None: function _validate_url_not_private (line 245) | def _validate_url_not_private(url: str) -> None: function proxy_git_request (line 262) | async def proxy_git_request( function _describe_access (line 383) | def _describe_access( FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/build_api/build_auth.py function _validate_token_raw (line 22) | async def _validate_token_raw(deployment_id: str, token: str) -> str: function validate_token (line 37) | async def validate_token(deployment_id: str, token: str) -> LlamaDeploym... function authenticate_deployment (line 45) | async def authenticate_deployment( function authenticate_deployment_basic (line 59) | async def authenticate_deployment_basic( FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/build_api/build_gc.py function _get_referenced_build_ids_from_replicasets (line 26) | async def _get_referenced_build_ids_from_replicasets( function gc_build_artifacts (line 53) | async def gc_build_artifacts( function gc_all_build_artifacts (line 135) | async def gc_all_build_artifacts() -> int: function delete_all_artifacts_for_deployment (line 155) | async def delete_all_artifacts_for_deployment(deployment_id: str) -> int: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/build_api/build_service.py function create_build_artifact_storage (line 9) | def create_build_artifact_storage() -> BuildArtifactStorage | None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/build_api/build_storage.py class ArtifactInfo (line 18) | class ArtifactInfo: class BuildArtifactStorage (line 27) | class BuildArtifactStorage(S3ObjectStorage): class NotFoundError (line 30) | class NotFoundError(Exception): method __init__ (line 33) | def __init__( method _key (line 53) | def _key(self, deployment_name: str, build_id: str) -> str: method upload_artifact (line 56) | async def upload_artifact( method upload_artifact_fileobj (line 67) | async def upload_artifact_fileobj( method download_artifact_streaming (line 78) | async def download_artifact_streaming( method artifact_exists (line 116) | async def artifact_exists(self, deployment_name: str, build_id: str) -... method delete_artifact (line 130) | async def delete_artifact(self, deployment_name: str, build_id: str) -... method list_artifacts (line 138) | async def list_artifacts(self, deployment_name: str) -> list[ArtifactI... method delete_all_artifacts (line 165) | async def delete_all_artifacts(self, deployment_name: str) -> int: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/code_repo/git_server.py function _create_wsgi_app (line 43) | def _create_wsgi_app( function _call_wsgi (line 51) | def _call_wsgi( function _git_scope (line 82) | def _git_scope(request: Request, git_path: str) -> HTTPScope: function _serve_wsgi_git (line 93) | async def _serve_wsgi_git( function _get_resolved_refs (line 138) | def _get_resolved_refs(repo: Repo) -> dict[Ref, bytes]: function handle_git_request (line 154) | async def handle_git_request( class _StreamingWSGIResponse (line 225) | class _StreamingWSGIResponse(Response): method __init__ (line 238) | def __init__( method __call__ (line 251) | async def __call__(self, scope: Any, receive: Any, send: Any) -> None: function handle_git_request_readonly (line 259) | async def handle_git_request_readonly( FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/code_repo/service.py function create_code_repo_storage (line 9) | def create_code_repo_storage() -> CodeRepoStorage | None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/code_repo/storage.py class CodeRepoStorage (line 24) | class CodeRepoStorage(S3ObjectStorage): method _s3_key (line 31) | def _s3_key(self, deployment_id: str) -> str: method download_repo (line 36) | async def download_repo(self, deployment_id: str) -> Path | None: method upload_repo (line 77) | async def upload_repo(self, deployment_id: str, repo_path: Path) -> None: method delete_repo (line 97) | async def delete_repo(self, deployment_id: str) -> None: method repo_exists (line 104) | async def repo_exists(self, deployment_id: str) -> bool: method _create_tarball (line 117) | def _create_tarball(repo_path: Path, tar_path: Path) -> None: method resolve_ref (line 122) | async def resolve_ref(self, deployment_id: str, git_ref: str) -> str |... method init_bare_repo (line 151) | def init_bare_repo(deployment_id: str) -> Path: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/git/_git_service.py function _looks_like_config_file (line 52) | def _looks_like_config_file(path: str) -> bool: function _normalize_repo_relative_path (line 57) | def _normalize_repo_relative_path(repo_path: str) -> Path: function _repo_target_path (line 69) | def _repo_target_path(repo_root: Path, repo_path: str) -> Path: function _deployment_base_dir (line 74) | def _deployment_base_dir(deployment_rel_path: str) -> Path: class GitHubAppAccess (line 85) | class GitHubAppAccess: class GitRepository (line 92) | class GitRepository: class InaccessibleRepository (line 99) | class InaccessibleRepository: class RepositoryExistenceResult (line 111) | class RepositoryExistenceResult: class GitService (line 117) | class GitService: method get_access (line 119) | async def get_access( method validate_repository (line 135) | async def validate_repository( method _is_github_repository (line 238) | def _is_github_repository(self, repository_url: str) -> bool: method _check_github_access_type (line 251) | async def _check_github_access_type( method _check_github_repository_exists (line 430) | async def _check_github_repository_exists( method _check_generic_access_type (line 484) | async def _check_generic_access_type( method _validate_pat_access (line 524) | async def _validate_pat_access(self, owner: str, repo: str, pat: str) ... method _check_pat_obsolete (line 528) | async def _check_pat_obsolete(self, deployment_id: str) -> bool: method _check_has_existing_pat (line 539) | async def _check_has_existing_pat(self, deployment_id: str) -> bool: method _construct_install_url (line 547) | async def _construct_install_url(self, app: GitHubAppAuth, owner: str)... method _construct_settings_url (line 565) | async def _construct_settings_url( method obtain_basic_auth_token (line 580) | async def obtain_basic_auth_token( method validate_git_application (line 606) | async def validate_git_application( method _validate_via_clone (line 647) | async def _validate_via_clone( method _validate_github_application (line 697) | async def _validate_github_application( method _github_client_for_access (line 840) | async def _github_client_for_access(self, access: GitAccessType) -> Gi... method _fetch_config_files (line 854) | async def _fetch_config_files( method _fetch_ui_package_json (line 901) | async def _fetch_ui_package_json( FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/git/_github_auth.py class GitHubAppAuth (line 9) | class GitHubAppAuth: method __init__ (line 17) | def __init__(self, client_id: str, private_key: str | Path, app_name: ... method _load_private_key (line 29) | def _load_private_key(self, private_key: str | Path) -> str: method get_jwt (line 43) | def get_jwt(self) -> str: method _generate_jwt (line 60) | def _generate_jwt(self) -> tuple[datetime.datetime, str]: function get_github_app_auth (line 90) | def get_github_app_auth() -> GitHubAppAuth | None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/git/github_api_client.py class GitHubApiClient (line 16) | class GitHubApiClient: method __init__ (line 17) | def __init__( method get_owner_info (line 25) | async def get_owner_info(self, owner: str) -> GitHubOwnerInfo | None: method get_repository_info (line 39) | async def get_repository_info( method get_commit_sha (line 50) | async def get_commit_sha(self, owner: str, repo: str, ref: str) -> str... method get_default_branch (line 67) | async def get_default_branch(self, owner: str, repo: str) -> str | None: method get_file_contents (line 74) | async def get_file_contents( function get_app_jwt_client (line 99) | def get_app_jwt_client() -> httpx.AsyncClient: class GitHubAppApiClient (line 110) | class GitHubAppApiClient(GitHubApiClient): method __init__ (line 111) | def __init__(self) -> None: method _auth_middleware (line 114) | def _auth_middleware(self, request: httpx.Request) -> httpx.Request: method get_repository_installation (line 122) | async def get_repository_installation( method get_org_installation (line 132) | async def get_org_installation(self, org: str) -> GithubAppInstallatio... method list_installations (line 140) | async def list_installations(self) -> list[GithubAppInstallation]: method get_installation_access_token (line 146) | async def get_installation_access_token(self, installation_id: int) ->... function pat_api_client (line 154) | def pat_api_client(pat: str) -> GitHubApiClient: function installation_api_client (line 162) | def installation_api_client(access_token: str) -> GitHubApiClient: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/git/github_api_schema.py class GitHubOwnerInfo (line 7) | class GitHubOwnerInfo(pydantic.BaseModel): class GitHubRepository (line 13) | class GitHubRepository(pydantic.BaseModel): class GithubAppInstallation (line 40) | class GithubAppInstallation(pydantic.BaseModel): FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/k8s_client.py function to_async (line 67) | def to_async(func: Callable[P, R]) -> Callable[P, Coroutine[Any, Any, R]]: class K8sClient (line 81) | class K8sClient: method __init__ (line 82) | def __init__(self) -> None: method _get_namespace (line 97) | def _get_namespace(self) -> str: method _ensure_k8s_client (line 114) | def _ensure_k8s_client(self) -> None: method k8s_core_v1 (line 133) | def k8s_core_v1(self) -> CoreV1Api: method k8s_custom_objects (line 140) | def k8s_custom_objects(self) -> CustomObjectsApi: method k8s_networking_v1 (line 147) | def k8s_networking_v1(self) -> NetworkingV1Api: method k8s_apps_v1 (line 154) | def k8s_apps_v1(self) -> AppsV1Api: function validate_deployment_id (line 165) | async def validate_deployment_id(deployment_id: str) -> bool: function validate_deployment_token (line 181) | async def validate_deployment_token( function _append_random_suffix (line 201) | def _append_random_suffix(deployment_id: str, max_length: int) -> str: function _compute_secret_hash (line 214) | def _compute_secret_hash(secrets: dict[str, str]) -> str: function find_deployment_id (line 222) | async def find_deployment_id(name: str, force_suffix: bool = False) -> str: function create_deployment (line 256) | async def create_deployment( function _create_k8s_secret (line 354) | async def _create_k8s_secret(secret_name: str, secrets: dict[str, str]) ... function _create_ingress (line 416) | async def _create_ingress(service_name: str) -> None: function delete_deployment (line 500) | async def delete_deployment(deployment_id: str) -> None: function update_deployment (line 537) | async def update_deployment( function get_deployment_crd (line 641) | def get_deployment_crd( function get_deployment_events (line 655) | async def get_deployment_events(deployment_id: str) -> list[DeploymentEv... function _event_to_deployment_event (line 667) | def _event_to_deployment_event(event: CoreV1Event) -> DeploymentEvent: function get_deployment (line 678) | async def get_deployment(deployment_id: str) -> DeploymentResponse | None: function get_deployment_history (line 698) | async def get_deployment_history( function get_deployments (line 725) | async def get_deployments(project_id: str) -> List[DeploymentResponse]: function get_projects_with_deployment_count (line 763) | async def get_projects_with_deployment_count() -> List[ProjectSummary]: function get_secret_names (line 801) | def get_secret_names(secret_name: str) -> list[str]: function get_secret_names_batch (line 814) | async def get_secret_names_batch( function _llamadeployment_to_response (line 829) | def _llamadeployment_to_response( function has_deployment_pat (line 897) | async def has_deployment_pat(deployment_id: str) -> bool: function get_deployment_pat (line 902) | async def get_deployment_pat(deployment_id: str) -> str | None: function _list_replicasets_for_deployment_sync (line 932) | def _list_replicasets_for_deployment_sync(deployment_id: str) -> list[Any]: function get_latest_replicaset_for_deployment (line 969) | def get_latest_replicaset_for_deployment( function list_replicasets_for_deployment (line 1003) | def list_replicasets_for_deployment(deployment_id: str) -> list[Any]: function list_all_deployments (line 1009) | def list_all_deployments() -> list[Any]: class LogLine (line 1019) | class LogLine: function get_replicaset_pods_for_deployment (line 1027) | async def get_replicaset_pods_for_deployment(deployment_id: str) -> list... function stream_container_logs (line 1055) | async def stream_container_logs( function _to_generator (line 1138) | def _to_generator(resp: str | HTTPResponse) -> AsyncGenerator[str, None]: function _parse_raw_log_lines (line 1224) | async def _parse_raw_log_lines( function _stream_pod_container_logs (line 1247) | async def _stream_pod_container_logs( function stream_replicaset_logs (line 1292) | async def stream_replicaset_logs( function _list_pods_by_label (line 1332) | def _list_pods_by_label(label_selector: str) -> list[Any]: function stream_build_job_logs (line 1341) | async def stream_build_job_logs( function get_secret_data (line 1384) | def get_secret_data(secret_name: str) -> dict[str, str] | None: function get_all_deployment_crds (line 1400) | def get_all_deployment_crds() -> list[dict[str, Any]]: function apply_deployment_crd (line 1411) | async def apply_deployment_crd(crd: dict[str, Any]) -> None: function apply_secret (line 1450) | async def apply_secret(name: str, data: dict[str, str]) -> None: function get_namespace (line 1455) | def get_namespace() -> str: function get_deployment_crd_raw (line 1461) | def get_deployment_crd_raw(name: str) -> dict[str, Any] | None: function delete_deployment_crd (line 1478) | def delete_deployment_crd(name: str) -> None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/log_config.py class UvicornStyleFormatter (line 9) | class UvicornStyleFormatter(logging.Formatter): method format (line 23) | def format(self, record: logging.LogRecord) -> str: class CleanJsonFormatter (line 35) | class CleanJsonFormatter(JsonFormatter): method add_fields (line 38) | def add_fields( function setup_logging (line 49) | def setup_logging( function get_uvicorn_log_config (line 71) | def get_uvicorn_log_config(log_level: str = "info") -> dict: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/main.py function run_server_subprocess (line 16) | def run_server_subprocess( function run_server_async (line 46) | async def run_server_async( function run_servers (line 71) | async def run_servers( function main (line 133) | def main() -> None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/manage_api/backup_service.py function _paired_secret_name (line 24) | def _paired_secret_name(deployment_name: str) -> str: class BackupService (line 28) | class BackupService: method __init__ (line 29) | def __init__(self, storage: S3BackupStorage) -> None: method create_backup (line 32) | async def create_backup(self) -> schema.BackupResponse: method _perform_backup (line 36) | async def _perform_backup(self, backup_id: str) -> schema.BackupResponse: method list_backups (line 96) | async def list_backups(self) -> schema.BackupListResponse: method get_backup (line 102) | async def get_backup(self, backup_id: str) -> schema.BackupResponse: method delete_backup (line 112) | async def delete_backup(self, backup_id: str) -> schema.BackupResponse: method restore_backup (line 125) | async def restore_backup( method _perform_restore (line 130) | async def _perform_restore( method _restore_entries (line 168) | async def _restore_entries( method _handle_deletions (line 243) | async def _handle_deletions( method _info_to_response (line 270) | def _info_to_response(info: BackupInfo) -> schema.BackupResponse: function create_backup_service (line 279) | def create_backup_service() -> BackupService | None: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/manage_api/backup_v1beta1.py function _require_service (line 12) | def _require_service() -> BackupService: function create_backup (line 22) | async def create_backup( function list_backups (line 29) | async def list_backups( function get_backup (line 36) | async def get_backup( function delete_backup (line 44) | async def delete_backup( function restore_backup (line 52) | async def restore_backup( FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/manage_api/deployments_service.py function _on_push_complete (line 48) | async def _on_push_complete( class PublicDeploymentService (line 99) | class PublicDeploymentService(AbstractPublicDeploymentsService): method get_version (line 101) | async def get_version(self) -> schema.VersionResponse: class DeploymentService (line 113) | class DeploymentService(AbstractDeploymentsService): method _get_deployment_or_raise (line 114) | async def _get_deployment_or_raise( method get_organizations (line 127) | async def get_organizations(self) -> schema.OrganizationsListResponse: method get_projects (line 131) | async def get_projects( method validate_repository (line 139) | async def validate_repository( method create_deployment (line 153) | async def create_deployment( method get_deployments (line 214) | async def get_deployments( method get_deployment (line 222) | async def get_deployment( method delete_deployment (line 233) | async def delete_deployment( method get_deployment_history (line 244) | async def get_deployment_history( method rollback_deployment (line 255) | async def rollback_deployment( method update_deployment (line 290) | async def update_deployment( method handle_git_request (line 402) | async def handle_git_request( method _when_replicaset_changes (line 436) | async def _when_replicaset_changes( method _current_rs_uid (line 449) | async def _current_rs_uid( method _build_log_events (line 456) | async def _build_log_events( method stream_deployment_logs (line 480) | async def stream_deployment_logs( function _empty_log_gen (line 592) | async def _empty_log_gen() -> AsyncGenerator[LogEvent, None]: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/manage_api/manage_app.py function _handle_shutdown_signal (line 25) | def _handle_shutdown_signal(signum: int, frame: FrameType | None = None)... function lifespan (line 47) | async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]: function unhandled_exception_handler (line 67) | async def unhandled_exception_handler(request: Request, exc: Exception) ... function health (line 91) | async def health() -> dict[str, str]: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/settings.py class ControlPlaneSettings (line 11) | class ControlPlaneSettings(BaseSettings): method should_stamp_image_tag (line 34) | def should_stamp_image_tag(self) -> bool: FILE: packages/llama-agents-control-plane/src/llama_agents/control_plane/storage.py class _S3ClientKwargs (line 19) | class _S3ClientKwargs(TypedDict, total=False): class S3ObjectStorage (line 27) | class S3ObjectStorage: method __init__ (line 34) | def __init__( method _client (line 62) | async def _client(self) -> AsyncIterator[S3Client]: FILE: packages/llama-agents-control-plane/tests/backup/conftest.py function make_deployment (line 16) | def make_deployment(name: str, project_id: str = "proj-1") -> dict[str, ... function make_raw_crd (line 26) | def make_raw_crd( function mock_storage (line 49) | def mock_storage() -> AsyncMock: function backup_service (line 57) | def backup_service(mock_storage: AsyncMock) -> BackupService: function make_client (line 62) | def make_client(app: FastAPI) -> ControlPlaneClient: function _clear_aws_env (line 76) | def _clear_aws_env(monkeypatch: pytest.MonkeyPatch) -> None: FILE: packages/llama-agents-control-plane/tests/backup/test_archive.py function test_round_trip (line 24) | def test_round_trip() -> None: function test_encrypted_archive_round_trip (line 46) | def test_encrypted_archive_round_trip() -> None: function test_unencrypted_archive_round_trip (line 61) | def test_unencrypted_archive_round_trip() -> None: function test_empty_deployments (line 76) | def test_empty_deployments() -> None: function test_archive_extractable_with_tarfile (line 88) | def test_archive_extractable_with_tarfile() -> None: function test_encrypted_archive_has_enc_file (line 104) | def test_encrypted_archive_has_enc_file() -> None: function test_missing_manifest_raises (line 120) | def test_missing_manifest_raises() -> None: function test_encrypted_archive_without_password_raises (line 131) | def test_encrypted_archive_without_password_raises() -> None: function test_generation_stored_in_archive (line 145) | def test_generation_stored_in_archive() -> None: function test_generation_none_when_not_provided (line 160) | def test_generation_none_when_not_provided() -> None: function test_clean_crd_metadata_strips_cluster_fields (line 177) | def test_clean_crd_metadata_strips_cluster_fields() -> None: function test_clean_crd_removes_empty_annotations (line 220) | def test_clean_crd_removes_empty_annotations() -> None: function test_clean_secret_metadata_strips_owner_references (line 233) | def test_clean_secret_metadata_strips_owner_references() -> None: function test_clean_secret_does_not_strip_finalizers (line 260) | def test_clean_secret_does_not_strip_finalizers() -> None: function test_clean_secret_strips_system_annotations (line 271) | def test_clean_secret_strips_system_annotations() -> None: FILE: packages/llama-agents-control-plane/tests/backup/test_backup_roundtrip.py function _make_storage (line 34) | def _make_storage() -> S3BackupStorage: function _create_bucket (line 43) | def _create_bucket() -> None: function _make_mock_k8s (line 53) | def _make_mock_k8s(crds: list[dict[str, Any]] | None = None) -> MagicMock: function _make_mock_settings (line 65) | def _make_mock_settings() -> MagicMock: function _make_deployment (line 72) | def _make_deployment(name: str, project_id: str = "proj-1") -> dict[str,... function test_create_and_get_backup (line 88) | async def test_create_and_get_backup() -> None: function test_create_and_list_backups (line 117) | async def test_create_and_list_backups() -> None: function test_create_and_delete_backup (line 152) | async def test_create_and_delete_backup() -> None: function test_create_and_restore_backup (line 179) | async def test_create_and_restore_backup() -> None: function test_restore_overwrite_always (line 210) | async def test_restore_overwrite_always() -> None: function test_restore_with_deletions (line 245) | async def test_restore_with_deletions() -> None: function test_backup_not_configured_returns_503 (line 287) | async def test_backup_not_configured_returns_503() -> None: FILE: packages/llama-agents-control-plane/tests/backup/test_backup_service.py function mock_k8s (line 21) | def mock_k8s() -> MagicMock: function mock_settings (line 35) | def mock_settings() -> MagicMock: function test_create_backup_success (line 47) | async def test_create_backup_success( function test_create_backup_with_secrets (line 66) | async def test_create_backup_with_secrets( function test_create_backup_failure (line 83) | async def test_create_backup_failure( function test_list_backups (line 104) | async def test_list_backups( function test_get_backup_exists (line 121) | async def test_get_backup_exists( function test_get_backup_not_found (line 136) | async def test_get_backup_not_found( function test_delete_backup_exists (line 152) | async def test_delete_backup_exists( function test_delete_backup_not_found (line 167) | async def test_delete_backup_not_found( function _make_archive_bytes (line 183) | def _make_archive_bytes( function test_restore_skip_existing (line 199) | async def test_restore_skip_existing( function test_restore_overwrite_always (line 220) | async def test_restore_overwrite_always( function test_restore_overwrite_if_newer_skips_when_cluster_newer (line 241) | async def test_restore_overwrite_if_newer_skips_when_cluster_newer( function test_restore_overwrite_if_newer_overwrites_when_backup_newer (line 267) | async def test_restore_overwrite_if_newer_overwrites_when_backup_newer( function test_restore_project_mismatch (line 293) | async def test_restore_project_mismatch( function test_restore_create_new (line 316) | async def test_restore_create_new( function test_restore_with_secrets (line 337) | async def test_restore_with_secrets( function test_restore_with_deletions (line 359) | async def test_restore_with_deletions( function test_restore_empty_backup_with_deletions_refused (line 385) | async def test_restore_empty_backup_with_deletions_refused( FILE: packages/llama-agents-control-plane/tests/backup/test_encryption.py function test_round_trip (line 15) | def test_round_trip() -> None: function test_tampered_ciphertext_raises_invalid_tag (line 22) | def test_tampered_ciphertext_raises_invalid_tag() -> None: function test_wrong_password_raises_invalid_tag (line 30) | def test_wrong_password_raises_invalid_tag() -> None: function test_empty_plaintext_round_trip (line 36) | def test_empty_plaintext_round_trip() -> None: function test_short_data_raises_value_error (line 41) | def test_short_data_raises_value_error() -> None: FILE: packages/llama-agents-control-plane/tests/backup/test_schema.py function test_backup_response (line 16) | def test_backup_response() -> None: function test_backup_response_defaults (line 29) | def test_backup_response_defaults() -> None: function test_backup_list_response (line 37) | def test_backup_list_response() -> None: function test_restore_request_defaults (line 47) | def test_restore_request_defaults() -> None: function test_restore_request_custom (line 53) | def test_restore_request_custom() -> None: function test_restore_deployment_result (line 63) | def test_restore_deployment_result() -> None: function test_restore_response (line 68) | def test_restore_response() -> None: FILE: packages/llama-agents-control-plane/tests/backup/test_storage.py function _make_storage (line 14) | def _make_storage() -> S3BackupStorage: function _create_bucket (line 23) | def _create_bucket() -> None: function test_upload_download_round_trip (line 34) | async def test_upload_download_round_trip() -> None: function test_list_returns_sorted_backups (line 45) | async def test_list_returns_sorted_backups() -> None: function test_delete_removes_backup (line 66) | async def test_delete_removes_backup() -> None: function test_get_info_returns_none_for_missing (line 78) | async def test_get_info_returns_none_for_missing() -> None: function test_generate_backup_id_format (line 85) | def test_generate_backup_id_format() -> None: FILE: packages/llama-agents-control-plane/tests/code_repo/conftest.py function make_storage (line 19) | def make_storage() -> CodeRepoStorage: function create_bucket (line 28) | def create_bucket() -> None: function create_test_repo (line 38) | def create_test_repo(path: Path) -> Repo: FILE: packages/llama-agents-control-plane/tests/code_repo/test_git_server.py function _add_commit_to_repo (line 34) | def _add_commit_to_repo(repo: Repo, filename: bytes, content: bytes) -> ... function _sha_file_to_unpacked (line 61) | def _sha_file_to_unpacked(obj: ShaFile) -> UnpackedObject: function _collect_repo_objects (line 72) | def _collect_repo_objects(repo: Repo) -> list[ShaFile]: function _build_receive_pack_body (line 95) | def _build_receive_pack_body( function _make_test_app (line 128) | def _make_test_app( function test_info_refs_receive_pack_empty_repo (line 163) | async def test_info_refs_receive_pack_empty_repo() -> None: function test_info_refs_upload_pack_existing_repo (line 184) | async def test_info_refs_upload_pack_existing_repo(tmp_path: Path) -> None: function test_push_to_empty_repo_triggers_callback_and_uploads (line 214) | async def test_push_to_empty_repo_triggers_callback_and_uploads( function test_push_with_chunked_transfer_encoding (line 265) | async def test_push_with_chunked_transfer_encoding(tmp_path: Path) -> None: function test_push_updates_existing_repo (line 308) | async def test_push_updates_existing_repo(tmp_path: Path) -> None: function test_readonly_rejects_receive_pack (line 374) | async def test_readonly_rejects_receive_pack(tmp_path: Path) -> None: function test_readonly_returns_404_for_missing_repo (line 412) | async def test_readonly_returns_404_for_missing_repo() -> None: function test_readonly_serves_upload_pack (line 432) | async def test_readonly_serves_upload_pack(tmp_path: Path) -> None: function test_handle_git_request_closes_repo_handles (line 459) | async def test_handle_git_request_closes_repo_handles( function test_handle_git_request_readonly_closes_repo_after_response (line 497) | async def test_handle_git_request_readonly_closes_repo_after_response( FILE: packages/llama-agents-control-plane/tests/code_repo/test_storage.py function test_round_trip_bare_repo (line 19) | async def test_round_trip_bare_repo(tmp_path: Path) -> None: function test_download_returns_none_when_no_repo (line 40) | async def test_download_returns_none_when_no_repo() -> None: function test_repo_exists (line 50) | async def test_repo_exists(tmp_path: Path) -> None: function test_init_bare_repo (line 68) | async def test_init_bare_repo() -> None: function test_delete_repo (line 79) | async def test_delete_repo(tmp_path: Path) -> None: function test_resolve_ref_supports_commit_sha_and_tags (line 97) | async def test_resolve_ref_supports_commit_sha_and_tags(tmp_path: Path) ... function test_resolve_ref_rejects_missing_or_non_commit_sha (line 116) | async def test_resolve_ref_rejects_missing_or_non_commit_sha(tmp_path: P... FILE: packages/llama-agents-control-plane/tests/deployments/test_deployments_service.py function _make_deployment (line 21) | def _make_deployment( function _rs (line 38) | def _rs(uid: str) -> types.SimpleNamespace: function _line (line 44) | def _line(pod: str, container: str, text: str) -> types.SimpleNamespace: function test_stream_logs_missing_deployment (line 59) | async def test_stream_logs_missing_deployment(mock_get_deployment: Async... function test_stream_logs_project_mismatch (line 75) | async def test_stream_logs_project_mismatch(mock_get_deployment: AsyncMo... function test_stream_logs_no_replicaset (line 98) | async def test_stream_logs_no_replicaset( function test_stream_logs_happy_path (line 136) | async def test_stream_logs_happy_path( function test_stream_logs_follow_false_threads_through_and_terminates (line 192) | async def test_stream_logs_follow_false_threads_through_and_terminates( function test_stream_logs_restarts_on_rs_change (line 254) | async def test_stream_logs_restarts_on_rs_change( function test_get_deployment_project_mismatch (line 315) | async def test_get_deployment_project_mismatch(mock_get_deployment: Asyn... function test_get_deployment_missing (line 328) | async def test_get_deployment_missing(mock_get_deployment: AsyncMock) ->... function test_delete_deployment_project_mismatch (line 341) | async def test_delete_deployment_project_mismatch( function test_delete_deployment_missing (line 356) | async def test_delete_deployment_missing(mock_get_deployment: AsyncMock)... function test_delete_deployment_success_no_code_repo (line 381) | async def test_delete_deployment_success_no_code_repo( function test_delete_deployment_cleans_up_code_repo (line 411) | async def test_delete_deployment_cleans_up_code_repo( function test_delete_deployment_k8s_error_propagates (line 437) | async def test_delete_deployment_k8s_error_propagates( function test_get_deployment_history_project_mismatch (line 459) | async def test_get_deployment_history_project_mismatch( function test_get_deployment_history_missing (line 474) | async def test_get_deployment_history_missing( function test_rollback_deployment_project_mismatch (line 489) | async def test_rollback_deployment_project_mismatch( function test_rollback_deployment_missing (line 506) | async def test_rollback_deployment_missing(mock_get_deployment: AsyncMoc... function test_update_deployment_project_mismatch (line 521) | async def test_update_deployment_project_mismatch( function test_update_deployment_missing (line 538) | async def test_update_deployment_missing(mock_get_deployment: AsyncMock)... function test_update_deployment_unresolvable_ref_returns_400 (line 556) | async def test_update_deployment_unresolvable_ref_returns_400( function test_update_deployment_internal_ref_requires_storage (line 585) | async def test_update_deployment_internal_ref_requires_storage( function test_update_deployment_internal_path_change_skips_storage_resolution (line 617) | async def test_update_deployment_internal_path_change_skips_storage_reso... function test_create_deployment_empty_repo_requires_internal_storage (line 652) | async def test_create_deployment_empty_repo_requires_internal_storage( function test_handle_git_request_rejects_external_repo_deployments (line 680) | async def test_handle_git_request_rejects_external_repo_deployments( function test_handle_git_request_allows_push_mode_deployments (line 713) | async def test_handle_git_request_allows_push_mode_deployments( FILE: packages/llama-agents-control-plane/tests/test_build_app.py function test_health_returns_503_when_s3_not_configured (line 9) | async def test_health_returns_503_when_s3_not_configured() -> None: function test_health_returns_200_when_s3_configured (line 25) | async def test_health_returns_200_when_s3_configured() -> None: FILE: packages/llama-agents-control-plane/tests/test_build_app_ssrf.py function test_validate_git_path_allows_valid_paths (line 24) | def test_validate_git_path_allows_valid_paths(path: str) -> None: function test_validate_git_path_rejects_invalid_paths (line 35) | def test_validate_git_path_rejects_invalid_paths(path: str) -> None: function test_validate_url_blocks_private_ips (line 63) | def test_validate_url_blocks_private_ips( function test_validate_url_allows_public_ip (line 75) | def test_validate_url_allows_public_ip() -> None: function test_validate_url_blocks_dns_failure (line 83) | def test_validate_url_blocks_dns_failure() -> None: function test_validate_url_blocks_no_hostname (line 92) | def test_validate_url_blocks_no_hostname() -> None: FILE: packages/llama-agents-control-plane/tests/test_build_gc.py class FakeStorage (line 27) | class FakeStorage: method list_artifacts (line 36) | async def list_artifacts(self, deployment_name: str) -> list[ArtifactI... method delete_artifact (line 39) | async def delete_artifact(self, deployment_name: str, build_id: str) -... method delete_all_artifacts (line 47) | async def delete_all_artifacts(self, deployment_name: str) -> int: function _artifact (line 57) | def _artifact( function _replicaset_with_build_id (line 68) | def _replicaset_with_build_id(build_id: str) -> V1ReplicaSet: function now (line 91) | def now() -> datetime: function fake_storage (line 96) | def fake_storage() -> FakeStorage: function patched_gc (line 101) | def patched_gc(fake_storage: FakeStorage): function test_retains_two_recent_artifacts_for_same_deployment (line 115) | async def test_retains_two_recent_artifacts_for_same_deployment( function test_retains_artifact_within_grace_window (line 134) | async def test_retains_artifact_within_grace_window( function test_deletes_unreferenced_artifact_past_grace_window (line 153) | async def test_deletes_unreferenced_artifact_past_grace_window( function test_retains_referenced_artifact_regardless_of_age (line 170) | async def test_retains_referenced_artifact_regardless_of_age( function test_keep_build_ids_forces_retention (line 190) | async def test_keep_build_ids_forces_retention( function test_mixed_cohort_only_aged_out_deleted (line 209) | async def test_mixed_cohort_only_aged_out_deleted( function test_handles_naive_datetime_from_storage (line 232) | async def test_handles_naive_datetime_from_storage( function test_returns_zero_when_storage_disabled (line 256) | async def test_returns_zero_when_storage_disabled(now: datetime) -> None: function test_delete_all_artifacts_for_deployment (line 263) | async def test_delete_all_artifacts_for_deployment( function test_partial_delete_failure_does_not_abort_remaining (line 281) | async def test_partial_delete_failure_does_not_abort_remaining(now: date... FILE: packages/llama-agents-control-plane/tests/test_endpoints.py function test_public_version_endpoint_returns_extended_fields (line 30) | def test_public_version_endpoint_returns_extended_fields() -> None: function mock_existing_deployment (line 43) | def mock_existing_deployment() -> Generator[MagicMock, None, None]: function default_mock_git_ref (line 65) | def default_mock_git_ref() -> Generator[MagicMock, None, None]: function mock_git_ref (line 78) | def mock_git_ref( function test_list_deployments (line 90) | def test_list_deployments(mock_get_deployments: MagicMock) -> None: function test_get_deployment_success (line 119) | def test_get_deployment_success(mock_get_deployment: MagicMock) -> None: function test_get_deployment_with_events (line 146) | def test_get_deployment_with_events( function test_get_deployment_not_found (line 187) | def test_get_deployment_not_found(mock_get_deployment: MagicMock) -> None: function test_create_deployment_success (line 198) | def test_create_deployment_success(mock_create_deployment: MagicMock) ->... function test_create_deployment_empty_repo_without_storage_fails_fast (line 258) | def test_create_deployment_empty_repo_without_storage_fails_fast( function test_create_deployment_with_git_ref (line 278) | def test_create_deployment_with_git_ref(mock_create_deployment: MagicMoc... function test_create_deployment_git_ref_validation_error (line 333) | def test_create_deployment_git_ref_validation_error( function test_update_deployment_success (line 401) | def test_update_deployment_success( function test_update_deployment_suspend_skips_git_validation (line 465) | def test_update_deployment_suspend_skips_git_validation( function test_update_deployment_internal_repo_skips_git_validation (line 513) | def test_update_deployment_internal_repo_skips_git_validation( function test_update_deployment_empty_repo_url_preserves_internal (line 562) | def test_update_deployment_empty_repo_url_preserves_internal( function test_update_deployment_partial (line 609) | def test_update_deployment_partial( function test_update_deployment_secrets_only (line 653) | def test_update_deployment_secrets_only( function test_list_projects (line 698) | def test_list_projects(mock_get_projects: MagicMock) -> None: function test_create_deployment_validation_error (line 714) | def test_create_deployment_validation_error() -> None: function test_create_deployment_rejects_invalid_appserver_version (line 727) | def test_create_deployment_rejects_invalid_appserver_version() -> None: function test_stream_deployment_logs_success (line 747) | def test_stream_deployment_logs_success(mock_stream: MagicMock) -> None: function test_stream_deployment_logs_follow_false_threads_through (line 793) | def test_stream_deployment_logs_follow_false_threads_through( function test_stream_deployment_logs_unexpected_error (line 824) | def test_stream_deployment_logs_unexpected_error(mock_stream: MagicMock)... function test_stream_deployment_logs_not_found (line 840) | def test_stream_deployment_logs_not_found(mock_stream: MagicMock) -> None: function test_stream_deployment_logs_no_replicaset (line 854) | def test_stream_deployment_logs_no_replicaset(mock_stream: MagicMock) ->... function test_git_endpoint_rejects_external_repo_deployments (line 866) | def test_git_endpoint_rejects_external_repo_deployments( function test_get_deployment_history (line 895) | def test_get_deployment_history( function test_rollback (line 927) | def test_rollback( function test_create_deployment_operator_default_ignores_client_version (line 994) | def test_create_deployment_operator_default_ignores_client_version( function test_update_deployment_operator_default_ignores_client_version (line 1029) | def test_update_deployment_operator_default_ignores_client_version( function test_rollback_operator_default_ignores_history_tag (line 1065) | def test_rollback_operator_default_ignores_history_tag( FILE: packages/llama-agents-control-plane/tests/test_find_deployment_id.py function test_find_deployment_id_no_suffix_when_available (line 11) | async def test_find_deployment_id_no_suffix_when_available() -> None: function test_find_deployment_id_suffix_when_base_taken (line 27) | async def test_find_deployment_id_suffix_when_base_taken() -> None: function test_find_deployment_id_short_name_gets_suffix (line 50) | async def test_find_deployment_id_short_name_gets_suffix() -> None: function test_find_deployment_id_three_char_name_no_suffix (line 65) | async def test_find_deployment_id_three_char_name_no_suffix() -> None: function test_find_deployment_id_name_cleaning (line 80) | async def test_find_deployment_id_name_cleaning() -> None: function test_find_deployment_id_real_validation (line 95) | async def test_find_deployment_id_real_validation() -> None: function test_create_deployment_id_behavior (line 120) | async def test_create_deployment_id_behavior() -> None: function test_create_deployment_with_collision (line 163) | async def test_create_deployment_with_collision() -> None: function test_find_deployment_id_numeric_name_gets_prefix (line 205) | async def test_find_deployment_id_numeric_name_gets_prefix() -> None: function test_find_deployment_id_digit_start_gets_prefix (line 219) | async def test_find_deployment_id_digit_start_gets_prefix() -> None: function test_find_deployment_id_alpha_start_no_prefix (line 233) | async def test_find_deployment_id_alpha_start_no_prefix() -> None: function test_find_deployment_id_empty_name_suffix_starts_with_letter (line 247) | async def test_find_deployment_id_empty_name_suffix_starts_with_letter()... function test_find_deployment_id_max_length_63 (line 263) | async def test_find_deployment_id_max_length_63() -> None: function test_find_deployment_id_exhaustion (line 277) | async def test_find_deployment_id_exhaustion() -> None: FILE: packages/llama-agents-control-plane/tests/test_git_service.py function mock_github_api (line 22) | def mock_github_api() -> Generator[respx.Router, None, None]: function default_public_probe_false (line 30) | def default_public_probe_false() -> Generator[None, None, None]: function service (line 37) | def service() -> GitService: function project_id (line 42) | def project_id() -> str: function github_app_auth (line 47) | def github_app_auth() -> Generator[GitHubAppAuth, None, None]: function no_github_app_auth (line 98) | def no_github_app_auth() -> Generator[GitHubAppAuth | None, None, None]: function mock_github_repo_and_owner (line 109) | def mock_github_repo_and_owner( function mock_pat_access (line 189) | def mock_pat_access( function mock_api_throttled_public_repo (line 203) | def mock_api_throttled_public_repo( function test_public_github_repo (line 215) | async def test_public_github_repo( function test_public_github_repo_uses_git_probe_instead_of_anonymous_api (line 244) | async def test_public_github_repo_uses_git_probe_instead_of_anonymous_api( function test_private_github_repo_with_app_access (line 266) | async def test_private_github_repo_with_app_access( function test_private_github_repo_with_valid_pat (line 300) | async def test_private_github_repo_with_valid_pat( function test_private_github_repo_with_invalid_pat (line 331) | async def test_private_github_repo_with_invalid_pat( function test_inaccessible_github_repo (line 360) | async def test_inaccessible_github_repo( function test_public_generic_repo (line 398) | async def test_public_generic_repo( function test_private_generic_repo_with_valid_pat (line 413) | async def test_private_generic_repo_with_valid_pat( function test_private_generic_repo_with_invalid_pat (line 433) | async def test_private_generic_repo_with_invalid_pat( function test_inaccessible_generic_repo (line 453) | async def test_inaccessible_generic_repo( function test_github_detection (line 467) | async def test_github_detection( function test_non_github_detection (line 477) | async def test_non_github_detection( function test_is_github_repository_rejects_spoofed_urls (line 487) | async def test_is_github_repository_rejects_spoofed_urls( function test_existing_deployment_with_pat (line 499) | async def test_existing_deployment_with_pat( function test_pat_obsolete_detection (line 536) | async def test_pat_obsolete_detection( function test_invalid_github_repository_url_single_segment (line 570) | async def test_invalid_github_repository_url_single_segment( function test_github_owner_missing (line 584) | async def test_github_owner_missing( function test_github_org_installation_all_repos_accessible (line 606) | async def test_github_org_installation_all_repos_accessible( function test_github_org_installation_repo_missing (line 644) | async def test_github_org_installation_repo_missing( function test_github_org_installation_selected_repos_without_access (line 674) | async def test_github_org_installation_selected_repos_without_access( function test_validate_github_application_uses_contents_api_not_clone (line 706) | async def test_validate_github_application_uses_contents_api_not_clone( function test_validate_github_application_missing_config (line 780) | async def test_validate_github_application_missing_config( function test_validate_github_application_encodes_slash_ref (line 824) | async def test_validate_github_application_encodes_slash_ref( function test_validate_github_repository_ssh_url_handles_public_probe_error (line 887) | async def test_validate_github_repository_ssh_url_handles_public_probe_e... function test_validate_github_application_rejects_traversal_path (line 916) | async def test_validate_github_application_rejects_traversal_path( function test_fetch_ui_package_json_rejects_path_traversal (line 952) | async def test_fetch_ui_package_json_rejects_path_traversal() -> None: FILE: packages/llama-agents-control-plane/tests/test_k8s_client.py function mock_k8s (line 40) | def mock_k8s() -> Generator[MagicMock, None, None]: function mock_validate (line 46) | def mock_validate() -> Generator[MagicMock, None, None]: class DeploymentMockParams (line 53) | class DeploymentMockParams(TypedDict, total=False): function create_deployment_mock (line 66) | def create_deployment_mock( function create_deployment_mock_crd (line 92) | def create_deployment_mock_crd( function test_append_random_suffix (line 98) | def test_append_random_suffix() -> None: function test_validate_deployment_id_available (line 118) | async def test_validate_deployment_id_available(mock_k8s: MagicMock) -> ... function test_validate_deployment_id_taken (line 129) | async def test_validate_deployment_id_taken(mock_k8s: MagicMock) -> None: function test_find_deployment_id_first_try (line 143) | async def test_find_deployment_id_first_try(mock_validate: MagicMock) ->... function test_find_deployment_id_with_collision (line 153) | async def test_find_deployment_id_with_collision(mock_validate: MagicMoc... function test_validate_deployment_token_success (line 166) | async def test_validate_deployment_token_success(mock_k8s: MagicMock) ->... function test_validate_deployment_token_wrong_token (line 185) | async def test_validate_deployment_token_wrong_token(mock_k8s: MagicMock... function test_validate_deployment_token_no_token (line 202) | async def test_validate_deployment_token_no_token(mock_k8s: MagicMock) -... function test_validate_deployment_token_deployment_not_found (line 217) | async def test_validate_deployment_token_deployment_not_found( function test_get_secret_names_success (line 234) | async def test_get_secret_names_success(mock_k8s: MagicMock) -> None: function test_get_secret_names_not_found (line 249) | async def test_get_secret_names_not_found(mock_k8s: MagicMock) -> None: function test_get_secret_names_empty_secret (line 258) | async def test_get_secret_names_empty_secret(mock_k8s: MagicMock) -> None: function test_get_secret_names_batch (line 270) | async def test_get_secret_names_batch(mock_get_secret_names: MagicMock) ... function test_llamadeployment_crd_missing_status (line 289) | def test_llamadeployment_crd_missing_status(mock_k8s: MagicMock) -> None: function test_llamadeployment_to_response_basic (line 303) | def test_llamadeployment_to_response_basic(mock_k8s: MagicMock) -> None: function test_llamadeployment_to_response_with_secrets (line 329) | def test_llamadeployment_to_response_with_secrets(mock_k8s: MagicMock) -... function test_llamadeployment_to_response_only_github_pat (line 354) | def test_llamadeployment_to_response_only_github_pat(mock_k8s: MagicMock... function test_llamadeployment_to_response_with_ingress (line 376) | def test_llamadeployment_to_response_with_ingress(mock_k8s: MagicMock) -... function test_llamadeployment_to_response_building_mapped_to_pending (line 392) | def test_llamadeployment_to_response_building_mapped_to_pending( function test_llamadeployment_to_response_buildfailed_mapped_to_failed (line 410) | def test_llamadeployment_to_response_buildfailed_mapped_to_failed( function test_llamadeployment_to_response_running_not_mapped (line 428) | def test_llamadeployment_to_response_running_not_mapped( function test_llamadeployment_to_response_awaitingcode_mapped_to_pending (line 445) | def test_llamadeployment_to_response_awaitingcode_mapped_to_pending( function test_update_deployment_basic_fields (line 466) | async def test_update_deployment_basic_fields( function test_update_deployment_with_secrets (line 545) | async def test_update_deployment_with_secrets( function test_update_deployment_not_found (line 620) | async def test_update_deployment_not_found(mock_k8s: MagicMock) -> None: function test_update_deployment_secret_required_but_missing (line 637) | async def test_update_deployment_secret_required_but_missing( function test_update_deployment_secret_not_found (line 700) | async def test_update_deployment_secret_not_found( function test_update_deployment_api_error (line 756) | async def test_update_deployment_api_error(mock_k8s: MagicMock) -> None: function test_create_deployment_with_git_ref (line 771) | async def test_create_deployment_with_git_ref( function test_create_deployment_with_git_ref_and_pat (line 800) | async def test_create_deployment_with_git_ref_and_pat( function test_update_deployment_git_ref_validation_error (line 828) | async def test_update_deployment_git_ref_validation_error(mock_k8s: Magi... function test_update_deployment_with_git_ref_success (line 859) | async def test_update_deployment_with_git_ref_success( function test_get_latest_replicaset_for_deployment_not_found (line 899) | async def test_get_latest_replicaset_for_deployment_not_found( function test_get_latest_replicaset_for_deployment_picks_highest_revision (line 910) | async def test_get_latest_replicaset_for_deployment_picks_highest_revision( function test_stream_replicaset_logs_follow (line 953) | async def test_stream_replicaset_logs_follow(mock_k8s: MagicMock) -> None: function test_stream_replicaset_logs_non_follow_completes_with_stop_event (line 996) | async def test_stream_replicaset_logs_non_follow_completes_with_stop_event( function test_get_replicaset_pods_for_deployment_filters_by_owner (line 1039) | async def test_get_replicaset_pods_for_deployment_filters_by_owner( function test_stream_container_logs_single_pod_multi_lines (line 1075) | async def test_stream_container_logs_single_pod_multi_lines( FILE: packages/llama-agents-control-plane/tests/test_storage.py function _make_async_cm (line 15) | def _make_async_cm() -> AsyncMock: function test_client_uses_unsigned_config_when_unsigned_is_true (line 23) | async def test_client_uses_unsigned_config_when_unsigned_is_true() -> None: function test_client_omits_config_and_passes_creds_when_unsigned_is_false (line 47) | async def test_client_omits_config_and_passes_creds_when_unsigned_is_fal... FILE: packages/llama-agents-control-plane/tests/test_ui_build_path.py function test_validate_git_application_ui_path_for_pyproject_at_examples_basic_ui (line 12) | async def test_validate_git_application_ui_path_for_pyproject_at_example... FILE: packages/llama-agents-core/src/llama_agents/core/_alias.py class _AliasLoader (line 22) | class _AliasLoader(Loader): method __init__ (line 25) | def __init__(self, real_name: str) -> None: method create_module (line 28) | def create_module(self, spec: ModuleSpec) -> ModuleType | None: method exec_module (line 31) | def exec_module(self, module: ModuleType) -> None: method get_code (line 35) | def get_code(self, fullname: str) -> CodeType | None: class _AliasFinder (line 48) | class _AliasFinder(MetaPathFinder): method find_spec (line 51) | def find_spec( function install_alias_finder (line 75) | def install_alias_finder() -> None: FILE: packages/llama-agents-core/src/llama_agents/core/_compat.py function get_logging_level_mapping (line 16) | def get_logging_level_mapping() -> Mapping[str, int]: function load_toml_file (line 29) | def load_toml_file(file_obj: BinaryIO) -> dict[str, Any]: FILE: packages/llama-agents-core/src/llama_agents/core/client/manage_client.py class BaseClient (line 37) | class BaseClient: method __init__ (line 38) | def __init__( method aclose (line 59) | async def aclose(self) -> None: class ControlPlaneClient (line 64) | class ControlPlaneClient(BaseClient): method ctx (line 69) | async def ctx( method __init__ (line 81) | def __init__( method server_version (line 86) | async def server_version(self) -> VersionResponse: method create_backup (line 91) | async def create_backup(self) -> BackupResponse: method list_backups (line 96) | async def list_backups(self) -> BackupListResponse: method get_backup (line 101) | async def get_backup(self, backup_id: str) -> BackupResponse: method delete_backup (line 106) | async def delete_backup(self, backup_id: str) -> BackupResponse: method restore_backup (line 111) | async def restore_backup( method list_organizations (line 123) | async def list_organizations(self) -> List[OrgSummary]: method list_projects (line 129) | async def list_projects(self, org_id: str | None = None) -> List[Proje... function _raise_for_status (line 141) | def _raise_for_status(response: httpx.Response) -> None: function _response_body_snippet (line 162) | def _response_body_snippet(response: httpx.Response, limit: int = 500) -... class ProjectClient (line 181) | class ProjectClient(BaseClient): method ctx (line 186) | async def ctx( method __init__ (line 202) | def __init__( method list_deployments (line 212) | async def list_deployments(self) -> List[DeploymentResponse]: method get_deployment (line 221) | async def get_deployment( method create_deployment (line 231) | async def create_deployment( method delete_deployment (line 242) | async def delete_deployment(self, deployment_id: str) -> None: method update_deployment (line 249) | async def update_deployment( method get_deployment_history (line 262) | async def get_deployment_history( method rollback_deployment (line 272) | async def rollback_deployment( method validate_repository (line 283) | async def validate_repository( method stream_deployment_logs (line 301) | async def stream_deployment_logs( FILE: packages/llama-agents-core/src/llama_agents/core/client/ssl_util.py function get_ssl_context (line 12) | def get_ssl_context() -> ssl.SSLContext | bool: function get_httpx_verify_param (line 26) | def get_httpx_verify_param() -> Any: FILE: packages/llama-agents-core/src/llama_agents/core/deployment_config.py function read_deployment_config_from_git_root_or_cwd (line 16) | def read_deployment_config_from_git_root_or_cwd( function read_deployment_config (line 29) | def read_deployment_config(source_root: Path, config_path: Path) -> "Dep... function resolve_config_parent (line 174) | def resolve_config_parent(root: Path, deployment_path: Path) -> Path: class DeploymentConfig (line 188) | class DeploymentConfig(BaseModel): method merge_config (line 225) | def merge_config(self, config: "DeploymentConfig") -> "DeploymentConfig": method has_no_workflows (line 246) | def has_no_workflows(self) -> bool: method has_both_app_and_workflows (line 250) | def has_both_app_and_workflows(self) -> bool: method is_valid (line 254) | def is_valid(self) -> bool: method validate_config (line 262) | def validate_config(self) -> None: method build_output_path (line 269) | def build_output_path(self) -> Path | None: function _pick_non_default (line 283) | def _pick_non_default(a: T, b: T, default: T) -> T: class UIConfig (line 289) | class UIConfig(BaseModel): method merge_config (line 315) | def merge_config(self, config: "UIConfig") -> "UIConfig": class ServiceSourceV0 (line 336) | class ServiceSourceV0(BaseModel): method validate_fields (line 343) | def validate_fields(cls, data: Any) -> Any: class DerecatedService (line 350) | class DerecatedService(BaseModel): method validate_fields (line 361) | def validate_fields(cls, data: Any) -> Any: method module_location (line 373) | def module_location(self) -> tuple[str, str]: class DeprecatedDeploymentConfig (line 385) | class DeprecatedDeploymentConfig(BaseModel): method validate_fields (line 397) | def validate_fields(cls, data: Any) -> Any: method from_yaml (line 406) | def from_yaml( method to_deployment_config (line 417) | def to_deployment_config(self) -> DeploymentConfig: FILE: packages/llama-agents-core/src/llama_agents/core/git/git_util.py function _discover_repo (line 39) | def _discover_repo() -> Iterator[Repo]: function parse_github_repo_url (line 51) | def parse_github_repo_url(repo_url: str) -> tuple[str, str]: class GitAccessError (line 80) | class GitAccessError(Exception): method __init__ (line 83) | def __init__(self, message: str): function validate_git_url (line 94) | def validate_git_url(url: str) -> None: function validate_git_url_no_ssrf (line 121) | def validate_git_url_no_ssrf(url: str) -> None: function _check_hostname_not_private (line 136) | def _check_hostname_not_private(hostname: str) -> None: class GitCloneResult (line 152) | class GitCloneResult: function _split_basic_auth (line 157) | def _split_basic_auth(basic_auth: str | None) -> tuple[str | None, str |... function _resolved_git_ref_for_head (line 168) | def _resolved_git_ref_for_head(repo: Repo) -> str | None: function resolve_ref_in_repo (line 194) | def resolve_ref_in_repo(repo: Repo, git_ref: str) -> bytes | None: function _checkout_ref (line 239) | def _checkout_ref(repo: Repo, git_ref: str) -> None: function clone_repo_sync (line 263) | def clone_repo_sync( function clone_repo (line 380) | async def clone_repo( function validate_deployment_file (line 400) | def validate_deployment_file(repo_dir: Path, deployment_file_path: str) ... function _probe_remote (line 432) | def _probe_remote( function validate_git_public_access_sync (line 452) | def validate_git_public_access_sync(repository_url: str) -> bool: function validate_git_public_access (line 458) | async def validate_git_public_access(repository_url: str) -> bool: function validate_git_credential_access_sync (line 463) | def validate_git_credential_access_sync(repository_url: str, basic_auth:... function validate_git_credential_access (line 470) | async def validate_git_credential_access(repository_url: str, basic_auth... function is_git_repo (line 477) | def is_git_repo() -> bool: function list_remotes (line 485) | def list_remotes() -> list[str]: function get_current_branch (line 499) | def get_current_branch() -> str | None: function get_commit_sha_for_ref (line 512) | def get_commit_sha_for_ref(ref: str) -> str | None: function get_git_root (line 535) | def get_git_root() -> Path: function working_tree_has_changes (line 540) | def working_tree_has_changes() -> bool: function get_unpushed_commits_count (line 554) | def get_unpushed_commits_count() -> int | None: FILE: packages/llama-agents-core/src/llama_agents/core/iter_utils.py function debounced_sorted_prefix (line 14) | async def debounced_sorted_prefix( function merge_generators (line 56) | async def merge_generators( class Debouncer (line 155) | class Debouncer: method __init__ (line 161) | def __init__( method _loop (line 176) | async def _loop(self) -> None: method is_complete (line 186) | def is_complete(self) -> bool: method extend_window (line 189) | def extend_window(self) -> None: method wait (line 194) | async def wait(self) -> None: method aiter (line 198) | async def aiter(self) -> AsyncGenerator[COMPLETE, None]: FILE: packages/llama-agents-core/src/llama_agents/core/path_util.py function validate_path_traversal (line 4) | def validate_path_traversal( FILE: packages/llama-agents-core/src/llama_agents/core/schema/backups.py class BackupResponse (line 9) | class BackupResponse(Base): class BackupListResponse (line 18) | class BackupListResponse(Base): class RestoreRequest (line 22) | class RestoreRequest(Base): class RestoreDeploymentResult (line 28) | class RestoreDeploymentResult(Base): class RestoreResponse (line 34) | class RestoreResponse(Base): FILE: packages/llama-agents-core/src/llama_agents/core/schema/base.py class Base (line 19) | class Base(BaseModel): FILE: packages/llama-agents-core/src/llama_agents/core/schema/deployments.py function validate_dns_1035_label (line 18) | def validate_dns_1035_label(value: str) -> str: function validate_appserver_version (line 35) | def validate_appserver_version(value: str) -> str: function _validate_optional_appserver_version (line 54) | def _validate_optional_appserver_version(value: str | None) -> str | None: function version_to_image_tag (line 70) | def version_to_image_tag(version: str) -> str: function image_tag_to_version (line 75) | def image_tag_to_version(tag: str) -> str | None: class DeploymentEvent (line 102) | class DeploymentEvent(Base): class DeploymentResponse (line 121) | class DeploymentResponse(Base): method name (line 166) | def name(self) -> str: method llama_deploy_version (line 171) | def llama_deploy_version(self) -> str | None: method _compat_aliases (line 176) | def _compat_aliases(cls, data: dict) -> dict: # type: ignore[type-arg] class DeploymentsListResponse (line 186) | class DeploymentsListResponse(Base): class DeploymentCreate (line 192) | class DeploymentCreate(Base): method _compat_aliases (line 223) | def _compat_aliases(cls, data: dict) -> dict: # type: ignore[type-arg] method name (line 234) | def name(self) -> str: method llama_deploy_version (line 239) | def llama_deploy_version(self) -> str | None: method _require_id_format (line 243) | def _require_id_format(self) -> "DeploymentCreate": class LlamaDeploymentMetadata (line 249) | class LlamaDeploymentMetadata(Base): class LlamaDeploymentSpec (line 259) | class LlamaDeploymentSpec(Base): method _migrate_name (line 284) | def _migrate_name(cls, data: dict) -> dict: # type: ignore[type-arg] method get_display_name (line 291) | def get_display_name(self) -> str: class LlamaDeploymentStatus (line 296) | class LlamaDeploymentStatus(Base): class LlamaDeploymentCRD (line 311) | class LlamaDeploymentCRD(Base): class DeploymentUpdate (line 317) | class DeploymentUpdate(Base): method name (line 373) | def name(self) -> str | None: method llama_deploy_version (line 378) | def llama_deploy_version(self) -> str | None: method _compat_aliases (line 383) | def _compat_aliases(cls, data: dict) -> dict: # type: ignore[type-arg] method has_git_fields (line 392) | def has_git_fields(self) -> bool: method _has_substantive_fields (line 403) | def _has_substantive_fields(self) -> bool: class DeploymentUpdateResult (line 419) | class DeploymentUpdateResult(Base): function apply_deployment_update (line 431) | def apply_deployment_update( class LogEvent (line 525) | class LogEvent(Base): class ReleaseHistoryEntry (line 535) | class ReleaseHistoryEntry(Base): class ReleaseHistoryItem (line 545) | class ReleaseHistoryItem(Base): class DeploymentHistoryResponse (line 557) | class DeploymentHistoryResponse(Base): class RollbackRequest (line 564) | class RollbackRequest(Base): FILE: packages/llama-agents-core/src/llama_agents/core/schema/git_validation.py class RepositoryValidationResponse (line 6) | class RepositoryValidationResponse(BaseModel): class RepositoryValidationRequest (line 39) | class RepositoryValidationRequest(BaseModel): class GitApplicationValidationResponse (line 45) | class GitApplicationValidationResponse(BaseModel): FILE: packages/llama-agents-core/src/llama_agents/core/schema/projects.py class OrgSummary (line 8) | class OrgSummary(Base): class OrganizationsListResponse (line 16) | class OrganizationsListResponse(Base): class ProjectSummary (line 22) | class ProjectSummary(Base): method set_default_project_name (line 32) | def set_default_project_name(cls, data: Any) -> Any: class ProjectsListResponse (line 40) | class ProjectsListResponse(Base): FILE: packages/llama-agents-core/src/llama_agents/core/schema/public.py class Capabilities (line 8) | class Capabilities: class VersionResponse (line 15) | class VersionResponse(Base): FILE: packages/llama-agents-core/src/llama_agents/core/server/manage_api/_abstract_deployments_service.py class AbstractPublicDeploymentsService (line 14) | class AbstractPublicDeploymentsService(ABC): method get_version (line 16) | async def get_version(self) -> schema.VersionResponse: class AbstractDeploymentsService (line 23) | class AbstractDeploymentsService(ABC): method get_organizations (line 25) | async def get_organizations(self) -> schema.OrganizationsListResponse: method get_projects (line 32) | async def get_projects( method validate_repository (line 41) | async def validate_repository( method create_deployment (line 52) | async def create_deployment( method get_deployments (line 72) | async def get_deployments( method get_deployment (line 88) | async def get_deployment( method delete_deployment (line 110) | async def delete_deployment( method update_deployment (line 130) | async def update_deployment( method get_deployment_history (line 152) | async def get_deployment_history( method rollback_deployment (line 161) | async def rollback_deployment( method stream_deployment_logs (line 170) | async def stream_deployment_logs( method handle_git_request (line 207) | async def handle_git_request( FILE: packages/llama-agents-core/src/llama_agents/core/server/manage_api/_create_deployments_router.py function get_project_id (line 20) | async def get_project_id( function create_v1beta1_deployments_router (line 33) | def create_v1beta1_deployments_router( FILE: packages/llama-agents-core/src/llama_agents/core/server/manage_api/_exceptions.py class DeploymentNotFoundError (line 1) | class DeploymentNotFoundError(Exception): class ReplicaSetNotFoundError (line 9) | class ReplicaSetNotFoundError(Exception): FILE: packages/llama-agents-core/src/llama_agents/core/ui_build.py function resolve_ui_root (line 9) | def resolve_ui_root(config_parent: Path, config: DeploymentConfig) -> Pa... function ui_build_output_path (line 16) | def ui_build_output_path(config_parent: Path, config: DeploymentConfig) ... FILE: packages/llama-agents-core/tests/client/test_manage_client.py function client (line 22) | async def client() -> AsyncIterator[LlamaDeployClient]: function test_client_initialization (line 32) | async def test_client_initialization() -> None: function test_server_version_includes_new_fields (line 44) | async def test_server_version_includes_new_fields() -> None: function test_server_version_defaults_when_min_missing (line 65) | async def test_server_version_defaults_when_min_missing() -> None: function test_successful_request (line 85) | async def test_successful_request(client: LlamaDeployClient) -> None: function test_request_with_json_data (line 99) | async def test_request_with_json_data(client: LlamaDeployClient) -> None: function test_get_deployments (line 114) | async def test_get_deployments(client: LlamaDeployClient) -> None: function test_get_deployment (line 150) | async def test_get_deployment(client: LlamaDeployClient) -> None: function test_create_deployment_basic (line 182) | async def test_create_deployment_basic(client: LlamaDeployClient) -> None: function test_create_deployment_with_git_ref (line 230) | async def test_create_deployment_with_git_ref(client: LlamaDeployClient)... function test_create_deployment_with_all_params (line 278) | async def test_create_deployment_with_all_params(client: LlamaDeployClie... function test_delete_deployment (line 332) | async def test_delete_deployment(client: LlamaDeployClient) -> None: function _sse_bytes (line 344) | def _sse_bytes(*events: tuple[str, str]) -> bytes: function test_stream_deployment_logs_parses_log_events (line 356) | async def test_stream_deployment_logs_parses_log_events( function test_stream_deployment_logs_passes_optional_params (line 405) | async def test_stream_deployment_logs_passes_optional_params( function test_stream_deployment_logs_ignores_non_log_events (line 442) | async def test_stream_deployment_logs_ignores_non_log_events( FILE: packages/llama-agents-core/tests/test_deployment_config.py function write_file (line 8) | def write_file(path: Path, content: str) -> None: function test_pyproject_tool_llamadeploy_name_fallback (line 13) | def test_pyproject_tool_llamadeploy_name_fallback(tmp_path: Path) -> None: function test_relative_ui_directory_within_root_is_ok (line 33) | def test_relative_ui_directory_within_root_is_ok(tmp_path: Path) -> None: function test_pyproject_when_config_path_points_to_file (line 54) | def test_pyproject_when_config_path_points_to_file(tmp_path: Path) -> None: function test_nonexistent_config_dir_returns_defaults (line 76) | def test_nonexistent_config_dir_returns_defaults(tmp_path: Path) -> None: function test_llamadeploy_toml_parses_minimal_and_sets_ui (line 85) | def test_llamadeploy_toml_parses_minimal_and_sets_ui(tmp_path: Path) -> ... function test_legacy_yaml_only_merging_into_new_config (line 113) | def test_legacy_yaml_only_merging_into_new_config(tmp_path: Path) -> None: function test_yaml_and_pyproject_merge_precedence (line 140) | def test_yaml_and_pyproject_merge_precedence(tmp_path: Path) -> None: function test_package_json_overrides_ui_fields (line 175) | def test_package_json_overrides_ui_fields(tmp_path: Path) -> None: function test_package_json_package_manager_fallback_with_llamadeploy (line 219) | def test_package_json_package_manager_fallback_with_llamadeploy(tmp_path... function test_package_json_package_manager_fallback_without_llamadeploy (line 250) | def test_package_json_package_manager_fallback_without_llamadeploy( function test_ui_directory_can_be_above_pyproject_dir_but_within_source_root (line 282) | def test_ui_directory_can_be_above_pyproject_dir_but_within_source_root( function test_ui_directory_cannot_escape_source_root (line 312) | def test_ui_directory_cannot_escape_source_root(tmp_path: Path) -> None: function test_llama_agents_toml_is_preferred_over_llama_deploy_toml (line 329) | def test_llama_agents_toml_is_preferred_over_llama_deploy_toml( function test_llama_agents_toml_works_alone (line 347) | def test_llama_agents_toml_works_alone(tmp_path: Path) -> None: function test_pyproject_tool_llamaagents_is_preferred_over_llamadeploy (line 359) | def test_pyproject_tool_llamaagents_is_preferred_over_llamadeploy( function test_pyproject_tool_llamaagents_works_alone (line 381) | def test_pyproject_tool_llamaagents_works_alone(tmp_path: Path) -> None: function test_llama_agents_yaml_is_preferred_over_llama_deploy_yaml (line 402) | def test_llama_agents_yaml_is_preferred_over_llama_deploy_yaml( function test_llama_agents_yaml_works_alone (line 420) | def test_llama_agents_yaml_works_alone(tmp_path: Path) -> None: function test_package_json_llamaagents_key_is_preferred_over_llamadeploy (line 432) | def test_package_json_llamaagents_key_is_preferred_over_llamadeploy( function test_package_json_llamaagents_key_works_alone (line 462) | def test_package_json_llamaagents_key_works_alone(tmp_path: Path) -> None: function test_absolute_ui_directory_outside_source_root_is_rejected (line 492) | def test_absolute_ui_directory_outside_source_root_is_rejected(tmp_path:... FILE: packages/llama-agents-core/tests/test_git_util.py function _make_fake_repo (line 35) | def _make_fake_repo(head_sha: str = "abc123def456" * 3 + "0000") -> Magi... function _make_clone_source (line 44) | def _make_clone_source(path: Path) -> tuple[str, str, str]: function test_parse_github_repo_url (line 76) | def test_parse_github_repo_url() -> None: function test_clone_repo_branch_success (line 115) | def test_clone_repo_branch_success(tmp_path: Path) -> None: function test_clone_repo_no_ref (line 126) | def test_clone_repo_no_ref(tmp_path: Path) -> None: function test_clone_repo_no_ref_detached_resolves_tag (line 139) | async def test_clone_repo_no_ref_detached_resolves_tag(mock_clone: Magic... function test_clone_repo_full_sha (line 158) | def test_clone_repo_full_sha(tmp_path: Path) -> None: function test_clone_repo_explicit_git_sha_preserves_ref_metadata (line 170) | def test_clone_repo_explicit_git_sha_preserves_ref_metadata(tmp_path: Pa... function test_clone_repo_explicit_git_sha_does_not_require_initial_head (line 189) | async def test_clone_repo_explicit_git_sha_does_not_require_initial_head( function test_clone_repo_short_sha_like_ref (line 220) | def test_clone_repo_short_sha_like_ref(tmp_path: Path) -> None: function test_clone_repo_network_error (line 237) | async def test_clone_repo_network_error(mock_clone: MagicMock) -> None: function test_clone_repo_with_basic_auth (line 250) | async def test_clone_repo_with_basic_auth(mock_clone: MagicMock) -> None: function test_clone_repo_passes_depth (line 269) | async def test_clone_repo_passes_depth(mock_clone: MagicMock) -> None: function test_clone_repo_sha_overrides_depth (line 286) | async def test_clone_repo_sha_overrides_depth(mock_clone: MagicMock) -> ... function _make_real_repo_with_commit (line 309) | def _make_real_repo_with_commit(tmp_path: Path) -> tuple[Repo, str]: function test_checkout_ref_resolves_short_sha_prefix (line 322) | def test_checkout_ref_resolves_short_sha_prefix(tmp_path: Path) -> None: function test_checkout_ref_rejects_ambiguous_short_sha_prefix (line 332) | def test_checkout_ref_rejects_ambiguous_short_sha_prefix(tmp_path: Path)... function test_checkout_ref_rejects_missing_short_sha_prefix (line 347) | def test_checkout_ref_rejects_missing_short_sha_prefix(tmp_path: Path) -... function test_clone_repo_rejects_dangerous_url (line 358) | async def test_clone_repo_rejects_dangerous_url() -> None: function test_working_tree_has_changes_true (line 366) | def test_working_tree_has_changes_true(tmp_path: Path) -> None: function test_working_tree_has_changes_false (line 383) | def test_working_tree_has_changes_false(tmp_path: Path) -> None: function test_working_tree_has_changes_exception (line 399) | def test_working_tree_has_changes_exception(_: MagicMock) -> None: function test_get_unpushed_commits_count_no_upstream (line 403) | def test_get_unpushed_commits_count_no_upstream(tmp_path: Path) -> None: function test_get_unpushed_commits_count_ahead (line 420) | def test_get_unpushed_commits_count_ahead(tmp_path: Path) -> None: function test_get_unpushed_commits_count_no_repo (line 469) | def test_get_unpushed_commits_count_no_repo(tmp_path: Path) -> None: function test_validate_git_public_access_true (line 480) | async def test_validate_git_public_access_true(mock_probe: MagicMock) ->... function test_validate_git_public_access_false (line 492) | async def test_validate_git_public_access_false(mock_probe: MagicMock) -... function test_get_commit_sha_for_ref (line 501) | def test_get_commit_sha_for_ref(tmp_path: Path) -> None: function test_is_git_repo_returns_false_when_not_a_repo (line 517) | def test_is_git_repo_returns_false_when_not_a_repo(tmp_path: Path) -> None: function test_is_git_repo_returns_true_in_real_repo (line 523) | def test_is_git_repo_returns_true_in_real_repo(tmp_path: Path) -> None: function test_validate_git_url_allows_valid_schemes (line 539) | def test_validate_git_url_allows_valid_schemes(url: str) -> None: function test_validate_git_url_rejects_dangerous_urls (line 553) | def test_validate_git_url_rejects_dangerous_urls(url: str) -> None: function test_validate_git_url_no_ssrf_rejects_private_ips (line 577) | def test_validate_git_url_no_ssrf_rejects_private_ips( function test_validate_git_url_no_ssrf_allows_public_ip (line 588) | def test_validate_git_url_no_ssrf_allows_public_ip() -> None: function test_validate_git_url_no_ssrf_rejects_dns_failure (line 596) | def test_validate_git_url_no_ssrf_rejects_dns_failure() -> None: FILE: packages/llama-agents-core/tests/test_iter_utils.py function _gen_with_delays (line 16) | async def _gen_with_delays( function _gen_with_gates (line 25) | async def _gen_with_gates( function _gen_raises (line 33) | async def _gen_raises(after_items: int = 0) -> AsyncGenerator[str, None]: function _gen_with_close_flag (line 42) | async def _gen_with_close_flag( function _wait_for_count (line 52) | async def _wait_for_count(values: Collection[object], expected_count: in... function test_merge_generators_interleaves_in_arrival_order (line 61) | async def test_merge_generators_interleaves_in_arrival_order() -> None: function test_merge_generators_propagates_exception_immediately (line 89) | async def test_merge_generators_propagates_exception_immediately() -> None: function test_merge_generators_stop_on_first_completion_cancels_others (line 104) | async def test_merge_generators_stop_on_first_completion_cancels_others(... function test_debounced_sorted_prefix_sorts_then_passthrough (line 131) | async def test_debounced_sorted_prefix_sorts_then_passthrough() -> None: FILE: packages/llama-agents-core/tests/test_schema.py function test_deployment_create_valid (line 25) | def test_deployment_create_valid() -> None: function test_deployment_create_accepts_deprecated_name (line 42) | def test_deployment_create_accepts_deprecated_name() -> None: function test_deployment_create_serializes_name_for_old_servers (line 48) | def test_deployment_create_serializes_name_for_old_servers() -> None: function test_deployment_update_accepts_deprecated_name (line 56) | def test_deployment_update_accepts_deprecated_name() -> None: function test_deployment_update_serializes_name_for_old_servers (line 62) | def test_deployment_update_serializes_name_for_old_servers() -> None: function test_deployment_update_name_is_none_when_display_name_unset (line 70) | def test_deployment_update_name_is_none_when_display_name_unset() -> None: function test_deployment_response_deserializes_old_server_name (line 78) | def test_deployment_response_deserializes_old_server_name() -> None: function test_deployment_create_accepts_deprecated_llama_deploy_version (line 98) | def test_deployment_create_accepts_deprecated_llama_deploy_version() -> ... function test_deployment_create_canonical_wins_on_conflict (line 108) | def test_deployment_create_canonical_wins_on_conflict() -> None: function test_deployment_create_neither_version_field_set (line 121) | def test_deployment_create_neither_version_field_set() -> None: function test_deployment_create_accepts_public_pep440_appserver_version (line 137) | def test_deployment_create_accepts_public_pep440_appserver_version( function test_deployment_create_rejects_non_public_pep440_appserver_version (line 158) | def test_deployment_create_rejects_non_public_pep440_appserver_version( function test_deployment_create_serializes_llama_deploy_version_for_old_servers (line 169) | def test_deployment_create_serializes_llama_deploy_version_for_old_serve... function test_deployment_update_accepts_deprecated_llama_deploy_version (line 181) | def test_deployment_update_accepts_deprecated_llama_deploy_version() -> ... function test_deployment_update_canonical_wins_on_conflict (line 187) | def test_deployment_update_canonical_wins_on_conflict() -> None: function test_deployment_update_rejects_non_public_pep440_appserver_version (line 195) | def test_deployment_update_rejects_non_public_pep440_appserver_version()... function test_deployment_update_allows_internal_image_tag_escape_hatch (line 200) | def test_deployment_update_allows_internal_image_tag_escape_hatch() -> N... function test_deployment_update_serializes_llama_deploy_version_for_old_servers (line 205) | def test_deployment_update_serializes_llama_deploy_version_for_old_serve... function test_deployment_update_llama_deploy_version_none_when_unset (line 213) | def test_deployment_update_llama_deploy_version_none_when_unset() -> None: function test_deployment_response_accepts_old_server_llama_deploy_version (line 221) | def test_deployment_response_accepts_old_server_llama_deploy_version() -... function test_deployment_response_serializes_both_version_fields (line 239) | def test_deployment_response_serializes_both_version_fields() -> None: function test_deployment_create_optional_fields (line 256) | def test_deployment_create_optional_fields() -> None: function test_deployment_response (line 270) | def test_deployment_response() -> None: function test_apply_deployment_update_basic_fields (line 288) | def test_apply_deployment_update_basic_fields() -> None: function test_apply_deployment_update_personal_access_token (line 320) | def test_apply_deployment_update_personal_access_token() -> None: function test_apply_deployment_update_secrets (line 343) | def test_apply_deployment_update_secrets() -> None: function test_apply_deployment_update_combined (line 368) | def test_apply_deployment_update_combined() -> None: function test_apply_deployment_update_no_changes (line 400) | def test_apply_deployment_update_no_changes() -> None: function test_apply_deployment_update_none_fields (line 421) | def test_apply_deployment_update_none_fields() -> None: function test_project_summary (line 452) | def test_project_summary() -> None: function test_deployments_list_response (line 461) | def test_deployments_list_response() -> None: function test_apply_deployment_update_git_ref (line 492) | def test_apply_deployment_update_git_ref() -> None: function test_release_history_models_roundtrip (line 519) | def test_release_history_models_roundtrip() -> None: function test_deployment_create_with_git_ref (line 531) | def test_deployment_create_with_git_ref() -> None: function test_projects_list_response (line 546) | def test_projects_list_response() -> None: function test_deployment_phases_all_valid (line 563) | def test_deployment_phases_all_valid() -> None: function test_unknown_phase_value_accepted (line 588) | def test_unknown_phase_value_accepted() -> None: function test_rollingout_phase_response (line 604) | def test_rollingout_phase_response() -> None: function test_rolloutfailed_phase_response (line 620) | def test_rolloutfailed_phase_response() -> None: function test_deployment_phases_in_list_response (line 636) | def test_deployment_phases_in_list_response() -> None: function test_version_to_image_tag (line 681) | def test_version_to_image_tag() -> None: function test_image_tag_to_version_plain (line 687) | def test_image_tag_to_version_plain() -> None: function test_image_tag_to_version_legacy_prefix (line 693) | def test_image_tag_to_version_legacy_prefix() -> None: function test_image_tag_to_version_non_conforming (line 699) | def test_image_tag_to_version_non_conforming() -> None: function test_appserver_tag_prefix_constant (line 706) | def test_appserver_tag_prefix_constant() -> None: function test_apply_deployment_update_image_tag_precedence (line 710) | def test_apply_deployment_update_image_tag_precedence() -> None: function test_apply_deployment_update_image_tag_only (line 727) | def test_apply_deployment_update_image_tag_only() -> None: function test_apply_deployment_update_suspended (line 740) | def test_apply_deployment_update_suspended() -> None: function test_apply_deployment_update_auto_resume_git_ref (line 758) | def test_apply_deployment_update_auto_resume_git_ref() -> None: function test_apply_deployment_update_auto_resume_secrets (line 769) | def test_apply_deployment_update_auto_resume_secrets() -> None: function test_apply_deployment_update_auto_resume_image_tag (line 779) | def test_apply_deployment_update_auto_resume_image_tag() -> None: function test_apply_deployment_update_auto_resume_explicit_suspended_true (line 790) | def test_apply_deployment_update_auto_resume_explicit_suspended_true() -... function test_apply_deployment_update_auto_resume_only_suspended_true (line 801) | def test_apply_deployment_update_auto_resume_only_suspended_true() -> None: function test_deployment_update_has_git_fields (line 811) | def test_deployment_update_has_git_fields() -> None: function test_apply_deployment_update_static_assets_path_not_cleared (line 823) | def test_apply_deployment_update_static_assets_path_not_cleared() -> None: function test_apply_deployment_update_version_sets_image_tag (line 836) | def test_apply_deployment_update_version_sets_image_tag() -> None: FILE: packages/llama-agents-core/tests/test_ssl_util.py function clean_env (line 11) | def clean_env(monkeypatch: pytest.MonkeyPatch) -> None: function test_get_ssl_context_default (line 16) | def test_get_ssl_context_default() -> None: function test_get_ssl_context_truststore_enabled (line 22) | def test_get_ssl_context_truststore_enabled(monkeypatch: pytest.MonkeyPa... function test_get_httpx_verify_param_delegates (line 29) | def test_get_httpx_verify_param_delegates() -> None: function test_get_httpx_verify_param_delegates_truststore (line 36) | def test_get_httpx_verify_param_delegates_truststore( function test_ssl_context_type_validation (line 45) | def test_ssl_context_type_validation(monkeypatch: pytest.MonkeyPatch) ->... function test_httpx_clients_accept_ssl_context (line 54) | def test_httpx_clients_accept_ssl_context(monkeypatch: pytest.MonkeyPatc... function test_httpx_clients_accept_default_verify (line 64) | def test_httpx_clients_accept_default_verify() -> None: FILE: packages/llama-agents-dbos/conftest.py function make_test_dbos_config (line 14) | def make_test_dbos_config( FILE: packages/llama-agents-dbos/src/llama_agents/dbos/_store/postgres/migrations/0001_init.sql type workflow_journal (line 3) | CREATE TABLE IF NOT EXISTS workflow_journal ( type idx_workflow_journal_run_id (line 10) | CREATE INDEX IF NOT EXISTS idx_workflow_journal_run_id ON workflow_journ... type run_lifecycle (line 12) | CREATE TABLE IF NOT EXISTS run_lifecycle ( type executor_leases (line 18) | CREATE TABLE IF NOT EXISTS executor_leases ( FILE: packages/llama-agents-dbos/src/llama_agents/dbos/_store/sqlite/migrations/0001_init.sql type workflow_journal (line 3) | CREATE TABLE IF NOT EXISTS workflow_journal ( type idx_workflow_journal_run_id (line 10) | CREATE INDEX IF NOT EXISTS idx_workflow_journal_run_id ON workflow_journ... type run_lifecycle (line 12) | CREATE TABLE IF NOT EXISTS run_lifecycle ( FILE: packages/llama-agents-dbos/src/llama_agents/dbos/executor_lease.py class ExecutorLeaseManager (line 17) | class ExecutorLeaseManager: method __init__ (line 20) | def __init__( method executor_id (line 46) | def executor_id(self) -> str: method lease_lost_event (line 52) | def lease_lost_event(self) -> asyncio.Event: method _seed_slots (line 55) | async def _seed_slots(self) -> None: method acquire (line 69) | async def acquire(self, timeout: float | None = None) -> str: method release (line 119) | async def release(self) -> None: method _heartbeat_loop (line 147) | async def _heartbeat_loop(self) -> None: method __aenter__ (line 173) | async def __aenter__(self) -> ExecutorLeaseManager: method __aexit__ (line 177) | async def __aexit__(self, *exc: object) -> None: FILE: packages/llama-agents-dbos/src/llama_agents/dbos/idle_release.py class _DBOSIdleReleaseInternalRunAdapter (line 60) | class _DBOSIdleReleaseInternalRunAdapter(BaseInternalRunAdapterDecorator): method __init__ (line 63) | def __init__( method wait_receive (line 74) | async def wait_receive( method write_to_event_stream (line 84) | async def write_to_event_stream(self, event: Event) -> None: class DBOSIdleReleaseExternalRunAdapter (line 90) | class DBOSIdleReleaseExternalRunAdapter(BaseExternalRunAdapterDecorator): method __init__ (line 97) | def __init__(self, runtime: DBOSIdleReleaseDecorator, run_id: str) -> ... method _decorated (line 103) | def _decorated(self) -> ExternalRunAdapter: method _decorated (line 107) | def _decorated(self, value: ExternalRunAdapter) -> None: method run_id (line 111) | def run_id(self) -> str: method send_event (line 115) | async def send_event(self, tick: WorkflowTick) -> None: class DBOSIdleReleaseDecorator (line 131) | class DBOSIdleReleaseDecorator(BaseRuntimeDecorator): method __init__ (line 142) | def __init__( method _journal_crud (line 166) | def _journal_crud(self) -> JournalCrud | None: method _get_lifecycle (line 173) | async def _get_lifecycle(self) -> RunLifecycleLock: method track_workflow (line 183) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 188) | def untrack_workflow(self, workflow: Workflow) -> None: method _spawn_task (line 192) | def _spawn_task(self, coro: Coroutine[Any, Any, None]) -> asyncio.Task... method _schedule_deferred_release (line 198) | def _schedule_deferred_release(self, run_id: str) -> None: method _cancel_deferred_release (line 204) | def _cancel_deferred_release(self, run_id: str) -> None: method get_internal_adapter (line 211) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 216) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method _deferred_release (line 219) | async def _deferred_release(self, run_id: str) -> None: method _release_idle_handler (line 225) | async def _release_idle_handler(self, run_id: str) -> None: method _await_and_mark_released (line 237) | async def _await_and_mark_released( method _broker_state_from_ticks (line 258) | async def _broker_state_from_ticks( method _do_resume (line 267) | async def _do_resume( FILE: packages/llama-agents-dbos/src/llama_agents/dbos/journal/crud.py function _quote_identifier (line 20) | def _quote_identifier(name: str) -> str: function _qualified_table_ref (line 28) | def _qualified_table_ref(table_name: str, schema: str | None = None) -> ... class JournalCrud (line 36) | class JournalCrud(ABC): method insert (line 40) | async def insert(self, run_id: str, seq_num: int, task_key: str) -> No... method load (line 43) | async def load(self, run_id: str) -> list[str]: ... method delete (line 46) | async def delete(self, run_id: str) -> None: ... method truncate_from (line 49) | async def truncate_from(self, run_id: str, seq_num: int) -> None: ... method purge_operations_from (line 52) | async def purge_operations_from(self, run_id: str, function_id: int) -... class PostgresJournalCrud (line 57) | class PostgresJournalCrud(JournalCrud): method __init__ (line 60) | def __init__( method insert (line 70) | async def insert(self, run_id: str, seq_num: int, task_key: str) -> None: method load (line 78) | async def load(self, run_id: str) -> list[str]: method delete (line 85) | async def delete(self, run_id: str) -> None: method truncate_from (line 91) | async def truncate_from(self, run_id: str, seq_num: int) -> None: method purge_operations_from (line 98) | async def purge_operations_from(self, run_id: str, function_id: int) -... class SqliteJournalCrud (line 107) | class SqliteJournalCrud(JournalCrud): method __init__ (line 110) | def __init__( method _connect (line 120) | def _connect(self) -> Iterator[sqlite3.Connection]: method insert (line 127) | async def insert(self, run_id: str, seq_num: int, task_key: str) -> None: method load (line 135) | async def load(self, run_id: str) -> list[str]: method delete (line 143) | async def delete(self, run_id: str) -> None: method truncate_from (line 151) | async def truncate_from(self, run_id: str, seq_num: int) -> None: method purge_operations_from (line 159) | async def purge_operations_from(self, run_id: str, function_id: int) -... FILE: packages/llama-agents-dbos/src/llama_agents/dbos/journal/lifecycle.py class RunLifecycleState (line 21) | class RunLifecycleState(str, Enum): class RunLifecycleLock (line 27) | class RunLifecycleLock(ABC): method create (line 34) | async def create(self, run_id: str) -> None: method begin_release (line 39) | async def begin_release(self, run_id: str) -> bool: method complete_release (line 44) | async def complete_release(self, run_id: str) -> None: method try_begin_resume (line 49) | async def try_begin_resume( class PostgresRunLifecycleLock (line 66) | class PostgresRunLifecycleLock(RunLifecycleLock): method __init__ (line 69) | def __init__( method create (line 78) | async def create(self, run_id: str) -> None: method begin_release (line 88) | async def begin_release(self, run_id: str) -> bool: method complete_release (line 99) | async def complete_release(self, run_id: str) -> None: method try_begin_resume (line 109) | async def try_begin_resume( class SqliteRunLifecycleLock (line 142) | class SqliteRunLifecycleLock(RunLifecycleLock): method __init__ (line 145) | def __init__( method _connect (line 155) | def _connect(self) -> Iterator[sqlite3.Connection]: method create (line 163) | async def create(self, run_id: str) -> None: method begin_release (line 177) | async def begin_release(self, run_id: str) -> bool: method complete_release (line 193) | async def complete_release(self, run_id: str) -> None: method try_begin_resume (line 208) | async def try_begin_resume( FILE: packages/llama-agents-dbos/src/llama_agents/dbos/journal/task_journal.py class TaskJournal (line 10) | class TaskJournal: method __init__ (line 22) | def __init__( method load (line 38) | async def load(self) -> None: method is_replaying (line 49) | def is_replaying(self) -> bool: method next_expected_key (line 55) | def next_expected_key(self) -> str | None: method record (line 61) | async def record(self, key: str) -> None: method advance (line 73) | def advance(self) -> None: method has_entries (line 78) | def has_entries(self) -> bool: method purge_stale (line 82) | async def purge_stale(self, current_fid: int) -> None: FILE: packages/llama-agents-dbos/src/llama_agents/dbos/runtime.py class DBOSWorkflowStore (line 116) | class DBOSWorkflowStore(AbstractWorkflowStore): method __init__ (line 124) | def __init__(self, factory: Callable[[], AbstractWorkflowStore]) -> None: method _resolve (line 128) | def _resolve(self) -> AbstractWorkflowStore: method poll_interval (line 134) | def poll_interval(self) -> float: # type: ignore[override] method create_state_store (line 137) | def create_state_store( method query (line 148) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: method update (line 151) | async def update(self, handler: PersistentHandler) -> None: method delete (line 154) | async def delete(self, query: HandlerQuery) -> int: method append_event (line 157) | async def append_event(self, run_id: str, event: EventEnvelopeWithMeta... method query_events (line 160) | async def query_events( method append_tick (line 165) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 168) | async def get_ticks(self, run_id: str) -> list[StoredTick]: method stream_ticks (line 171) | def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: class ExecutorLeaseConfig (line 175) | class ExecutorLeaseConfig(TypedDict, total=False): class DBOSRuntimeConfig (line 195) | class DBOSRuntimeConfig(TypedDict, total=False): function _resolve_schema (line 222) | def _resolve_schema(config: DBOSRuntimeConfig, engine: Engine) -> str | ... function _sqlalchemy_url_to_asyncpg_dsn (line 234) | def _sqlalchemy_url_to_asyncpg_dsn(url: SaURL) -> str: function _durable_time (line 252) | def _durable_time() -> float: class DBOSRuntime (line 260) | class DBOSRuntime(Runtime): method __init__ (line 271) | def __init__(self, **kwargs: Unpack[DBOSRuntimeConfig]) -> None: method _track_task (line 344) | def _track_task(self, task: asyncio.Task[Any]) -> None: method track_workflow (line 348) | def track_workflow(self, workflow: Workflow) -> None: method get_registered (line 364) | def get_registered(self, workflow: Workflow) -> RegisteredWorkflow | N... method register (line 368) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method _get_sql_engine (line 416) | def _get_sql_engine(self) -> Engine: method _resolve_pool_sizes (line 443) | def _resolve_pool_sizes(self) -> tuple[int, int]: method _ensure_pool (line 474) | async def _ensure_pool(self) -> asyncpg.Pool: method run_migrations (line 496) | async def run_migrations(self) -> None: method run_workflow (line 540) | def run_workflow( method get_internal_adapter (line 634) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 670) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method create_workflow_store (line 677) | def create_workflow_store(self) -> AbstractWorkflowStore: method _create_journal_crud_factory (line 714) | def _create_journal_crud_factory(self) -> Callable[[], JournalCrud]: method _create_lifecycle_lock_factory (line 743) | def _create_lifecycle_lock_factory( method _finalize_launch (line 760) | def _finalize_launch(self) -> None: method _prepare_launch (line 773) | async def _prepare_launch(self, *, start_lease_watch: bool) -> None: method _post_launch (line 854) | async def _post_launch(self) -> None: method build_server_runtime (line 860) | def build_server_runtime(self, *, idle_timeout: float = 600.0) -> Runt... method launch (line 888) | async def launch(self) -> None: method launch_sync (line 907) | def launch_sync(self) -> None: method is_launched (line 933) | def is_launched(self) -> bool: method lease_lost_event (line 937) | def lease_lost_event(self) -> asyncio.Event | None: method _watch_lease (line 946) | async def _watch_lease(self) -> None: method destroy (line 952) | async def destroy(self, destroy_dbos: bool = True) -> None: class InternalDBOSAdapter (line 1020) | class InternalDBOSAdapter(InternalRunAdapter): method __init__ (line 1032) | def __init__( method run_id (line 1061) | def run_id(self) -> str: method write_to_event_stream (line 1064) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 1067) | async def get_now(self) -> float: method send_event (line 1070) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 1073) | async def wait_receive( method close (line 1107) | async def close(self) -> None: method _resolve_pool (line 1114) | async def _resolve_pool(self) -> asyncpg.Pool: method _get_or_create_state_store (line 1125) | def _get_or_create_state_store(self) -> StateStore[Any]: method get_state_store (line 1152) | def get_state_store(self) -> StateStore[Any] | None: method is_replaying (line 1155) | def is_replaying(self) -> bool: method _get_or_create_journal (line 1165) | def _get_or_create_journal(self) -> TaskJournal: method _purge_orphaned_operations (line 1184) | async def _purge_orphaned_operations(self, journal: TaskJournal) -> None: method wait_for_next_task (line 1209) | async def wait_for_next_task( class ExternalDBOSAdapter (line 1289) | class ExternalDBOSAdapter(ExternalRunAdapter): method __init__ (line 1298) | def __init__( method run_id (line 1310) | def run_id(self) -> str: method send_event (line 1314) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 1318) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method get_result (line 1324) | async def get_result(self) -> StopEvent: method _ensure_workflow_started (line 1328) | async def _ensure_workflow_started(self) -> WorkflowHandleAsync[Any]: FILE: packages/llama-agents-dbos/tests/conftest.py function journal_db_path (line 40) | def journal_db_path() -> Generator[str]: function sqlite_engine (line 53) | def sqlite_engine(journal_db_path: str) -> Engine: function postgres_container (line 64) | def postgres_container() -> Generator[PostgresContainer, None, None]: function postgres_dsn (line 71) | def postgres_dsn(postgres_container: PostgresContainer) -> str: function run_scenario (line 79) | def run_scenario( function assert_no_determinism_errors (line 112) | def assert_no_determinism_errors(result: subprocess.CompletedProcess[str... function log_on_failure (line 129) | def log_on_failure(result: subprocess.CompletedProcess[str], label: str)... FILE: packages/llama-agents-dbos/tests/fixtures/replica_server.py function main (line 28) | async def main() -> None: FILE: packages/llama-agents-dbos/tests/fixtures/runner.py function _call_adapter_close (line 52) | def _call_adapter_close(run_id: str) -> None: function run_workflow (line 70) | async def run_workflow( function main (line 185) | def main() -> None: FILE: packages/llama-agents-dbos/tests/fixtures/runner_common.py function import_workflow (line 37) | def import_workflow(path: str) -> tuple[type[Workflow], ModuleType]: function get_event_class_by_name (line 49) | def get_event_class_by_name(module: ModuleType, name: str) -> type[Event... function setup_dbos (line 58) | def setup_dbos(db_url: str, app_name: str = "test-workflow") -> DBOSRunt... FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/chained.py class StepOneEvent (line 14) | class StepOneEvent(Event): class StepTwoEvent (line 18) | class StepTwoEvent(Event): class ChainedWorkflow (line 22) | class ChainedWorkflow(Workflow): method step_one (line 24) | async def step_one(self, ctx: Context, ev: StartEvent) -> StepOneEvent: method step_two (line 30) | async def step_two(self, ctx: Context, ev: StepOneEvent) -> StepTwoEvent: method step_three (line 36) | async def step_three(self, ctx: Context, ev: StepTwoEvent) -> StopEvent: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/concurrent_workers.py class WorkItem (line 17) | class WorkItem(Event): class WorkDone (line 21) | class WorkDone(Event): class ConcurrentWorkersWorkflow (line 25) | class ConcurrentWorkersWorkflow(Workflow): method dispatch (line 27) | async def dispatch(self, ctx: Context, ev: StartEvent) -> WorkItem: method worker (line 35) | async def worker(self, ctx: Context, ev: WorkItem) -> WorkDone: method finish (line 42) | async def finish(self, ctx: Context, ev: WorkDone) -> StopEvent: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/counter.py class CounterTickEvent (line 22) | class CounterTickEvent(InputRequiredEvent): class CounterContinueEvent (line 26) | class CounterContinueEvent(HumanResponseEvent): class CounterWorkflow (line 30) | class CounterWorkflow(Workflow): method __init__ (line 31) | def __init__(self, target: int = 40, **kwargs: Any) -> None: method start (line 36) | async def start(self, ctx: Context, ev: StartEvent) -> CounterTickEvent: method on_tick (line 42) | async def on_tick( FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/hitl.py class AskInputEvent (line 21) | class AskInputEvent(InputRequiredEvent): class UserInput (line 25) | class UserInput(HumanResponseEvent): class TestWorkflow (line 29) | class TestWorkflow(Workflow): method __init__ (line 30) | def __init__(self, **kwargs: Any) -> None: method ask (line 34) | async def ask(self, ctx: Context, ev: StartEvent) -> AskInputEvent: method process (line 40) | async def process(self, ctx: Context, ev: UserInput) -> StopEvent: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/parallel.py class ResultAEvent (line 17) | class ResultAEvent(Event): class ResultBEvent (line 21) | class ResultBEvent(Event): class ParallelWorkflow (line 25) | class ParallelWorkflow(Workflow): method branch_a (line 27) | async def branch_a(self, ctx: Context, ev: StartEvent) -> ResultAEvent: method branch_b (line 34) | async def branch_b(self, ctx: Context, ev: StartEvent) -> ResultBEvent: method finish_a (line 41) | async def finish_a(self, ctx: Context, ev: ResultAEvent) -> StopEvent: method finish_b (line 46) | async def finish_b(self, ctx: Context, ev: ResultBEvent) -> StopEvent: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/sequential_hitl.py class ProcessedEvent (line 23) | class ProcessedEvent(Event): class WaitForInputEvent (line 27) | class WaitForInputEvent(InputRequiredEvent): class UserContinueEvent (line 31) | class UserContinueEvent(HumanResponseEvent): class SequentialHITLWorkflow (line 35) | class SequentialHITLWorkflow(Workflow): method process (line 37) | async def process(self, ctx: Context, ev: StartEvent) -> ProcessedEvent: method ask_user (line 43) | async def ask_user(self, ctx: Context, ev: ProcessedEvent) -> WaitForI... method finalize (line 48) | async def finalize(self, ctx: Context, ev: UserContinueEvent) -> StopE... FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/slow_fan_out_hitl.py class SlowFanOutTickEvent (line 30) | class SlowFanOutTickEvent(InputRequiredEvent): class SlowFanOutContinueEvent (line 34) | class SlowFanOutContinueEvent(HumanResponseEvent): class SlowWorkRequestEvent (line 38) | class SlowWorkRequestEvent(Event): class SlowWorkResultEvent (line 43) | class SlowWorkResultEvent(Event): class SlowFanOutWorkflow (line 49) | class SlowFanOutWorkflow(Workflow): method __init__ (line 52) | def __init__(self, num_rounds: int = 4, **kwargs: Any) -> None: method start (line 57) | async def start(self, ctx: Context, ev: StartEvent) -> SlowWorkRequest... method worker_alpha (line 64) | async def worker_alpha( method worker_beta (line 76) | async def worker_beta( method worker_gamma (line 88) | async def worker_gamma( method worker_delta (line 100) | async def worker_delta( method worker_epsilon (line 112) | async def worker_epsilon( method collect (line 124) | async def collect( method on_continue (line 143) | async def on_continue( FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/streaming_interrupt.py class ProgressEvent (line 21) | class ProgressEvent(Event): class WorkItem (line 25) | class WorkItem(Event): class WorkDone (line 29) | class WorkDone(Event): class FanOutComplete (line 33) | class FanOutComplete(Event): class StreamingInterruptWorkflow (line 37) | class StreamingInterruptWorkflow(Workflow): method fan_out (line 39) | async def fan_out(self, ctx: Context, ev: StartEvent) -> WorkItem | Fa... method process_work (line 48) | async def process_work(self, ctx: Context, ev: WorkItem) -> WorkDone: method after_fanout (line 55) | async def after_fanout(self, ctx: Context, ev: FanOutComplete) -> None: method collect (line 60) | async def collect(self, ctx: Context, ev: WorkDone) -> StopEvent | None: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/streaming_stress.py class ProgressEvent (line 16) | class ProgressEvent(Event): class WorkItem (line 20) | class WorkItem(Event): class WorkDone (line 24) | class WorkDone(Event): class FanOutComplete (line 29) | class FanOutComplete(Event): class StreamingStressWorkflow (line 33) | class StreamingStressWorkflow(Workflow): method fan_out (line 35) | async def fan_out(self, ctx: Context, ev: StartEvent) -> WorkItem | Fa... method process_work (line 47) | async def process_work(self, ctx: Context, ev: WorkItem) -> WorkDone: method after_fanout (line 55) | async def after_fanout(self, ctx: Context, ev: FanOutComplete) -> None: method collect (line 61) | async def collect(self, ctx: Context, ev: WorkDone) -> StopEvent: FILE: packages/llama-agents-dbos/tests/fixtures/sample_workflows/three_step_hitl.py class NameInputEvent (line 19) | class NameInputEvent(InputRequiredEvent): class NameResponseEvent (line 23) | class NameResponseEvent(HumanResponseEvent): class QuestInputEvent (line 27) | class QuestInputEvent(InputRequiredEvent): class QuestResponseEvent (line 31) | class QuestResponseEvent(HumanResponseEvent): class HITLWorkflow (line 35) | class HITLWorkflow(Workflow): method ask_name (line 37) | async def ask_name(self, ctx: Context, ev: StartEvent) -> NameInputEvent: method ask_quest (line 43) | async def ask_quest(self, ctx: Context, ev: NameResponseEvent) -> Ques... method complete (line 50) | async def complete(self, ctx: Context, ev: QuestResponseEvent) -> Stop... FILE: packages/llama-agents-dbos/tests/fixtures/server_runner.py function check_streams_count (line 53) | async def check_streams_count(db_url: str, run_id: str) -> None: function check_events (line 74) | async def check_events(db_url: str, run_id: str, schema: str | None = No... function run_workflow_with_server (line 99) | async def run_workflow_with_server( function main (line 165) | def main() -> None: FILE: packages/llama-agents-dbos/tests/test_dbos_cross_process.py function start_replica (line 30) | def start_replica(port: int, db_url: str) -> subprocess.Popen[str]: function wait_for_server (line 49) | def wait_for_server( function test_cross_process_event_delivery (line 77) | async def test_cross_process_event_delivery(postgres_dsn: str) -> None: FILE: packages/llama-agents-dbos/tests/test_dbos_determinism_subprocess.py function test_db_path (line 22) | def test_db_path(tmp_path: Path) -> Path: function test_determinism_on_resume_after_interrupt (line 32) | def test_determinism_on_resume_after_interrupt(test_db_path: Path) -> None: function test_chained_steps_determinism_on_resume (line 74) | def test_chained_steps_determinism_on_resume(test_db_path: Path) -> None: function test_hitl_three_step_determinism (line 104) | def test_hitl_three_step_determinism(test_db_path: Path) -> None: function test_parallel_steps_determinism (line 159) | def test_parallel_steps_determinism(test_db_path: Path) -> None: function test_concurrent_workers_determinism (line 182) | def test_concurrent_workers_determinism(test_db_path: Path) -> None: function test_sequential_hitl_interrupt_resume (line 205) | def test_sequential_hitl_interrupt_resume(test_db_path: Path) -> None: function test_parallel_steps_stress (line 249) | def test_parallel_steps_stress(test_db_path: Path, iteration: int) -> None: function test_concurrent_workers_stress (line 268) | def test_concurrent_workers_stress(test_db_path: Path, iteration: int) -... function test_streaming_stress_determinism (line 290) | def test_streaming_stress_determinism(test_db_path: Path) -> None: function test_streaming_interrupt_resume (line 308) | def test_streaming_interrupt_resume(test_db_path: Path) -> None: function test_streaming_stress_repeated (line 343) | def test_streaming_stress_repeated(test_db_path: Path, iteration: int) -... FILE: packages/llama-agents-dbos/tests/test_dbos_idle_release.py class StubInternalAdapter (line 53) | class StubInternalAdapter(InternalRunAdapter): method __init__ (line 54) | def __init__(self, run_id: str = "run-1") -> None: method run_id (line 60) | def run_id(self) -> str: method write_to_event_stream (line 63) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 66) | async def get_now(self) -> float: method send_event (line 69) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 72) | async def wait_receive(self, timeout_seconds: float | None = None) -> ... method close (line 75) | async def close(self) -> None: method get_state_store (line 78) | def get_state_store(self) -> StateStore[Any] | None: class StubExternalAdapter (line 82) | class StubExternalAdapter(ExternalRunAdapter): method __init__ (line 83) | def __init__(self, run_id: str = "run-1", result: StopEvent | None = N... method run_id (line 90) | def run_id(self) -> str: method send_event (line 93) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 96) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method close (line 99) | async def close(self) -> None: method get_result (line 102) | async def get_result(self) -> StopEvent: method get_state_store (line 105) | def get_state_store(self) -> StateStore[Any] | None: class StubRuntime (line 109) | class StubRuntime(Runtime): method __init__ (line 110) | def __init__(self) -> None: method register (line 115) | def register(self, workflow: Any) -> RegisteredWorkflow: method run_workflow (line 120) | def run_workflow( method get_internal_adapter (line 143) | def get_internal_adapter(self, workflow: Any) -> InternalRunAdapter: method get_external_adapter (line 146) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 153) | async def launch(self) -> None: method destroy (line 156) | async def destroy(self) -> None: class SimpleWorkflow (line 160) | class SimpleWorkflow(Workflow): method process (line 162) | async def process(self, ctx: Context, ev: StartEvent) -> StopEvent: class MyState (line 166) | class MyState(BaseModel): class StatefulWorkflow (line 170) | class StatefulWorkflow(Workflow): method process (line 172) | async def process(self, ctx: Context[MyState], ev: StartEvent) -> Stop... class FakeLifecycleLock (line 176) | class FakeLifecycleLock(RunLifecycleLock): method __init__ (line 179) | def __init__(self) -> None: method create (line 182) | async def create(self, run_id: str) -> None: method begin_release (line 185) | async def begin_release(self, run_id: str) -> bool: method complete_release (line 192) | async def complete_release(self, run_id: str) -> None: method try_begin_resume (line 200) | async def try_begin_resume( method get_state (line 222) | def get_state(self, run_id: str) -> tuple[RunLifecycleState, datetime]... method set_updated_at (line 226) | def set_updated_at(self, run_id: str, updated_at: datetime) -> None: function store (line 237) | def store() -> MemoryWorkflowStore: function stub_runtime (line 242) | def stub_runtime() -> StubRuntime: function mock_journal_crud (line 247) | def mock_journal_crud() -> AsyncMock: function mock_dbos (line 252) | def mock_dbos(): function lifecycle (line 261) | def lifecycle() -> FakeLifecycleLock: function _make_decorator (line 265) | def _make_decorator( function decorator (line 282) | def decorator( function _seed_handler (line 294) | def _seed_handler( function test_idle_event_schedules_release_without_stamping_idle_since (line 317) | async def test_idle_event_schedules_release_without_stamping_idle_since( function test_release_uses_lifecycle_lock (line 341) | async def test_release_uses_lifecycle_lock( function test_release_skips_if_begin_release_fails (line 364) | async def test_release_skips_if_begin_release_fails( function test_await_and_mark_released_sets_idle_since (line 379) | async def test_await_and_mark_released_sets_idle_since( function test_send_event_resumes_when_released (line 402) | async def test_send_event_resumes_when_released( function test_send_event_sends_normally_when_active (line 450) | async def test_send_event_sends_normally_when_active( function test_send_event_waits_on_releasing_then_resumes (line 471) | async def test_send_event_waits_on_releasing_then_resumes( function test_send_event_force_resumes_on_crash_timeout (line 510) | async def test_send_event_force_resumes_on_crash_timeout( function test_wait_receive_cancels_pending_release_timer (line 549) | async def test_wait_receive_cancels_pending_release_timer( function test_no_destroy_or_shutdown_cancellation (line 578) | async def test_no_destroy_or_shutdown_cancellation( function test_do_resume_carries_over_serialized_state (line 590) | async def test_do_resume_carries_over_serialized_state( function test_send_event_polls_when_releasing_then_completes (line 622) | async def test_send_event_polls_when_releasing_then_completes( function test_send_event_crash_timeout_boundary_does_not_force_resume (line 662) | async def test_send_event_crash_timeout_boundary_does_not_force_resume( function test_do_resume_continues_when_old_dbos_workflow_gone (line 704) | async def test_do_resume_continues_when_old_dbos_workflow_gone( function test_do_resume_continues_when_state_carryover_fails (line 727) | async def test_do_resume_continues_when_state_carryover_fails( function test_do_resume_continues_when_journal_delete_fails (line 752) | async def test_do_resume_continues_when_journal_delete_fails( function test_do_resume_continues_when_dbos_delete_fails (line 775) | async def test_do_resume_continues_when_dbos_delete_fails( function test_do_resume_raises_when_handler_not_found (line 798) | async def test_do_resume_raises_when_handler_not_found( function test_do_resume_raises_when_workflow_not_tracked (line 807) | async def test_do_resume_raises_when_workflow_not_tracked( function test_do_resume_includes_pending_tick_in_rebuilt_state (line 818) | async def test_do_resume_includes_pending_tick_in_rebuilt_state( function test_do_resume_replays_persisted_ticks (line 849) | async def test_do_resume_replays_persisted_ticks( function test_await_and_mark_released_handles_get_result_failure (line 884) | async def test_await_and_mark_released_handles_get_result_failure( function test_deferred_release_fires_after_timeout (line 901) | async def test_deferred_release_fires_after_timeout( FILE: packages/llama-agents-dbos/tests/test_dbos_idle_release_e2e.py function _start_idle_server (line 31) | def _start_idle_server( function _stop_server (line 60) | def _stop_server(proc: subprocess.Popen[str]) -> None: function _wait_for_server (line 71) | def _wait_for_server( function _run_idle_release_test (line 96) | async def _run_idle_release_test(port: int, db_url: str) -> None: function _wait_for_handler_status (line 150) | async def _wait_for_handler_status( function test_idle_release_e2e_sqlite (line 163) | async def test_idle_release_e2e_sqlite(tmp_path: Path) -> None: function test_idle_release_e2e_postgres (line 172) | async def test_idle_release_e2e_postgres(postgres_dsn: str) -> None: function test_restart_and_recover_http_workflow (line 179) | async def test_restart_and_recover_http_workflow(tmp_path: Path) -> None: FILE: packages/llama-agents-dbos/tests/test_dbos_runtime.py function _fake_sqlite_engine (line 36) | def _fake_sqlite_engine() -> Engine: function test_postgres_adapter_uses_resolved_pool_for_sync_state_store (line 46) | def test_postgres_adapter_uses_resolved_pool_for_sync_state_store() -> N... function dbos_config (line 68) | def dbos_config(tmp_path_factory: pytest.TempPathFactory) -> DBOSConfig: function dbos_runtime (line 80) | def dbos_runtime( class DebugEvent (line 92) | class DebugEvent(Event): class RunIdCaptureWorkflow (line 98) | class RunIdCaptureWorkflow(Workflow): method capture_ids (line 102) | async def capture_ids(self, ev: StartEvent) -> StopEvent: class StateStoreAccessWorkflow (line 107) | class StateStoreAccessWorkflow(Workflow): method access_store (line 111) | async def access_store(self, ctx: Context, ev: StartEvent) -> StopEvent: class StateStoreCounterWorkflow (line 135) | class StateStoreCounterWorkflow(Workflow): method increment (line 139) | async def increment(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_dbos_workflow_id_available (line 146) | async def test_dbos_workflow_id_available(dbos_runtime: DBOSRuntime) -> ... function test_state_store_access_in_step (line 160) | async def test_state_store_access_in_step(dbos_runtime: DBOSRuntime) -> ... function test_internal_adapter_run_id_matches (line 174) | async def test_internal_adapter_run_id_matches(dbos_runtime: DBOSRuntime... function test_external_run_id_vs_internal (line 204) | async def test_external_run_id_vs_internal(dbos_runtime: DBOSRuntime) ->... function test_state_store_lazy_creation (line 230) | async def test_state_store_lazy_creation(dbos_runtime: DBOSRuntime) -> N... function test_run_workflow_does_not_create_store (line 267) | async def test_run_workflow_does_not_create_store(dbos_runtime: DBOSRunt... function test_replay_wait_for_next_task_timeout_returns_none (line 292) | async def test_replay_wait_for_next_task_timeout_returns_none( function test_async_launch_runs_dbos_launch_on_caller_loop (line 323) | async def test_async_launch_runs_dbos_launch_on_caller_loop( function test_launch_sync_offloads_dbos_launch_from_asyncio_run_loop (line 348) | def test_launch_sync_offloads_dbos_launch_from_asyncio_run_loop( function test_launch_sync_raises_in_async_context (line 379) | async def test_launch_sync_raises_in_async_context() -> None: function test_launch_sync_raises_with_executor_lease (line 387) | def test_launch_sync_raises_with_executor_lease() -> None: function test_resolve_pool_sizes_explicit_config (line 398) | def test_resolve_pool_sizes_explicit_config() -> None: function test_resolve_pool_sizes_explicit_min_and_max (line 406) | def test_resolve_pool_sizes_explicit_min_and_max() -> None: function test_resolve_pool_sizes_min_clamped_to_max (line 413) | def test_resolve_pool_sizes_min_clamped_to_max() -> None: function test_resolve_pool_sizes_floor_at_two (line 420) | def test_resolve_pool_sizes_floor_at_two() -> None: function test_resolve_pool_sizes_falls_back_to_dbos_sys_db_pool_size (line 428) | def test_resolve_pool_sizes_falls_back_to_dbos_sys_db_pool_size() -> None: function test_resolve_pool_sizes_falls_back_to_constant_when_dbos_unavailable (line 440) | def test_resolve_pool_sizes_falls_back_to_constant_when_dbos_unavailable... function test_register_forwards_max_recovery_attempts (line 452) | def test_register_forwards_max_recovery_attempts() -> None: FILE: packages/llama-agents-dbos/tests/test_dbos_server_postgres.py function run_server_scenario (line 29) | def run_server_scenario( function assert_no_errors (line 58) | def assert_no_errors(result: subprocess.CompletedProcess[str]) -> None: function extract_line (line 69) | def extract_line(output: str, prefix: str) -> str | None: function extract_all_lines (line 77) | def extract_all_lines(output: str, prefix: str) -> list[str]: function test_event_interceptor_no_dbos_streams (line 84) | def test_event_interceptor_no_dbos_streams(postgres_dsn: str) -> None: function test_events_stored_as_json (line 105) | def test_events_stored_as_json(postgres_dsn: str) -> None: function test_subscribe_events_receives_all_events (line 130) | def test_subscribe_events_receives_all_events(postgres_dsn: str) -> None: function test_no_duplicate_events_after_replay (line 149) | def test_no_duplicate_events_after_replay(postgres_dsn: str) -> None: FILE: packages/llama-agents-dbos/tests/test_executor_lease.py function lease_dsn (line 19) | async def lease_dsn(postgres_dsn: str) -> AsyncGenerator[str]: function make_manager (line 34) | def make_manager( function test_requires_pool_provider (line 49) | def test_requires_pool_provider() -> None: function test_acquire_returns_slot_id (line 61) | async def test_acquire_returns_slot_id(lease_dsn: str) -> None: function test_executor_id_raises_before_acquire (line 73) | async def test_executor_id_raises_before_acquire(lease_dsn: str) -> None: function test_acquire_blocks_when_full (line 81) | async def test_acquire_blocks_when_full(lease_dsn: str) -> None: function test_release_frees_slot (line 100) | async def test_release_frees_slot(lease_dsn: str) -> None: function test_stale_heartbeat_allows_reclaim (line 113) | async def test_stale_heartbeat_allows_reclaim(lease_dsn: str) -> None: function test_lost_lease_sets_event (line 147) | async def test_lost_lease_sets_event(lease_dsn: str) -> None: function test_concurrent_acquires (line 169) | async def test_concurrent_acquires(lease_dsn: str) -> None: function test_context_manager_releases_on_exit (line 182) | async def test_context_manager_releases_on_exit(lease_dsn: str) -> None: FILE: packages/llama-agents-dbos/tests/test_journal_double_restart_hang.py function test_db_path (line 29) | def test_db_path(tmp_path: Path) -> Path: function _get_journal_rows (line 33) | def _get_journal_rows(db_path: Path, run_id: str) -> list[tuple[Any, ...]]: function _log_journal (line 44) | def _log_journal(db_path: Path, run_id: str, label: str) -> None: function _run_double_restart (line 50) | def _run_double_restart( function test_double_restart_counter_workflow (line 113) | def test_double_restart_counter_workflow(test_db_path: Path) -> None: function test_double_restart_with_close (line 117) | def test_double_restart_with_close(test_db_path: Path) -> None: FILE: packages/llama-agents-dbos/tests/test_journal_orphan_determinism.py function test_db_path (line 34) | def test_db_path(tmp_path: Path) -> Path: function _db_url (line 38) | def _db_url(db_path: Path) -> str: function _query_scalar (line 42) | def _query_scalar(db_path: Path, sql: str, params: tuple[Any, ...] = ())... function _get_max_fid (line 56) | def _get_max_fid(db_path: Path, run_id: str) -> int: function _inject_orphaned_operation (line 65) | def _inject_orphaned_operation( function _get_function_at_fid (line 86) | def _get_function_at_fid(db_path: Path, run_id: str, fid: int) -> str | ... function _run_interrupt_and_get_max_fid (line 95) | def _run_interrupt_and_get_max_fid(db_path: Path, run_id: str) -> int: function test_injected_orphan_is_purged_on_recovery (line 110) | def test_injected_orphan_is_purged_on_recovery(test_db_path: Path) -> None: FILE: packages/llama-agents-dbos/tests/test_lifecycle_lock.py class UpdatedAtSetter (line 28) | class UpdatedAtSetter(Protocol): method set_updated_at (line 29) | async def set_updated_at(self, run_id: str, updated_at: datetime) -> N... class SqliteUpdatedAtSetter (line 32) | class SqliteUpdatedAtSetter: method __init__ (line 33) | def __init__(self, db_path: str) -> None: method set_updated_at (line 36) | async def set_updated_at(self, run_id: str, updated_at: datetime) -> N... class PostgresUpdatedAtSetter (line 46) | class PostgresUpdatedAtSetter: method __init__ (line 47) | def __init__(self, pool: asyncpg.Pool) -> None: method set_updated_at (line 50) | async def set_updated_at(self, run_id: str, updated_at: datetime) -> N... function lock_fixture (line 65) | async def lock_fixture( function test_create_sets_active (line 110) | async def test_create_sets_active(lock_fixture: LockFixture) -> None: function test_begin_release_active_to_releasing (line 118) | async def test_begin_release_active_to_releasing(lock_fixture: LockFixtu... function test_begin_release_not_active_returns_false (line 127) | async def test_begin_release_not_active_returns_false( function test_complete_release (line 138) | async def test_complete_release(lock_fixture: LockFixture) -> None: function test_try_begin_resume_no_row (line 148) | async def test_try_begin_resume_no_row(lock_fixture: LockFixture) -> None: function test_try_begin_resume_active_returns_none (line 155) | async def test_try_begin_resume_active_returns_none(lock_fixture: LockFi... function test_try_begin_resume_released_transitions_to_active (line 163) | async def test_try_begin_resume_released_transitions_to_active( function test_try_begin_resume_releasing_returns_releasing (line 178) | async def test_try_begin_resume_releasing_returns_releasing( function test_try_begin_resume_force_resumes_on_crash_timeout (line 189) | async def test_try_begin_resume_force_resumes_on_crash_timeout( function test_try_begin_resume_releasing_no_force_without_timeout (line 206) | async def test_try_begin_resume_releasing_no_force_without_timeout( function test_create_is_idempotent (line 221) | async def test_create_is_idempotent(lock_fixture: LockFixture) -> None: function test_full_lifecycle (line 232) | async def test_full_lifecycle(lock_fixture: LockFixture) -> None: function test_run_id_isolation (line 247) | async def test_run_id_isolation(lock_fixture: LockFixture) -> None: FILE: packages/llama-agents-dbos/tests/test_task_journal.py function _make_journal (line 12) | def _make_journal(run_id: str, db_path: str) -> TaskJournal: function test_fresh_journal_has_no_entries (line 18) | async def test_fresh_journal_has_no_entries(journal_db_path: str) -> None: function test_record_adds_entry (line 28) | async def test_record_adds_entry(journal_db_path: str) -> None: function test_record_multiple_entries (line 42) | async def test_record_multiple_entries(journal_db_path: str) -> None: function test_replay_returns_entries_in_order (line 64) | async def test_replay_returns_entries_in_order(journal_db_path: str) -> ... function test_load_is_idempotent (line 92) | async def test_load_is_idempotent(journal_db_path: str) -> None: function test_none_crud_works_in_memory (line 111) | async def test_none_crud_works_in_memory() -> None: function test_record_advances_index (line 128) | async def test_record_advances_index(journal_db_path: str) -> None: function test_mixed_replay_and_fresh_execution (line 144) | async def test_mixed_replay_and_fresh_execution(journal_db_path: str) ->... function test_empty_journal_is_valid (line 172) | async def test_empty_journal_is_valid(journal_db_path: str) -> None: function test_run_id_isolation (line 182) | async def test_run_id_isolation(journal_db_path: str) -> None: FILE: packages/llama-agents-integration-tests/src/llama_agents_integration_tests/fake_agent_data.py class FakeAgentDataBackend (line 19) | class FakeAgentDataBackend: method __init__ (line 26) | def __init__(self) -> None: method _key (line 33) | def _key(self, deployment_name: str, collection: str) -> tuple[str, str]: method _get_items (line 36) | def _get_items(self, deployment_name: str, collection: str) -> list[di... method search (line 39) | def search( method _matches (line 67) | def _matches(data: dict[str, Any], filters: dict[str, Any]) -> bool: method create (line 83) | def create( method update_item (line 98) | def update_item(self, item_id: str, data: dict[str, Any]) -> dict[str,... method delete_item (line 106) | def delete_item(self, item_id: str) -> None: method delete_many (line 114) | def delete_many( method handle_request (line 126) | def handle_request(self, request: httpx.Request) -> httpx.Response: function _patch_client (line 172) | def _patch_client( function create_agent_data_store (line 191) | def create_agent_data_store( function create_agent_data_state_store (line 207) | def create_agent_data_state_store( FILE: packages/llama-agents-integration-tests/src/llama_agents_integration_tests/helpers.py function response_generator_from_list (line 15) | def response_generator_from_list(responses: list[ChatMessage]) -> Callable: function make_tool_call_response (line 30) | def make_tool_call_response( function make_text_response (line 48) | def make_text_response(content: str) -> ChatMessage: FILE: packages/llama-agents-integration-tests/src/llama_agents_integration_tests/postgres.py function postgres_container (line 14) | def postgres_container( function get_asyncpg_dsn (line 27) | def get_asyncpg_dsn(container: PostgresContainer) -> str: FILE: packages/llama-agents-integration-tests/src/llama_agents_integration_tests/server_test_utils.py function wait_for_passing (line 30) | async def wait_for_passing( function wait_for_requested_external_event_stream (line 50) | async def wait_for_requested_external_event_stream( class SimpleTestWorkflow (line 84) | class SimpleTestWorkflow(Workflow): method process (line 86) | async def process(self, ctx: Context, ev: StartEvent) -> StopEvent: class StreamEvent (line 93) | class StreamEvent(Event): class StreamingWorkflow (line 98) | class StreamingWorkflow(Workflow): method stream_data (line 100) | async def stream_data(self, ctx: Context, ev: StartEvent) -> StopEvent: class RequestedExternalEvent (line 108) | class RequestedExternalEvent(InputRequiredEvent): class ExternalEvent (line 112) | class ExternalEvent(HumanResponseEvent): class InteractiveWorkflow (line 116) | class InteractiveWorkflow(Workflow): method start (line 118) | async def start(self, ctx: Context, ev: StartEvent) -> RequestedExtern... method end (line 122) | async def end(self, ctx: Context, ev: ExternalEvent) -> StopEvent: function live_server (line 132) | async def live_server( FILE: packages/llama-agents-integration-tests/tests/conftest.py class WorkflowFactory (line 27) | class WorkflowFactory(Protocol): method __call__ (line 30) | def __call__( class SimpleWorkflowFactory (line 40) | class SimpleWorkflowFactory(Protocol): method __call__ (line 43) | def __call__( function create_workflow (line 52) | def create_workflow() -> WorkflowFactory: function agent_type (line 91) | def agent_type(request: pytest.FixtureRequest) -> str: function create_simple_workflow (line 101) | def create_simple_workflow(agent_type: str) -> SimpleWorkflowFactory: function postgres_container (line 146) | def postgres_container() -> Generator[PostgresContainer, None, None]: function postgres_engine (line 156) | def postgres_engine( FILE: packages/llama-agents-integration-tests/tests/test_agent_data_store.py function _unique_collection (line 30) | def _unique_collection() -> str: function _make_store (line 34) | def _make_store(collection: str | None = None) -> AgentDataStore: function _cleanup_store (line 44) | async def _cleanup_store(store: AgentDataStore) -> None: function _handler (line 57) | def _handler( function _event_envelope (line 73) | def _event_envelope(event: Event) -> EventEnvelopeWithMetadata: function store (line 83) | async def store( function store_factory (line 101) | def store_factory( function test_idle_filter (line 126) | async def test_idle_filter(store: AgentDataStore) -> None: function test_idle_filter_after_clearing_idle_since (line 144) | async def test_idle_filter_after_clearing_idle_since(store: AgentDataSto... function test_handler_create_query_update_delete (line 169) | async def test_handler_create_query_update_delete(store: AgentDataStore)... function test_event_append_and_query_ordering (line 196) | async def test_event_append_and_query_ordering(store: AgentDataStore) ->... function test_event_query_after_sequence (line 213) | async def test_event_query_after_sequence(store: AgentDataStore) -> None: function test_tick_append_and_ordering (line 235) | async def test_tick_append_and_ordering(store: AgentDataStore) -> None: function test_event_sequence_new_store_instance_no_collision (line 255) | async def test_event_sequence_new_store_instance_no_collision( function test_state_store_set_get_round_trip (line 296) | async def test_state_store_set_get_round_trip(store: AgentDataStore) -> ... function test_state_store_new_instance_reads_persisted (line 312) | async def test_state_store_new_instance_reads_persisted(store: AgentData... function test_state_store_edit_state_context_manager (line 330) | async def test_state_store_edit_state_context_manager(store: AgentDataSt... function test_query_by_status_and_workflow_name (line 351) | async def test_query_by_status_and_workflow_name(store: AgentDataStore) ... function test_query_by_multiple_run_ids (line 374) | async def test_query_by_multiple_run_ids(store: AgentDataStore) -> None: FILE: packages/llama-agents-integration-tests/tests/test_context_store.py function test_initial_state_accessible_in_tool (line 16) | async def test_initial_state_accessible_in_tool( function test_state_modification_persists (line 45) | async def test_state_modification_persists(create_workflow: WorkflowFact... function test_state_survives_handler_access (line 81) | async def test_state_survives_handler_access( function test_complex_state_types (line 113) | async def test_complex_state_types(create_workflow: WorkflowFactory) -> ... function test_multiple_tools_share_state (line 153) | async def test_multiple_tools_share_state(create_workflow: WorkflowFacto... FILE: packages/llama-agents-integration-tests/tests/test_error_handling.py function test_max_iterations_raises_error (line 16) | async def test_max_iterations_raises_error(create_workflow: WorkflowFact... function test_early_stopping_generate (line 33) | async def test_early_stopping_generate(create_workflow: WorkflowFactory)... function test_tool_error_captured_in_result (line 62) | async def test_tool_error_captured_in_result( function test_max_iterations_configurable_per_run (line 87) | async def test_max_iterations_configurable_per_run( FILE: packages/llama-agents-integration-tests/tests/test_event_streaming.py function test_stream_events_yields_events (line 16) | async def test_stream_events_yields_events( function test_agent_output_streamed (line 36) | async def test_agent_output_streamed( function test_tool_call_events_streamed (line 57) | async def test_tool_call_events_streamed(create_workflow: WorkflowFactor... function test_multiple_tool_calls_streamed (line 89) | async def test_multiple_tool_calls_streamed(create_workflow: WorkflowFac... function test_handler_result_after_streaming (line 121) | async def test_handler_result_after_streaming( function test_events_contain_agent_name (line 142) | async def test_events_contain_agent_name( FILE: packages/llama-agents-integration-tests/tests/test_human_in_the_loop.py function test_wait_for_event_in_tool (line 18) | async def test_wait_for_event_in_tool(create_workflow: WorkflowFactory) ... function test_context_dict_serialization (line 62) | async def test_context_dict_serialization(create_workflow: WorkflowFacto... function test_pickle_serialization (line 101) | async def test_pickle_serialization(create_workflow: WorkflowFactory) ->... function test_state_preserved_across_pause_resume (line 142) | async def test_state_preserved_across_pause_resume( FILE: packages/llama-agents-integration-tests/tests/test_runtime_matrix.py function _get_runtime_params (line 43) | def _get_runtime_params() -> list[Any]: function postgres_container (line 63) | def postgres_container() -> Generator[PostgresContainer, None, None]: function dbos_runtime_sqlite (line 74) | def dbos_runtime_sqlite( function dbos_runtime_postgres (line 109) | def dbos_runtime_postgres( function runtime (line 129) | async def runtime( class OneTestEvent (line 157) | class OneTestEvent(Event): class AnotherTestEvent (line 161) | class AnotherTestEvent(Event): class LastEvent (line 165) | class LastEvent(Event): class MyStart (line 169) | class MyStart(StartEvent): class MyStop (line 173) | class MyStop(StopEvent): class SimpleWorkflow (line 180) | class SimpleWorkflow(Workflow): method start_step (line 182) | async def start_step(self, ev: StartEvent) -> OneTestEvent: method middle_step (line 186) | async def middle_step(self, ev: OneTestEvent) -> LastEvent: method end_step (line 190) | async def end_step(self, ev: LastEvent) -> StopEvent: class SlowWorkflow (line 194) | class SlowWorkflow(Workflow): method slow_step (line 196) | async def slow_step(self, ev: StartEvent) -> StopEvent: class EventTrackingWorkflow (line 201) | class EventTrackingWorkflow(Workflow): method step1 (line 207) | async def step1(self, ev: StartEvent) -> OneTestEvent: method step2 (line 212) | async def step2(self, ev: OneTestEvent) -> StopEvent: class SyncAsyncWorkflow (line 217) | class SyncAsyncWorkflow(Workflow): method async_step (line 219) | async def async_step(self, ev: StartEvent) -> OneTestEvent: method sync_step (line 223) | def sync_step(self, ev: OneTestEvent) -> StopEvent: class SyncWorkflow (line 227) | class SyncWorkflow(Workflow): method step_one (line 229) | def step_one(self, ctx: Context, ev: StartEvent) -> OneTestEvent: method step_two (line 234) | def step_two(self, ctx: Context, ev: OneTestEvent) -> StopEvent: class MultiRunWorkflow (line 238) | class MultiRunWorkflow(Workflow): method step (line 240) | async def step(self, ev: StartEvent) -> StopEvent: class ErrorWorkflow (line 244) | class ErrorWorkflow(Workflow): method step (line 246) | async def step(self, ev: StartEvent) -> StopEvent: class CounterWorkflow (line 250) | class CounterWorkflow(Workflow): method step (line 252) | async def step(self, ctx: Context, ev: StartEvent) -> StopEvent: class StepSendEventWorkflow (line 259) | class StepSendEventWorkflow(Workflow): method step1 (line 261) | async def step1(self, ctx: Context, ev: StartEvent) -> OneTestEvent: method step2 (line 266) | async def step2(self, ev: OneTestEvent) -> StopEvent: method step3 (line 270) | async def step3(self, ev: OneTestEvent) -> StopEvent: class NumWorkersWorkflow (line 274) | class NumWorkersWorkflow(Workflow): method original_step (line 276) | async def original_step( method test_step (line 287) | async def test_step(self, ev: OneTestEvent) -> AnotherTestEvent: method final_step (line 292) | async def final_step( class CustomEventsWorkflow (line 302) | class CustomEventsWorkflow(Workflow): method start_step (line 304) | async def start_step(self, ev: MyStart) -> OneTestEvent: method middle_step (line 312) | async def middle_step(self, ev: OneTestEvent) -> LastEvent: method end_step (line 316) | async def end_step(self, ev: LastEvent) -> MyStop: class HITLWorkflow (line 320) | class HITLWorkflow(Workflow): method step1 (line 322) | async def step1(self, ctx: Context, ev: StartEvent) -> InputRequiredEv... method step2 (line 328) | async def step2(self, ctx: Context, ev: HumanResponseEvent) -> StopEvent: class StreamWorkflow (line 334) | class StreamWorkflow(Workflow): method chat (line 336) | async def chat(self, ctx: Context, ev: StartEvent) -> StopEvent: class ErrorStreamingWorkflow (line 348) | class ErrorStreamingWorkflow(Workflow): method step (line 350) | async def step(self, ctx: Context, ev: StartEvent) -> StopEvent: class TimeoutStreamingWorkflow (line 355) | class TimeoutStreamingWorkflow(Workflow): method step (line 357) | async def step(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_workflow_run (line 367) | async def test_workflow_run(runtime: Runtime) -> None: function test_workflow_timeout (line 375) | async def test_workflow_timeout(runtime: Runtime) -> None: function test_workflow_event_propagation (line 383) | async def test_workflow_event_propagation(runtime: Runtime) -> None: function test_workflow_sync_async_steps (line 404) | async def test_workflow_sync_async_steps(runtime: Runtime) -> None: function test_workflow_sync_steps_only (line 411) | async def test_workflow_sync_steps_only(runtime: Runtime) -> None: function test_workflow_multiple_runs (line 418) | async def test_workflow_multiple_runs(runtime: Runtime) -> None: function test_workflow_task_raises (line 431) | async def test_workflow_task_raises(runtime: Runtime) -> None: function test_workflow_step_send_event (line 439) | async def test_workflow_step_send_event(runtime: Runtime) -> None: function test_workflow_num_workers (line 447) | async def test_workflow_num_workers(runtime: Runtime) -> None: function test_custom_stop_event (line 514) | async def test_custom_stop_event(runtime: Runtime) -> None: function test_human_in_the_loop (line 537) | async def test_human_in_the_loop(runtime: Runtime) -> None: function test_workflow_stream_events_exits (line 560) | async def test_workflow_stream_events_exits(runtime: Runtime) -> None: function test_streaming_e2e (line 579) | async def test_streaming_e2e(runtime: Runtime) -> None: function test_streaming_task_raised (line 588) | async def test_streaming_task_raised(runtime: Runtime) -> None: function test_streaming_task_timeout (line 602) | async def test_streaming_task_timeout(runtime: Runtime) -> None: class StatefulWorkflow (line 618) | class StatefulWorkflow(Workflow): method step1 (line 622) | async def step1(self, ctx: Context, ev: StartEvent) -> OneTestEvent: method step2 (line 628) | async def step2(self, ctx: Context, ev: OneTestEvent) -> StopEvent: class NestedStateWorkflow (line 636) | class NestedStateWorkflow(Workflow): method process (line 640) | async def process(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_workflow_state_basic (line 649) | async def test_workflow_state_basic(runtime: Runtime) -> None: function test_workflow_state_across_steps (line 658) | async def test_workflow_state_across_steps(runtime: Runtime) -> None: function test_workflow_nested_state (line 667) | async def test_workflow_nested_state(runtime: Runtime) -> None: function test_workflow_state_multiple_runs (line 676) | async def test_workflow_state_multiple_runs(runtime: Runtime) -> None: class TypedState (line 697) | class TypedState(BaseModel): class TypeStateStopEvent (line 705) | class TypeStateStopEvent(StopEvent): class TypedStateWorkflow (line 712) | class TypedStateWorkflow(Workflow): method process (line 716) | async def process(self, ctx: Context[TypedState], ev: StartEvent) -> S... function test_typed_state_workflow (line 737) | async def test_typed_state_workflow(runtime: Runtime) -> None: class TypedStateWithDefaultsWorkflow (line 760) | class TypedStateWithDefaultsWorkflow(Workflow): method check_defaults (line 764) | async def check_defaults( function test_typed_state_defaults (line 778) | async def test_typed_state_defaults(runtime: Runtime) -> None: function test_typed_state_with_initial_values (line 791) | async def test_typed_state_with_initial_values(runtime: Runtime) -> None: FILE: packages/llama-agents-integration-tests/tests/test_server_http_matrix.py class CumulativeWorkflow (line 39) | class CumulativeWorkflow(Workflow): method accumulate (line 41) | async def accumulate(self, ctx: Context, ev: StartEvent) -> StopEvent: class WaitableExternalEvent (line 52) | class WaitableExternalEvent(Event): class WaitingWorkflow (line 56) | class WaitingWorkflow(Workflow): method start_and_wait (line 58) | async def start_and_wait(self, ctx: Context, ev: StartEvent) -> StopEv... function _get_backend_params (line 63) | def _get_backend_params() -> list[Any]: function postgres_container (line 72) | def postgres_container(request: Any) -> Any: function _add_all_workflows (line 85) | def _add_all_workflows(server: WorkflowServer) -> None: function _start_postgres_server (line 96) | async def _start_postgres_server( function _stop_postgres_server (line 153) | async def _stop_postgres_server() -> None: function postgres_server (line 166) | async def postgres_server( function backend_server (line 179) | async def backend_server( function test_basic_run_and_result (line 220) | async def test_basic_run_and_result( function test_streaming_and_interactive (line 234) | async def test_streaming_and_interactive( function test_reconnect_stream (line 261) | async def test_reconnect_stream( function test_cumulative_rerun (line 307) | async def test_cumulative_rerun( FILE: packages/llama-agents-integration-tests/tests/test_server_store_matrix.py function _get_handler_raw (line 41) | async def _get_handler_raw(base_url: str, handler_id: str) -> dict[str, ... class ErrorWorkflow (line 51) | class ErrorWorkflow(Workflow): method error_step (line 53) | async def error_step(self, ev: StartEvent) -> StopEvent: function server_with_store (line 68) | async def server_with_store( function test_sync_run (line 115) | async def test_sync_run(server_with_store: tuple[str, WorkflowServer, st... function test_async_run_and_poll (line 125) | async def test_async_run_and_poll( function test_sse_event_streaming (line 143) | async def test_sse_event_streaming( function test_send_external_event (line 162) | async def test_send_external_event( function test_cancel_handler (line 186) | async def test_cancel_handler( function test_list_handlers (line 212) | async def test_list_handlers( function test_error_workflow_status (line 227) | async def test_error_workflow_status( function test_streaming_workflow_events (line 245) | async def test_streaming_workflow_events( function test_cursor_resume (line 267) | async def test_cursor_resume( function test_concurrent_workflows (line 288) | async def test_concurrent_workflows( function durable_server_factory (line 317) | def durable_server_factory( function test_server_restart_resumes_workflow (line 367) | async def test_server_restart_resumes_workflow( function test_idle_release_and_reload (line 400) | async def test_idle_release_and_reload( FILE: packages/llama-agents-integration-tests/tests/test_state_store_matrix.py class MyRandomObject (line 40) | class MyRandomObject: method __init__ (line 43) | def __init__(self, name: str) -> None: class PydanticObject (line 47) | class PydanticObject(BaseModel): class MyState (line 53) | class MyState(BaseModel): method serialize_my_obj (line 68) | def serialize_my_obj(self, my_obj: MyRandomObject) -> str: method deserialize_my_obj (line 73) | def deserialize_my_obj(cls, v: str | MyRandomObject) -> MyRandomObject: function postgres_container (line 85) | def postgres_container() -> Generator[PostgresContainer, None, None]: function postgres_dsn (line 95) | def postgres_dsn( function _create_postgres_pool (line 111) | async def _create_postgres_pool(dsn: str) -> asyncpg.Pool: function sqlite_db_path (line 131) | def sqlite_db_path( function _get_store_params (line 149) | def _get_store_params() -> list[Any]: function _get_sql_params (line 159) | def _get_sql_params() -> list[Any]: function state_store (line 168) | async def state_store( function sql_store_factory (line 195) | async def sql_store_factory( function custom_state_store (line 210) | async def custom_state_store( function test_get_set_basic_values (line 258) | async def test_get_set_basic_values(state_store: StateStore[DictState]) ... function test_get_with_default (line 268) | async def test_get_with_default(state_store: StateStore[DictState]) -> N... function test_get_missing_raises (line 278) | async def test_get_missing_raises(state_store: StateStore[DictState]) ->... function test_nested_get_set (line 285) | async def test_nested_get_set(state_store: StateStore[DictState]) -> None: function test_get_state_returns_copy (line 295) | async def test_get_state_returns_copy(state_store: StateStore[DictState]... function test_set_state_replaces (line 307) | async def test_set_state_replaces(state_store: StateStore[DictState]) ->... function test_clear_resets_state (line 322) | async def test_clear_resets_state(state_store: StateStore[DictState]) ->... function test_edit_state_basic (line 337) | async def test_edit_state_basic(state_store: StateStore[DictState]) -> N... function test_edit_state_multiple_changes (line 349) | async def test_edit_state_multiple_changes(state_store: StateStore[DictS... function test_edit_state_exception_handling (line 362) | async def test_edit_state_exception_handling( function test_custom_state_type (line 382) | async def test_custom_state_type(custom_state_store: StateStore[MyState]... function test_custom_state_set_values (line 392) | async def test_custom_state_set_values(custom_state_store: StateStore[My... function test_custom_state_validation (line 406) | async def test_custom_state_validation(custom_state_store: StateStore[My... function test_to_dict_from_dict_roundtrip (line 417) | async def test_to_dict_from_dict_roundtrip(state_store: StateStore[DictS... function test_sql_persistence (line 437) | async def test_sql_persistence( function test_sql_isolation (line 459) | async def test_sql_isolation( function test_sql_concurrent_edits (line 481) | async def test_sql_concurrent_edits( function test_sql_custom_state_persistence (line 509) | async def test_sql_custom_state_persistence( function test_postgres_uses_dbos_schema (line 564) | async def test_postgres_uses_dbos_schema(postgres_dsn: str) -> None: FILE: packages/llama-agents-server/src/llama_agents/server/__main__.py function run_server (line 12) | def run_server() -> None: FILE: packages/llama-agents-server/src/llama_agents/server/_api.py function _http_exception_handler (line 57) | async def _http_exception_handler(request: Request, exc: HTTPException) ... function _unhandled_exception_handler (line 61) | async def _unhandled_exception_handler( class _WorkflowAPI (line 73) | class _WorkflowAPI: method __init__ (line 74) | def __init__( method register_additional_events (line 123) | def register_additional_events(self, name: str, events: list[type[Even... method get_workflow_events (line 126) | def get_workflow_events(self, workflow_name: str) -> list[type[Event]]: method event_registry (line 132) | def event_registry(self, workflow_name: str) -> dict[str, type[Event]]: method _routes (line 136) | def _routes(self) -> list[Route]: method openapi_schema (line 181) | def openapi_schema(self) -> dict: method _health_check (line 266) | async def _health_check(self, request: Request) -> JSONResponse: method _list_workflows (line 291) | async def _list_workflows(self, request: Request) -> JSONResponse: method _list_workflow_events (line 313) | async def _list_workflow_events(self, request: Request) -> JSONResponse: method _run_workflow (line 355) | async def _run_workflow(self, request: Request) -> JSONResponse: method _get_events_schema (line 444) | async def _get_events_schema(self, request: Request) -> JSONResponse: method _get_workflow_representation (line 499) | async def _get_workflow_representation(self, request: Request) -> JSON... method _run_workflow_nowait (line 540) | async def _run_workflow_nowait(self, request: Request) -> JSONResponse: method _load_handler (line 605) | async def _load_handler(self, handler_id: str) -> HandlerData: method _resolve_event_stream (line 611) | async def _resolve_event_stream( method _get_workflow_result (line 684) | async def _get_workflow_result(self, request: Request) -> JSONResponse: method _get_workflow_handler (line 746) | async def _get_workflow_handler(self, request: Request) -> JSONResponse: method _stream_events (line 794) | async def _stream_events(self, request: Request) -> StreamingResponse: method _get_handlers (line 967) | async def _get_handlers(self, request: Request) -> JSONResponse: method _post_event (line 1054) | async def _post_event(self, request: Request) -> JSONResponse: method _cancel_handler (line 1157) | async def _cancel_handler(self, request: Request) -> JSONResponse: method _extract_workflow (line 1206) | def _extract_workflow(self, request: Request) -> Workflow: method _extract_run_params (line 1217) | async def _extract_run_params( FILE: packages/llama-agents-server/src/llama_agents/server/_keyed_lock.py class KeyedLock (line 12) | class KeyedLock: method __init__ (line 26) | def __init__(self) -> None: method _get_main_lock (line 31) | def _get_main_lock(self) -> asyncio.Lock: method __call__ (line 37) | async def __call__(self, key: str) -> AsyncIterator[None]: FILE: packages/llama-agents-server/src/llama_agents/server/_lru_cache.py class LRUCache (line 14) | class LRUCache(Generic[K, V]): method __init__ (line 22) | def __init__(self, maxsize: int = 256) -> None: method get (line 26) | def get(self, key: K) -> V | None: method put (line 32) | def put(self, key: K, value: V) -> None: method delete (line 39) | def delete(self, key: K) -> None: method __len__ (line 42) | def __len__(self) -> int: FILE: packages/llama-agents-server/src/llama_agents/server/_pool.py class PoolProvider (line 11) | class PoolProvider: method __init__ (line 14) | def __init__( method create (line 28) | def create(cls, dsn: str, min_size: int, max_size: int) -> PoolProvider: method borrowed (line 39) | def borrowed( method get (line 45) | async def get(self) -> asyncpg.Pool: method close (line 56) | async def close(self) -> None: method terminate (line 67) | def terminate(self) -> None: method _raise_if_shutdown (line 78) | def _raise_if_shutdown(self) -> None: FILE: packages/llama-agents-server/src/llama_agents/server/_runtime/event_interceptor.py class _InterceptorInternalAdapter (line 29) | class _InterceptorInternalAdapter(BaseInternalRunAdapterDecorator): method write_to_event_stream (line 33) | async def write_to_event_stream(self, event: Event) -> None: class EventInterceptorDecorator (line 38) | class EventInterceptorDecorator(BaseRuntimeDecorator): method get_internal_adapter (line 47) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: FILE: packages/llama-agents-server/src/llama_agents/server/_runtime/idle_release_runtime.py class _IdleReleaseInternalRunAdapter (line 48) | class _IdleReleaseInternalRunAdapter(BaseInternalRunAdapterDecorator): method __init__ (line 51) | def __init__( method write_to_event_stream (line 62) | async def write_to_event_stream(self, event: Event) -> None: class IdleReleaseExternalRunAdapter (line 73) | class IdleReleaseExternalRunAdapter(BaseExternalRunAdapterDecorator): method __init__ (line 81) | def __init__(self, runtime: IdleReleaseDecorator, run_id: str) -> None: method _decorated (line 87) | def _decorated(self) -> ExternalRunAdapter: method _decorated (line 91) | def _decorated(self, value: ExternalRunAdapter) -> None: method run_id (line 95) | def run_id(self) -> str: method send_event (line 99) | async def send_event(self, tick: WorkflowTick) -> None: class IdleReleaseDecorator (line 110) | class IdleReleaseDecorator(BaseRuntimeDecorator): method __init__ (line 117) | def __init__( method _spawn_task (line 132) | def _spawn_task(self, coro: Coroutine[Any, Any, None]) -> asyncio.Task... method run_workflow (line 139) | def run_workflow( method get_internal_adapter (line 159) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 164) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method _deferred_release (line 167) | async def _deferred_release(self, run_id: str) -> None: method _release_idle_handler (line 172) | async def _release_idle_handler(self, run_id: str) -> None: method _abort_inner_run (line 189) | def _abort_inner_run(self, run_id: str) -> None: method _ensure_active_run (line 200) | async def _ensure_active_run(self, run_id: str) -> None: method _ensure_active_run_locked (line 206) | async def _ensure_active_run_locked(self, run_id: str) -> None: method destroy (line 228) | async def destroy(self) -> None: method _on_server_stop (line 237) | async def _on_server_stop(self) -> None: FILE: packages/llama-agents-server/src/llama_agents/server/_runtime/persistence_runtime.py class ReplayedContext (line 62) | class ReplayedContext: function handler_status_from_exit_command (line 76) | def handler_status_from_exit_command( class _PersistenceInternalRunAdapter (line 96) | class _PersistenceInternalRunAdapter(BaseInternalRunAdapterDecorator): method __init__ (line 99) | def __init__( method on_tick (line 108) | async def on_tick(self, tick: WorkflowTick) -> None: method after_tick (line 120) | async def after_tick(self, tick: WorkflowTick) -> None: class TickPersistenceDecorator (line 134) | class TickPersistenceDecorator(BaseRuntimeDecorator): method __init__ (line 141) | def __init__( method run_workflow (line 152) | def run_workflow( method get_internal_adapter (line 172) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method track_workflow (line 177) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 182) | def untrack_workflow(self, workflow: Workflow) -> None: method get_tracked_workflow (line 186) | def get_tracked_workflow(self, name: str) -> Workflow | None: method context_from_ticks (line 190) | async def context_from_ticks( method _get_legacy_ctx (line 238) | def _get_legacy_ctx(self, run_id: str) -> dict[str, Any] | None: method _seed_legacy_state (line 250) | def _seed_legacy_state(self, run_id: str, legacy_ctx: dict[str, Any]) ... class PersistenceDecorator (line 280) | class PersistenceDecorator(TickPersistenceDecorator): method __init__ (line 286) | def __init__( method _spawn_task (line 295) | def _spawn_task(self, coro: Coroutine[Any, Any, None]) -> asyncio.Task... method launch (line 302) | async def launch(self) -> None: method _on_server_start (line 308) | async def _on_server_start(self, registered_workflows: dict[str, Workf... method destroy (line 387) | async def destroy(self) -> None: FILE: packages/llama-agents-server/src/llama_agents/server/_runtime/server_runtime.py class _ServerInternalRunAdapter (line 59) | class _ServerInternalRunAdapter(BaseInternalRunAdapterDecorator): method __init__ (line 65) | def __init__( method get_state_store (line 80) | def get_state_store(self) -> StateStore[Any]: method write_to_event_stream (line 95) | async def write_to_event_stream(self, event: Event) -> None: class ServerRuntimeDecorator (line 157) | class ServerRuntimeDecorator(BaseRuntimeDecorator): method __init__ (line 164) | def __init__( method _retry_store_write (line 179) | async def _retry_store_write(self, coro_fn: Callable[[], Awaitable[Non... method track_workflow (line 202) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 209) | def untrack_workflow(self, workflow: Workflow) -> None: method get_workflow (line 213) | def get_workflow(self, name: str) -> Workflow | None: method get_workflow_names (line 216) | def get_workflow_names(self) -> list[str]: method _handle_status_update (line 223) | async def _handle_status_update( method run_workflow (line 238) | def run_workflow( method get_internal_adapter (line 264) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method run_workflow_handler (line 274) | async def run_workflow_handler( FILE: packages/llama-agents-server/src/llama_agents/server/_service.py class HandlerNotFoundError (line 45) | class HandlerNotFoundError(Exception): class HandlerCompletedError (line 49) | class HandlerCompletedError(Exception): class EventSendError (line 53) | class EventSendError(Exception): function handler_data_from_persistent (line 62) | def handler_data_from_persistent(persistent: PersistentHandler) -> Handl... class _WorkflowService (line 89) | class _WorkflowService: method __init__ (line 96) | def __init__( method get_workflow (line 108) | def get_workflow(self, name: str) -> Workflow | None: method get_workflow_names (line 111) | def get_workflow_names(self) -> list[str]: method store (line 119) | def store(self) -> AbstractWorkflowStore: method query_handlers (line 122) | async def query_handlers(self, query: HandlerQuery) -> list[Persistent... method load_handler (line 129) | async def load_handler(self, handler_id: str) -> HandlerData | None: method resolve_handler (line 135) | async def resolve_handler(self, handler_id: str) -> HandlerData: method send_event (line 143) | async def send_event( method cancel_handler (line 168) | async def cancel_handler( method start_workflow (line 196) | async def start_workflow( method await_workflow (line 224) | async def await_workflow(self, handler: HandlerData) -> HandlerData: method start (line 248) | async def start(self) -> None: method stop (line 252) | async def stop(self) -> None: method _context_from_handler_id (line 260) | async def _context_from_handler_id( method _workflow_run_handler (line 296) | def _workflow_run_handler(self, workflow_name: str, run_id: str) -> Wo... method _cancel_run (line 305) | async def _cancel_run(self, run: WorkflowHandler) -> None: method _kill_run (line 318) | async def _kill_run(self, run: WorkflowHandler) -> None: FILE: packages/llama-agents-server/src/llama_agents/server/_store/abstract_workflow_store.py function is_terminal_status (line 35) | def is_terminal_status(status: Status) -> bool: class _Unset (line 39) | class _Unset(Enum): class HandlerQuery (line 47) | class HandlerQuery: class PersistentHandler (line 60) | class PersistentHandler(BaseModel): method _parse_stop_event (line 74) | def _parse_stop_event(cls, data: Any) -> StopEvent | None: method _serialize_stop_event (line 89) | def _serialize_stop_event(self, data: StopEvent | None) -> Any: class StoredTick (line 96) | class StoredTick(BaseModel): class StoredEvent (line 103) | class StoredEvent(BaseModel): class AbstractWorkflowStore (line 110) | class AbstractWorkflowStore(ABC): method create_state_store (line 114) | def create_state_store( method query (line 128) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]:... method update (line 131) | async def update(self, handler: PersistentHandler) -> None: ... method delete (line 134) | async def delete(self, query: HandlerQuery) -> int: ... method append_event (line 137) | async def append_event( method query_events (line 142) | async def query_events( method append_tick (line 147) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 150) | async def get_ticks(self, run_id: str) -> list[StoredTick]: ... method stream_ticks (line 152) | async def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: method after_tick (line 161) | async def after_tick(self, run_id: str, tick_data: dict[str, Any]) -> ... method update_handler_status (line 169) | async def update_handler_status( method _is_terminal_event (line 203) | def _is_terminal_event(event: StoredEvent) -> bool: method subscribe_events (line 209) | async def subscribe_events( class LegacyContextStore (line 235) | class LegacyContextStore(Protocol): method get_legacy_ctx (line 238) | def get_legacy_ctx(self, run_id: str) -> dict[str, Any] | None: function as_legacy_context_store (line 243) | def as_legacy_context_store(store: AbstractWorkflowStore) -> LegacyConte... function stream_workflow_ticks (line 250) | async def stream_workflow_ticks( FILE: packages/llama-agents-server/src/llama_agents/server/_store/agent_data_client.py class AgentDataClient (line 15) | class AgentDataClient: method __init__ (line 26) | def __init__( method deployment_name (line 41) | def deployment_name(self) -> str: method _headers (line 44) | def _headers(self) -> dict[str, str]: method http_client (line 50) | def http_client(self) -> httpx.AsyncClient: method close (line 64) | async def close(self) -> None: method search (line 70) | async def search( method create (line 92) | async def create(self, collection: str, data: dict[str, Any]) -> dict[... method update_item (line 104) | async def update_item(self, item_id: str, data: dict[str, Any]) -> dic... method delete_item (line 114) | async def delete_item(self, item_id: str) -> None: method delete_many (line 120) | async def delete_many( FILE: packages/llama-agents-server/src/llama_agents/server/_store/agent_data_state_store.py class _StoredStateRecord (line 37) | class _StoredStateRecord(BaseModel): class AgentDataSerializedState (line 44) | class AgentDataSerializedState(BaseModel): class AgentDataStateStore (line 52) | class AgentDataStateStore(Generic[MODEL_T]): method __init__ (line 60) | def __init__( method run_id (line 81) | def run_id(self) -> str: method _lock (line 85) | def _lock(self) -> asyncio.Lock: method _serialize_state (line 92) | def _serialize_state(self, state: MODEL_T) -> str: method _deserialize_state (line 97) | def _deserialize_state(self, state_json: str) -> MODEL_T: method _create_default_state (line 103) | def _create_default_state(self) -> MODEL_T: method _load_record (line 110) | async def _load_record(self) -> _StoredStateRecord | None: method _load_state (line 121) | async def _load_state(self) -> MODEL_T: method _load_state_or_none (line 133) | async def _load_state_or_none(self) -> MODEL_T | None: method _save_state (line 143) | async def _save_state(self, state: BaseModel) -> None: method get_state (line 170) | async def get_state(self) -> MODEL_T: method set_state (line 173) | async def set_state(self, state: MODEL_T) -> None: method get (line 181) | async def get(self, path: str, default: Any = ...) -> Any: method set (line 185) | async def set(self, path: str, value: Any) -> None: method clear (line 189) | async def clear(self) -> None: method edit_state (line 194) | async def edit_state(self) -> AsyncGenerator[MODEL_T, None]: method to_dict (line 200) | def to_dict(self, serializer: BaseSerializer) -> dict[str, Any]: method from_dict (line 207) | def from_dict( FILE: packages/llama-agents-server/src/llama_agents/server/_store/agent_data_store.py class AgentDataStore (line 34) | class AgentDataStore(AbstractWorkflowStore): method __init__ (line 48) | def __init__( method _get_event_seq_lock (line 83) | def _get_event_seq_lock(self) -> asyncio.Lock: method _get_tick_seq_lock (line 88) | def _get_tick_seq_lock(self) -> asyncio.Lock: method _add_subscriber_queue (line 97) | def _add_subscriber_queue(self, run_id: str) -> asyncio.Queue[StoredEv... method _remove_subscriber_queue (line 103) | def _remove_subscriber_queue( method _broadcast_to_subscribers (line 116) | def _broadcast_to_subscribers(self, run_id: str, event: StoredEvent) -... method _track_pending (line 121) | def _track_pending( method _regroup (line 136) | async def _regroup( method _regroup_ticks (line 148) | async def _regroup_ticks(self, run_id: str) -> None: method _regroup_events (line 151) | async def _regroup_events(self, run_id: str) -> None: method after_tick (line 154) | async def after_tick(self, run_id: str, tick_data: dict[str, Any]) -> ... method _cleanup_run (line 159) | async def _cleanup_run(self, run_id: str) -> None: method _max_sequence (line 176) | async def _max_sequence(self, collection: str, run_id: str) -> int: method _in_filter (line 196) | def _in_filter(field: str, values: list[Any] | None) -> tuple[bool, di... method _build_handler_filters (line 209) | def _build_handler_filters(query: HandlerQuery) -> dict[str, Any] | None: method _item_to_handler (line 236) | def _item_to_handler(item: dict[str, Any]) -> PersistentHandler: method query (line 241) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: method update (line 250) | async def update(self, handler: PersistentHandler) -> None: method delete (line 312) | async def delete(self, query: HandlerQuery) -> int: method _next_event_sequence (line 333) | async def _next_event_sequence(self, run_id: str) -> int: method append_event (line 343) | async def append_event(self, run_id: str, event: EventEnvelopeWithMeta... method query_events (line 367) | async def query_events( method subscribe_events (line 392) | async def subscribe_events( method _next_tick_sequence (line 433) | async def _next_tick_sequence(self, run_id: str) -> int: method append_tick (line 443) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 462) | async def get_ticks(self, run_id: str) -> list[StoredTick]: method stream_ticks (line 465) | async def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: method create_state_store (line 489) | def create_state_store( FILE: packages/llama-agents-server/src/llama_agents/server/_store/memory_workflow_store.py function _matches_query (line 27) | def _matches_query(handler: PersistentHandler, query: HandlerQuery) -> b... class MemoryWorkflowStore (line 61) | class MemoryWorkflowStore(AbstractWorkflowStore): method __init__ (line 62) | def __init__(self, max_completed: int | None = 1000) -> None: method create_state_store (line 76) | def create_state_store( method query (line 100) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: method update (line 107) | async def update(self, handler: PersistentHandler) -> None: method delete (line 113) | async def delete(self, query: HandlerQuery) -> int: method _evict_oldest_completed (line 123) | def _evict_oldest_completed(self) -> None: method _get_or_create_condition (line 150) | def _get_or_create_condition(self, run_id: str) -> asyncio.Condition: method append_event (line 157) | async def append_event(self, run_id: str, event: EventEnvelopeWithMeta... method query_events (line 174) | async def query_events( method append_tick (line 187) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 200) | async def get_ticks(self, run_id: str) -> list[StoredTick]: method subscribe_events (line 203) | async def subscribe_events( FILE: packages/llama-agents-server/src/llama_agents/server/_store/migration_utils.py function iter_migration_files (line 12) | def iter_migration_files(source_pkg: str) -> list[Any]: function parse_target_version (line 20) | def parse_target_version(sql_text: str) -> int | None: FILE: packages/llama-agents-server/src/llama_agents/server/_store/postgres/migrate.py function _quote_identifier (line 25) | def _quote_identifier(name: str) -> str: function run_migrations (line 33) | async def run_migrations( function _run_migrations_locked (line 60) | async def _run_migrations_locked( FILE: packages/llama-agents-server/src/llama_agents/server/_store/postgres/migrations/0001_init.sql type wf_handlers (line 3) | CREATE TABLE IF NOT EXISTS wf_handlers ( type wf_events (line 16) | CREATE TABLE IF NOT EXISTS wf_events ( type idx_wf_events_run_id (line 24) | CREATE INDEX IF NOT EXISTS idx_wf_events_run_id ON wf_events (run_id) type idx_wf_handlers_run_id (line 25) | CREATE INDEX IF NOT EXISTS idx_wf_handlers_run_id ON wf_handlers (run_id) type workflow_state (line 38) | CREATE TABLE IF NOT EXISTS workflow_state ( type wf_ticks (line 47) | CREATE TABLE IF NOT EXISTS wf_ticks ( type idx_wf_ticks_run_id (line 55) | CREATE INDEX IF NOT EXISTS idx_wf_ticks_run_id ON wf_ticks (run_id) FILE: packages/llama-agents-server/src/llama_agents/server/_store/postgres_state_store.py class PostgresSerializedState (line 36) | class PostgresSerializedState(BaseModel): function _utc_now (line 43) | def _utc_now() -> datetime: class PostgresStateStore (line 47) | class PostgresStateStore(Generic[MODEL_T]): method __init__ (line 56) | def __init__( method run_id (line 72) | def run_id(self) -> str: method _table_ref (line 76) | def _table_ref(self) -> str: method _lock (line 82) | def _lock(self) -> asyncio.Lock: method _serialize_state (line 86) | def _serialize_state(self, state: MODEL_T) -> str: method _deserialize_state (line 92) | def _deserialize_state(self, state_json: str) -> MODEL_T: method _create_default_state (line 99) | def _create_default_state(self) -> MODEL_T: method _write_in_memory_state (line 102) | async def _write_in_memory_state(self, serialized_state: dict[str, Any... method _flush_pending_seed (line 107) | async def _flush_pending_seed(self) -> None: method _copy_state_from_run (line 121) | async def _copy_state_from_run(self, source_run_id: str) -> None: method _load_state (line 142) | async def _load_state( method _save_state (line 165) | async def _save_state( method get_state (line 198) | async def get_state(self) -> MODEL_T: method set_state (line 203) | async def set_state(self, state: MODEL_T) -> None: method get (line 218) | async def get(self, path: str, default: Any = ...) -> Any: method set (line 223) | async def set(self, path: str, value: Any) -> None: method clear (line 228) | async def clear(self) -> None: method edit_state (line 233) | async def edit_state(self) -> AsyncGenerator[MODEL_T, None]: method to_dict (line 240) | def to_dict(self, serializer: BaseSerializer) -> dict[str, Any]: method from_dict (line 249) | def from_dict( FILE: packages/llama-agents-server/src/llama_agents/server/_store/postgres_workflow_store.py function _utc_now (line 40) | def _utc_now() -> datetime: class PostgresWorkflowStore (line 44) | class PostgresWorkflowStore(AbstractWorkflowStore): method __init__ (line 47) | def __init__( method _handlers_ref (line 89) | def _handlers_ref(self) -> str: method _events_ref (line 95) | def _events_ref(self) -> str: method _ticks_ref (line 101) | def _ticks_ref(self) -> str: method _notify_channel (line 107) | def _notify_channel(self) -> str: method start (line 110) | async def start(self) -> None: method _setup_listener (line 121) | async def _setup_listener(self) -> None: method _on_notify (line 140) | def _on_notify( method _notify_condition (line 154) | async def _notify_condition(condition: asyncio.Condition) -> None: method _wake_all_subscribers (line 158) | def _wake_all_subscribers(self) -> None: method _on_listen_termination (line 170) | def _on_listen_termination(self, connection: asyncpg.Connection) -> None: method _reconnect_listener (line 187) | async def _reconnect_listener(self) -> None: method close (line 231) | async def close(self) -> None: method _ensure_pool (line 260) | async def _ensure_pool(self) -> asyncpg.Pool: method _get_or_create_condition (line 266) | def _get_or_create_condition(self, run_id: str) -> asyncio.Condition: method create_state_store (line 273) | def create_state_store( method run_migrations (line 296) | async def run_migrations(self) -> None: method run_migrations_sync (line 303) | def run_migrations_sync(dsn: str, schema: str | None = None) -> None: method query (line 331) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: method update (line 351) | async def update(self, handler: PersistentHandler) -> None: method delete (line 387) | async def delete(self, query: HandlerQuery) -> int: method append_event (line 407) | async def append_event(self, run_id: str, event: EventEnvelopeWithMeta... method query_events (line 441) | async def query_events( method subscribe_events (line 480) | async def subscribe_events( method append_tick (line 506) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 534) | async def get_ticks(self, run_id: str) -> list[StoredTick]: method stream_ticks (line 559) | async def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: method _build_filters (line 595) | def _build_filters(self, query: HandlerQuery) -> tuple[list[str], list... method _row_to_handler (line 627) | def _row_to_handler(row: asyncpg.Record) -> PersistentHandler: FILE: packages/llama-agents-server/src/llama_agents/server/_store/sqlite/migrate.py function _bootstrap_schema_migrations (line 28) | def _bootstrap_schema_migrations(conn: sqlite3.Connection) -> None: function run_migrations (line 58) | def run_migrations( FILE: packages/llama-agents-server/src/llama_agents/server/_store/sqlite/migrations/0001_init.sql type handlers (line 4) | CREATE TABLE IF NOT EXISTS handlers ( FILE: packages/llama-agents-server/src/llama_agents/server/_store/sqlite/migrations/0004_add_ticks.sql type ticks (line 3) | CREATE TABLE IF NOT EXISTS ticks ( type idx_ticks_run_id (line 11) | CREATE INDEX IF NOT EXISTS idx_ticks_run_id ON ticks (run_id) type idx_ticks_run_id_sequence (line 12) | CREATE INDEX IF NOT EXISTS idx_ticks_run_id_sequence ON ticks (run_id, s... type workflow_state (line 14) | CREATE TABLE IF NOT EXISTS workflow_state ( type events (line 23) | CREATE TABLE IF NOT EXISTS events ( type idx_events_run_id_sequence (line 31) | CREATE INDEX IF NOT EXISTS idx_events_run_id_sequence ON events (run_id,... type idx_handlers_run_id (line 33) | CREATE INDEX IF NOT EXISTS idx_handlers_run_id ON handlers (run_id) FILE: packages/llama-agents-server/src/llama_agents/server/_store/sqlite/sqlite_state_store.py class SqliteSerializedState (line 36) | class SqliteSerializedState(BaseModel): function _utc_now (line 43) | def _utc_now() -> datetime: class SqliteStateStore (line 47) | class SqliteStateStore(Generic[MODEL_T]): method __init__ (line 56) | def __init__( method run_id (line 71) | def run_id(self) -> str: method _lock (line 75) | def _lock(self) -> asyncio.Lock: method _connect (line 79) | def _connect(self) -> sqlite3.Connection: method _write_in_memory_state (line 84) | def _write_in_memory_state(self, serialized_state: dict[str, Any]) -> ... method _seed_from_serialized (line 89) | def _seed_from_serialized( method _copy_state_from_run (line 104) | def _copy_state_from_run(self, source_run_id: str) -> None: method _serialize_state (line 121) | def _serialize_state(self, state: MODEL_T) -> str: method _deserialize_state (line 127) | def _deserialize_state(self, state_json: str) -> MODEL_T: method _create_default_state (line 134) | def _create_default_state(self) -> MODEL_T: method _load_state (line 137) | def _load_state(self) -> MODEL_T: method _save_state (line 156) | def _save_state( method get_state (line 191) | async def get_state(self) -> MODEL_T: method set_state (line 196) | async def set_state(self, state: MODEL_T) -> None: method get (line 219) | async def get(self, path: str, default: Any = ...) -> Any: method set (line 224) | async def set(self, path: str, value: Any) -> None: method clear (line 229) | async def clear(self) -> None: method edit_state (line 234) | async def edit_state(self) -> AsyncGenerator[MODEL_T, None]: method to_dict (line 241) | def to_dict(self, serializer: BaseSerializer) -> dict[str, Any]: method from_dict (line 250) | def from_dict( FILE: packages/llama-agents-server/src/llama_agents/server/_store/sqlite/sqlite_workflow_store.py class SqliteWorkflowStore (line 32) | class SqliteWorkflowStore(AbstractWorkflowStore): method __init__ (line 33) | def __init__( method _open_nolock (line 53) | def _open_nolock(db_path: str) -> sqlite3.Connection: method _connect (line 63) | def _connect(self) -> Iterator[sqlite3.Connection]: method create_state_store (line 74) | def create_state_store( method _get_or_create_condition (line 91) | def _get_or_create_condition(self, run_id: str) -> asyncio.Condition: method _run_migrations (line 98) | def _run_migrations(self) -> None: method run_migrations (line 106) | def run_migrations(db_path: str) -> None: method query (line 118) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: method update (line 135) | async def update(self, handler: PersistentHandler) -> None: method delete (line 170) | async def delete(self, query: HandlerQuery) -> int: method append_event (line 188) | async def append_event(self, run_id: str, event: EventEnvelopeWithMeta... method query_events (line 205) | async def query_events( method subscribe_events (line 234) | async def subscribe_events( method append_tick (line 256) | async def append_tick(self, run_id: str, tick_data: dict[str, Any]) ->... method get_ticks (line 269) | async def get_ticks(self, run_id: str) -> list[StoredTick]: method stream_ticks (line 287) | async def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: method get_legacy_ctx (line 318) | def get_legacy_ctx(self, run_id: str) -> dict[str, Any] | None: method _build_filters (line 337) | def _build_filters(self, query: HandlerQuery) -> tuple[list[str], list... function _row_to_persistent_handler (line 378) | def _row_to_persistent_handler(row: tuple) -> PersistentHandler: FILE: packages/llama-agents-server/src/llama_agents/server/server.py class WorkflowServer (line 29) | class WorkflowServer: method __init__ (line 59) | def __init__( method add_workflow (line 138) | def add_workflow( method get_workflows (line 163) | def get_workflows(self) -> dict[str, Workflow]: method start (line 175) | async def start(self) -> WorkflowServer: method contextmanager (line 185) | async def contextmanager(self) -> AsyncGenerator[WorkflowServer, None]: method stop (line 193) | async def stop(self) -> None: method serve (line 201) | async def serve( method openapi_schema (line 227) | def openapi_schema(self) -> dict: FILE: packages/llama-agents-server/tests/server/conftest.py function postgres_dsn (line 15) | def postgres_dsn() -> Generator[str, None, None]: FILE: packages/llama-agents-server/tests/server/server_test_fixtures.py function async_yield (line 35) | async def async_yield(iterations: int = 10) -> None: function wait_for_passing (line 41) | async def wait_for_passing( function wait_for_requested_external_event (line 64) | async def wait_for_requested_external_event( function live_server (line 98) | async def live_server( class SimpleTestWorkflow (line 152) | class SimpleTestWorkflow(Workflow): method process (line 154) | async def process(self, ctx: Context, ev: StartEvent) -> StopEvent: class ErrorWorkflow (line 162) | class ErrorWorkflow(Workflow): method error_step (line 164) | async def error_step(self, ev: StartEvent) -> StopEvent: class StreamEvent (line 168) | class StreamEvent(Event): class StreamingWorkflow (line 173) | class StreamingWorkflow(Workflow): method stream_data (line 175) | async def stream_data(self, ctx: Context, ev: StartEvent) -> StopEvent: class RequestedExternalEvent (line 185) | class RequestedExternalEvent(InputRequiredEvent): class ExternalEvent (line 189) | class ExternalEvent(HumanResponseEvent): class InteractiveWorkflow (line 193) | class InteractiveWorkflow(Workflow): method start (line 195) | async def start(self, ctx: Context, ev: StartEvent) -> RequestedExtern... method end (line 200) | async def end(self, ctx: Context, ev: ExternalEvent) -> StopEvent: class CumulativeWorkflow (line 206) | class CumulativeWorkflow(Workflow): method accumulate (line 208) | async def accumulate(self, ctx: Context, ev: StartEvent) -> StopEvent: class RequiredStartEvent (line 227) | class RequiredStartEvent(StartEvent): class StructuredStartWorkflow (line 231) | class StructuredStartWorkflow(Workflow): method start (line 233) | async def start(self, ev: RequiredStartEvent) -> StopEvent: function memory_store (line 238) | def memory_store() -> MemoryWorkflowStore: function sqlite_store (line 243) | def sqlite_store(tmp_path: Path) -> SqliteWorkflowStore: function simple_test_workflow (line 248) | def simple_test_workflow() -> Workflow: function error_workflow (line 253) | def error_workflow() -> Workflow: function streaming_workflow (line 258) | def streaming_workflow() -> Workflow: function interactive_workflow (line 263) | def interactive_workflow() -> Workflow: function cumulative_workflow (line 268) | def cumulative_workflow() -> Workflow: function structured_start_workflow (line 273) | def structured_start_workflow() -> Workflow: FILE: packages/llama-agents-server/tests/server/test_agent_data_store.py function backend (line 34) | def backend() -> FakeAgentDataBackend: function store (line 39) | def store( function make_handler (line 45) | def make_handler( function make_envelope (line 61) | def make_envelope( function _subscribe_and_collect (line 70) | async def _subscribe_and_collect( function _wait_collected_count (line 93) | async def _wait_collected_count( function test_update_and_query_returns_handler (line 109) | async def test_update_and_query_returns_handler(store: AgentDataStore) -... function test_update_overwrites_existing (line 120) | async def test_update_overwrites_existing(store: AgentDataStore) -> None: function test_query_filters_by_run_id (line 130) | async def test_query_filters_by_run_id(store: AgentDataStore) -> None: function test_query_filters_by_workflow_name (line 140) | async def test_query_filters_by_workflow_name(store: AgentDataStore) -> ... function test_query_filters_by_status (line 150) | async def test_query_filters_by_status(store: AgentDataStore) -> None: function test_query_with_empty_filter_returns_nothing (line 160) | async def test_query_with_empty_filter_returns_nothing(store: AgentDataS... function test_query_no_filters_returns_all (line 167) | async def test_query_no_filters_returns_all(store: AgentDataStore) -> None: function test_query_filters_by_is_idle (line 176) | async def test_query_filters_by_is_idle(store: AgentDataStore) -> None: function test_delete_removes_matching_handlers (line 191) | async def test_delete_removes_matching_handlers(store: AgentDataStore) -... function test_delete_invalidates_cache (line 204) | async def test_delete_invalidates_cache(store: AgentDataStore) -> None: function _seed_raw_handler (line 213) | def _seed_raw_handler( function test_update_collapses_duplicates_with_matching_run_id (line 233) | async def test_update_collapses_duplicates_with_matching_run_id( function test_update_collapses_duplicates_with_mismatched_run_id (line 259) | async def test_update_collapses_duplicates_with_mismatched_run_id( function test_query_multiple_run_ids (line 285) | async def test_query_multiple_run_ids(store: AgentDataStore) -> None: function test_append_event_and_query (line 301) | async def test_append_event_and_query(store: AgentDataStore) -> None: function test_append_multiple_events (line 312) | async def test_append_multiple_events(store: AgentDataStore) -> None: function test_query_events_after_sequence (line 322) | async def test_query_events_after_sequence(store: AgentDataStore) -> None: function test_query_events_with_limit (line 332) | async def test_query_events_with_limit(store: AgentDataStore) -> None: function test_query_events_nonexistent_run (line 342) | async def test_query_events_nonexistent_run(store: AgentDataStore) -> None: function test_events_isolated_by_run_id (line 348) | async def test_events_isolated_by_run_id(store: AgentDataStore) -> None: function test_subscribe_events_receives_appended (line 367) | async def test_subscribe_events_receives_appended(store: AgentDataStore)... function test_subscribe_events_terminates_on_stop (line 380) | async def test_subscribe_events_terminates_on_stop(store: AgentDataStore... function test_subscribe_events_already_terminated (line 392) | async def test_subscribe_events_already_terminated(store: AgentDataStore... function test_subscribe_events_with_after_sequence (line 405) | async def test_subscribe_events_with_after_sequence(store: AgentDataStor... function test_append_tick_and_get (line 423) | async def test_append_tick_and_get(store: AgentDataStore) -> None: function test_get_ticks_empty (line 436) | async def test_get_ticks_empty(store: AgentDataStore) -> None: function test_ticks_isolated_by_run_id (line 442) | async def test_ticks_isolated_by_run_id(store: AgentDataStore) -> None: function test_create_state_store_returns_in_memory (line 457) | async def test_create_state_store_returns_in_memory(store: AgentDataStor... function test_create_state_store_with_type (line 463) | async def test_create_state_store_with_type(store: AgentDataStore) -> None: function test_update_uses_cache_on_second_call (line 475) | async def test_update_uses_cache_on_second_call(store: AgentDataStore) -... function test_sequence_continues_after_new_store_instance (line 493) | async def test_sequence_continues_after_new_store_instance( function test_tick_sequence_continues_after_new_store_instance (line 517) | async def test_tick_sequence_continues_after_new_store_instance( function test_state_store_from_dict_preserves_collection (line 543) | async def test_state_store_from_dict_preserves_collection( function test_agent_data_client_reuses_http_client (line 569) | async def test_agent_data_client_reuses_http_client(store: AgentDataStor... function test_subscribe_events_multiple_concurrent_subscribers (line 582) | async def test_subscribe_events_multiple_concurrent_subscribers( function test_subscribe_events_backfill_and_live (line 602) | async def test_subscribe_events_backfill_and_live(store: AgentDataStore)... function test_events_fire_and_forget_during_streaming (line 625) | async def test_events_fire_and_forget_during_streaming( function test_terminal_event_gathers_all_pending (line 648) | async def test_terminal_event_gathers_all_pending( function test_events_not_persisted_until_gathered (line 662) | async def test_events_not_persisted_until_gathered( function test_regroup_events_surfaces_errors (line 682) | async def test_regroup_events_surfaces_errors( function test_cleanup_run_removes_subscriber_queues (line 703) | async def test_cleanup_run_removes_subscriber_queues(store: AgentDataSto... function test_cleanup_run_removes_sequence_counters (line 713) | async def test_cleanup_run_removes_sequence_counters(store: AgentDataSto... function test_persist_error_does_not_block_in_memory_delivery (line 730) | async def test_persist_error_does_not_block_in_memory_delivery( FILE: packages/llama-agents-server/tests/server/test_durable_runtime.py class WaitableExternalEvent (line 36) | class WaitableExternalEvent(HumanResponseEvent): class WaitingWorkflow (line 40) | class WaitingWorkflow(Workflow): method start_and_wait (line 44) | async def start_and_wait(self, ctx: Context, ev: StartEvent) -> None: method end (line 48) | async def end(self, ctx: Context, ev: WaitableExternalEvent) -> StopEv... function _get_idle_release (line 52) | def _get_idle_release(server: WorkflowServer) -> IdleReleaseDecorator: function _get_persistence (line 59) | def _get_persistence(server: WorkflowServer) -> PersistenceDecorator: function wait_handler_status (line 66) | async def wait_handler_status( function wait_handler_idle (line 84) | async def wait_handler_idle( function wait_run_released (line 101) | async def wait_run_released( function wait_handler_idle_and_released (line 115) | async def wait_handler_idle_and_released( function wait_state_value (line 128) | async def wait_state_value( function waiting_workflow (line 146) | def waiting_workflow() -> WaitingWorkflow: function test_idle_handler_released_from_memory (line 151) | async def test_idle_handler_released_from_memory( function test_released_handler_reloaded_on_event (line 176) | async def test_released_handler_reloaded_on_event( function test_idle_since_cleared_on_reload (line 208) | async def test_idle_since_cleared_on_reload( class FailingResumeWorkflow (line 246) | class FailingResumeWorkflow(Workflow): method start_and_fail (line 250) | async def start_and_fail(self, ev: StartEvent) -> StopEvent: function test_on_server_start_marks_no_ticks_handler_as_failed (line 255) | async def test_on_server_start_marks_no_ticks_handler_as_failed( function test_on_server_start_finalizes_terminal_replay_as_completed (line 286) | async def test_on_server_start_finalizes_terminal_replay_as_completed( function test_on_server_start_finalizes_terminal_replay_as_failed (line 322) | async def test_on_server_start_finalizes_terminal_replay_as_failed( function test_on_server_start_ignores_unregistered_workflows (line 354) | async def test_on_server_start_ignores_unregistered_workflows( function test_on_server_start_marks_failed_handler_on_error (line 400) | async def test_on_server_start_marks_failed_handler_on_error( function test_on_server_start_ignores_idle_handlers (line 424) | async def test_on_server_start_ignores_idle_handlers( function test_destroy_cancels_resume_task (line 456) | async def test_destroy_cancels_resume_task( function test_destroy_aborts_active_runs (line 477) | async def test_destroy_aborts_active_runs( function test_ensure_active_run_handler_not_found (line 503) | async def test_ensure_active_run_handler_not_found( function test_ensure_active_run_workflow_not_found (line 519) | async def test_ensure_active_run_workflow_not_found( function test_context_from_ticks_empty_ticks (line 542) | async def test_context_from_ticks_empty_ticks( function test_persistence_retries_on_failure (line 558) | async def test_persistence_retries_on_failure( function test_workflow_cancelled_after_all_retries_fail (line 588) | async def test_workflow_cancelled_after_all_retries_fail( function _make_legacy_ctx_v1 (line 622) | def _make_legacy_ctx_v1( function _insert_handler_with_ctx (line 641) | def _insert_handler_with_ctx( function test_legacy_ctx_no_ticks_resumes_workflow (line 667) | async def test_legacy_ctx_no_ticks_resumes_workflow( function test_legacy_ctx_seeds_user_state (line 684) | async def test_legacy_ctx_seeds_user_state( function test_no_legacy_ctx_no_ticks_marked_failed (line 722) | async def test_no_legacy_ctx_no_ticks_marked_failed( function test_legacy_ctx_state_not_overwritten_on_second_resume (line 740) | async def test_legacy_ctx_state_not_overwritten_on_second_resume( class Step1Done (line 793) | class Step1Done(Event): class Step2Done (line 797) | class Step2Done(Event): class HumanInput1 (line 801) | class HumanInput1(Event): class HumanInput2 (line 805) | class HumanInput2(Event): class MultiStepHITLWorkflow (line 809) | class MultiStepHITLWorkflow(Workflow): method start (line 813) | async def start(self, ctx: Context, ev: StartEvent) -> Step1Done: method wait_for_human_1 (line 818) | async def wait_for_human_1(self, ctx: Context, ev: Step1Done) -> Human... method process_human_1 (line 825) | async def process_human_1(self, ctx: Context, ev: HumanInput1) -> Step... method wait_for_human_2 (line 831) | async def wait_for_human_2(self, ctx: Context, ev: Step2Done) -> Human... method finalize (line 838) | async def finalize(self, ctx: Context, ev: HumanInput2) -> StopEvent: function test_simple_hitl_cross_server_restart (line 850) | async def test_simple_hitl_cross_server_restart( function test_multistep_hitl_broker_state_survives_restart (line 881) | async def test_multistep_hitl_broker_state_survives_restart( function test_multistep_hitl_multiple_restarts_at_same_wait_point (line 947) | async def test_multistep_hitl_multiple_restarts_at_same_wait_point( function test_tick_content_after_multistep_workflow (line 1018) | async def test_tick_content_after_multistep_workflow( function test_concurrent_send_event_to_idle_handler (line 1051) | async def test_concurrent_send_event_to_idle_handler( class FailAfterWaitEvent (line 1093) | class FailAfterWaitEvent(Event): class FailAfterWaitWorkflow (line 1097) | class FailAfterWaitWorkflow(Workflow): method start_and_wait (line 1101) | async def start_and_wait(self, ctx: Context, ev: StartEvent) -> StopEv... function test_failed_workflow_after_reload (line 1109) | async def test_failed_workflow_after_reload( class IncrementEvent (line 1142) | class IncrementEvent(HumanResponseEvent): class CounterWorkflow (line 1146) | class CounterWorkflow(Workflow): method start (line 1150) | async def start(self, ctx: Context, ev: StartEvent) -> None: method wait_and_increment (line 1155) | async def wait_and_increment(self, ctx: Context, ev: IncrementEvent) -... function test_counter_state_persists_across_idle_reload (line 1172) | async def test_counter_state_persists_across_idle_reload( FILE: packages/llama-agents-server/tests/server/test_error_handling.py class BrokenWorkflow (line 22) | class BrokenWorkflow(Workflow): method explode (line 24) | async def explode(self, ev: StartEvent) -> StopEvent: class OkWorkflow (line 28) | class OkWorkflow(Workflow): method run_step (line 30) | async def run_step(self, ev: StartEvent) -> StopEvent: class CrashingStore (line 34) | class CrashingStore(MemoryWorkflowStore): method __init__ (line 37) | def __init__(self) -> None: method update (line 42) | async def update(self, handler: PersistentHandler) -> None: method query (line 47) | async def query(self, query: HandlerQuery) -> list[PersistentHandler]: function server (line 54) | def server() -> WorkflowServer: function client (line 61) | async def client(server: WorkflowServer) -> AsyncGenerator[AsyncClient, ... function test_malformed_json_returns_400 (line 69) | async def test_malformed_json_returns_400(client: AsyncClient) -> None: function test_unhandled_exception_returns_json_500 (line 90) | async def test_unhandled_exception_returns_json_500( function test_run_workflow_not_found_returns_404 (line 110) | async def test_run_workflow_not_found_returns_404(client: AsyncClient) -... function test_run_nowait_workflow_not_found_returns_404 (line 119) | async def test_run_nowait_workflow_not_found_returns_404(client: AsyncCl... function test_workflow_events_not_found_returns_404 (line 128) | async def test_workflow_events_not_found_returns_404(client: AsyncClient... function test_workflow_schema_not_found_returns_404 (line 135) | async def test_workflow_schema_not_found_returns_404(client: AsyncClient... function test_workflow_representation_not_found_returns_404 (line 142) | async def test_workflow_representation_not_found_returns_404( function test_get_handler_not_found_returns_404 (line 154) | async def test_get_handler_not_found_returns_404(client: AsyncClient) ->... function test_get_result_not_found_returns_404 (line 161) | async def test_get_result_not_found_returns_404(client: AsyncClient) -> ... function test_stream_events_handler_not_found_returns_404 (line 168) | async def test_stream_events_handler_not_found_returns_404( function test_cancel_handler_not_found_returns_404 (line 177) | async def test_cancel_handler_not_found_returns_404(client: AsyncClient)... function test_stream_events_invalid_after_sequence_returns_400 (line 187) | async def test_stream_events_invalid_after_sequence_returns_400( function test_post_event_missing_event_data_returns_400 (line 205) | async def test_post_event_missing_event_data_returns_400( function test_post_event_handler_not_found_returns_404 (line 220) | async def test_post_event_handler_not_found_returns_404(client: AsyncCli... function test_run_workflow_invalid_json_returns_400 (line 229) | async def test_run_workflow_invalid_json_returns_400(client: AsyncClient... function test_run_nowait_invalid_json_returns_400 (line 240) | async def test_run_nowait_invalid_json_returns_400(client: AsyncClient) ... function test_post_event_to_completed_workflow_returns_409 (line 254) | async def test_post_event_to_completed_workflow_returns_409( function _make_crashing_server (line 286) | def _make_crashing_server( function crashing_store_and_client (line 299) | async def crashing_store_and_client() -> AsyncGenerator[ function test_run_workflow_store_crash_returns_500 (line 317) | async def test_run_workflow_store_crash_returns_500( function test_run_nowait_store_crash_returns_500 (line 332) | async def test_run_nowait_store_crash_returns_500( function test_run_workflow_step_crash_returns_500_with_error (line 344) | async def test_run_workflow_step_crash_returns_500_with_error( function test_run_nowait_step_crash_still_returns_200 (line 365) | async def test_run_nowait_step_crash_still_returns_200( function test_run_nowait_step_crash_logs_error (line 392) | async def test_run_nowait_step_crash_logs_error( function test_get_handler_store_crash_returns_500 (line 421) | async def test_get_handler_store_crash_returns_500( function test_cancel_handler_store_crash_returns_500 (line 439) | async def test_cancel_handler_store_crash_returns_500( function test_post_event_store_crash_returns_500 (line 457) | async def test_post_event_store_crash_returns_500( function test_stream_events_store_crash_returns_500 (line 478) | async def test_stream_events_store_crash_returns_500( FILE: packages/llama-agents-server/tests/server/test_event_interceptor.py class _RecordingInternalAdapter (line 27) | class _RecordingInternalAdapter(InternalRunAdapter): method __init__ (line 30) | def __init__(self) -> None: method run_id (line 36) | def run_id(self) -> str: method write_to_event_stream (line 39) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 42) | async def get_now(self) -> float: method send_event (line 45) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 48) | async def wait_receive(self, timeout_seconds: float | None = None) -> ... method close (line 51) | async def close(self) -> None: method get_state_store (line 54) | def get_state_store(self) -> StateStore[Any] | None: class _StubRuntime (line 58) | class _StubRuntime(Runtime): method __init__ (line 59) | def __init__(self, adapter: InternalRunAdapter) -> None: method register (line 63) | def register(self, workflow: Any) -> RegisteredWorkflow: method run_workflow (line 68) | def run_workflow( method get_internal_adapter (line 79) | def get_internal_adapter(self, workflow: Any) -> InternalRunAdapter: method get_external_adapter (line 82) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 85) | async def launch(self) -> None: method destroy (line 88) | async def destroy(self) -> None: function test_write_to_event_stream_is_blocked (line 92) | async def test_write_to_event_stream_is_blocked() -> None: function test_other_methods_pass_through (line 105) | async def test_other_methods_pass_through() -> None: FILE: packages/llama-agents-server/tests/server/test_handler_serialization.py class MyStopEvent (line 16) | class MyStopEvent(StopEvent): function test_handler_data_from_persistent_json_roundtrip (line 21) | async def test_handler_data_from_persistent_json_roundtrip() -> None: FILE: packages/llama-agents-server/tests/server/test_idle_release_live_http.py class WaitableExternalEvent (line 18) | class WaitableExternalEvent(Event): class WaitingWorkflow (line 22) | class WaitingWorkflow(Workflow): method start_and_wait (line 24) | async def start_and_wait(self, ctx: Context, ev: StartEvent) -> StopEv... function test_fast_idle_timeout_does_not_drop_valid_event (line 30) | async def test_fast_idle_timeout_does_not_drop_valid_event() -> None: FILE: packages/llama-agents-server/tests/server/test_keyed_lock.py function locks (line 14) | def locks() -> KeyedLock: function test_basic_locking (line 18) | async def test_basic_locking(locks: KeyedLock) -> None: function test_mutual_exclusion (line 27) | async def test_mutual_exclusion(locks: KeyedLock) -> None: function test_exception_in_critical_section (line 46) | async def test_exception_in_critical_section(locks: KeyedLock) -> None: function test_cancellation_cleanup (line 57) | async def test_cancellation_cleanup(locks: KeyedLock) -> None: function test_waiter_cancelled_while_waiting (line 78) | async def test_waiter_cancelled_while_waiting(locks: KeyedLock) -> None: function test_parallel_access_mutual_exclusion_with_race_detection (line 110) | async def test_parallel_access_mutual_exclusion_with_race_detection( FILE: packages/llama-agents-server/tests/server/test_lru_cache.py function test_put_and_get (line 9) | def test_put_and_get() -> None: function test_get_missing_returns_none (line 15) | def test_get_missing_returns_none() -> None: function test_delete (line 20) | def test_delete() -> None: function test_delete_missing_key_is_noop (line 28) | def test_delete_missing_key_is_noop() -> None: function test_len (line 33) | def test_len() -> None: function test_evicts_lru_when_full (line 41) | def test_evicts_lru_when_full() -> None: function test_get_refreshes_recency (line 51) | def test_get_refreshes_recency() -> None: function test_put_existing_key_refreshes_recency (line 61) | def test_put_existing_key_refreshes_recency() -> None: FILE: packages/llama-agents-server/tests/server/test_main.py function test_no_file_path_argument (line 13) | def test_no_file_path_argument(capsys: Any) -> None: function test_nonexistent_file (line 27) | def test_nonexistent_file(capsys: Any) -> None: function test_directory_instead_of_file (line 39) | def test_directory_instead_of_file(capsys: Any, tmp_path: Path) -> None: function test_no_workflow_server_instance (line 54) | def test_no_workflow_server_instance(capsys: Any, tmp_path: Path) -> None: function test_workflow_server_with_custom_name (line 76) | def test_workflow_server_with_custom_name(tmp_path: Path) -> None: function test_multiple_workflow_servers_uses_first (line 99) | def test_multiple_workflow_servers_uses_first(tmp_path: Path) -> None: function test_environment_variables (line 118) | def test_environment_variables(tmp_path: Path) -> None: function test_module_loading_error (line 147) | def test_module_loading_error(capsys: Any, tmp_path: Path) -> None: function test_spec_creation_failure (line 169) | def test_spec_creation_failure(capsys: Any, tmp_path: Path) -> None: function test_non_workflow_server_objects_ignored (line 185) | def test_non_workflow_server_objects_ignored(tmp_path: Path) -> None: FILE: packages/llama-agents-server/tests/server/test_memory_workflow_store.py function _ts (line 28) | def _ts(seconds: int) -> datetime: function _handler (line 32) | def _handler( function _insert (line 46) | async def _insert( function _query_ids (line 60) | async def _query_ids(store: MemoryWorkflowStore, **kwargs: Any) -> set[s... function _make_stored_event (line 65) | def _make_stored_event(event: Event, run_id: str = "run-1") -> StoredEvent: function store (line 75) | def store() -> MemoryWorkflowStore: function test_update_and_query_returns_inserted_handler (line 80) | async def test_update_and_query_returns_inserted_handler( function test_update_on_conflict_overwrites_existing_row (line 96) | async def test_update_on_conflict_overwrites_existing_row( function test_delete_filters_by_query (line 118) | async def test_delete_filters_by_query(store: MemoryWorkflowStore) -> None: function test_delete_noop_on_empty_filter (line 130) | async def test_delete_noop_on_empty_filter(store: MemoryWorkflowStore) -... function test_query_filters_by_handler_id_and_empty_lists (line 141) | async def test_query_filters_by_handler_id_and_empty_lists( function test_query_filters_by_multiple_statuses (line 154) | async def test_query_filters_by_multiple_statuses(store: MemoryWorkflowS... function test_query_filters_by_workflow_name (line 169) | async def test_query_filters_by_workflow_name(store: MemoryWorkflowStore... function test_query_combines_multiple_filters (line 183) | async def test_query_combines_multiple_filters(store: MemoryWorkflowStor... function test_delete_removes_multiple_matching_handlers (line 201) | async def test_delete_removes_multiple_matching_handlers( function test_store_handles_all_datetime_fields (line 215) | async def test_store_handles_all_datetime_fields(store: MemoryWorkflowSt... function test_store_handles_error_field (line 240) | async def test_store_handles_error_field(store: MemoryWorkflowStore) -> ... function test_empty_store_returns_empty_results (line 249) | async def test_empty_store_returns_empty_results(store: MemoryWorkflowSt... function test_update_handler_status_with_nonexistent_run_id (line 255) | async def test_update_handler_status_with_nonexistent_run_id( function test_update_handler_status_sets_status_and_completed_at (line 262) | async def test_update_handler_status_sets_status_and_completed_at( function test_update_handler_status_with_result (line 277) | async def test_update_handler_status_with_result(store: MemoryWorkflowSt... function test_update_handler_status_with_error (line 289) | async def test_update_handler_status_with_error(store: MemoryWorkflowSto... function test_update_handler_status_idle_since_explicit_none_clears (line 301) | async def test_update_handler_status_idle_since_explicit_none_clears( function test_update_handler_status_idle_since_unset_preserves (line 314) | async def test_update_handler_status_idle_since_unset_preserves( function test_update_handler_status_non_terminal_does_not_set_completed_at (line 327) | async def test_update_handler_status_non_terminal_does_not_set_completed... function test_update_handler_status_terminal_sets_completed_at (line 340) | async def test_update_handler_status_terminal_sets_completed_at( function test_is_terminal_event_stop_event (line 352) | def test_is_terminal_event_stop_event() -> None: function test_is_terminal_event_regular_event (line 357) | def test_is_terminal_event_regular_event() -> None: function test_is_terminal_event_workflow_failed_event (line 362) | def test_is_terminal_event_workflow_failed_event() -> None: function test_is_terminal_event_workflow_cancelled_event (line 373) | def test_is_terminal_event_workflow_cancelled_event() -> None: function test_max_completed_default_is_1000 (line 382) | async def test_max_completed_default_is_1000() -> None: function test_max_completed_none_means_unlimited (line 387) | async def test_max_completed_none_means_unlimited() -> None: function test_max_completed_negative_raises_value_error (line 403) | def test_max_completed_negative_raises_value_error() -> None: function test_max_completed_evicts_oldest_when_exceeded (line 409) | async def test_max_completed_evicts_oldest_when_exceeded() -> None: function test_max_completed_does_not_evict_running_handlers (line 425) | async def test_max_completed_does_not_evict_running_handlers() -> None: function test_max_completed_applies_to_all_terminal_statuses (line 450) | async def test_max_completed_applies_to_all_terminal_statuses() -> None: function test_max_completed_cleans_up_events_ticks_and_state (line 465) | async def test_max_completed_cleans_up_events_ticks_and_state() -> None: function test_max_completed_eviction_via_update_handler_status (line 500) | async def test_max_completed_eviction_via_update_handler_status() -> None: function test_max_completed_ignores_stale_terminal_queue_entries (line 519) | async def test_max_completed_ignores_stale_terminal_queue_entries() -> N... FILE: packages/llama-agents-server/tests/server/test_migrations.py function fake_migrations_pkg (line 32) | def fake_migrations_pkg(tmp_path: Path) -> Generator[str]: function _get_tables (line 43) | def _get_tables(conn: sqlite3.Connection) -> set[str]: function _get_table_columns (line 48) | def _get_table_columns(conn: sqlite3.Connection, table: str) -> list[str]: function _max_version (line 53) | def _max_version(conn: sqlite3.Connection, package: str = "server") -> int: function test_run_migrations_on_empty_db (line 61) | def test_run_migrations_on_empty_db(tmp_path: Path) -> None: function test_migrate_from_version_1 (line 95) | def test_migrate_from_version_1(tmp_path: Path) -> None: function test_per_package_migrations (line 132) | def test_per_package_migrations(tmp_path: Path, fake_migrations_pkg: str... function test_legacy_upgrade_with_extra_package (line 163) | def test_legacy_upgrade_with_extra_package( FILE: packages/llama-agents-server/tests/server/test_openapi_schema.py function test_openapi_schema_includes_all_routes (line 8) | def test_openapi_schema_includes_all_routes(simple_test_workflow: Workfl... FILE: packages/llama-agents-server/tests/server/test_persistent_handler_serialization.py function _base_handler_kwargs (line 10) | def _base_handler_kwargs() -> dict[str, Any]: function test_stop_event_round_trip (line 18) | def test_stop_event_round_trip() -> None: function test_legacy_result_dict_is_coerced_to_stop_event (line 27) | def test_legacy_result_dict_is_coerced_to_stop_event() -> None: class MyStop (line 43) | class MyStop(StopEvent): function test_stop_event_subclass_round_trip (line 47) | def test_stop_event_subclass_round_trip() -> None: function test_converts_to_stop_event (line 61) | def test_converts_to_stop_event() -> None: FILE: packages/llama-agents-server/tests/server/test_pool.py class FakePool (line 13) | class FakePool: method __init__ (line 14) | def __init__(self) -> None: method close (line 18) | async def close(self) -> None: method terminate (line 21) | def terminate(self) -> None: function pool_factory (line 25) | def pool_factory(pool: FakePool) -> asyncpg.Pool: function create_owned_provider (line 29) | def create_owned_provider( function test_create_uses_asyncpg_create_pool (line 48) | async def test_create_uses_asyncpg_create_pool( function test_owned_provider_closes_cached_pool_once (line 60) | async def test_owned_provider_closes_cached_pool_once( function test_borrowed_provider_close_and_terminate_do_not_affect_pool (line 74) | async def test_borrowed_provider_close_and_terminate_do_not_affect_pool(... function test_owned_provider_terminates_cached_pool_once (line 89) | async def test_owned_provider_terminates_cached_pool_once( function test_close_and_terminate_before_get_do_not_call_factory (line 103) | async def test_close_and_terminate_before_get_do_not_call_factory( function test_close_after_terminate_is_safe (line 117) | async def test_close_after_terminate_is_safe( function test_terminate_after_close_is_safe (line 131) | async def test_terminate_after_close_is_safe( function test_get_after_close_raises (line 145) | async def test_get_after_close_raises() -> None: function test_get_after_terminate_raises (line 157) | async def test_get_after_terminate_raises() -> None: function test_factory_exception_is_not_cached (line 169) | async def test_factory_exception_is_not_cached() -> None: function test_concurrent_get_invokes_factory_once (line 189) | async def test_concurrent_get_invokes_factory_once() -> None: FILE: packages/llama-agents-server/tests/server/test_postgres_migrations.py function test_parse_target_version_valid (line 22) | def test_parse_target_version_valid() -> None: function test_parse_target_version_missing (line 27) | def test_parse_target_version_missing() -> None: function test_iter_migration_files_returns_sorted_sql (line 32) | def test_iter_migration_files_returns_sorted_sql() -> None: function test_first_migration_has_version_1 (line 40) | def test_first_migration_has_version_1() -> None: function test_run_migrations_fresh_db (line 52) | async def test_run_migrations_fresh_db(postgres_dsn: str) -> None: function test_run_migrations_idempotent (line 80) | async def test_run_migrations_idempotent(postgres_dsn: str) -> None: function test_run_migrations_no_schema (line 103) | async def test_run_migrations_no_schema(postgres_dsn: str) -> None: function test_concurrent_migrations_with_advisory_lock (line 129) | async def test_concurrent_migrations_with_advisory_lock( FILE: packages/llama-agents-server/tests/server/test_postgres_state_store.py class CounterState (line 21) | class CounterState(BaseModel): class ExtendedCounterState (line 26) | class ExtendedCounterState(CounterState): function pool (line 31) | async def pool(postgres_dsn: str) -> AsyncGenerator[asyncpg.Pool, None]: function test_get_returns_default_dict_state (line 51) | async def test_get_returns_default_dict_state(pool: asyncpg.Pool) -> None: function test_set_and_get_path (line 61) | async def test_set_and_get_path(pool: asyncpg.Pool) -> None: function test_set_nested_path (line 71) | async def test_set_nested_path(pool: asyncpg.Pool) -> None: function test_get_missing_path_raises (line 81) | async def test_get_missing_path_raises(pool: asyncpg.Pool) -> None: function test_get_missing_path_returns_default (line 90) | async def test_get_missing_path_returns_default(pool: asyncpg.Pool) -> N... function test_set_state_replaces_dict_state (line 99) | async def test_set_state_replaces_dict_state(pool: asyncpg.Pool) -> None: function test_typed_state_get_returns_default (line 112) | async def test_typed_state_get_returns_default(pool: asyncpg.Pool) -> None: function test_typed_state_set_and_get (line 123) | async def test_typed_state_set_and_get(pool: asyncpg.Pool) -> None: function test_set_state_parent_type_merge (line 134) | async def test_set_state_parent_type_merge(pool: asyncpg.Pool) -> None: function test_edit_state_dict (line 148) | async def test_edit_state_dict(pool: asyncpg.Pool) -> None: function test_edit_state_typed (line 160) | async def test_edit_state_typed(pool: asyncpg.Pool) -> None: function test_clear_resets_state (line 171) | async def test_clear_resets_state(pool: asyncpg.Pool) -> None: function test_clear_resets_typed_state (line 182) | async def test_clear_resets_typed_state(pool: asyncpg.Pool) -> None: function test_different_run_ids_are_isolated (line 194) | async def test_different_run_ids_are_isolated(pool: asyncpg.Pool) -> None: function test_to_dict_returns_metadata_only (line 208) | async def test_to_dict_returns_metadata_only(pool: asyncpg.Pool) -> None: function test_from_dict_postgres_format (line 221) | async def test_from_dict_postgres_format(pool: asyncpg.Pool) -> None: function test_from_dict_in_memory_format_migrates (line 238) | async def test_from_dict_in_memory_format_migrates(pool: asyncpg.Pool) -... function test_from_dict_empty_raises (line 256) | async def test_from_dict_empty_raises() -> None: function test_from_dict_no_pool_raises (line 261) | async def test_from_dict_no_pool_raises() -> None: FILE: packages/llama-agents-server/tests/server/test_postgres_workflow_store.py function _make_event (line 23) | def _make_event() -> EventEnvelopeWithMetadata: function _make_stop_event (line 30) | def _make_stop_event() -> EventEnvelopeWithMetadata: function _make_handler (line 34) | def _make_handler( function test_create_state_store_without_pool_raises (line 62) | async def test_create_state_store_without_pool_raises() -> None: function test_build_filters_empty_in_returns_none (line 68) | async def test_build_filters_empty_in_returns_none() -> None: function test_build_filters_produces_correct_clauses (line 76) | async def test_build_filters_produces_correct_clauses() -> None: function test_on_notify_wakes_condition (line 98) | async def test_on_notify_wakes_condition() -> None: function test_close_without_start_is_safe (line 124) | async def test_close_without_start_is_safe() -> None: function test_borrowed_pool_not_closed_on_close (line 129) | async def test_borrowed_pool_not_closed_on_close( function test_listen_termination_callback_schedules_reconnect (line 163) | async def test_listen_termination_callback_schedules_reconnect( function test_listen_termination_callback_noops_when_closing (line 180) | async def test_listen_termination_callback_noops_when_closing( function test_reconnect_listener_wakes_subscribers (line 199) | async def test_reconnect_listener_wakes_subscribers( function test_integration_migrations_idempotent (line 238) | async def test_integration_migrations_idempotent(postgres_dsn: str) -> N... function test_integration_handler_crud (line 249) | async def test_integration_handler_crud(postgres_dsn: str) -> None: function test_integration_event_append_and_query (line 272) | async def test_integration_event_append_and_query(postgres_dsn: str) -> ... function test_integration_subscribe_events (line 296) | async def test_integration_subscribe_events(postgres_dsn: str) -> None: function test_integration_tick_append_and_get (line 331) | async def test_integration_tick_append_and_get(postgres_dsn: str) -> None: FILE: packages/llama-agents-server/tests/server/test_runtime_decorators.py class StubInternalAdapter (line 33) | class StubInternalAdapter(InternalRunAdapter): method __init__ (line 34) | def __init__(self) -> None: method run_id (line 38) | def run_id(self) -> str: method write_to_event_stream (line 41) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 44) | async def get_now(self) -> float: method send_event (line 47) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 50) | async def wait_receive(self, timeout_seconds: float | None = None) -> ... method close (line 53) | async def close(self) -> None: method get_state_store (line 56) | def get_state_store(self) -> StateStore[Any] | None: class StubExternalAdapter (line 60) | class StubExternalAdapter(ExternalRunAdapter): method __init__ (line 61) | def __init__(self) -> None: method run_id (line 65) | def run_id(self) -> str: method send_event (line 68) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 71) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method close (line 74) | async def close(self) -> None: method get_result (line 77) | async def get_result(self) -> StopEvent: method get_state_store (line 80) | def get_state_store(self) -> StateStore[Any] | None: class StubRuntime (line 84) | class StubRuntime(Runtime): method __init__ (line 85) | def __init__(self) -> None: method register (line 89) | def register(self, workflow: Any) -> RegisteredWorkflow: method run_workflow (line 94) | def run_workflow( method get_internal_adapter (line 105) | def get_internal_adapter(self, workflow: Any) -> InternalRunAdapter: method get_external_adapter (line 108) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 111) | async def launch(self) -> None: method destroy (line 114) | async def destroy(self) -> None: function test_runtime_decorator_forwards (line 121) | def test_runtime_decorator_forwards() -> None: function test_internal_adapter_decorator_forwards (line 128) | async def test_internal_adapter_decorator_forwards() -> None: function test_external_adapter_decorator_forwards (line 137) | async def test_external_adapter_decorator_forwards() -> None: function test_subclass_can_override_selectively (line 147) | async def test_subclass_can_override_selectively() -> None: function test_runtime_decorator_forwards_untrack (line 160) | def test_runtime_decorator_forwards_untrack() -> None: FILE: packages/llama-agents-server/tests/server/test_server.py function test_init_custom_middleware (line 15) | def test_init_custom_middleware() -> None: function test_add_workflow (line 21) | def test_add_workflow(simple_test_workflow: Workflow) -> None: function test_serve (line 31) | async def test_serve(mock_config: Any, mock_server: Any) -> None: function test_serve_with_uvicorn_config (line 45) | async def test_serve_with_uvicorn_config(mock_config: Any, mock_server: ... function test_extract_workflow_success (line 58) | def test_extract_workflow_success(simple_test_workflow: Workflow) -> None: function test_extract_workflow_missing_name (line 69) | def test_extract_workflow_missing_name() -> None: function test_extract_workflow_not_found (line 80) | def test_extract_workflow_not_found() -> None: FILE: packages/llama-agents-server/tests/server/test_server_endpoints.py class CustomStopEvent (line 38) | class CustomStopEvent(StopEvent): class CustomStopWorkflow (line 42) | class CustomStopWorkflow(Workflow): method finish (line 44) | async def finish(self, ev: StartEvent) -> CustomStopEvent: function serialize_context (line 48) | async def serialize_context(state_dict: dict[str, Any]) -> SerializedCon... function server (line 58) | def server( function context_server (line 74) | def context_server( function client (line 87) | async def client( function context_client (line 98) | async def context_client( function server_with_persisted_handlers (line 109) | async def server_with_persisted_handlers( function test_run_workflow_with_start_event_str_plain (line 129) | async def test_run_workflow_with_start_event_str_plain( function test_run_workflow_with_start_event_dict_with_discriminators (line 143) | async def test_run_workflow_with_start_event_dict_with_discriminators( function test_run_workflow_with_start_event_dict_plain (line 161) | async def test_run_workflow_with_start_event_dict_plain( function test_run_workflow_with_nonconforming_start_event_type (line 175) | async def test_run_workflow_with_nonconforming_start_event_type( function test_health_check (line 192) | async def test_health_check(client: AsyncClient) -> None: function test_health_check_returns_503_when_not_launched (line 200) | async def test_health_check_returns_503_when_not_launched( function test_list_workflows (line 220) | async def test_list_workflows(client: AsyncClient) -> None: function test_run_workflow_success (line 229) | async def test_run_workflow_success(client: AsyncClient) -> None: function test_run_workflow_no_kwargs (line 240) | async def test_run_workflow_no_kwargs(client: AsyncClient) -> None: function test_run_workflow_with_context (line 248) | async def test_run_workflow_with_context(context_client: AsyncClient) ->... function test_run_workflow_context_rejected_by_default (line 261) | async def test_run_workflow_context_rejected_by_default(client: AsyncCli... function test_run_workflow_with_start_event (line 271) | async def test_run_workflow_with_start_event(client: AsyncClient) -> None: function test_run_workflow_not_found (line 283) | async def test_run_workflow_not_found(client: AsyncClient) -> None: function test_run_workflow_error (line 289) | async def test_run_workflow_error(client: AsyncClient) -> None: function test_run_workflow_invalid_json (line 299) | async def test_run_workflow_invalid_json(client: AsyncClient) -> None: function test_run_workflow_invalid_start_event (line 309) | async def test_run_workflow_invalid_start_event(client: AsyncClient) -> ... function test_run_workflow_nowait_invalid_start_event (line 319) | async def test_run_workflow_nowait_invalid_start_event( function test_structured_start_event_empty_object_validated (line 331) | async def test_structured_start_event_empty_object_validated( function test_structured_start_event_missing_value_treated_as_empty_and_validated (line 349) | async def test_structured_start_event_missing_value_treated_as_empty_and... function test_run_workflow_with_start_event_and_kwargs (line 366) | async def test_run_workflow_with_start_event_and_kwargs( function test_run_workflow_nowait_success (line 385) | async def test_run_workflow_nowait_success(client: AsyncClient) -> None: function test_run_workflow_nowait_with_start_event (line 398) | async def test_run_workflow_nowait_with_start_event(client: AsyncClient)... function test_run_workflow_nowait_not_found (line 413) | async def test_run_workflow_nowait_not_found(client: AsyncClient) -> None: function test_get_workflow_result (line 419) | async def test_get_workflow_result(context_client: AsyncClient) -> None: function test_get_workflow_result_error (line 446) | async def test_get_workflow_result_error( function test_get_workflow_result_not_found (line 469) | async def test_get_workflow_result_not_found(client: AsyncClient) -> None: function test_stream_events_success (line 475) | async def test_stream_events_success(client: AsyncClient) -> None: function test_stream_events_sse (line 511) | async def test_stream_events_sse(client: AsyncClient) -> None: function test_stream_events_not_found (line 565) | async def test_stream_events_not_found(client: AsyncClient) -> None: function test_stream_events_multiple_consumers (line 572) | async def test_stream_events_multiple_consumers(client: AsyncClient) -> ... function test_stream_events_no_events_default_hides_internal (line 610) | async def test_stream_events_no_events_default_hides_internal( function test_stream_events_include_internal_true (line 644) | async def test_stream_events_include_internal_true(client: AsyncClient) ... function test_get_handlers_empty (line 677) | async def test_get_handlers_empty(client: AsyncClient) -> None: function test_get_handlers_with_running_workflows (line 684) | async def test_get_handlers_with_running_workflows(client: AsyncClient) ... function validate_result_response (line 721) | async def validate_result_response( function test_get_handlers_with_completed_workflow (line 730) | async def test_get_handlers_with_completed_workflow(client: AsyncClient)... function test_custom_stop_event_serialization_in_run_and_handlers (line 754) | async def test_custom_stop_event_serialization_in_run_and_handlers( function test_get_handlers_with_failed_workflow (line 797) | async def test_get_handlers_with_failed_workflow(client: AsyncClient) ->... function test_get_handlers_filters_status_and_workflow_name (line 824) | async def test_get_handlers_filters_status_and_workflow_name( function test_get_handlers_filters_multiple_status_params (line 861) | async def test_get_handlers_filters_multiple_status_params( function test_post_event_to_running_workflow (line 886) | async def test_post_event_to_running_workflow( function test_post_event_simple_schema_to_running_workflow (line 913) | async def test_post_event_simple_schema_to_running_workflow( function test_post_event_with_discriminators_to_running_workflow (line 937) | async def test_post_event_with_discriminators_to_running_workflow( function test_get_workflow_result_returns_202_when_pending (line 966) | async def test_get_workflow_result_returns_202_when_pending( function test_get_workflow_result_multiple_times (line 979) | async def test_get_workflow_result_multiple_times( function test_post_event_handler_not_found (line 998) | async def test_post_event_handler_not_found(client: AsyncClient) -> None: function test_post_event_to_completed_workflow (line 1005) | async def test_post_event_to_completed_workflow(client: AsyncClient) -> ... function test_post_event_invalid_event_data (line 1023) | async def test_post_event_invalid_event_data(client: AsyncClient) -> None: function test_post_event_body_parsing_error (line 1037) | async def test_post_event_body_parsing_error(client: AsyncClient) -> None: function test_post_event_missing_event_data (line 1054) | async def test_post_event_missing_event_data(client: AsyncClient) -> None: function test_handler_datetime_fields_progress (line 1066) | async def test_handler_datetime_fields_progress( function test_cancel_handler_persists_cancelled_status (line 1119) | async def test_cancel_handler_persists_cancelled_status( function test_delete_persisted_handler_removes_from_store (line 1146) | async def test_delete_persisted_handler_removes_from_store( function test_stop_only_persisted_handler_without_removal_returns_not_found (line 1172) | async def test_stop_only_persisted_handler_without_removal_returns_not_f... function test_legacy_results_endpoint_still_works (line 1196) | async def test_legacy_results_endpoint_still_works(client: AsyncClient) ... function test_stream_events_after_completion_should_return_unconsumed_events (line 1218) | async def test_stream_events_after_completion_should_return_unconsumed_e... function test_stream_events_sse_includes_id_field (line 1254) | async def test_stream_events_sse_includes_id_field(client: AsyncClient) ... function test_stream_events_last_event_id_header (line 1278) | async def test_stream_events_last_event_id_header(client: AsyncClient) -... function test_stream_events_after_sequence_now (line 1309) | async def test_stream_events_after_sequence_now(client: AsyncClient) -> ... function test_stream_events_after_sequence_now_receives_future_events (line 1333) | async def test_stream_events_after_sequence_now_receives_future_events( function test_instrument_tags_contains_handler_id_in_server_context (line 1390) | async def test_instrument_tags_contains_handler_id_in_server_context() -... FILE: packages/llama-agents-server/tests/server/test_server_live_http.py function live_server (line 24) | async def live_server( function test_streaming_over_real_http (line 43) | async def test_streaming_over_real_http( function test_reconnect_stream_and_send_event_succeeds (line 72) | async def test_reconnect_stream_and_send_event_succeeds( FILE: packages/llama-agents-server/tests/server/test_server_runtime.py class StubInternalAdapter (line 47) | class StubInternalAdapter(InternalRunAdapter): method __init__ (line 48) | def __init__(self) -> None: method run_id (line 52) | def run_id(self) -> str: method write_to_event_stream (line 55) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 58) | async def get_now(self) -> float: method send_event (line 61) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 64) | async def wait_receive(self, timeout_seconds: float | None = None) -> ... method close (line 67) | async def close(self) -> None: method get_state_store (line 70) | def get_state_store(self) -> StateStore[Any] | None: class StubExternalAdapter (line 74) | class StubExternalAdapter(ExternalRunAdapter): method __init__ (line 75) | def __init__(self) -> None: method run_id (line 79) | def run_id(self) -> str: method send_event (line 82) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 85) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method close (line 88) | async def close(self) -> None: method get_result (line 91) | async def get_result(self) -> StopEvent: method get_state_store (line 94) | def get_state_store(self) -> StateStore[Any] | None: class StubRuntime (line 98) | class StubRuntime(Runtime): method __init__ (line 99) | def __init__(self) -> None: method register (line 103) | def register(self, workflow: Any) -> RegisteredWorkflow: method run_workflow (line 108) | def run_workflow( method get_internal_adapter (line 119) | def get_internal_adapter(self, workflow: Any) -> InternalRunAdapter: method get_external_adapter (line 122) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 125) | async def launch(self) -> None: method destroy (line 128) | async def destroy(self) -> None: class SimpleWorkflow (line 132) | class SimpleWorkflow(Workflow): method start (line 134) | async def start(self, ev: StartEvent) -> StopEvent: function test_add_workflow_sets_workflow_name (line 141) | def test_add_workflow_sets_workflow_name() -> None: function test_add_workflow_wraps_runtime_with_decorator (line 148) | def test_add_workflow_wraps_runtime_with_decorator() -> None: function test_add_workflow_no_double_wrap (line 155) | def test_add_workflow_no_double_wrap() -> None: function test_server_runtime_decorator_wraps_internal_adapter (line 166) | def test_server_runtime_decorator_wraps_internal_adapter() -> None: function test_server_internal_adapter_records_events_to_store (line 174) | async def test_server_internal_adapter_records_events_to_store() -> None: function test_server_internal_adapter_forwards_to_inner (line 191) | async def test_server_internal_adapter_forwards_to_inner() -> None: function test_add_workflow_uses_server_runtime_decorator (line 221) | def test_add_workflow_uses_server_runtime_decorator() -> None: function test_concurrent_runs_get_independent_sequences (line 228) | async def test_concurrent_runs_get_independent_sequences() -> None: class StubInternalAdapterWithId (line 253) | class StubInternalAdapterWithId(StubInternalAdapter): method __init__ (line 254) | def __init__(self, run_id: str) -> None: method run_id (line 259) | def run_id(self) -> str: function test_terminal_event_status_transitions (line 304) | async def test_terminal_event_status_transitions( function test_run_workflow_handler_persists_initial_record (line 343) | async def test_run_workflow_handler_persists_initial_record() -> None: function test_retry_store_write_succeeds_after_failures (line 361) | async def test_retry_store_write_succeeds_after_failures() -> None: function test_retry_store_write_raises_after_exhaustion (line 379) | async def test_retry_store_write_raises_after_exhaustion() -> None: FILE: packages/llama-agents-server/tests/server/test_sqlite_state_store.py class CounterState (line 23) | class CounterState(BaseModel): class ExtendedCounterState (line 28) | class ExtendedCounterState(CounterState): function db_path (line 36) | def db_path(tmp_path: Path) -> str: function store (line 48) | def store(db_path: str) -> SqliteStateStore[DictState]: function typed_store (line 53) | def typed_store(db_path: str) -> SqliteStateStore[CounterState]: function test_get_returns_default_dict_state (line 65) | async def test_get_returns_default_dict_state( function test_set_and_get_path (line 74) | async def test_set_and_get_path(store: SqliteStateStore[DictState]) -> N... function test_set_nested_path (line 81) | async def test_set_nested_path(store: SqliteStateStore[DictState]) -> None: function test_get_missing_path_raises (line 88) | async def test_get_missing_path_raises(store: SqliteStateStore[DictState... function test_get_missing_path_returns_default (line 94) | async def test_get_missing_path_returns_default( function test_set_empty_path_raises (line 102) | async def test_set_empty_path_raises(store: SqliteStateStore[DictState])... function test_set_state_replaces_dict_state (line 111) | async def test_set_state_replaces_dict_state( function test_typed_state_get_returns_default (line 123) | async def test_typed_state_get_returns_default( function test_typed_state_set_and_get (line 133) | async def test_typed_state_set_and_get( function test_set_state_parent_type_merge (line 143) | async def test_set_state_parent_type_merge(db_path: str) -> None: function test_edit_state_dict (line 166) | async def test_edit_state_dict(store: SqliteStateStore[DictState]) -> None: function test_edit_state_typed (line 175) | async def test_edit_state_typed(typed_store: SqliteStateStore[CounterSta... function test_clear_resets_state (line 186) | async def test_clear_resets_state(store: SqliteStateStore[DictState]) ->... function test_clear_resets_typed_state (line 194) | async def test_clear_resets_typed_state( function test_state_persists_across_instances (line 208) | async def test_state_persists_across_instances(db_path: str) -> None: function test_typed_state_persists_across_instances (line 223) | async def test_typed_state_persists_across_instances(db_path: str) -> None: function test_different_run_ids_are_isolated (line 242) | async def test_different_run_ids_are_isolated(db_path: str) -> None: function test_to_dict_returns_metadata_only (line 260) | async def test_to_dict_returns_metadata_only( function test_from_dict_sqlite_format (line 272) | async def test_from_dict_sqlite_format(db_path: str) -> None: function test_from_dict_in_memory_format_migrates (line 290) | async def test_from_dict_in_memory_format_migrates(db_path: str) -> None: function test_from_dict_empty_raises (line 308) | async def test_from_dict_empty_raises() -> None: function test_migration_applies_on_existing_db (line 317) | async def test_migration_applies_on_existing_db(tmp_path: Path) -> None: FILE: packages/llama-agents-server/tests/server/test_sqlite_workflow_store.py function test_update_and_query_returns_inserted_handler (line 15) | async def test_update_and_query_returns_inserted_handler(tmp_path: Path)... function test_update_on_conflict_overwrites_existing_row (line 40) | async def test_update_on_conflict_overwrites_existing_row(tmp_path: Path... function test_delete_filters_by_query (line 80) | async def test_delete_filters_by_query(tmp_path: Path) -> None: function test_delete_noop_on_empty_filter (line 108) | async def test_delete_noop_on_empty_filter(tmp_path: Path) -> None: function test_query_filters_by_handler_id_and_empty_lists (line 129) | async def test_query_filters_by_handler_id_and_empty_lists(tmp_path: Pat... class CustomStopEvent (line 161) | class CustomStopEvent(StopEvent): function test_update_pydantic_result_serialization (line 171) | async def test_update_pydantic_result_serialization( FILE: packages/llama-agents-server/tests/server/test_sse_heartbeat.py function _server_factory (line 19) | def _server_factory(*, sse_heartbeat_interval: float | None) -> Workflow... function test_sse_heartbeat_during_idle (line 31) | async def test_sse_heartbeat_during_idle() -> None: function test_sse_heartbeat_interspersed_with_events (line 62) | async def test_sse_heartbeat_interspersed_with_events() -> None: function test_ndjson_no_heartbeat (line 96) | async def test_ndjson_no_heartbeat() -> None: function test_no_heartbeat_when_disabled (line 128) | async def test_no_heartbeat_when_disabled() -> None: function test_heartbeat_with_completed_workflow (line 160) | async def test_heartbeat_with_completed_workflow() -> None: FILE: packages/llama-agents-server/tests/server/test_streaming_replay_memory.py class _BigEvent (line 19) | class _BigEvent(Event): class _FakeStreamingStore (line 23) | class _FakeStreamingStore: method __init__ (line 24) | def __init__(self, count: int, payload_size: int) -> None: method stream_ticks (line 28) | async def stream_ticks(self, run_id: str) -> AsyncIterator[StoredTick]: method _make_stored_tick (line 32) | def _make_stored_tick(self, seq: int) -> StoredTick: function _empty_state (line 43) | def _empty_state() -> BrokerState: function test_stream_replay_peak_memory_bounded (line 50) | async def test_stream_replay_peak_memory_bounded() -> None: function test_stream_replay_memory_bound_detects_full_materialization (line 81) | async def test_stream_replay_memory_bound_detects_full_materialization()... FILE: packages/llama-agents-server/tests/server/test_workflow_service.py function test_cancel_running_handler (line 26) | async def test_cancel_running_handler( function test_cancel_handler_with_purge (line 55) | async def test_cancel_handler_with_purge( function test_cancel_handler_not_found (line 86) | async def test_cancel_handler_not_found(memory_store: MemoryWorkflowStor... function test_send_event_workflow_not_registered (line 96) | async def test_send_event_workflow_not_registered( function test_send_event_no_run_id (line 121) | async def test_send_event_no_run_id( function test_start_workflow_happy_path (line 149) | async def test_start_workflow_happy_path( function test_await_workflow_happy_path (line 167) | async def test_await_workflow_happy_path( function test_await_workflow_error_returns_failed (line 184) | async def test_await_workflow_error_returns_failed( function test_resolve_handler_raises_on_completed (line 199) | async def test_resolve_handler_raises_on_completed( function test_send_event_happy_path (line 223) | async def test_send_event_happy_path( function test_cancel_terminal_handler_without_purge (line 250) | async def test_cancel_terminal_handler_without_purge( FILE: packages/llama-agents-server/tests/server/test_workflow_store_events.py function make_envelope (line 30) | def make_envelope( function _stop (line 40) | def _stop(seq_label: int = 0) -> StopEvent: function _failed (line 44) | def _failed() -> WorkflowFailedEvent: function _cancelled (line 53) | def _cancelled() -> WorkflowCancelledEvent: function _subscribe_and_collect (line 57) | async def _subscribe_and_collect( function store (line 96) | def store( function test_append_single_event_and_query_it_back (line 108) | async def test_append_single_event_and_query_it_back( function test_append_multiple_events_and_query_all (line 121) | async def test_append_multiple_events_and_query_all( function test_query_events_with_filters (line 141) | async def test_query_events_with_filters( function test_query_events_for_nonexistent_run_id_returns_empty (line 159) | async def test_query_events_for_nonexistent_run_id_returns_empty( function test_events_from_different_run_ids_are_isolated (line 167) | async def test_events_from_different_run_ids_are_isolated( function test_subscribe_events_receives_appended_events (line 186) | async def test_subscribe_events_receives_appended_events( function test_subscribe_events_terminates_on_terminal_event (line 210) | async def test_subscribe_events_terminates_on_terminal_event( function test_subscribe_events_multiple_concurrent_subscribers (line 228) | async def test_subscribe_events_multiple_concurrent_subscribers( function test_subscribe_events_with_after_sequence (line 248) | async def test_subscribe_events_with_after_sequence( function test_subscribe_events_already_terminated (line 268) | async def test_subscribe_events_already_terminated( function test_stream_ticks_yields_all_rows_in_order (line 284) | async def test_stream_ticks_yields_all_rows_in_order( function test_stream_ticks_empty_history (line 298) | async def test_stream_ticks_empty_history( FILE: packages/llama-index-utils-workflow/tests/conftest.py class OneTestEvent (line 11) | class OneTestEvent(Event): class AnotherTestEvent (line 15) | class AnotherTestEvent(Event): class LastEvent (line 19) | class LastEvent(Event): class DummyWorkflow (line 23) | class DummyWorkflow(Workflow): method start_step (line 25) | async def start_step(self, ev: StartEvent) -> OneTestEvent: method middle_step (line 29) | async def middle_step(self, ev: OneTestEvent) -> LastEvent: method end_step (line 33) | async def end_step(self, ev: LastEvent) -> StopEvent: class DatabaseClient (line 40) | class DatabaseClient: function get_database_client (line 46) | def get_database_client() -> DatabaseClient: class CacheClient (line 54) | class CacheClient: function get_cache_client (line 60) | def get_cache_client() -> CacheClient: class ResourceWorkflow (line 65) | class ResourceWorkflow(Workflow): method start_step (line 69) | async def start_step(self, ev: StartEvent) -> OneTestEvent: method step_with_db (line 73) | async def step_with_db( method step_with_both_resources (line 81) | async def step_with_both_resources( function workflow (line 91) | def workflow() -> Workflow: function workflow_with_resources (line 96) | def workflow_with_resources() -> Workflow: function events (line 101) | def events() -> list[type[Event]]: class ChildWorkflowA (line 108) | class ChildWorkflowA(Workflow): method child_start (line 110) | async def child_start(self, ev: StartEvent) -> StopEvent: class ParentWorkflow (line 114) | class ParentWorkflow(Workflow): method parent_start (line 116) | async def parent_start(self, ev: StartEvent) -> Event: method parent_end (line 124) | async def parent_end(self, ev: Event) -> StopEvent: function nested_workflow (line 129) | def nested_workflow() -> Workflow: FILE: packages/llama-index-utils-workflow/tests/test_drawing.py function test_workflow_draw_methods (line 22) | async def test_workflow_draw_methods(workflow: Workflow) -> None: function test_draw_all_possible_flows_with_max_label_length (line 40) | def test_draw_all_possible_flows_with_max_label_length( function test_draw_all_possible_flows_mermaid_basic (line 90) | def test_draw_all_possible_flows_mermaid_basic(workflow: Workflow) -> None: function test_draw_all_possible_flows_mermaid_no_file (line 112) | def test_draw_all_possible_flows_mermaid_no_file(workflow: Workflow) -> ... function test_mermaid_node_shapes_and_styles (line 121) | def test_mermaid_node_shapes_and_styles(workflow: Workflow) -> None: function test_mermaid_edges_generation (line 154) | def test_mermaid_edges_generation(workflow: Workflow) -> None: function test_mermaid_id_cleaning (line 174) | def test_mermaid_id_cleaning(workflow: Workflow) -> None: function test_mermaid_vs_pyvis_consistency (line 195) | def test_mermaid_vs_pyvis_consistency(workflow: Workflow) -> None: function test_mermaid_file_writing (line 241) | def test_mermaid_file_writing(workflow: Workflow) -> None: function test_mermaid_empty_filename (line 264) | def test_mermaid_empty_filename(workflow: Workflow) -> None: function test_draw_most_recent_execution_mermaid (line 281) | async def test_draw_most_recent_execution_mermaid(workflow: Workflow) ->... function test_mermaid_resource_nodes_rendered (line 316) | def test_mermaid_resource_nodes_rendered( function test_mermaid_resource_edges_have_labels (line 340) | def test_mermaid_resource_edges_have_labels( function test_pyvis_resource_nodes_rendered (line 369) | def test_pyvis_resource_nodes_rendered(workflow_with_resources: Workflow... function test_pyvis_resource_edges_have_labels (line 403) | def test_pyvis_resource_edges_have_labels( function test_mermaid_resource_style_always_defined (line 433) | def test_mermaid_resource_style_always_defined(workflow: Workflow) -> None: function test_mermaid_resource_config_nodes_rendered (line 441) | def test_mermaid_resource_config_nodes_rendered( function test_pyvis_resource_config_nodes_rendered (line 486) | def test_pyvis_resource_config_nodes_rendered( function test_resource_node_deduplication_in_rendering (line 542) | def test_resource_node_deduplication_in_rendering( function test_draw_all_possible_flows_with_child_workflow_mermaid (line 567) | def test_draw_all_possible_flows_with_child_workflow_mermaid( function test_draw_all_possible_flows_with_child_workflow_pyvis (line 614) | def test_draw_all_possible_flows_with_child_workflow_pyvis( function test_draw_all_possible_flows_mermaid_with_class (line 663) | def test_draw_all_possible_flows_mermaid_with_class() -> None: function test_draw_all_possible_flows_with_class (line 674) | def test_draw_all_possible_flows_with_class() -> None: function test_class_and_instance_produce_same_mermaid (line 684) | def test_class_and_instance_produce_same_mermaid() -> None: function test_draw_all_possible_flows_mermaid_with_resource_class (line 692) | def test_draw_all_possible_flows_mermaid_with_resource_class() -> None: function test_draw_all_possible_flows_with_child_workflow_class_mermaid (line 702) | def test_draw_all_possible_flows_with_child_workflow_class_mermaid() -> ... FILE: packages/llama-index-workflows/src/llama_agents/workflows/__init__.py class _AliasLoader (line 22) | class _AliasLoader(Loader): method __init__ (line 25) | def __init__(self, real_name: str) -> None: method create_module (line 28) | def create_module(self, spec: ModuleSpec) -> ModuleType | None: method exec_module (line 31) | def exec_module(self, module: ModuleType) -> None: class _AliasFinder (line 36) | class _AliasFinder(MetaPathFinder): method find_spec (line 39) | def find_spec( FILE: packages/llama-index-workflows/src/workflows/_event_summary.py function _summarize_value (line 11) | def _summarize_value(value: Any, max_val_length: int = 50) -> str: function summarize_event (line 27) | def summarize_event(event: Event, max_length: int = 200) -> str: FILE: packages/llama-index-workflows/src/workflows/context/context.py class Context (line 58) | class Context(Generic[MODEL_T]): method __init__ (line 123) | def __init__( method _create_face (line 138) | def _create_face( method get_step_context (line 149) | def get_step_context() -> Context: method is_running (line 186) | def is_running(self) -> bool: method _require_pre (line 196) | def _require_pre(self, fn: str) -> PreContext[MODEL_T]: method _require_external (line 204) | def _require_external(self, fn: str) -> ExternalContext[MODEL_T, Any]: method _require_internal (line 216) | def _require_internal(self, fn: str) -> InternalContext[MODEL_T]: method _create_internal (line 227) | def _create_internal( method _create_external (line 247) | def _create_external( method _workflow_run (line 268) | def _workflow_run( method _workflow_cancel_run (line 334) | def _workflow_cancel_run(self) -> None: method store (line 344) | def store(self) -> StateStore[MODEL_T]: method to_dict (line 355) | def to_dict(self, serializer: BaseSerializer | None = None) -> dict[st... method from_dict (line 388) | def from_dict( method running_steps (line 428) | async def running_steps(self) -> list[str]: method collect_events (line 436) | def collect_events( method send_event (line 477) | def send_event(self, message: Event, step: str | None = None) -> None: method wait_for_event (line 526) | async def wait_for_event( method retry_info (line 578) | def retry_info(self) -> RetryInfo: method write_event_to_stream (line 606) | def write_event_to_stream(self, ev: Event | None) -> None: method _finalize_step (line 623) | async def _finalize_step(self) -> None: method get_result (line 632) | def get_result(self) -> RunResultT: method stream_events (line 660) | def stream_events(self) -> AsyncGenerator[Event, None]: method streaming_queue (line 676) | def streaming_queue(self) -> asyncio.Queue: function _warn_get_result (line 701) | def _warn_get_result() -> None: function _warn_streaming_queue (line 714) | def _warn_streaming_queue() -> None: function _warn_is_running_in_step (line 727) | def _warn_is_running_in_step() -> None: function _warn_cancel_before_start (line 737) | def _warn_cancel_before_start() -> None: function _warn_cancel_in_step (line 745) | def _warn_cancel_in_step() -> None: FILE: packages/llama-index-workflows/src/workflows/context/context_types.py class SerializedContextV0 (line 14) | class SerializedContextV0(BaseModel): class SerializedEventAttempt (line 64) | class SerializedEventAttempt(BaseModel): class SerializedWaiter (line 84) | class SerializedWaiter(BaseModel): method deserialize_requirements (line 100) | def deserialize_requirements(cls, v: dict[str, Any]) -> dict[str, Any]: class SerializedStepWorkerState (line 111) | class SerializedStepWorkerState(BaseModel): class SerializedContext (line 125) | class SerializedContext(BaseModel): method from_v0 (line 145) | def from_v0(v0: SerializedContextV0) -> "SerializedContext": method from_dict_auto (line 213) | def from_dict_auto(data: dict[str, Any]) -> "SerializedContext": FILE: packages/llama-index-workflows/src/workflows/context/external_context.py class ExternalContext (line 33) | class ExternalContext(Generic[MODEL_T, RunResultT]): method __init__ (line 45) | def __init__( method is_running (line 57) | def is_running(self) -> bool: method _execute_task (line 67) | def _execute_task(self, coro: Coroutine[Any, Any, Any]) -> asyncio.Tas... method _tick_log (line 83) | def _tick_log(self) -> list[WorkflowTick]: method _require_snapshottable (line 87) | def _require_snapshottable(self) -> SnapshottableAdapter: method _state (line 96) | def _state(self) -> BrokerState: method store (line 107) | def store(self) -> StateStore[MODEL_T]: method send_event (line 114) | def send_event(self, message: Event, step: str | None = None) -> None: method running_steps (line 125) | async def running_steps(self) -> list[str]: method _require_v2_runtime_compatibility (line 132) | def _require_v2_runtime_compatibility(self) -> V2RuntimeCompatibilityS... method get_result (line 140) | def get_result(self) -> StopEvent: method stream_events (line 149) | def stream_events(self) -> AsyncGenerator[Event, None]: method to_dict (line 153) | def to_dict(self, serializer: BaseSerializer | None = None) -> dict[st... method cancel (line 170) | def cancel(self) -> None: method shutdown (line 174) | async def shutdown(self) -> None: FILE: packages/llama-index-workflows/src/workflows/context/internal_context.py class InternalContext (line 37) | class InternalContext(Generic[MODEL_T]): method __init__ (line 48) | def __init__( method _execute_task (line 57) | def _execute_task(self, coro: Coroutine[Any, Any, Any]) -> asyncio.Tas... method cancel_background_tasks (line 80) | def cancel_background_tasks(self) -> None: method _finalize_step (line 86) | async def _finalize_step(self) -> None: method _get_step_ctx (line 100) | def _get_step_ctx(fn: str) -> StepWorkerContext: method store (line 110) | def store(self) -> StateStore[MODEL_T]: method collect_events (line 117) | def collect_events( method send_event (line 155) | def send_event(self, message: Event, step: str | None = None) -> None: method wait_for_event (line 178) | async def wait_for_event( method write_event_to_stream (line 215) | def write_event_to_stream(self, ev: Event | None) -> None: method retry_info (line 220) | def retry_info(self) -> RetryInfo: FILE: packages/llama-index-workflows/src/workflows/context/pre_context.py class PreContext (line 23) | class PreContext(Generic[MODEL_T]): method __init__ (line 37) | def __init__( method store (line 68) | def store(self) -> StateStore[MODEL_T]: method serialized_state (line 91) | def serialized_state(self) -> dict[str, Any] | None: method is_running (line 103) | def is_running(self) -> bool: method init_snapshot (line 112) | def init_snapshot(self) -> SerializedContext: method serializer (line 117) | def serializer(self) -> BaseSerializer: FILE: packages/llama-index-workflows/src/workflows/context/serializers.py class BaseSerializer (line 17) | class BaseSerializer(ABC): method serialize (line 30) | def serialize(self, value: Any) -> str: ... method deserialize (line 33) | def deserialize(self, value: str) -> Any: ... class JsonSerializer (line 36) | class JsonSerializer(BaseSerializer): method serialize_value (line 63) | def serialize_value(self, value: Any) -> Any: method serialize (line 98) | def serialize(self, value: Any) -> str: method deserialize_value (line 116) | def deserialize_value(self, data: Any) -> Any: method deserialize (line 137) | def deserialize(self, value: str) -> Any: class PickleSerializer (line 150) | class PickleSerializer(JsonSerializer): method serialize (line 176) | def serialize(self, value: Any) -> str: method deserialize (line 190) | def deserialize(self, value: str) -> Any: FILE: packages/llama-index-workflows/src/workflows/context/state_store.py class InMemorySerializedState (line 38) | class InMemorySerializedState(BaseModel): method default_store_type (line 50) | def default_store_type(cls, data: dict[str, Any]) -> dict[str, Any]: function parse_in_memory_state (line 57) | def parse_in_memory_state( function serialize_dict_state_data (line 83) | def serialize_dict_state_data( function create_in_memory_payload (line 117) | def create_in_memory_payload( function traverse_path_step (line 146) | def traverse_path_step(obj: Any, segment: str) -> Any: function assign_path_step (line 173) | def assign_path_step(obj: Any, segment: str, value: Any) -> None: function get_by_path (line 197) | def get_by_path(state: Any, path: str, default: Any = Ellipsis) -> Any: function set_by_path (line 228) | def set_by_path(state: Any, path: str, value: Any) -> None: function merge_state (line 260) | def merge_state(current_state: MODEL_T, incoming: BaseModel) -> MODEL_T: function create_cleared_state (line 294) | def create_cleared_state(state_type: type[MODEL_T]) -> MODEL_T: class UnserializableKeyWarning (line 313) | class UnserializableKeyWarning(Warning): class DictState (line 320) | class DictState(DictLikeModel): method __init__ (line 340) | def __init__(self, **params: Any): class StateStore (line 349) | class StateStore(Protocol[MODEL_T]): method get_state (line 372) | async def get_state(self) -> MODEL_T: method set_state (line 376) | async def set_state(self, state: MODEL_T) -> None: method get (line 380) | async def get(self, path: str, default: Any = ...) -> Any: method set (line 384) | async def set(self, path: str, value: Any) -> None: method clear (line 388) | async def clear(self) -> None: method edit_state (line 392) | def edit_state(self) -> AsyncContextManager[MODEL_T]: method to_dict (line 396) | def to_dict(self, serializer: "BaseSerializer") -> dict[str, Any]: class InMemoryStateStore (line 401) | class InMemoryStateStore(Generic[MODEL_T]): method __init__ (line 445) | def __init__(self, initial_state: MODEL_T): method _lock (line 450) | def _lock(self) -> asyncio.Lock: method get_state (line 458) | async def get_state(self) -> MODEL_T: method set_state (line 466) | async def set_state(self, state: MODEL_T) -> None: method to_dict (line 487) | def to_dict(self, serializer: "BaseSerializer") -> dict[str, Any]: method from_dict (line 506) | def from_dict( method edit_state (line 532) | async def edit_state(self) -> AsyncGenerator[MODEL_T, None]: method get (line 548) | async def get(self, path: str, default: Any = Ellipsis) -> Any: method set (line 566) | async def set(self, path: str, value: Any) -> None: method clear (line 579) | async def clear(self) -> None: function deserialize_dict_state_data (line 589) | def deserialize_dict_state_data( function deserialize_state_from_dict (line 615) | def deserialize_state_from_dict( function infer_state_type (line 657) | def infer_state_type(workflow: "Workflow") -> type[BaseModel]: function _find_most_derived_state_type (line 691) | def _find_most_derived_state_type(state_types: set[type[BaseModel]]) -> ... FILE: packages/llama-index-workflows/src/workflows/context/utils.py function get_qualified_name (line 12) | def get_qualified_name(value: Any) -> str: function import_module_from_qualified_name (line 32) | def import_module_from_qualified_name(qualified_name: str) -> Any: FILE: packages/llama-index-workflows/src/workflows/decorators.py class StepConfig (line 44) | class StepConfig: class CatchErrorHandler (line 62) | class CatchErrorHandler: class StepFunction (line 80) | class StepFunction(Protocol, Generic[P, R_co]): method __call__ (line 88) | def __call__(self, *args: P.args, **kwargs: P.kwargs) -> R_co: ... function step (line 92) | def step(func: Callable[P, R]) -> StepFunction[P, R]: ... function step (line 96) | def step( function step (line 105) | def step( function make_step_function (line 185) | def make_step_function( function _apply_step_decorator (line 214) | def _apply_step_decorator( function catch_error (line 245) | def catch_error(func: Callable[P, R]) -> StepFunction[P, R]: ... function catch_error (line 249) | def catch_error( function catch_error (line 256) | def catch_error( function _capture_decorator_localns (line 339) | def _capture_decorator_localns() -> dict[str, Any]: function _capture_callsite_localns (line 355) | def _capture_callsite_localns() -> dict[str, Any]: FILE: packages/llama-index-workflows/src/workflows/errors.py class WorkflowValidationError (line 7) | class WorkflowValidationError(Exception): class WorkflowTimeoutError (line 11) | class WorkflowTimeoutError(Exception): class WorkflowRuntimeError (line 15) | class WorkflowRuntimeError(Exception): class WorkflowDone (line 19) | class WorkflowDone(Exception): class WorkflowCancelledByUser (line 23) | class WorkflowCancelledByUser(Exception): class WorkflowStepDoesNotExistError (line 27) | class WorkflowStepDoesNotExistError(Exception): class WorkflowConfigurationError (line 31) | class WorkflowConfigurationError(Exception): class ContextSerdeError (line 35) | class ContextSerdeError(Exception): class ContextStateError (line 39) | class ContextStateError(Exception): FILE: packages/llama-index-workflows/src/workflows/events.py class DictLikeModel (line 25) | class DictLikeModel(BaseModel): method __init__ (line 41) | def __init__(self, **params: Any): method __getattr__ (line 64) | def __getattr__(self, __name: str) -> Any: method __setattr__ (line 77) | def __setattr__(self, name: str, value: Any) -> None: method __getitem__ (line 83) | def __getitem__(self, key: str) -> Any: method __setitem__ (line 86) | def __setitem__(self, key: str, value: Any) -> None: method get (line 89) | def get(self, key: str, default: Any = None) -> Any: method __contains__ (line 92) | def __contains__(self, key: str) -> bool: method keys (line 95) | def keys(self) -> "dict_keys[str, Any]": method values (line 98) | def values(self) -> "dict_values[str, Any]": method items (line 101) | def items(self) -> "dict_items[str, Any]": method __len__ (line 104) | def __len__(self) -> int: method __iter__ (line 107) | def __iter__(self) -> Any: method to_dict (line 110) | def to_dict(self, *args: Any, **kwargs: Any) -> dict[str, Any]: method __bool__ (line 113) | def __bool__(self) -> bool: method custom_model_dump (line 118) | def custom_model_dump(self, handler: Any) -> dict[str, Any]: class Event (line 126) | class Event(DictLikeModel): method __init__ (line 153) | def __init__(self, **params: Any): function _serialize_event (line 160) | def _serialize_event(event: Event) -> Any: function _deserialize_event (line 164) | def _deserialize_event(data: Any) -> Event: function _serialize_optional_event (line 175) | def _serialize_optional_event(event: Event | None) -> Any: function _deserialize_optional_event (line 181) | def _deserialize_optional_event(data: Any) -> Event | None: function _serialize_exception (line 194) | def _serialize_exception(exc: Exception) -> dict[str, Any]: function _deserialize_exception (line 203) | def _deserialize_exception(data: Any) -> Exception: function _serialize_optional_exception (line 221) | def _serialize_optional_exception(exc: Exception | None) -> Any: function _deserialize_optional_exception (line 227) | def _deserialize_optional_exception(data: Any) -> Exception | None: function _serialize_event_type (line 240) | def _serialize_event_type(event_type: type[Event]) -> str: function _deserialize_event_type (line 244) | def _deserialize_event_type(data: Any) -> type[Event]: class StartEvent (line 257) | class StartEvent(Event): class StopEvent (line 261) | class StopEvent(Event): method __init__ (line 287) | def __init__(self, result: Any = None, **kwargs: Any) -> None: method _get_result (line 291) | def _get_result(self) -> Any: method result (line 296) | def result(self) -> Any: method custom_model_dump (line 300) | def custom_model_dump(self, handler: Any) -> dict[str, Any]: method __repr__ (line 307) | def __repr__(self) -> str: method __str__ (line 314) | def __str__(self) -> str: class WorkflowTimedOutEvent (line 318) | class WorkflowTimedOutEvent(StopEvent): class WorkflowCancelledEvent (line 342) | class WorkflowCancelledEvent(StopEvent): class IdleReleasedEvent (line 358) | class IdleReleasedEvent(StopEvent): class WorkflowFailedEvent (line 367) | class WorkflowFailedEvent(StopEvent): class StepFailedEvent (line 395) | class StepFailedEvent(Event): class InputRequiredEvent (line 421) | class InputRequiredEvent(Event): class HumanResponseEvent (line 450) | class HumanResponseEvent(Event): class InternalDispatchEvent (line 471) | class InternalDispatchEvent(Event): class WorkflowIdleEvent (line 489) | class WorkflowIdleEvent(InternalDispatchEvent): class UnhandledEvent (line 505) | class UnhandledEvent(InternalDispatchEvent): class StepState (line 521) | class StepState(Enum): class StepStateChanged (line 530) | class StepStateChanged(InternalDispatchEvent): FILE: packages/llama-index-workflows/src/workflows/handler.py class WorkflowHandler (line 26) | class WorkflowHandler(Awaitable[RunResultT]): method _await_result (line 33) | async def _await_result(self) -> RunResultT: method __await__ (line 37) | def __await__(self) -> Generator[Any, Any, RunResultT]: method __init__ (line 40) | def __init__( method _wait_for_result (line 65) | async def _wait_for_result(self) -> StopEvent: method _handle_result_task_done (line 70) | def _handle_result_task_done(self, task: asyncio.Task[StopEvent]) -> N... method ctx (line 85) | def ctx(self) -> Context: method get_stop_event (line 89) | def get_stop_event(self) -> StopEvent | None: method stop_event_result (line 93) | async def stop_event_result(self) -> StopEvent: method __str__ (line 97) | def __str__(self) -> str: method is_done (line 100) | def is_done(self) -> bool: method stream_events (line 104) | async def stream_events( method done (line 164) | def done(self) -> bool: method cancel (line 169) | def cancel(self) -> None: method exception (line 181) | def exception(self) -> BaseException | None: method cancelled (line 189) | def cancelled(self) -> bool: method cancel_run (line 202) | async def cancel_run(self, *, timeout: float = 5.0) -> None: method send_event (line 228) | async def send_event(self, event: Event, step: str | None = None) -> N... function _warn_done_deprecated (line 239) | def _warn_done_deprecated() -> None: function _warn_cancel_deprecated (line 248) | def _warn_cancel_deprecated() -> None: function _warn_exception_deprecated (line 257) | def _warn_exception_deprecated() -> None: function _warn_cancelled_deprecated (line 266) | def _warn_cancelled_deprecated() -> None: FILE: packages/llama-index-workflows/src/workflows/plugins/_context.py function get_current_runtime (line 10) | def get_current_runtime() -> Runtime: FILE: packages/llama-index-workflows/src/workflows/plugins/basic.py class AsyncioAdapterQueues (line 47) | class AsyncioAdapterQueues: method __init__ (line 58) | def __init__( method receive_queue (line 71) | def receive_queue(self) -> asyncio.Queue[WorkflowTick]: method publish_queue (line 76) | def publish_queue(self) -> asyncio.Queue[Event]: method stream_lock (line 81) | def stream_lock(self) -> asyncio.Lock: class InternalAsyncioAdapter (line 85) | class InternalAsyncioAdapter(InternalRunAdapter, SnapshottableAdapter): method __init__ (line 93) | def __init__(self, queues: AsyncioAdapterQueues) -> None: method run_id (line 97) | def run_id(self) -> str: method init_state (line 101) | def init_state(self) -> BrokerState: method write_to_event_stream (line 104) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 107) | async def get_now(self) -> float: method send_event (line 110) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 113) | async def wait_receive( method on_tick (line 130) | async def on_tick(self, tick: WorkflowTick) -> None: method replay (line 133) | def replay(self) -> list[WorkflowTick]: method get_state_store (line 136) | def get_state_store(self) -> StateStore[Any] | None: class ExternalAsyncioAdapter (line 140) | class ExternalAsyncioAdapter( method __init__ (line 150) | def __init__(self, outer: BasicRuntime, queues: AsyncioAdapterQueues) ... method run_id (line 155) | def run_id(self) -> str: method send_event (line 158) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 161) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method replay (line 174) | def replay(self) -> list[WorkflowTick]: method get_state_store (line 177) | def get_state_store(self) -> StateStore[Any] | None: method get_result (line 180) | async def get_result(self) -> StopEvent: method get_result_or_none (line 183) | def get_result_or_none(self) -> StopEvent | None: method is_running (line 189) | def is_running(self) -> bool: method abort (line 192) | def abort(self) -> None: method init_state (line 199) | def init_state(self) -> BrokerState: class BasicRuntime (line 203) | class BasicRuntime(Runtime): method is_launched (line 207) | def is_launched(self) -> bool: method __init__ (line 211) | def __init__(self) -> None: method register (line 224) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method _get_or_create_queues (line 231) | def _get_or_create_queues( method _maybe_acquire_max_concurrent_runs (line 242) | async def _maybe_acquire_max_concurrent_runs( method run_workflow (line 258) | def run_workflow( method get_internal_adapter (line 311) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 324) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: function get_current_run_id (line 333) | def get_current_run_id() -> str | None: function setting_run_id (line 339) | def setting_run_id(run_id: str) -> Generator[None, None, None]: FILE: packages/llama-index-workflows/src/workflows/representation/build.py function _get_type_name (line 36) | def _get_type_name(type_annotation: type | None) -> str | None: function _get_resource_identity (line 45) | def _get_resource_identity(resource: ResourceDescriptor) -> int: function _get_event_type_chain (line 60) | def _get_event_type_chain(cls: type) -> list[str]: function _create_resource_config_node (line 75) | def _create_resource_config_node( function _create_resource_node (line 116) | def _create_resource_node(resource_def: ResourceDefinition) -> WorkflowR... function get_workflow_representation (line 155) | def get_workflow_representation(workflow: Workflow | type[Workflow]) -> ... FILE: packages/llama-index-workflows/src/workflows/representation/types.py class WorkflowNodeBase (line 8) | class WorkflowNodeBase(BaseModel): method truncated_label (line 14) | def truncated_label(self, max_length: int) -> str: class WorkflowStepNode (line 21) | class WorkflowStepNode(WorkflowNodeBase): class WorkflowEventNode (line 33) | class WorkflowEventNode(WorkflowNodeBase): method is_subclass_of (line 51) | def is_subclass_of(self, *type_names: str) -> bool: class WorkflowExternalNode (line 56) | class WorkflowExternalNode(WorkflowNodeBase): class WorkflowResourceNode (line 64) | class WorkflowResourceNode(WorkflowNodeBase): class WorkflowResourceConfigNode (line 91) | class WorkflowResourceConfigNode(WorkflowNodeBase): class WorkflowGenericNode (line 123) | class WorkflowGenericNode(WorkflowNodeBase): method is_subclass_of (line 142) | def is_subclass_of(self, *type_names: str) -> bool: class WorkflowGraphEdge (line 161) | class WorkflowGraphEdge(BaseModel): class WorkflowGraph (line 172) | class WorkflowGraph(BaseModel): method filter_by_node_type (line 187) | def filter_by_node_type(self, *node_types: str) -> WorkflowGraph: FILE: packages/llama-index-workflows/src/workflows/representation/validate.py class StepGraph (line 26) | class StepGraph: function build_step_graph (line 51) | def build_step_graph( function _dfs (line 113) | def _dfs( class GraphValidationError (line 131) | class GraphValidationError: function validate_graph (line 140) | def validate_graph( function validate_catch_error_handlers (line 243) | def validate_catch_error_handlers( function _ensure_start_event_class (line 292) | def _ensure_start_event_class( function _ensure_stop_event_class (line 321) | def _ensure_stop_event_class( function _collect_events (line 350) | def _collect_events(steps: dict[str, StepConfig]) -> list[type[Event]]: function _collect_catch_error_handlers (line 367) | def _collect_catch_error_handlers( function _validate_event_connectivity (line 429) | def _validate_event_connectivity( class _ResourceValidationContext (line 503) | class _ResourceValidationContext: method format_location (line 511) | def format_location(self) -> str: method with_dependency (line 519) | def with_dependency(self, dep: ResourceDescriptor) -> _ResourceValidat... function _validate_resource_configs (line 528) | def _validate_resource_configs(steps: dict[str, StepConfig]) -> list[str]: function _validate_resources (line 569) | async def _validate_resources( class _WorkflowValidationResult (line 589) | class _WorkflowValidationResult: function _validate_workflow (line 599) | def _validate_workflow( FILE: packages/llama-index-workflows/src/workflows/resource.py function _get_factory_type_hints (line 36) | def _get_factory_type_hints( class ResourceDescriptor (line 59) | class ResourceDescriptor(Protocol): method name (line 67) | def name(self) -> str: method cache (line 72) | def cache(self) -> bool: method resolve (line 76) | async def resolve(self, manager: ResourceManager) -> Any: method set_type_annotation (line 80) | def set_type_annotation(self, type_annotation: Any) -> None: method set_localns (line 84) | def set_localns(self, localns: dict[str, Any] | None) -> None: method get_dependencies (line 88) | def get_dependencies(self) -> list[tuple[str, ResourceDescriptor, type... class _Resource (line 93) | class _Resource(Generic[T]): method __init__ (line 100) | def __init__(self, factory: Callable[..., T | Awaitable[T]], cache: bo... method _resolve_dependencies (line 107) | async def _resolve_dependencies( method call (line 120) | async def call(self, resource_manager: ResourceManager) -> T: method resolve (line 129) | async def resolve(self, manager: ResourceManager) -> T: method set_type_annotation (line 136) | def set_type_annotation(self, type_annotation: Any) -> None: method set_localns (line 140) | def set_localns(self, localns: dict[str, Any] | None) -> None: method get_dependencies (line 144) | def get_dependencies(self) -> list[tuple[str, ResourceDescriptor, type... function _get_resource_config_data (line 162) | def _get_resource_config_data( function _get_resource_config_data_cached (line 172) | def _get_resource_config_data_cached( class _ResourceConfig (line 194) | class _ResourceConfig(Generic[B]): method __init__ (line 206) | def __init__( method config_file (line 228) | def config_file(self) -> str: method name (line 238) | def name(self) -> str: method cache (line 245) | def cache(self) -> bool: method call (line 249) | def call(self) -> B: method resolve (line 261) | async def resolve(self, manager: ResourceManager) -> B: method set_type_annotation (line 269) | def set_type_annotation(self, type_annotation: Any) -> None: method set_localns (line 274) | def set_localns(self, localns: dict[str, Any] | None) -> None: method get_dependencies (line 278) | def get_dependencies(self) -> list[tuple[str, ResourceDescriptor, type... function ResourceConfig (line 283) | def ResourceConfig( class ResourceDefinition (line 340) | class ResourceDefinition(BaseModel): function Resource (line 355) | def Resource( class ResourceManager (line 390) | class ResourceManager: method __init__ (line 399) | def __init__(self) -> None: method resolution_scope (line 406) | def resolution_scope(self) -> Iterator[None]: method set (line 416) | async def set(self, name: str, val: Any) -> None: method get (line 420) | async def get(self, resource: ResourceDescriptor) -> Any: method _get (line 426) | async def _get(self, resource: ResourceDescriptor) -> Any: method get_all (line 454) | def get_all(self) -> dict[str, Any]: FILE: packages/llama-index-workflows/src/workflows/retry_policy.py function _to_seconds (line 17) | def _to_seconds(value: time_unit_type) -> float: class RetryInfo (line 22) | class RetryInfo: class RetryPolicy (line 47) | class RetryPolicy(Protocol): method next (line 80) | def next( class RetryCondition (line 102) | class RetryCondition(Protocol): method __call__ (line 105) | def __call__(self, error: BaseException) -> bool: ... class WaitStrategy (line 108) | class WaitStrategy(Protocol): method __call__ (line 111) | def __call__(self, attempts: int, *, seed: int | None = None) -> float... class StopCondition (line 114) | class StopCondition(Protocol): method __call__ (line 117) | def __call__( class _RetryConditionBase (line 122) | class _RetryConditionBase: method __call__ (line 125) | def __call__(self, error: BaseException) -> bool: method __and__ (line 128) | def __and__(self, other: RetryCondition) -> retry_all: method __rand__ (line 131) | def __rand__(self, other: RetryCondition) -> retry_all: method __or__ (line 134) | def __or__(self, other: RetryCondition) -> retry_any: method __ror__ (line 137) | def __ror__(self, other: RetryCondition) -> retry_any: class _WaitStrategyBase (line 141) | class _WaitStrategyBase: method __call__ (line 144) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: method __add__ (line 147) | def __add__(self, other: WaitStrategy) -> wait_combine: method __radd__ (line 150) | def __radd__(self, other: object) -> object: class _StopConditionBase (line 158) | class _StopConditionBase: method __call__ (line 161) | def __call__( method __and__ (line 166) | def __and__(self, other: StopCondition) -> stop_all: method __rand__ (line 169) | def __rand__(self, other: StopCondition) -> stop_all: method __or__ (line 172) | def __or__(self, other: StopCondition) -> stop_any: method __ror__ (line 175) | def __ror__(self, other: StopCondition) -> stop_any: function _compile_pattern (line 179) | def _compile_pattern(match: str | re.Pattern[str] | None) -> re.Pattern[... class retry_if_exception (line 187) | class retry_if_exception(_RetryConditionBase): method __init__ (line 200) | def __init__(self, predicate: Callable[[BaseException], bool]) -> None: method __call__ (line 203) | def __call__(self, error: BaseException) -> bool: class retry_if_exception_type (line 207) | class retry_if_exception_type(retry_if_exception): method __init__ (line 220) | def __init__( class retry_if_not_exception_type (line 229) | class retry_if_not_exception_type(retry_if_exception): method __init__ (line 242) | def __init__( class retry_unless_exception_type (line 251) | class retry_unless_exception_type(retry_if_not_exception_type): class retry_if_exception_message (line 266) | class retry_if_exception_message(_RetryConditionBase): method __init__ (line 280) | def __init__( method __call__ (line 298) | def __call__(self, error: BaseException) -> bool: class retry_if_not_exception_message (line 305) | class retry_if_not_exception_message(retry_if_exception_message): method __call__ (line 318) | def __call__(self, error: BaseException) -> bool: class retry_if_exception_cause_type (line 322) | class retry_if_exception_cause_type(_RetryConditionBase): method __init__ (line 337) | def __init__( method __call__ (line 344) | def __call__(self, error: BaseException) -> bool: class retry_any (line 354) | class retry_any(_RetryConditionBase): method __init__ (line 369) | def __init__(self, *retries: RetryCondition) -> None: method __call__ (line 372) | def __call__(self, error: BaseException) -> bool: class retry_all (line 376) | class retry_all(_RetryConditionBase): method __init__ (line 391) | def __init__(self, *retries: RetryCondition) -> None: method __call__ (line 394) | def __call__(self, error: BaseException) -> bool: class retry_always (line 398) | class retry_always(_RetryConditionBase): method __call__ (line 410) | def __call__(self, error: BaseException) -> bool: class retry_never (line 414) | class retry_never(_RetryConditionBase): method __call__ (line 427) | def __call__(self, error: BaseException) -> bool: class wait_fixed (line 431) | class wait_fixed(_WaitStrategyBase): method __init__ (line 441) | def __init__(self, wait: time_unit_type) -> None: method __call__ (line 444) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_none (line 448) | class wait_none(wait_fixed): method __init__ (line 458) | def __init__(self) -> None: class wait_exponential (line 462) | class wait_exponential(_WaitStrategyBase): method __init__ (line 474) | def __init__( method __call__ (line 486) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_incrementing (line 493) | class wait_incrementing(_WaitStrategyBase): method __init__ (line 506) | def __init__( method __call__ (line 516) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_random (line 521) | class wait_random(_WaitStrategyBase): method __init__ (line 534) | def __init__(self, min: time_unit_type = 0.0, max: time_unit_type = 1.... method __call__ (line 538) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_exponential_jitter (line 543) | class wait_exponential_jitter(_WaitStrategyBase): method __init__ (line 556) | def __init__( method __call__ (line 568) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_random_exponential (line 574) | class wait_random_exponential(_WaitStrategyBase): method __init__ (line 587) | def __init__( method __call__ (line 599) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: function wait_full_jitter (line 608) | def wait_full_jitter( class wait_chain (line 631) | class wait_chain(_WaitStrategyBase): method __init__ (line 644) | def __init__(self, *strategies: WaitStrategy) -> None: method __call__ (line 649) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class wait_combine (line 654) | class wait_combine(_WaitStrategyBase): method __init__ (line 666) | def __init__(self, *strategies: WaitStrategy) -> None: method __call__ (line 669) | def __call__(self, attempts: int, *, seed: int | None = None) -> float: class stop_after_attempt (line 673) | class stop_after_attempt(_StopConditionBase): method __init__ (line 683) | def __init__(self, max_attempt_number: int) -> None: method __call__ (line 686) | def __call__( class stop_after_delay (line 692) | class stop_after_delay(_StopConditionBase): method __init__ (line 702) | def __init__(self, max_delay: time_unit_type) -> None: method __call__ (line 705) | def __call__( class stop_before_delay (line 711) | class stop_before_delay(_StopConditionBase): method __init__ (line 724) | def __init__(self, max_delay: time_unit_type) -> None: method __call__ (line 727) | def __call__( class stop_any (line 733) | class stop_any(_StopConditionBase): method __init__ (line 745) | def __init__(self, *stops: StopCondition) -> None: method __call__ (line 748) | def __call__( class stop_all (line 757) | class stop_all(_StopConditionBase): method __init__ (line 769) | def __init__(self, *stops: StopCondition) -> None: method __call__ (line 772) | def __call__( class stop_never (line 781) | class stop_never(_StopConditionBase): method __call__ (line 794) | def __call__( class _ComposableRetryPolicy (line 800) | class _ComposableRetryPolicy: method __init__ (line 814) | def __init__( method next (line 824) | def next( function retry_policy (line 841) | def retry_policy( function ConstantDelayRetryPolicy (line 886) | def ConstantDelayRetryPolicy( function ExponentialBackoffRetryPolicy (line 913) | def ExponentialBackoffRetryPolicy( FILE: packages/llama-index-workflows/src/workflows/runtime/control_loop.py function _is_shutdown_error (line 92) | def _is_shutdown_error(e: BaseException) -> bool: function _single_pull (line 102) | async def _single_pull(adapter: InternalRunAdapter) -> WorkflowTick | None: class _ControlLoopRunner (line 121) | class _ControlLoopRunner: method __init__ (line 132) | def __init__( method schedule_tick (line 165) | def schedule_tick(self, tick: WorkflowTick, at_time: float) -> None: method next_wakeup_timeout (line 171) | def next_wakeup_timeout(self, now: float) -> float | None: method pop_due_ticks (line 182) | def pop_due_ticks(self, now: float) -> list[WorkflowTick]: method run_worker (line 190) | def run_worker(self, command: CommandRunWorker) -> None: method process_command (line 257) | async def process_command(self, command: WorkflowCommand) -> None | St... method cleanup_tasks (line 308) | async def cleanup_tasks(self) -> None: method run (line 337) | async def run( method _process_tick (line 507) | async def _process_tick(self, tick: WorkflowTick) -> StopEvent | None: function control_loop (line 538) | async def control_loop( function rebuild_state_from_ticks (line 557) | def rebuild_state_from_ticks( class ReplayResult (line 589) | class ReplayResult: function replay_ticks_stream (line 605) | async def replay_ticks_stream( function rebuild_state_from_ticks_stream (line 629) | async def rebuild_state_from_ticks_stream( function _reduce_tick (line 641) | def _reduce_tick( function rewind_in_progress (line 677) | def rewind_in_progress( function _check_idle_state (line 709) | def _check_idle_state(state: BrokerState) -> bool: function _process_step_result_tick (line 727) | def _process_step_result_tick( function _add_or_enqueue_event (line 995) | def _add_or_enqueue_event( function _process_add_event_tick (line 1057) | def _process_add_event_tick( function _process_cancel_run_tick (line 1132) | def _process_cancel_run_tick( function _process_publish_event_tick (line 1143) | def _process_publish_event_tick( function _process_timeout_tick (line 1150) | def _process_timeout_tick( function _process_waiter_timeout_tick (line 1180) | def _process_waiter_timeout_tick( FILE: packages/llama-index-workflows/src/workflows/runtime/runtime_decorators.py class BaseRuntimeDecorator (line 39) | class BaseRuntimeDecorator(Runtime): method __init__ (line 47) | def __init__(self, decorated: Runtime) -> None: method register (line 51) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method run_workflow (line 54) | def run_workflow( method get_internal_adapter (line 72) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 75) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 78) | async def launch(self) -> None: method is_launched (line 83) | def is_launched(self) -> bool: method destroy (line 86) | async def destroy(self) -> None: method track_workflow (line 89) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 93) | def untrack_workflow(self, workflow: Workflow) -> None: method get_registered (line 97) | def get_registered(self, workflow: Workflow) -> RegisteredWorkflow | N... method registering (line 101) | def registering(self) -> Generator[Runtime, None, None]: class BaseInternalRunAdapterDecorator (line 106) | class BaseInternalRunAdapterDecorator(InternalRunAdapter): method __init__ (line 113) | def __init__(self, decorated: InternalRunAdapter) -> None: method run_id (line 117) | def run_id(self) -> str: method write_to_event_stream (line 120) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 123) | async def get_now(self) -> float: method send_event (line 126) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 129) | async def wait_receive( method close (line 135) | async def close(self) -> None: method get_state_store (line 138) | def get_state_store(self) -> StateStore[Any] | None: method finalize_step (line 141) | async def finalize_step(self) -> None: method is_replaying (line 144) | def is_replaying(self) -> bool: method on_tick (line 147) | async def on_tick(self, tick: WorkflowTick) -> None: method after_tick (line 150) | async def after_tick(self, tick: WorkflowTick) -> None: method wait_for_next_task (line 153) | async def wait_for_next_task( class BaseExternalRunAdapterDecorator (line 162) | class BaseExternalRunAdapterDecorator(ExternalRunAdapter): method __init__ (line 169) | def __init__(self, decorated: ExternalRunAdapter) -> None: method run_id (line 173) | def run_id(self) -> str: method send_event (line 176) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 179) | def stream_published_events(self) -> AsyncGenerator[Event, None]: method close (line 182) | async def close(self) -> None: method get_result (line 185) | async def get_result(self) -> StopEvent: method cancel (line 188) | async def cancel(self) -> None: method get_state_store (line 191) | def get_state_store(self) -> StateStore[Any] | None: FILE: packages/llama-index-workflows/src/workflows/runtime/types/commands.py class CommandRunWorker (line 25) | class CommandRunWorker: class CommandQueueEvent (line 32) | class CommandQueueEvent: class CommandHalt (line 44) | class CommandHalt: class CommandCompleteRun (line 49) | class CommandCompleteRun: class CommandFailWorkflow (line 54) | class CommandFailWorkflow: class CommandPublishEvent (line 60) | class CommandPublishEvent: class CommandScheduleWaiterTimeout (line 65) | class CommandScheduleWaiterTimeout: class CommandScheduleIdleCheck (line 72) | class CommandScheduleIdleCheck: function indicates_exit (line 96) | def indicates_exit(command: WorkflowCommand) -> bool: FILE: packages/llama-index-workflows/src/workflows/runtime/types/internal_state.py class BrokerState (line 31) | class BrokerState: method deepcopy (line 47) | def deepcopy(self) -> BrokerState: method from_workflow (line 61) | def from_workflow(workflow: Workflow) -> BrokerState: method rehydrate_with_ticks (line 89) | def rehydrate_with_ticks(self) -> list[WorkflowTick]: method to_serialized (line 104) | def to_serialized(self, serializer: BaseSerializer) -> SerializedContext: method from_serialized (line 163) | def from_serialized( function _import_event_type (line 240) | def _import_event_type(qualified_name: str) -> type[Event]: class BrokerConfig (line 253) | class BrokerConfig: class InternalStepConfig (line 273) | class InternalStepConfig: class EventAttempt (line 289) | class EventAttempt: class InternalStepWorkerState (line 312) | class InternalStepWorkerState: method _deepcopy (line 333) | def _deepcopy(self) -> InternalStepWorkerState: class InProgressState (line 344) | class InProgressState: method _deepcopy (line 372) | def _deepcopy(self) -> InProgressState: FILE: packages/llama-index-workflows/src/workflows/runtime/types/named_task.py class WorkerTask (line 18) | class WorkerTask: method key (line 26) | def key(self) -> str: class PullTask (line 31) | class PullTask: method key (line 38) | def key(self) -> str: function all_tasks (line 45) | def all_tasks(named_tasks: Sequence[NamedTask]) -> set[Task[Any]]: function find_by_key (line 50) | def find_by_key(named_tasks: Sequence[NamedTask], key: str) -> Task[Any]... function get_key (line 58) | def get_key(named_tasks: Sequence[NamedTask], task: Task[Any]) -> str: function pick_highest_priority (line 66) | def pick_highest_priority( class PendingWorker (line 89) | class PendingWorker: method key (line 97) | def key(self) -> str: method start (line 100) | def start(self, task: Task[Any]) -> WorkerTask: class PendingPull (line 106) | class PendingPull: method key (line 113) | def key(self) -> str: method start (line 116) | def start(self, task: Task[Any]) -> PullTask: FILE: packages/llama-index-workflows/src/workflows/runtime/types/plugin.py class WaitResultTick (line 49) | class WaitResultTick: class WaitResultTimeout (line 57) | class WaitResultTimeout: class WaitForNextTaskResult (line 67) | class WaitForNextTaskResult: class RegisteredWorkflow (line 75) | class RegisteredWorkflow: class InternalRunAdapter (line 81) | class InternalRunAdapter(ABC): method run_id (line 102) | def run_id(self) -> str: method write_to_event_stream (line 111) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 121) | async def get_now(self) -> float: method send_event (line 132) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 143) | async def wait_receive( method close (line 167) | async def close(self) -> None: method get_state_store (line 184) | def get_state_store(self) -> StateStore[Any] | None: method finalize_step (line 193) | async def finalize_step(self) -> None: method is_replaying (line 203) | def is_replaying(self) -> bool: method on_tick (line 211) | async def on_tick(self, tick: WorkflowTick) -> None: method after_tick (line 222) | async def after_tick(self, tick: WorkflowTick) -> None: method wait_for_next_task (line 231) | async def wait_for_next_task( class ExternalRunAdapter (line 265) | class ExternalRunAdapter(ABC): method run_id (line 284) | def run_id(self) -> str: method send_event (line 293) | async def send_event(self, tick: WorkflowTick) -> None: method stream_published_events (line 304) | def stream_published_events(self) -> AsyncGenerator[Event, None]: method close (line 314) | async def close(self) -> None: method get_result (line 325) | async def get_result(self) -> StopEvent: method cancel (line 331) | async def cancel(self) -> None: method get_state_store (line 337) | def get_state_store(self) -> StateStore[Any] | None: class RunContext (line 348) | class RunContext: class RunContextContainer (line 360) | class RunContextContainer: method consume (line 373) | def consume(self) -> RunContext: function run_context (line 386) | def run_context(ctx: RunContext) -> Generator[RunContextContainer, None,... function consume_current_run (line 396) | def consume_current_run() -> RunContext: class WorkflowSet (line 409) | class WorkflowSet: method __init__ (line 416) | def __init__(self) -> None: method add (line 419) | def add(self, workflow: Workflow) -> None: method discard (line 429) | def discard(self, workflow: Workflow) -> None: method __contains__ (line 432) | def __contains__(self, workflow: Workflow) -> bool: method __iter__ (line 438) | def __iter__(self) -> Generator[Workflow, None, None]: method __len__ (line 444) | def __len__(self) -> int: method __bool__ (line 447) | def __bool__(self) -> bool: class Runtime (line 451) | class Runtime(ABC): method __init__ (line 468) | def __init__(self) -> None: method is_launched (line 473) | def is_launched(self) -> bool: method get_or_register (line 478) | def get_or_register(self, workflow: Workflow) -> RegisteredWorkflow: method register (line 486) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method run_workflow (line 498) | def run_workflow( method get_internal_adapter (line 524) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 536) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method launch (line 548) | async def launch(self) -> None: method destroy (line 560) | async def destroy(self) -> None: method launch_sync (line 568) | def launch_sync(self) -> None: method destroy_sync (line 572) | def destroy_sync(self) -> None: method track_workflow (line 576) | def track_workflow(self, workflow: Workflow) -> None: method untrack_workflow (line 584) | def untrack_workflow(self, workflow: Workflow) -> None: method get_registered (line 588) | def get_registered(self, workflow: Workflow) -> RegisteredWorkflow | N... method registering (line 597) | def registering(self) -> Generator[Runtime, None, None]: class SnapshottableAdapter (line 610) | class SnapshottableAdapter(ABC): method init_state (line 623) | def init_state(self) -> BrokerState: method replay (line 630) | def replay(self) -> list[WorkflowTick]: function as_snapshottable_adapter (line 640) | def as_snapshottable_adapter( class V2RuntimeCompatibilityShim (line 654) | class V2RuntimeCompatibilityShim(ABC): method get_result_or_none (line 660) | def get_result_or_none(self) -> StopEvent | None: method is_running (line 668) | def is_running(self) -> bool: method abort (line 675) | def abort(self) -> None: function as_v2_runtime_compatibility_shim (line 690) | def as_v2_runtime_compatibility_shim( class ControlLoopFunction (line 701) | class ControlLoopFunction(Protocol): method __call__ (line 707) | def __call__( class WorkflowRunFunction (line 715) | class WorkflowRunFunction(Protocol): method __call__ (line 720) | def __call__( FILE: packages/llama-index-workflows/src/workflows/runtime/types/results.py class RetryAttempt (line 34) | class RetryAttempt: class StepWorkerContext (line 54) | class StepWorkerContext: class StepWorkerState (line 67) | class StepWorkerState: method _deepcopy (line 76) | def _deepcopy(self) -> StepWorkerState: class StepWorkerWaiter (line 85) | class StepWorkerWaiter(Generic[EventType]): class Returns (line 107) | class Returns: class WaitingForEvent (line 116) | class WaitingForEvent(Exception, Generic[EventType]): method __init__ (line 123) | def __init__(self, add: AddWaiter[EventType]): class StepWorkerResult (line 145) | class StepWorkerResult(BaseModel): class StepWorkerFailed (line 153) | class StepWorkerFailed(BaseModel): class DeleteWaiter (line 162) | class DeleteWaiter(BaseModel): class DeleteCollectedEvent (line 170) | class DeleteCollectedEvent(BaseModel): class AddCollectedEvent (line 178) | class AddCollectedEvent(BaseModel): class AddWaiter (line 187) | class AddWaiter(BaseModel, Generic[EventType]): method _serialize (line 200) | def _serialize(self, handler: Any) -> dict[str, Any]: method _validate (line 209) | def _validate(cls, data: Any, handler: Any) -> AddWaiter: FILE: packages/llama-index-workflows/src/workflows/runtime/types/step_function.py class SpanCancelledEvent (line 61) | class SpanCancelledEvent(BaseEvent): method class_name (line 67) | def class_name(cls) -> str: class WorkflowStepOutputEvent (line 71) | class WorkflowStepOutputEvent(BaseEvent): method class_name (line 77) | def class_name(cls) -> str: class WorkflowRunOutputEvent (line 81) | class WorkflowRunOutputEvent(BaseEvent): method class_name (line 87) | def class_name(cls) -> str: function _emit_output_event (line 91) | def _emit_output_event(event: BaseEvent) -> None: function _run_with_tags (line 99) | def _run_with_tags(tags: dict[str, Any], func: Callable[[], Any]) -> Any: class StepWorkerFunction (line 105) | class StepWorkerFunction(Protocol): method __call__ (line 106) | def __call__( function partial (line 116) | async def partial( function as_step_worker_functions (line 138) | def as_step_worker_functions(workflow: Workflow) -> dict[str, StepWorker... function as_step_worker_function (line 147) | def as_step_worker_function( function create_workflow_run_function (line 313) | def create_workflow_run_function( FILE: packages/llama-index-workflows/src/workflows/runtime/types/ticks.py class TickStepResult (line 25) | class TickStepResult(BaseModel): class TickAddEvent (line 36) | class TickAddEvent(BaseModel): class TickCancelRun (line 50) | class TickCancelRun(BaseModel): class TickIdleRelease (line 57) | class TickIdleRelease(BaseModel): class TickPublishEvent (line 64) | class TickPublishEvent(BaseModel): class TickTimeout (line 72) | class TickTimeout(BaseModel): class TickWaiterTimeout (line 80) | class TickWaiterTimeout(BaseModel): class TickIdleCheck (line 89) | class TickIdleCheck(BaseModel): FILE: packages/llama-index-workflows/src/workflows/runtime/verbose.py function _clean_event_name (line 42) | def _clean_event_name(raw: str) -> str: function _resolve_output (line 53) | def _resolve_output() -> Callable[[str], None]: class _VerboseInternalRunAdapter (line 62) | class _VerboseInternalRunAdapter(BaseInternalRunAdapterDecorator): method __init__ (line 65) | def __init__( method write_to_event_stream (line 73) | async def write_to_event_stream(self, event: Event) -> None: method on_tick (line 92) | async def on_tick(self, tick: WorkflowTick) -> None: class VerboseDecorator (line 118) | class VerboseDecorator(BaseRuntimeDecorator): method __init__ (line 127) | def __init__(self, decorated: Runtime) -> None: method get_internal_adapter (line 131) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: FILE: packages/llama-index-workflows/src/workflows/testing/runner.py class WorkflowTestResult (line 10) | class WorkflowTestResult: class WorkflowTestRunner (line 26) | class WorkflowTestRunner: method __init__ (line 34) | def __init__( method run (line 40) | async def run( FILE: packages/llama-index-workflows/src/workflows/utils.py class StepSignatureSpec (line 36) | class StepSignatureSpec(BaseModel): function inspect_signature (line 46) | def inspect_signature( function validate_step_signature (line 136) | def validate_step_signature(spec: StepSignatureSpec) -> None: function get_steps_from_class (line 160) | def get_steps_from_class(_class: object) -> dict[str, StepFunction]: function get_steps_from_instance (line 183) | def get_steps_from_instance(workflow: object) -> dict[str, StepFunction]: function _get_param_types (line 206) | def _get_param_types(param: inspect.Parameter, type_hints: dict) -> list... function _get_return_types (line 229) | def _get_return_types( function _resolve_type_hints (line 250) | def _resolve_type_hints( function is_free_function (line 272) | def is_free_function(qualname: str) -> bool: function _nanoid (line 307) | def _nanoid(size: int = 10) -> str: FILE: packages/llama-index-workflows/src/workflows/workflow.py class WorkflowMeta (line 35) | class WorkflowMeta(type): method __init__ (line 36) | def __init__(cls, name: str, bases: tuple[type, ...], dct: dict[str, A... class Workflow (line 41) | class Workflow(metaclass=WorkflowMeta): method __init__ (line 96) | def __init__( method _validate_valid_step_message (line 183) | def _validate_valid_step_message(self, step: str, message: Event) -> N... method runtime (line 196) | def runtime(self) -> Runtime: method _switch_runtime (line 200) | def _switch_runtime(self, new_runtime: Runtime) -> None: method workflow_name (line 213) | def workflow_name(self) -> str: method _switch_workflow_name (line 232) | def _switch_workflow_name(self, name: str) -> None: method _step_configs (line 239) | def _step_configs(self) -> dict[str, StepConfig]: method start_event_class (line 244) | def start_event_class(self) -> type[StartEvent]: method events (line 252) | def events(self) -> list[type[Event]]: method stop_event_class (line 260) | def stop_event_class(self) -> type[RunResultT]: method _get_steps_from_class (line 268) | def _get_steps_from_class(cls) -> dict[str, StepFunction]: method add_step (line 273) | def add_step(cls, func: StepFunction) -> None: method _get_steps (line 291) | def _get_steps(self) -> dict[str, StepFunction]: method _get_start_event_instance (line 295) | def _get_start_event_instance( method run (line 322) | def run( method validate (line 399) | def validate( method _validate (line 436) | def _validate( FILE: packages/llama-index-workflows/tests/conftest.py class OneTestEvent (line 19) | class OneTestEvent(Event): class AnotherTestEvent (line 23) | class AnotherTestEvent(Event): class LastEvent (line 27) | class LastEvent(Event): class DummyWorkflow (line 31) | class DummyWorkflow(Workflow): method start_step (line 33) | async def start_step(self, ev: StartEvent) -> OneTestEvent: method middle_step (line 37) | async def middle_step(self, ev: OneTestEvent) -> LastEvent: method end_step (line 41) | async def end_step(self, ev: LastEvent) -> StopEvent: function workflow (line 46) | def workflow() -> Workflow: function events (line 51) | def events() -> list: function ctx (line 56) | async def ctx(workflow: Workflow) -> AsyncGenerator[Context[Any], None]: FILE: packages/llama-index-workflows/tests/context/test_context.py function internal_ctx (line 56) | def internal_ctx(workflow: Workflow) -> Context: function test_collect_events (line 75) | async def test_collect_events() -> None: function test_collect_events_empty_expected_list (line 102) | async def test_collect_events_empty_expected_list() -> None: function test_collect_events_with_extra_event_type (line 122) | async def test_collect_events_with_extra_event_type() -> None: function test_get_default (line 184) | async def test_get_default(internal_ctx: Context) -> None: function test_get (line 189) | async def test_get(internal_ctx: Context) -> None: function test_get_not_found (line 195) | async def test_get_not_found(internal_ctx: Context) -> None: function test_send_event_step_is_none (line 201) | async def test_send_event_step_is_none() -> None: function test_send_event_to_non_existent_step (line 243) | async def test_send_event_to_non_existent_step(ctx: Context) -> None: function test_send_event_to_wrong_step (line 251) | async def test_send_event_to_wrong_step(ctx: Context) -> None: function test_empty_inprogress_when_workflow_done (line 260) | async def test_empty_inprogress_when_workflow_done(workflow: Workflow) -... function test_wait_for_event_in_workflow (line 276) | async def test_wait_for_event_in_workflow() -> None: class CustomState (line 299) | class CustomState(BaseModel): function test_wait_for_event_in_workflow_serialization (line 304) | async def test_wait_for_event_in_workflow_serialization() -> None: class Waiter1 (line 362) | class Waiter1(Event): class Waiter2 (line 366) | class Waiter2(Event): class ResultEvent (line 370) | class ResultEvent(Event): class WaitingWorkflow (line 374) | class WaitingWorkflow(Workflow): method spawn_waiters (line 376) | async def spawn_waiters(self, ctx: Context, ev: StartEvent) -> Waiter1... method waiter_one (line 382) | async def waiter_one(self, ctx: Context, ev: Waiter1) -> ResultEvent: method waiter_two (line 392) | async def waiter_two(self, ctx: Context, ev: Waiter2) -> ResultEvent: method collect_waiters (line 402) | async def collect_waiters(self, ctx: Context, ev: ResultEvent) -> Stop... function test_wait_for_multiple_events_in_workflow (line 413) | async def test_wait_for_multiple_events_in_workflow() -> None: function test_clear (line 455) | async def test_clear(internal_ctx: Context) -> None: function test_running_steps_before_run_raises (line 463) | async def test_running_steps_before_run_raises(workflow: Workflow) -> None: function test_store_access_outside_step_works (line 471) | async def test_store_access_outside_step_works() -> None: function test_store_access_before_run_works (line 494) | async def test_store_access_before_run_works() -> None: function test_store_seed_before_run_visible_in_step (line 512) | async def test_store_seed_before_run_visible_in_step() -> None: function test_store_seed_on_deserialized_context (line 530) | async def test_store_seed_on_deserialized_context() -> None: function test_store_continuation_with_pre_run_seeding (line 567) | async def test_store_continuation_with_pre_run_seeding() -> None: function test_to_dict_before_run_raises (line 594) | async def test_to_dict_before_run_raises(workflow: Workflow) -> None: function test_stream_events_before_run_raises (line 602) | async def test_stream_events_before_run_raises(workflow: Workflow) -> None: function test_cancel_before_start_warns (line 615) | async def test_cancel_before_start_warns(workflow: Workflow) -> None: function test_send_event_before_start_raises (line 626) | async def test_send_event_before_start_raises(workflow: Workflow) -> None: function test_is_running_in_step_warns (line 636) | async def test_is_running_in_step_warns() -> None: function test_cancel_in_step_warns (line 659) | async def test_cancel_in_step_warns() -> None: function test_get_result_before_complete_raises (line 676) | async def test_get_result_before_complete_raises() -> None: function test_get_result_pre_context_raises (line 708) | async def test_get_result_pre_context_raises(workflow: Workflow) -> None: class TypedTestState (line 725) | class TypedTestState(BaseModel): function test_deserialize_state_from_dict_with_dict_state (line 733) | async def test_deserialize_state_from_dict_with_dict_state() -> None: function test_deserialize_state_from_dict_with_typed_state (line 751) | def test_deserialize_state_from_dict_with_typed_state() -> None: function test_deserialize_state_from_dict_empty_dict_state (line 768) | def test_deserialize_state_from_dict_empty_dict_state() -> None: function test_get_step_context_outside_step_raises (line 790) | async def test_get_step_context_outside_step_raises() -> None: function test_get_step_context_inside_step (line 797) | async def test_get_step_context_inside_step() -> None: function test_get_step_context_matches_ctx_parameter (line 817) | async def test_get_step_context_matches_ctx_parameter() -> None: function test_get_step_context_supports_wait_for_event (line 836) | async def test_get_step_context_supports_wait_for_event() -> None: function test_get_step_context_does_not_pin_workflow (line 864) | async def test_get_step_context_does_not_pin_workflow() -> None: function test_deserialize_state_from_dict_defaults_to_dict_state (line 897) | def test_deserialize_state_from_dict_defaults_to_dict_state() -> None: function test_parse_in_memory_state_old_format_no_store_type (line 913) | def test_parse_in_memory_state_old_format_no_store_type() -> None: function test_parse_in_memory_state_explicit_in_memory (line 936) | def test_parse_in_memory_state_explicit_in_memory() -> None: function test_parse_in_memory_state_rejects_sql_store_type (line 959) | def test_parse_in_memory_state_rejects_sql_store_type() -> None: function test_parse_in_memory_state_unknown_store_type_raises (line 975) | def test_parse_in_memory_state_unknown_store_type_raises() -> None: function test_in_memory_state_store_to_dict_includes_store_type (line 994) | def test_in_memory_state_store_to_dict_includes_store_type() -> None: function test_in_memory_state_store_from_dict_rejects_sql_format (line 1007) | def test_in_memory_state_store_from_dict_rejects_sql_format() -> None: FILE: packages/llama-index-workflows/tests/context/test_context_preservation.py class CounterWorkflow (line 25) | class CounterWorkflow(Workflow): method count (line 29) | async def count(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_original_ctx_is_handler_ctx (line 37) | async def test_original_ctx_is_handler_ctx() -> None: function test_original_ctx_to_dict_works (line 47) | async def test_original_ctx_to_dict_works() -> None: function test_sequential_runs_accumulate_state (line 58) | async def test_sequential_runs_accumulate_state() -> None: function test_concurrent_runs_same_context_raises (line 69) | async def test_concurrent_runs_same_context_raises() -> None: function test_concurrent_runs_different_contexts_ok (line 87) | async def test_concurrent_runs_different_contexts_ok() -> None: function test_from_dict_then_sequential_runs (line 105) | async def test_from_dict_then_sequential_runs() -> None: function test_stream_events_twice_raises (line 116) | async def test_stream_events_twice_raises() -> None: FILE: packages/llama-index-workflows/tests/context/test_serializers.py function test_serialization_roundtrip (line 12) | def test_serialization_roundtrip(ctx: Context, workflow: Workflow) -> None: function test_deserialization_invalid (line 16) | def test_deserialization_invalid(ctx: Context, workflow: Workflow) -> None: FILE: packages/llama-index-workflows/tests/context/test_utils.py function test_get_qualified_name (line 8) | def test_get_qualified_name() -> None: function test_import_module_from_qualified_name_wrong_name (line 16) | def test_import_module_from_qualified_name_wrong_name() -> None: function test_import_module_from_qualified_name_wrong_package (line 24) | def test_import_module_from_qualified_name_wrong_package() -> None: function test_import_module_from_qualified_name_wrong_module (line 32) | def test_import_module_from_qualified_name_wrong_module() -> None: FILE: packages/llama-index-workflows/tests/runtime/conftest.py class MockRuntime (line 40) | class MockRuntime(Runtime): method __init__ (line 43) | def __init__(self) -> None: method register (line 47) | def register(self, workflow: Workflow) -> RegisteredWorkflow: method get_internal_adapter (line 54) | def get_internal_adapter(self, workflow: Workflow) -> InternalRunAdapter: method get_external_adapter (line 60) | def get_external_adapter(self, run_id: str) -> ExternalRunAdapter: method run_workflow (line 65) | def run_workflow( method set_adapter (line 77) | def set_adapter(self, run_id: str, adapter: "MockRunAdapter") -> None: class MockRunAdapter (line 82) | class MockRunAdapter( method __init__ (line 90) | def __init__( method run_id (line 111) | def run_id(self) -> str: method tags (line 115) | def tags(self) -> dict[str, Any]: method init_state (line 119) | def init_state(self) -> BrokerState: method on_tick (line 127) | async def on_tick(self, tick: WorkflowTick) -> None: method replay (line 131) | def replay(self) -> list[WorkflowTick]: method close (line 135) | async def close(self) -> None: method write_to_event_stream (line 141) | async def write_to_event_stream(self, event: Event) -> None: method stream_published_events (line 144) | async def stream_published_events(self) -> AsyncGenerator[Event, None]: method send_event (line 151) | async def send_event(self, tick: WorkflowTick) -> None: method get_now (line 154) | async def get_now(self) -> float: method wait_receive (line 159) | async def wait_receive( method advance_time (line 183) | def advance_time(self, seconds: float) -> None: method get_stream_event (line 189) | async def get_stream_event(self, timeout: float = 1.0) -> Event: method has_stream_events (line 192) | def has_stream_events(self) -> bool: method get_state_store (line 195) | def get_state_store(self) -> "InMemoryStateStore[Any] | None": method set_state_store (line 198) | def set_state_store(self, state_store: "InMemoryStateStore[Any]") -> N... method get_result (line 201) | async def get_result(self) -> StopEvent: method get_result_or_none (line 205) | def get_result_or_none(self) -> StopEvent | None: method is_running (line 212) | def is_running(self) -> bool: method abort (line 216) | def abort(self) -> None: method set_result (line 222) | def set_result(self, result: StopEvent) -> None: function test_plugin (line 229) | async def test_plugin() -> MockRunAdapter: function test_plugin_with_time_machine (line 234) | async def test_plugin_with_time_machine() -> AsyncGenerator[ FILE: packages/llama-index-workflows/tests/runtime/test_control_loop.py class IntermediateEvent (line 57) | class IntermediateEvent(Event): class FinalEvent (line 63) | class FinalEvent(Event): class SimpleWorkflow (line 69) | class SimpleWorkflow(Workflow): method start_step (line 78) | async def start_step(self, ev: StartEvent) -> IntermediateEvent: method middle_step (line 83) | async def middle_step(self, ev: IntermediateEvent) -> FinalEvent: method end_step (line 88) | async def end_step(self, ev: FinalEvent) -> StopEvent: class CollectEv (line 93) | class CollectEv(Event): class CollectEv2 (line 97) | class CollectEv2(Event): class CollectMultipleEventTypesWorkflow (line 101) | class CollectMultipleEventTypesWorkflow(Workflow): method accept_start (line 103) | async def accept_start(self, ev: StartEvent, context: Context) -> Coll... method accept_collect1 (line 109) | async def accept_collect1(self, ev: CollectEv, context: Context) -> Co... method collector (line 113) | async def collector( class CollectWorkflow (line 136) | class CollectWorkflow(Workflow): method accept_start (line 138) | async def accept_start(self, ev: StartEvent, context: Context) -> Coll... method collector (line 144) | async def collector(self, ev: CollectEv, context: Context) -> StopEven... function run_control_loop (line 152) | def run_control_loop( function wait_for_stop_event (line 189) | async def wait_for_stop_event( function test_control_loop_happy_path (line 217) | async def test_control_loop_happy_path(test_plugin: MockRunAdapter) -> N... function test_control_loop_with_external_event (line 241) | async def test_control_loop_with_external_event( function test_control_loop_timeout (line 285) | async def test_control_loop_timeout( function test_wait_for_event_timeout (line 331) | async def test_wait_for_event_timeout( function test_control_loop_retry_policy (line 361) | async def test_control_loop_retry_policy(test_plugin: MockRunAdapter) ->... function test_control_loop_step_failure_publishes_stop_event (line 389) | async def test_control_loop_step_failure_publishes_stop_event( function test_control_loop_waiter_resolution (line 441) | async def test_control_loop_waiter_resolution(test_plugin: MockRunAdapte... function test_control_loop_input_required_published_to_stream (line 483) | async def test_control_loop_input_required_published_to_stream( function test_control_loop_collect_events_same_type (line 540) | async def test_control_loop_collect_events_same_type( function test_control_loop_collect_events_multiple_types (line 557) | async def test_control_loop_collect_events_multiple_types( function test_control_loop_stream_events (line 571) | async def test_control_loop_stream_events(test_plugin: MockRunAdapter) -... class SomeEvent (line 605) | class SomeEvent(HumanResponseEvent): function test_control_loop_per_step_routing (line 610) | async def test_control_loop_per_step_routing(test_plugin: MockRunAdapter... function test_control_loop_concurrency_queueing (line 642) | async def test_control_loop_concurrency_queueing( function test_control_loop_user_cancellation (line 683) | async def test_control_loop_user_cancellation(test_plugin: MockRunAdapte... function test_control_loop_retry_with_delay (line 728) | async def test_control_loop_retry_with_delay( function test_control_loop_retry_gives_up_after_max_attempts (line 769) | async def test_control_loop_retry_gives_up_after_max_attempts( function test_control_loop_retry_exhaustion_respects_total_time (line 801) | async def test_control_loop_retry_exhaustion_respects_total_time( function test_control_loop_stop_before_delay_uses_upcoming_sleep (line 876) | async def test_control_loop_stop_before_delay_uses_upcoming_sleep( function test_control_loop_emits_idle_event_when_waiting (line 909) | async def test_control_loop_emits_idle_event_when_waiting( function test_control_loop_emits_idle_event_with_wait_for_event (line 965) | async def test_control_loop_emits_idle_event_with_wait_for_event( function test_control_loop_idle_event_not_emitted_on_completion (line 1023) | async def test_control_loop_idle_event_not_emitted_on_completion( function test_simultaneous_retries_with_same_delay (line 1056) | async def test_simultaneous_retries_with_same_delay( function test_external_event_not_double_routed_when_waiter_exists (line 1137) | async def test_external_event_not_double_routed_when_waiter_exists( FILE: packages/llama-index-workflows/tests/runtime/test_control_loop_transformations.py class MyTestEvent (line 88) | class MyTestEvent(Event): class OtherEvent (line 92) | class OtherEvent(Event): function base_state (line 97) | def base_state() -> BrokerState: function add_worker (line 132) | def add_worker(state: BrokerState, event: Event, worker_id: int = 0) -> ... function test_add_event_unhandled_emits_internal_event (line 149) | def test_add_event_unhandled_emits_internal_event(base_state: BrokerStat... class CustomInputRequired (line 163) | class CustomInputRequired(InputRequiredEvent): function test_add_event_input_required_does_not_emit_unhandled (line 169) | def test_add_event_input_required_does_not_emit_unhandled( function test_add_event_base_input_required_does_not_emit_unhandled (line 185) | def test_add_event_base_input_required_does_not_emit_unhandled( function test_add_event_matches_waiter_does_not_emit_unhandled (line 197) | def test_add_event_matches_waiter_does_not_emit_unhandled( function test_step_worker_results (line 230) | def test_step_worker_results( function test_step_worker_failed_with_retry (line 259) | def test_step_worker_failed_with_retry(base_state: BrokerState) -> None: function test_step_worker_failed_without_retry (line 287) | def test_step_worker_failed_without_retry(base_state: BrokerState) -> None: function test_collected_events (line 305) | def test_collected_events(base_state: BrokerState) -> None: function test_waiters (line 335) | def test_waiters(base_state: BrokerState) -> None: function test_start_event_sets_running (line 374) | def test_start_event_sets_running(base_state: BrokerState) -> None: function test_event_routing (line 382) | def test_event_routing(base_state: BrokerState) -> None: function test_per_step_explicit_routing_accepts_only_matching_types (line 392) | def test_per_step_explicit_routing_accepts_only_matching_types( function test_explicit_routing_requires_acceptance (line 408) | def test_explicit_routing_requires_acceptance(base_state: BrokerState) -... function test_waiter_resolution (line 448) | def test_waiter_resolution(base_state: BrokerState) -> None: function test_step_state_changed_names (line 471) | def test_step_state_changed_names(base_state: BrokerState) -> None: function test_cancel_run (line 506) | def test_cancel_run(base_state: BrokerState) -> None: function test_idle_release (line 520) | def test_idle_release(base_state: BrokerState) -> None: function test_publish_event (line 535) | def test_publish_event(base_state: BrokerState) -> None: function test_timeout (line 546) | def test_timeout(base_state: BrokerState) -> None: function test_add_when_capacity_available (line 556) | def test_add_when_capacity_available(base_state: BrokerState) -> None: function test_enqueue_when_no_capacity (line 576) | def test_enqueue_when_no_capacity(base_state: BrokerState) -> None: function test_rewind_restarts_workers (line 597) | def test_rewind_restarts_workers(base_state: BrokerState) -> None: function test_add_event_tick_preserves_retry_metadata (line 613) | def test_add_event_tick_preserves_retry_metadata(base_state: BrokerState... function test_add_event_tick_uses_now_when_no_retry_metadata (line 638) | def test_add_event_tick_uses_now_when_no_retry_metadata( function test_step_worker_failed_retry_preserves_delay (line 654) | def test_step_worker_failed_retry_preserves_delay(base_state: BrokerStat... function test_step_worker_failed_retry_preserves_first_attempt_at (line 680) | def test_step_worker_failed_retry_preserves_first_attempt_at( function test_step_worker_failed_exponential_jitter_deterministic (line 720) | def test_step_worker_failed_exponential_jitter_deterministic( function test_check_idle_state_not_running (line 779) | def test_check_idle_state_not_running(base_state: BrokerState) -> None: function test_check_idle_state_has_queued_events (line 785) | def test_check_idle_state_has_queued_events(base_state: BrokerState) -> ... function test_check_idle_state_has_in_progress (line 793) | def test_check_idle_state_has_in_progress(base_state: BrokerState) -> None: function test_check_idle_state_no_work_is_idle (line 799) | def test_check_idle_state_no_work_is_idle(base_state: BrokerState) -> None: function test_check_idle_state_is_idle_with_waiter (line 804) | def test_check_idle_state_is_idle_with_waiter(base_state: BrokerState) -... function test_step_result_does_not_emit_idle (line 818) | def test_step_result_does_not_emit_idle(base_state: BrokerState) -> None: function test_check_idle_state_multi_step_not_idle_if_one_has_work (line 846) | def test_check_idle_state_multi_step_not_idle_if_one_has_work( function test_no_idle_event_when_work_remains (line 909) | def test_no_idle_event_when_work_remains(base_state: BrokerState) -> None: function test_no_idle_event_when_workflow_completes (line 936) | def test_no_idle_event_when_workflow_completes(base_state: BrokerState) ... function test_rebuild_state_from_ticks_clears_in_progress (line 979) | def test_rebuild_state_from_ticks_clears_in_progress(base_state: BrokerS... function test_rebuild_state_from_ticks_preserves_queue_order (line 1051) | def test_rebuild_state_from_ticks_preserves_queue_order( function _aiter (line 1099) | async def _aiter(ticks: list[WorkflowTick]) -> AsyncIterator[WorkflowTick]: function _simple_step_tick_sequence (line 1104) | def _simple_step_tick_sequence() -> list[WorkflowTick]: function test_rebuild_state_from_ticks_stream_empty (line 1125) | async def test_rebuild_state_from_ticks_stream_empty(base_state: BrokerS... function test_rebuild_state_from_ticks_stream_single_tick (line 1148) | async def test_rebuild_state_from_ticks_stream_single_tick( function test_rebuild_state_from_ticks_stream_multi_tick_equivalence (line 1161) | async def test_rebuild_state_from_ticks_stream_multi_tick_equivalence( function test_rebuild_state_from_ticks_stream_large_history_equivalence (line 1174) | async def test_rebuild_state_from_ticks_stream_large_history_equivalence( function test_rebuild_state_from_ticks_stream_clears_in_progress (line 1188) | async def test_rebuild_state_from_ticks_stream_clears_in_progress( function test_replay_ticks_stream_surfaces_stop_event (line 1235) | async def test_replay_ticks_stream_surfaces_stop_event(base_state: Broke... function test_replay_ticks_stream_no_exit_command_when_running (line 1244) | async def test_replay_ticks_stream_no_exit_command_when_running( FILE: packages/llama-index-workflows/tests/runtime/test_named_task.py function _never_completes (line 29) | async def _never_completes() -> None: function create_pending_task (line 34) | def create_pending_task() -> asyncio.Task[Any]: function test_worker_task_creates_correct_key (line 42) | async def test_worker_task_creates_correct_key() -> None: function test_pull_task_creates_correct_key (line 58) | async def test_pull_task_creates_correct_key() -> None: function test_all_tasks_returns_set_of_tasks (line 77) | async def test_all_tasks_returns_set_of_tasks() -> None: function test_all_tasks_empty_list (line 102) | async def test_all_tasks_empty_list() -> None: function test_all_tasks_works_with_asyncio_wait (line 107) | async def test_all_tasks_works_with_asyncio_wait() -> None: function test_find_by_key_returns_worker_task (line 126) | async def test_find_by_key_returns_worker_task() -> None: function test_find_by_key_returns_pull_task (line 146) | async def test_find_by_key_returns_pull_task() -> None: function test_find_by_key_returns_none_for_unknown (line 160) | async def test_find_by_key_returns_none_for_unknown() -> None: function test_find_by_key_empty_list (line 174) | async def test_find_by_key_empty_list() -> None: function test_get_key_returns_worker_key (line 182) | async def test_get_key_returns_worker_key() -> None: function test_get_key_returns_pull_key (line 196) | async def test_get_key_returns_pull_key() -> None: function test_get_key_raises_for_unknown_task (line 210) | async def test_get_key_raises_for_unknown_task() -> None: function test_round_trip_worker (line 230) | async def test_round_trip_worker() -> None: function test_round_trip_pull (line 246) | async def test_round_trip_pull() -> None: function test_pick_highest_priority_respects_list_order (line 265) | async def test_pick_highest_priority_respects_list_order() -> None: function test_pick_highest_priority_workers_before_pull (line 288) | async def test_pick_highest_priority_workers_before_pull() -> None: function test_pick_highest_priority_returns_pull_when_only_pull_done (line 309) | async def test_pick_highest_priority_returns_pull_when_only_pull_done() ... function test_pick_highest_priority_empty_done (line 330) | async def test_pick_highest_priority_empty_done() -> None: function test_pick_highest_priority_no_match_raises (line 345) | async def test_pick_highest_priority_no_match_raises() -> None: function test_integration_with_asyncio_wait (line 366) | async def test_integration_with_asyncio_wait() -> None: function test_multiple_workers_same_step (line 398) | async def test_multiple_workers_same_step() -> None: FILE: packages/llama-index-workflows/tests/runtime/test_runtime_lifecycle.py class SimpleWorkflow (line 17) | class SimpleWorkflow(Workflow): method start (line 19) | async def start(self, ev: StartEvent) -> StopEvent: function test_basic_runtime_is_runtime_instance (line 23) | def test_basic_runtime_is_runtime_instance() -> None: function test_basic_runtime_has_lifecycle_methods (line 28) | def test_basic_runtime_has_lifecycle_methods() -> None: function test_get_current_runtime_returns_basic_runtime_by_default (line 36) | def test_get_current_runtime_returns_basic_runtime_by_default() -> None: function test_registering_sets_current_runtime (line 42) | def test_registering_sets_current_runtime() -> None: function test_registering_resets_on_exit (line 51) | def test_registering_resets_on_exit() -> None: function test_registering_returns_runtime (line 62) | def test_registering_returns_runtime() -> None: function test_registering_does_not_call_launch_on_exit (line 70) | def test_registering_does_not_call_launch_on_exit() -> None: function test_registering_does_not_call_launch_on_exception (line 86) | def test_registering_does_not_call_launch_on_exception() -> None: function test_get_current_runtime_returns_context_runtime_when_set (line 102) | def test_get_current_runtime_returns_context_runtime_when_set() -> None: function test_nested_registering_contexts (line 110) | def test_nested_registering_contexts() -> None: function test_explicit_runtime_parameter (line 128) | def test_explicit_runtime_parameter() -> None: function test_registering_context_manager (line 135) | def test_registering_context_manager() -> None: function test_explicit_overrides_registering (line 144) | def test_explicit_overrides_registering() -> None: function test_fallback_to_basic_runtime (line 154) | def test_fallback_to_basic_runtime() -> None: function test_workflow_runs_after_registering_exit (line 160) | def test_workflow_runs_after_registering_exit() -> None: function test_registering_yields_runtime (line 172) | def test_registering_yields_runtime() -> None: function test_empty_registering_block (line 181) | def test_empty_registering_block() -> None: function test_registering_with_exception_still_resets_context (line 193) | def test_registering_with_exception_still_resets_context() -> None: function test_basic_runtime_is_always_launched (line 206) | def test_basic_runtime_is_always_launched() -> None: FILE: packages/llama-index-workflows/tests/runtime/test_state.py function test_deserialize_broken_state_raises_validation_error (line 8) | def test_deserialize_broken_state_raises_validation_error(workflow: Work... FILE: packages/llama-index-workflows/tests/runtime/test_tick_serialization.py class MyEvent (line 40) | class MyEvent(Event): function test_event_roundtrip (line 47) | def test_event_roundtrip() -> None: function test_exception_roundtrip (line 55) | def test_exception_roundtrip() -> None: function test_exception_roundtrip_unimportable (line 63) | def test_exception_roundtrip_unimportable() -> None: function test_event_type_roundtrip (line 72) | def test_event_type_roundtrip() -> None: function test_tick_roundtrip (line 156) | def test_tick_roundtrip(tick: WorkflowTick) -> None: function test_tick_step_result_with_failed_value_error (line 166) | def test_tick_step_result_with_failed_value_error() -> None: function test_tick_step_result_with_failed_unimportable_exception (line 190) | def test_tick_step_result_with_failed_unimportable_exception() -> None: function test_tick_step_result_with_add_waiter (line 211) | def test_tick_step_result_with_add_waiter() -> None: function test_workflow_tick_discriminated_union_roundtrip (line 251) | def test_workflow_tick_discriminated_union_roundtrip() -> None: FILE: packages/llama-index-workflows/tests/runtime/test_workflow_set_and_tracking.py class SimpleWorkflow (line 17) | class SimpleWorkflow(Workflow): method start (line 19) | async def start(self, ev: StartEvent) -> StopEvent: class UnhashableWorkflow (line 23) | class UnhashableWorkflow(Workflow): method __init__ (line 24) | def __init__(self, **kwargs: Any) -> None: method start (line 29) | async def start(self, ev: StartEvent) -> StopEvent: function basic_runtime (line 34) | def basic_runtime() -> BasicRuntime: function workflow_set (line 39) | def workflow_set() -> WorkflowSet: function test_workflow_set_add_and_contains (line 48) | def test_workflow_set_add_and_contains( function test_workflow_set_add_unhashable_workflow (line 56) | def test_workflow_set_add_unhashable_workflow( function test_workflow_set_discard (line 66) | def test_workflow_set_discard( function test_workflow_set_len_and_bool (line 76) | def test_workflow_set_len_and_bool( function test_workflow_set_iter (line 88) | def test_workflow_set_iter( function test_workflow_set_gc_cleanup (line 101) | def test_workflow_set_gc_cleanup( function test_workflow_set_add_idempotent (line 112) | def test_workflow_set_add_idempotent( function test_track_workflow_adds_to_set (line 126) | def test_track_workflow_adds_to_set(basic_runtime: BasicRuntime) -> None: function test_untrack_workflow_removes_from_set (line 131) | def test_untrack_workflow_removes_from_set(basic_runtime: BasicRuntime) ... function test_launch_locks_tracked_workflows (line 138) | def test_launch_locks_tracked_workflows(basic_runtime: BasicRuntime) -> ... function test_relaunch_locks_new_workflows (line 146) | def test_relaunch_locks_new_workflows(basic_runtime: BasicRuntime) -> None: function test_weak_reference_cleanup (line 158) | def test_weak_reference_cleanup(basic_runtime: BasicRuntime) -> None: function test_basic_runtime_launch_sets_launched_flag (line 166) | def test_basic_runtime_launch_sets_launched_flag(basic_runtime: BasicRun... function test_workflow_name_setter (line 177) | def test_workflow_name_setter(basic_runtime: BasicRuntime) -> None: function test_workflow_name_setter_raises_after_launch (line 183) | def test_workflow_name_setter_raises_after_launch() -> None: function test_runtime_setter_swaps_tracking (line 194) | def test_runtime_setter_swaps_tracking() -> None: function test_runtime_setter_post_launch_raises (line 206) | def test_runtime_setter_post_launch_raises() -> None: function test_runtime_setter_same_runtime_after_launch_is_noop (line 216) | def test_runtime_setter_same_runtime_after_launch_is_noop() -> None: function test_run_locks_runtime (line 226) | async def test_run_locks_runtime() -> None: function test_runtime_setter_before_launch_then_launch_locks (line 241) | def test_runtime_setter_before_launch_then_launch_locks() -> None: FILE: packages/llama-index-workflows/tests/test_annotation_resolution.py class MissingReturn (line 21) | class MissingReturn: # pragma: no cover function test_step_decorator_resolves_local_resource_factory_with_future_annotations (line 25) | def test_step_decorator_resolves_local_resource_factory_with_future_anno... function test_step_decorator_resolves_local_return_type_with_future_annotations (line 49) | def test_step_decorator_resolves_local_return_type_with_future_annotatio... function test_step_decorator_error_message_for_unresolved_string_annotations (line 62) | def test_step_decorator_error_message_for_unresolved_string_annotations(... function test_resource_config_in_factory_with_future_annotations (line 75) | async def test_resource_config_in_factory_with_future_annotations( function test_nested_resource_in_resource_with_future_annotations (line 112) | async def test_nested_resource_in_resource_with_future_annotations() -> ... function test_resource_config_representation_with_future_annotations (line 146) | def test_resource_config_representation_with_future_annotations( function test_localns_does_not_shadow_factory_module_types (line 185) | async def test_localns_does_not_shadow_factory_module_types( FILE: packages/llama-index-workflows/tests/test_catch_error.py function _retry (line 41) | def _retry(attempts: int) -> Any: class _InputStart (line 49) | class _InputStart(StartEvent): function test_retry_info_defaults_on_first_attempt (line 59) | async def test_retry_info_defaults_on_first_attempt() -> None: function test_retry_info_after_failure_populated (line 77) | async def test_retry_info_after_failure_populated() -> None: function test_retry_info_outside_step_raises (line 102) | def test_retry_info_outside_step_raises() -> None: function test_last_exception_serialization_roundtrip (line 113) | def test_last_exception_serialization_roundtrip() -> None: function test_catch_error_wrong_event_type_invalid (line 143) | def test_catch_error_wrong_event_type_invalid() -> None: function test_catch_error_returning_stop_completes_workflow (line 157) | async def test_catch_error_returning_stop_completes_workflow() -> None: function test_catch_error_raising_fails_workflow (line 177) | async def test_catch_error_raising_fails_workflow() -> None: function test_catch_error_not_invoked_on_recoverable_retry (line 200) | async def test_catch_error_not_invoked_on_recoverable_retry() -> None: function test_step_failed_event_fields (line 224) | async def test_step_failed_event_fields() -> None: function test_catch_error_not_invoked_on_timeout (line 251) | async def test_catch_error_not_invoked_on_timeout() -> None: function test_baseline_without_catch_error_still_fails (line 271) | async def test_baseline_without_catch_error_still_fails() -> None: function test_catch_error_can_read_context_state (line 287) | async def test_catch_error_can_read_context_state() -> None: class _BEvent (line 308) | class _BEvent(Event): function test_scoped_handler_catches_listed_step (line 313) | async def test_scoped_handler_catches_listed_step() -> None: function test_scoped_handler_does_not_catch_other_step (line 332) | async def test_scoped_handler_does_not_catch_other_step() -> None: class _AFailedMarker (line 351) | class _AFailedMarker(Event): class _BFailedMarker (line 355) | class _BFailedMarker(Event): function test_multiple_scoped_handlers_each_own_step (line 360) | async def test_multiple_scoped_handlers_each_own_step() -> None: function test_scoped_and_wildcard_mix (line 387) | async def test_scoped_and_wildcard_mix() -> None: class _RetryEvent (line 414) | class _RetryEvent(Event): function test_max_recoveries_default_fails_on_second_entry (line 419) | async def test_max_recoveries_default_fails_on_second_entry() -> None: function test_max_recoveries_two_allows_second_entry (line 447) | async def test_max_recoveries_two_allows_second_entry() -> None: function test_handler_own_failure_falls_through (line 480) | async def test_handler_own_failure_falls_through() -> None: function test_recovery_counts_serialization_roundtrip (line 507) | def test_recovery_counts_serialization_roundtrip() -> None: FILE: packages/llama-index-workflows/tests/test_child_state_inheritance.py class BaseState (line 28) | class BaseState(BaseModel): class ChildState (line 34) | class ChildState(BaseState): class UnrelatedState (line 41) | class UnrelatedState(BaseModel): class MiddleEvent (line 52) | class MiddleEvent(Event): class BaseWorkflowWithBaseState (line 63) | class BaseWorkflowWithBaseState(Workflow): method base_step (line 67) | async def base_step(self, ctx: Context[BaseState], ev: StartEvent) -> ... class ChildWorkflowWithChildState (line 73) | class ChildWorkflowWithChildState(BaseWorkflowWithBaseState): method child_step (line 77) | async def child_step(self, ctx: Context[ChildState], ev: MiddleEvent) ... function test_subtype_inheritance_works (line 86) | async def test_subtype_inheritance_works() -> None: class WorkflowWithBaseStateSetState (line 115) | class WorkflowWithBaseStateSetState(Workflow): method init_step (line 119) | async def init_step(self, ctx: Context[ChildState], ev: StartEvent) ->... method base_step (line 127) | async def base_step(self, ctx: Context[BaseState], ev: MiddleEvent) ->... function test_set_state_with_parent_type_merges_fields (line 138) | async def test_set_state_with_parent_type_merges_fields() -> None: class WorkflowWithUnrelatedState (line 165) | class WorkflowWithUnrelatedState(Workflow): method step_one (line 169) | async def step_one(self, ctx: Context[BaseState], ev: StartEvent) -> M... method step_two (line 173) | async def step_two( function test_incompatible_state_types_raises_error (line 180) | async def test_incompatible_state_types_raises_error() -> None: class SiblingStateOne (line 202) | class SiblingStateOne(BaseState): class SiblingStateTwo (line 208) | class SiblingStateTwo(BaseState): class WorkflowWithSiblingStates (line 214) | class WorkflowWithSiblingStates(Workflow): method step_one (line 218) | async def step_one( method step_two (line 224) | async def step_two( function test_sibling_state_types_raises_error (line 231) | async def test_sibling_state_types_raises_error() -> None: class BaseWorkflowConsistent (line 262) | class BaseWorkflowConsistent(Workflow): method start_step (line 266) | async def start_step(self, ctx: Context[ChildState], ev: StartEvent) -... class ChildWorkflowConsistent (line 272) | class ChildWorkflowConsistent(BaseWorkflowConsistent): method end_step (line 276) | async def end_step(self, ctx: Context[ChildState], ev: MiddleEvent) ->... function test_consistent_child_state_works (line 287) | async def test_consistent_child_state_works() -> None: class SetStateWorkflow (line 313) | class SetStateWorkflow(Workflow): method init_step (line 317) | async def init_step(self, ctx: Context[ChildState], ev: StartEvent) ->... method modify_step (line 327) | async def modify_step(self, ctx: Context[ChildState], ev: MiddleEvent)... function test_set_state_same_type_preserves_fields (line 338) | async def test_set_state_same_type_preserves_fields() -> None: function test_set_state_unrelated_type_raises_error (line 365) | async def test_set_state_unrelated_type_raises_error() -> None: function test_set_state_parent_type_merges_at_store_level (line 390) | async def test_set_state_parent_type_merges_at_store_level() -> None: class BaseWorkflowDictState (line 422) | class BaseWorkflowDictState(Workflow): method start_step (line 426) | async def start_step(self, ctx: Context, ev: StartEvent) -> MiddleEvent: class ChildWorkflowDictState (line 431) | class ChildWorkflowDictState(BaseWorkflowDictState): method end_step (line 435) | async def end_step(self, ctx: Context, ev: MiddleEvent) -> StopEvent: function test_dict_state_allows_flexible_inheritance (line 444) | async def test_dict_state_allows_flexible_inheritance() -> None: class EditStateWorkflow (line 468) | class EditStateWorkflow(Workflow): method init_step (line 472) | async def init_step(self, ctx: Context[ChildState], ev: StartEvent) ->... method modify_step (line 480) | async def modify_step(self, ctx: Context[ChildState], ev: MiddleEvent)... function test_edit_state_preserves_child_fields (line 491) | async def test_edit_state_preserves_child_fields() -> None: class GrandchildState (line 517) | class GrandchildState(ChildState): class BaseWorkflowThreeLevel (line 523) | class BaseWorkflowThreeLevel(Workflow): method level1_step (line 527) | async def level1_step(self, ctx: Context[BaseState], ev: StartEvent) -... class ChildWorkflowThreeLevel (line 532) | class ChildWorkflowThreeLevel(BaseWorkflowThreeLevel): method level2_step (line 536) | async def level2_step( class GrandchildWorkflowThreeLevel (line 543) | class GrandchildWorkflowThreeLevel(ChildWorkflowThreeLevel): method level3_step (line 547) | async def level3_step( function test_three_level_inheritance_works (line 557) | async def test_three_level_inheritance_works() -> None: FILE: packages/llama-index-workflows/tests/test_decorator.py function test_decorated_config (line 13) | def test_decorated_config() -> None: function test_decorate_method (line 29) | def test_decorate_method() -> None: function test_decorate_wrong_signature (line 44) | def test_decorate_wrong_signature() -> None: function test_decorate_free_function (line 52) | def test_decorate_free_function() -> None: function test_decorate_free_function_wrong_decorator (line 63) | def test_decorate_free_function_wrong_decorator() -> None: function test_decorate_free_function_wrong_num_workers (line 76) | def test_decorate_free_function_wrong_num_workers() -> None: FILE: packages/llama-index-workflows/tests/test_event.py class _TestEvent (line 19) | class _TestEvent(Event): class _TestEvent2 (line 25) | class _TestEvent2(Event): method __init__ (line 37) | def __init__(self, _modified_private_param: int, **params: Any): function test_event_init_basic (line 42) | def test_event_init_basic() -> None: function test_custom_event_with_fields_and_private_params (line 54) | def test_custom_event_with_fields_and_private_params() -> None: function test_custom_event_override_init (line 65) | def test_custom_event_override_init() -> None: function test_event_missing_key (line 75) | def test_event_missing_key() -> None: function test_event_not_a_field (line 81) | def test_event_not_a_field() -> None: function test_event_dict_api (line 91) | def test_event_dict_api() -> None: function test_event_serialization (line 104) | def test_event_serialization() -> None: function test_bool (line 119) | def test_bool() -> None: function test_stop_event_serialization (line 123) | def test_stop_event_serialization() -> None: class CustomStopEvent (line 140) | class CustomStopEvent(StopEvent): function test_custom_stop_event_serialization (line 145) | def test_custom_stop_event_serialization() -> None: function test_stop_event_repr (line 163) | def test_stop_event_repr() -> None: function test_custom_stop_event_repr_no_result (line 168) | def test_custom_stop_event_repr_no_result() -> None: function test_workflow_termination_events_are_stop_events (line 177) | def test_workflow_termination_events_are_stop_events() -> None: function test_workflow_timed_out_event (line 184) | def test_workflow_timed_out_event() -> None: function test_workflow_timed_out_event_empty_active_steps (line 192) | def test_workflow_timed_out_event_empty_active_steps() -> None: function test_workflow_timed_out_event_serialization (line 199) | def test_workflow_timed_out_event_serialization() -> None: function test_workflow_timed_out_event_repr (line 215) | def test_workflow_timed_out_event_repr() -> None: function test_workflow_cancelled_event (line 224) | def test_workflow_cancelled_event() -> None: function test_workflow_cancelled_event_serialization (line 230) | def test_workflow_cancelled_event_serialization() -> None: function test_workflow_cancelled_event_repr (line 243) | def test_workflow_cancelled_event_repr() -> None: function test_workflow_failed_event (line 250) | def test_workflow_failed_event() -> None: function test_workflow_failed_event_serialization (line 266) | def test_workflow_failed_event_serialization() -> None: function test_workflow_failed_event_repr (line 298) | def test_workflow_failed_event_repr() -> None: function test_workflow_failed_event_with_nested_exception_type (line 312) | def test_workflow_failed_event_with_nested_exception_type() -> None: FILE: packages/llama-index-workflows/tests/test_event_summary.py class RetrievalEvent (line 12) | class RetrievalEvent(Event): class CustomStopEvent (line 17) | class CustomStopEvent(StopEvent): function long_string (line 22) | def long_string() -> str: function large_list (line 27) | def large_list() -> list[int]: function large_dict (line 32) | def large_dict() -> dict[str, int]: function test_simple_start_event_with_kwargs (line 36) | def test_simple_start_event_with_kwargs() -> None: function test_stop_event_includes_result (line 42) | def test_stop_event_includes_result() -> None: function test_custom_event_with_pydantic_fields (line 50) | def test_custom_event_with_pydantic_fields() -> None: function test_long_string_value_truncated (line 58) | def test_long_string_value_truncated(long_string: str) -> None: function test_large_list_shows_item_count (line 67) | def test_large_list_shows_item_count(large_list: list[int]) -> None: function test_large_dict_shows_key_count (line 73) | def test_large_dict_shows_key_count(large_dict: dict[str, int]) -> None: function test_overall_output_truncated_to_max_length (line 79) | def test_overall_output_truncated_to_max_length() -> None: function test_mixed_pydantic_fields_and_data_entries (line 93) | def test_mixed_pydantic_fields_and_data_entries() -> None: function test_stop_event_subclass_includes_result (line 102) | def test_stop_event_subclass_includes_result() -> None: function test_stop_event_with_none_result (line 110) | def test_stop_event_with_none_result() -> None: function test_empty_event (line 117) | def test_empty_event() -> None: function test_small_list_shown_inline (line 123) | def test_small_list_shown_inline() -> None: function test_small_dict_shown_inline (line 130) | def test_small_dict_shown_inline() -> None: FILE: packages/llama-index-workflows/tests/test_graph_validation.py function _validate (line 24) | def _validate( function _errors_by_check (line 36) | def _errors_by_check( class IslandEvent (line 45) | class IslandEvent(Event): class ProcessedEvent (line 49) | class ProcessedEvent(Event): class CycleA (line 53) | class CycleA(Event): class CycleB (line 57) | class CycleB(Event): class LoopEvent (line 61) | class LoopEvent(Event): function test_validate_simple_valid (line 68) | def test_validate_simple_valid() -> None: function test_validate_unreachable_step (line 77) | def test_validate_unreachable_step() -> None: function test_validate_human_response_reachable (line 93) | def test_validate_human_response_reachable() -> None: function test_validate_human_response_mutation_allowed (line 109) | def test_validate_human_response_mutation_allowed() -> None: function test_validate_terminal_non_output_event (line 131) | def test_validate_terminal_non_output_event() -> None: function test_validate_terminal_event_accumulated (line 143) | def test_validate_terminal_event_accumulated() -> None: function test_validate_dead_end_cycle (line 166) | def test_validate_dead_end_cycle() -> None: function test_validate_dead_end_with_exit_branch_passes (line 190) | def test_validate_dead_end_with_exit_branch_passes() -> None: function test_validate_skip_reachability_per_step (line 209) | def test_validate_skip_reachability_per_step() -> None: function test_validate_skip_reachability_workflow_level (line 223) | def test_validate_skip_reachability_workflow_level() -> None: function test_validate_skip_terminal_event_workflow_level (line 237) | def test_validate_skip_terminal_event_workflow_level() -> None: function test_validate_skip_dead_end_per_step (line 247) | def test_validate_skip_dead_end_per_step() -> None: function test_validate_skip_dead_end_workflow_level (line 265) | def test_validate_skip_dead_end_workflow_level() -> None: function test_validate_multiple_errors_accumulated (line 283) | def test_validate_multiple_errors_accumulated() -> None: function test_build_step_graph_empty (line 320) | def test_build_step_graph_empty() -> None: function test_build_step_graph_adjacency_list (line 328) | def test_build_step_graph_adjacency_list() -> None: function test_build_step_graph_event_types (line 349) | def test_build_step_graph_event_types() -> None: function test_build_step_graph_none_return_type_excluded (line 362) | def test_build_step_graph_none_return_type_excluded() -> None: function test_build_step_graph_forward_reachable (line 382) | def test_build_step_graph_forward_reachable() -> None: function test_build_step_graph_forward_reachable_human_response_seed (line 407) | def test_build_step_graph_forward_reachable_human_response_seed() -> None: function test_build_step_graph_reverse_reachable (line 430) | def test_build_step_graph_reverse_reachable() -> None: FILE: packages/llama-index-workflows/tests/test_handler.py function _create_mock_handler (line 14) | def _create_mock_handler() -> WorkflowHandler: function test_str (line 23) | async def test_str() -> None: function test_stream_events_consume_only_once (line 31) | async def test_stream_events_consume_only_once() -> None: FILE: packages/llama-index-workflows/tests/test_llama_agents_alias.py function test_top_level_import (line 11) | def test_top_level_import() -> None: function test_top_level_identity (line 19) | def test_top_level_identity() -> None: function test_events_submodule (line 28) | def test_events_submodule() -> None: function test_events_submodule_identity (line 40) | def test_events_submodule_identity() -> None: function test_context_submodule (line 48) | def test_context_submodule() -> None: function test_context_submodule_identity (line 54) | def test_context_submodule_identity() -> None: function test_workflow_submodule (line 61) | def test_workflow_submodule() -> None: function test_decorators_submodule (line 67) | def test_decorators_submodule() -> None: function test_errors_submodule (line 73) | def test_errors_submodule() -> None: function test_handler_submodule (line 85) | def test_handler_submodule() -> None: function test_testing_submodule (line 91) | def test_testing_submodule() -> None: function test_deep_submodule (line 97) | def test_deep_submodule() -> None: function test_dunder_all_reexported (line 103) | def test_dunder_all_reexported() -> None: function test_alias_workflow_runs (line 111) | async def test_alias_workflow_runs() -> None: FILE: packages/llama-index-workflows/tests/test_nanoid.py function test_nanoid_default_length (line 4) | def test_nanoid_default_length() -> None: function test_nanoid_custom_length (line 11) | def test_nanoid_custom_length() -> None: function test_nanoid_zero_length (line 17) | def test_nanoid_zero_length() -> None: function test_nanoid_uniqueness (line 24) | def test_nanoid_uniqueness() -> None: function test_nanoid_negative_length (line 35) | def test_nanoid_negative_length() -> None: FILE: packages/llama-index-workflows/tests/test_representation_utils.py function _nodes_of_type (line 33) | def _nodes_of_type(graph: WorkflowGraph, node_type: str) -> list[Workflo... function _resource_nodes (line 37) | def _resource_nodes(graph: WorkflowGraph) -> list[WorkflowResourceNode]: function _resource_config_nodes (line 41) | def _resource_config_nodes(graph: WorkflowGraph) -> list[WorkflowResourc... function _edges_as_tuples (line 47) | def _edges_as_tuples(graph: WorkflowGraph) -> set[tuple[str, str, str | ... function _find_edges (line 51) | def _find_edges( function ground_truth_repr (line 69) | def ground_truth_repr() -> WorkflowGraph: function test_get_workflow_representation (line 121) | def test_get_workflow_representation(ground_truth_repr: WorkflowGraph) -... function test_representation_hitl_includes_external_step_bridge (line 134) | def test_representation_hitl_includes_external_step_bridge() -> None: function test_truncated_label (line 159) | def test_truncated_label() -> None: function test_graph_serialization (line 167) | def test_graph_serialization() -> None: class DatabaseClient (line 197) | class DatabaseClient: function get_database_client (line 203) | def get_database_client() -> DatabaseClient: class MiddleEvent (line 211) | class MiddleEvent(Event): class WorkflowWithResources (line 215) | class WorkflowWithResources(Workflow): method start_step (line 217) | async def start_step(self, ev: StartEvent) -> MiddleEvent: method step_with_resource (line 221) | async def step_with_resource( function test_get_workflow_representation_with_resources (line 229) | def test_get_workflow_representation_with_resources() -> None: function test_resource_nodes_are_deduplicated (line 251) | def test_resource_nodes_are_deduplicated() -> None: function test_multiple_different_resources (line 289) | def test_multiple_different_resources() -> None: function test_edge_with_label (line 326) | def test_edge_with_label() -> None: function test_edge_without_label (line 335) | def test_edge_without_label() -> None: function test_graph_with_all_node_types_serialization (line 344) | def test_graph_with_all_node_types_serialization() -> None: function test_graph_deserialization_from_raw_json (line 403) | def test_graph_deserialization_from_raw_json() -> None: function test_filter_by_node_type_removes_nodes (line 450) | def test_filter_by_node_type_removes_nodes() -> None: function test_filter_by_node_type_resolves_edges (line 479) | def test_filter_by_node_type_resolves_edges() -> None: function test_filter_by_node_type_chain_of_filtered_nodes (line 507) | def test_filter_by_node_type_chain_of_filtered_nodes() -> None: function test_filter_by_node_type_multiple_types (line 544) | def test_filter_by_node_type_multiple_types() -> None: function test_filter_by_node_type_preserves_direct_edges (line 577) | def test_filter_by_node_type_preserves_direct_edges() -> None: function test_filter_by_node_type_uses_filtered_node_label (line 605) | def test_filter_by_node_type_uses_filtered_node_label() -> None: function test_filter_by_node_type_preserves_direct_edge_labels (line 632) | def test_filter_by_node_type_preserves_direct_edge_labels() -> None: function test_filter_by_node_type_no_matching_types (line 659) | def test_filter_by_node_type_no_matching_types() -> None: function test_filter_by_node_type_preserves_description (line 677) | def test_filter_by_node_type_preserves_description() -> None: function test_filter_by_node_type_deduplicates_edges (line 691) | def test_filter_by_node_type_deduplicates_edges() -> None: class ConfigData (line 731) | class ConfigData(BaseModel): function _write_config (line 738) | def _write_config(tmp_path: Path, filename: str, data: Mapping[str, obje... function test_resource_config_nested_in_resource_factory (line 745) | def test_resource_config_nested_in_resource_factory( function test_recursive_resource_dependencies_with_config (line 789) | def test_recursive_resource_dependencies_with_config( function test_resource_config_direct_in_step (line 854) | def test_resource_config_direct_in_step( function test_resource_config_with_path_selector (line 895) | def test_resource_config_with_path_selector( function test_resource_config_nodes_are_deduplicated (line 932) | def test_resource_config_nodes_are_deduplicated( function test_multiple_different_resource_configs (line 976) | def test_multiple_different_resource_configs( function test_filter_by_node_type_with_resource_config (line 1018) | def test_filter_by_node_type_with_resource_config() -> None: function test_resource_config_label_and_description (line 1053) | def test_resource_config_label_and_description( function test_resource_config_label_fallback (line 1093) | def test_resource_config_label_fallback( FILE: packages/llama-index-workflows/tests/test_resources.py class _FactoryConfig (line 32) | class _FactoryConfig(BaseModel): function _get_factory_with_config_path (line 38) | def _get_factory_with_config_path(config_path: str) -> _Resource: class SecondEvent (line 49) | class SecondEvent(Event): class ThirdEvent (line 53) | class ThirdEvent(Event): class ChatMessage (line 57) | class ChatMessage(BaseModel): method from_str (line 59) | def from_str(cls, role, content): # noqa: ANN001 class Memory (line 63) | class Memory(mock.MagicMock): method from_defaults (line 65) | def from_defaults(cls, *args, **kwargs): # noqa: ANN002, ANN003 class MessageStopEvent (line 69) | class MessageStopEvent(StopEvent): class FileData (line 73) | class FileData(BaseModel): class FileOperator (line 78) | class FileOperator: method __init__ (line 79) | def __init__(self, data: FileData) -> None: method operate (line 83) | def operate(self) -> str: class ChatMessages (line 95) | class ChatMessages(BaseModel): class Fs (line 99) | class Fs(BaseModel): function test_function_resource_init (line 105) | async def test_function_resource_init() -> None: function test_resource_config_init (line 120) | def test_resource_config_init( function test_resource_config_path_selector (line 159) | def test_resource_config_path_selector( function test_resource_config_path_selector_error (line 187) | def test_resource_config_path_selector_error( function test_resource (line 227) | async def test_resource() -> None: function test_resource_async (line 252) | async def test_resource_async() -> None: function test_resource_config (line 279) | async def test_resource_config( function test_caching_behavior (line 320) | async def test_caching_behavior() -> None: function test_caching_behavior_resource_configs (line 368) | async def test_caching_behavior_resource_configs( function test_non_caching_behavior (line 419) | async def test_non_caching_behavior() -> None: function test_resource_manager (line 464) | async def test_resource_manager() -> None: function test_recursive_resource_injection (line 471) | async def test_recursive_resource_injection() -> None: function test_recursive_resource_caching (line 509) | async def test_recursive_resource_caching() -> None: function test_circular_resource_dependency_detection (line 559) | async def test_circular_resource_dependency_detection() -> None: function test_non_cached_resource_single_resolution_cycle (line 606) | async def test_non_cached_resource_single_resolution_cycle() -> None: function test_resource_config_in_step_signature (line 641) | async def test_resource_config_in_step_signature( function test_resource_config_in_step_with_path_selector (line 672) | async def test_resource_config_in_step_with_path_selector( function test_validate_detects_circular_resource_dependency (line 707) | def test_validate_detects_circular_resource_dependency() -> None: function test_validate_resource_config_success (line 744) | def test_validate_resource_config_success( function test_validate_resource_config_invalid_data (line 769) | def test_validate_resource_config_invalid_data( function test_validate_resource_config_disabled (line 798) | def test_validate_resource_config_disabled( function test_validate_nested_resource_config (line 824) | def test_validate_nested_resource_config( function test_validate_nested_resource_config_invalid (line 854) | def test_validate_nested_resource_config_invalid( function test_validate_resources_enabled (line 888) | def test_validate_resources_enabled() -> None: function test_validate_resources_disabled_by_default (line 911) | def test_validate_resources_disabled_by_default() -> None: function test_validate_resource_factory_failure (line 934) | def test_validate_resource_factory_failure() -> None: function test_validate_annotation_shadowing_with_resource_factory (line 956) | def test_validate_annotation_shadowing_with_resource_factory( function test_resource_config_deferred_file_check (line 984) | def test_resource_config_deferred_file_check( function test_resource_config_deferred_in_workflow (line 1016) | async def test_resource_config_deferred_in_workflow( FILE: packages/llama-index-workflows/tests/test_retry_policy.py function test_retry_if_exception_type_matches (line 55) | def test_retry_if_exception_type_matches() -> None: function test_retry_if_exception_type_subclass (line 62) | def test_retry_if_exception_type_subclass() -> None: function test_retry_if_not_exception_type (line 67) | def test_retry_if_not_exception_type() -> None: function test_retry_if_exception_uses_predicate (line 74) | def test_retry_if_exception_uses_predicate() -> None: function test_retry_if_exception_message_exact_match (line 80) | def test_retry_if_exception_message_exact_match() -> None: function test_retry_if_exception_message_regex (line 87) | def test_retry_if_exception_message_regex() -> None: function test_retry_if_exception_message_accepts_compiled_pattern (line 93) | def test_retry_if_exception_message_accepts_compiled_pattern() -> None: function test_retry_if_exception_message_requires_exactly_one_matcher (line 99) | def test_retry_if_exception_message_requires_exactly_one_matcher() -> None: function test_retry_if_not_exception_message (line 107) | def test_retry_if_not_exception_message() -> None: function test_retry_if_exception_cause_type (line 113) | def test_retry_if_exception_cause_type() -> None: function test_retry_unless_exception_type (line 124) | def test_retry_unless_exception_type() -> None: function test_retry_named_combinators (line 130) | def test_retry_named_combinators() -> None: function test_retry_operator_sugar_matches_named_combinators (line 147) | def test_retry_operator_sugar_matches_named_combinators() -> None: function test_retry_operator_grouping_is_left_associative (line 163) | def test_retry_operator_grouping_is_left_associative() -> None: function test_retry_always_and_retry_never (line 179) | def test_retry_always_and_retry_never() -> None: function test_wait_fixed (line 193) | def test_wait_fixed() -> None: function test_wait_none (line 199) | def test_wait_none() -> None: function test_wait_exponential (line 203) | def test_wait_exponential() -> None: function test_wait_exponential_floor (line 211) | def test_wait_exponential_floor() -> None: function test_wait_exponential_cap (line 217) | def test_wait_exponential_cap() -> None: function test_wait_incrementing (line 222) | def test_wait_incrementing() -> None: function test_wait_incrementing_never_returns_negative_delay (line 230) | def test_wait_incrementing_never_returns_negative_delay() -> None: function test_wait_random_range (line 236) | def test_wait_random_range() -> None: function test_wait_random_deterministic_with_seed (line 243) | def test_wait_random_deterministic_with_seed() -> None: function test_wait_exponential_jitter_base (line 248) | def test_wait_exponential_jitter_base() -> None: function test_wait_exponential_jitter_adds_jitter (line 255) | def test_wait_exponential_jitter_adds_jitter() -> None: function test_wait_exponential_jitter_deterministic (line 263) | def test_wait_exponential_jitter_deterministic() -> None: function test_wait_exponential_jitter_respects_max_after_jitter (line 268) | def test_wait_exponential_jitter_respects_max_after_jitter() -> None: function test_wait_random_exponential_range (line 274) | def test_wait_random_exponential_range() -> None: function test_wait_random_exponential_deterministic_with_seed (line 281) | def test_wait_random_exponential_deterministic_with_seed() -> None: function test_wait_random_exponential_respects_minimum (line 286) | def test_wait_random_exponential_respects_minimum() -> None: function test_wait_chain_sequence (line 292) | def test_wait_chain_sequence() -> None: function test_wait_chain_repeats_last (line 299) | def test_wait_chain_repeats_last() -> None: function test_wait_chain_requires_strategies (line 307) | def test_wait_chain_requires_strategies() -> None: function test_wait_combine_adds_delays (line 312) | def test_wait_combine_adds_delays() -> None: function test_wait_operator_sugar_matches_wait_combine (line 320) | def test_wait_operator_sugar_matches_wait_combine() -> None: function test_wait_sum_support (line 328) | def test_wait_sum_support() -> None: function test_wait_combine_preserves_seeded_determinism (line 333) | def test_wait_combine_preserves_seeded_determinism() -> None: function test_wait_full_jitter_alias (line 343) | def test_wait_full_jitter_alias() -> None: function test_stop_after_attempt (line 354) | def test_stop_after_attempt() -> None: function test_stop_after_delay (line 361) | def test_stop_after_delay() -> None: function test_stop_any_and_stop_all (line 368) | def test_stop_any_and_stop_all() -> None: function test_stop_operator_sugar_matches_named_combinators (line 380) | def test_stop_operator_sugar_matches_named_combinators() -> None: function test_stop_never (line 387) | def test_stop_never() -> None: function test_stop_before_delay_uses_upcoming_sleep_inside_retry_policy (line 391) | def test_stop_before_delay_uses_upcoming_sleep_inside_retry_policy() -> ... function test_retry_policy_defaults (line 406) | def test_retry_policy_defaults() -> None: function test_retry_policy_constructor (line 416) | def test_retry_policy_constructor() -> None: function test_retry_policy_with_retry_condition (line 427) | def test_retry_policy_with_retry_condition() -> None: function test_retry_policy_with_wait_strategy (line 436) | def test_retry_policy_with_wait_strategy() -> None: function test_retry_policy_with_random_exponential_wait (line 446) | def test_retry_policy_with_random_exponential_wait() -> None: function test_retry_policy_stop_after_delay (line 458) | def test_retry_policy_stop_after_delay() -> None: function test_retry_policy_stop_before_delay_stops_using_next_sleep (line 467) | def test_retry_policy_stop_before_delay_stops_using_next_sleep() -> None: function test_retry_policy_seed_forwarded (line 476) | def test_retry_policy_seed_forwarded() -> None: function test_retry_policy_retry_none_retries_all (line 486) | def test_retry_policy_retry_none_retries_all() -> None: function test_retry_policy_all_three_composed (line 492) | def test_retry_policy_all_three_composed() -> None: function test_retry_policy_with_operator_composition (line 506) | def test_retry_policy_with_operator_composition() -> None: function test_composable_retry_policy_is_no_longer_public (line 519) | def test_composable_retry_policy_is_no_longer_public() -> None: function test_ConstantDelayRetryPolicy_emits_deprecation_warning (line 528) | def test_ConstantDelayRetryPolicy_emits_deprecation_warning() -> None: function test_ExponentialBackoffRetryPolicy_emits_deprecation_warning (line 535) | def test_ExponentialBackoffRetryPolicy_emits_deprecation_warning() -> None: function test_ConstantDelayRetryPolicy_next (line 548) | def test_ConstantDelayRetryPolicy_next() -> None: function test_ExponentialBackoffRetryPolicy_next_basic (line 558) | def test_ExponentialBackoffRetryPolicy_next_basic() -> None: function test_ExponentialBackoffRetryPolicy_max_delay_cap (line 571) | def test_ExponentialBackoffRetryPolicy_max_delay_cap() -> None: function test_ExponentialBackoffRetryPolicy_gives_up (line 580) | def test_ExponentialBackoffRetryPolicy_gives_up() -> None: function test_ExponentialBackoffRetryPolicy_jitter (line 589) | def test_ExponentialBackoffRetryPolicy_jitter() -> None: function test_ExponentialBackoffRetryPolicy_jitter_deterministic (line 602) | def test_ExponentialBackoffRetryPolicy_jitter_deterministic() -> None: function test_ExponentialBackoffRetryPolicy_no_jitter (line 622) | def test_ExponentialBackoffRetryPolicy_no_jitter() -> None: function test_retry_e2e (line 640) | async def test_retry_e2e() -> None: function test_retry_e2e_exponential (line 664) | async def test_retry_e2e_exponential() -> None: function test_retry_e2e_retry_policy (line 696) | async def test_retry_e2e_retry_policy() -> None: function test_retry_e2e_retry_policy_non_retryable (line 725) | async def test_retry_e2e_retry_policy_non_retryable() -> None: function test_retry_e2e_composed_policy (line 742) | async def test_retry_e2e_composed_policy() -> None: FILE: packages/llama-index-workflows/tests/test_retry_tenacity_conformance.py class NamedCallable (line 79) | class NamedCallable(Protocol): method __call__ (line 82) | def __call__(self, *args: object, **kwargs: object) -> object: ... function _parameter_types (line 118) | def _parameter_types( function _normalize (line 134) | def _normalize(tp: object) -> object: function _types_match (line 148) | def _types_match(ours: object, theirs: object) -> bool: function test_retry_policy_signatures_align_with_tenacity (line 173) | def test_retry_policy_signatures_align_with_tenacity( function test_wait_full_jitter_alias_matches_wait_random_exponential_signature (line 204) | def test_wait_full_jitter_alias_matches_wait_random_exponential_signatur... FILE: packages/llama-index-workflows/tests/test_runtime_integration.py class SimpleWorkflow (line 16) | class SimpleWorkflow(Workflow): method start (line 20) | async def start(self, ev: StartEvent) -> StopEvent: class CountingWorkflow (line 24) | class CountingWorkflow(Workflow): method __init__ (line 27) | def __init__(self, **kwargs: Any) -> None: method start (line 32) | async def start(self, ev: StartEvent) -> StopEvent: class StatefulWorkflow (line 37) | class StatefulWorkflow(Workflow): method __init__ (line 40) | def __init__(self, **kwargs: Any) -> None: method start (line 45) | async def start(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_basic_runtime_no_explicit_launch (line 54) | async def test_basic_runtime_no_explicit_launch() -> None: function test_basic_runtime_with_explicit_launch (line 61) | async def test_basic_runtime_with_explicit_launch() -> None: function test_basic_runtime_launch_idempotent (line 73) | async def test_basic_runtime_launch_idempotent() -> None: function test_registering_multiple_workflows (line 87) | async def test_registering_multiple_workflows() -> None: function test_registering_preserves_workflow_state (line 107) | async def test_registering_preserves_workflow_state() -> None: function test_registering_with_exception_still_resets_context (line 124) | async def test_registering_with_exception_still_resets_context() -> None: function test_mixed_explicit_and_implicit_registration (line 136) | async def test_mixed_explicit_and_implicit_registration() -> None: function test_workflow_can_run_multiple_times (line 161) | async def test_workflow_can_run_multiple_times() -> None: function test_destroy_allows_reuse (line 179) | async def test_destroy_allows_reuse() -> None: function test_workflow_without_any_runtime_context (line 205) | async def test_workflow_without_any_runtime_context() -> None: function test_empty_registering_block (line 214) | async def test_empty_registering_block() -> None: function test_registering_yields_runtime (line 225) | async def test_registering_yields_runtime() -> None: function test_nested_registering_preserves_workflows (line 236) | async def test_nested_registering_preserves_workflows() -> None: function test_workflow_runs_without_registering (line 265) | async def test_workflow_runs_without_registering() -> None: function test_multiple_concurrent_workflows (line 274) | async def test_multiple_concurrent_workflows() -> None: FILE: packages/llama-index-workflows/tests/test_spans.py class SpanTracker (line 24) | class SpanTracker(BaseSpanHandler[BaseSpan]): method class_name (line 33) | def class_name(cls) -> str: method new_span (line 36) | def new_span( method prepare_to_exit_span (line 47) | def prepare_to_exit_span( method prepare_to_drop_span (line 59) | def prepare_to_drop_span( class EventTracker (line 72) | class EventTracker(BaseEventHandler): method class_name (line 78) | def class_name(cls) -> str: method handle (line 81) | def handle(self, event: BaseEvent, **kwargs: Any) -> None: function span_tracker (line 86) | def span_tracker() -> Generator[SpanTracker, None, None]: function event_tracker (line 95) | def event_tracker() -> Generator[EventTracker, None, None]: class WaitEvent (line 103) | class WaitEvent(Event): function test_wait_for_event_does_not_produce_dropped_spans (line 107) | async def test_wait_for_event_does_not_produce_dropped_spans( function test_cancel_run_produces_exited_spans_not_dropped (line 141) | async def test_cancel_run_produces_exited_spans_not_dropped( FILE: packages/llama-index-workflows/tests/test_state_manager.py function test_in_memory_state_store_smoke (line 20) | async def test_in_memory_state_store_smoke() -> None: function test_in_memory_edit_state (line 41) | async def test_in_memory_edit_state() -> None: FILE: packages/llama-index-workflows/tests/test_streaming.py class StreamingWorkflow (line 17) | class StreamingWorkflow(Workflow): method chat (line 19) | async def chat(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_multiple_sequential_streams (line 32) | async def test_multiple_sequential_streams() -> None: function test_consume_only_once (line 41) | async def test_consume_only_once() -> None: function test_multiple_ongoing_streams (line 59) | async def test_multiple_ongoing_streams() -> None: function test_resume_streams (line 76) | async def test_resume_streams() -> None: FILE: packages/llama-index-workflows/tests/test_testing_utils.py class SecondEvent (line 13) | class SecondEvent(Event): class SimpleWf (line 17) | class SimpleWf(Workflow): method step_one (line 19) | async def step_one(self, ev: StartEvent, ctx: Context) -> SecondEvent: method step_two (line 26) | async def step_two(self, ev: SecondEvent, ctx: Context) -> StopEvent: function test_testing_utils (line 33) | async def test_testing_utils() -> None: FILE: packages/llama-index-workflows/tests/test_utils.py function test_validate_step_signature_of_method (line 28) | def test_validate_step_signature_of_method() -> None: function test_validate_step_signature_of_free_function (line 35) | def test_validate_step_signature_of_free_function() -> None: function test_validate_step_signature_union (line 42) | def test_validate_step_signature_union() -> None: function test_validate_step_signature_of_free_function_with_context (line 49) | def test_validate_step_signature_of_free_function_with_context() -> None: function test_validate_step_signature_union_invalid (line 56) | def test_validate_step_signature_union_invalid() -> None: function test_validate_step_signature_no_params (line 67) | def test_validate_step_signature_no_params() -> None: function test_validate_step_signature_no_annotations (line 77) | def test_validate_step_signature_no_annotations() -> None: function test_validate_step_signature_wrong_annotations (line 88) | def test_validate_step_signature_wrong_annotations() -> None: function test_validate_step_signature_no_return_annotations (line 99) | def test_validate_step_signature_no_return_annotations() -> None: function test_validate_step_signature_no_events (line 110) | def test_validate_step_signature_no_events() -> None: function test_validate_step_signature_too_many_params (line 121) | def test_validate_step_signature_too_many_params() -> None: function test_get_steps_from (line 141) | def test_get_steps_from() -> None: function test_get_param_types (line 163) | def test_get_param_types() -> None: function test_get_param_types_no_annotations (line 174) | def test_get_param_types_no_annotations() -> None: function test_get_param_types_union (line 185) | def test_get_param_types_union() -> None: function test_get_return_types (line 196) | def test_get_return_types() -> None: function test_get_return_types_union (line 203) | def test_get_return_types_union() -> None: function test_get_return_types_optional (line 210) | def test_get_return_types_optional() -> None: function test_get_return_types_list (line 217) | def test_get_return_types_list() -> None: function test_is_free_function (line 224) | def test_is_free_function() -> None: function test_inspect_signature_raises_if_not_callable (line 233) | def test_inspect_signature_raises_if_not_callable() -> None: FILE: packages/llama-index-workflows/tests/test_verbose_decorator.py class FakeInternalRunAdapter (line 27) | class FakeInternalRunAdapter(InternalRunAdapter): method __init__ (line 30) | def __init__(self) -> None: method run_id (line 34) | def run_id(self) -> str: method write_to_event_stream (line 37) | async def write_to_event_stream(self, event: Event) -> None: method get_now (line 40) | async def get_now(self) -> float: method send_event (line 43) | async def send_event(self, tick: WorkflowTick) -> None: method wait_receive (line 46) | async def wait_receive( method sleep (line 52) | async def sleep(self, seconds: float) -> None: function _make_step_state_changed (line 56) | def _make_step_state_changed( function verbose_adapter (line 73) | def verbose_adapter() -> tuple[FakeInternalRunAdapter, _VerboseInternalR... function test_verbose_step_state (line 123) | async def test_verbose_step_state( function test_verbose_auto_detects_logger_when_info_enabled (line 134) | async def test_verbose_auto_detects_logger_when_info_enabled( function test_verbose_falls_back_to_print_by_default (line 156) | async def test_verbose_falls_back_to_print_by_default() -> None: function test_verbose_forwards_events (line 169) | async def test_verbose_forwards_events( function test_verbose_on_tick (line 223) | async def test_verbose_on_tick( function test_verbose_tick_step_result_logs_stop_event (line 234) | async def test_verbose_tick_step_result_logs_stop_event( function test_verbose_tick_step_result_silent_for_non_stop (line 252) | async def test_verbose_tick_step_result_silent_for_non_stop( class TwoStepWorkflow (line 272) | class TwoStepWorkflow(Workflow): method first (line 274) | async def first(self, ev: StartEvent) -> StopEvent: function test_workflow_verbose_integration (line 278) | async def test_workflow_verbose_integration( FILE: packages/llama-index-workflows/tests/test_workflow.py class EventWithName (line 49) | class EventWithName(Event): class MyStart (line 53) | class MyStart(StartEvent): class MyStop (line 57) | class MyStop(StopEvent): class ResumeStartEvent (line 61) | class ResumeStartEvent(StartEvent): function test_fn (line 65) | def test_fn() -> None: function test_workflow_initialization (line 70) | async def test_workflow_initialization(workflow: Workflow) -> None: function test_workflow_validation_unproduced_events (line 77) | async def test_workflow_validation_unproduced_events() -> None: function test_workflow_validation_unconsumed_events (line 91) | async def test_workflow_validation_unconsumed_events() -> None: function test_workflow_validation_start_event_not_consumed (line 109) | async def test_workflow_validation_start_event_not_consumed() -> None: function test_workflow_step_send_event_to_None (line 127) | async def test_workflow_step_send_event_to_None() -> None: function test_workflow_step_returning_bogus (line 148) | async def test_workflow_step_returning_bogus() -> None: function test_add_step (line 161) | def test_add_step() -> None: function test_add_step_not_a_step (line 177) | def test_add_step_not_a_step() -> None: function test_workflow_disable_validation (line 193) | def test_workflow_disable_validation() -> None: function test_workflow_pickle (line 207) | async def test_workflow_pickle() -> None: function test_workflow_context_to_dict (line 242) | async def test_workflow_context_to_dict() -> None: class HumanInTheLoopWorkflow (line 287) | class HumanInTheLoopWorkflow(Workflow): method step1 (line 289) | async def step1(self, ctx: Context, ev: StartEvent) -> InputRequiredEv... method step2 (line 295) | async def step2(self, ctx: Context, ev: HumanResponseEvent) -> StopEvent: function test_human_in_the_loop_with_resume (line 302) | async def test_human_in_the_loop_with_resume() -> None: function test_human_in_the_loop_resume_custom_start_event_inactive_ctx (line 332) | async def test_human_in_the_loop_resume_custom_start_event_inactive_ctx(... class DummyWorkflowForConcurrentRunsTest (line 376) | class DummyWorkflowForConcurrentRunsTest(Workflow): method __init__ (line 377) | def __init__(self, **kwargs: Any) -> None: method step_one (line 384) | async def step_one(self, ev: StartEvent) -> StopEvent: method get_active_runs (line 394) | async def get_active_runs(self) -> list[int]: function test_workflow_run_num_concurrent (line 416) | async def test_workflow_run_num_concurrent( class RandomEvent (line 427) | class RandomEvent(Event): class InvalidStopWorkflow (line 431) | class InvalidStopWorkflow(Workflow): method a_step (line 433) | async def a_step(self, ev: MyStart) -> RandomEvent: class InvalidStartWorkflow (line 437) | class InvalidStartWorkflow(Workflow): method a_step (line 439) | async def a_step(self, ev: RandomEvent) -> StopEvent: function test_wrong_event_types (line 443) | def test_wrong_event_types() -> None: class LockEvent (line 457) | class LockEvent(Event): class LockResponseEvent (line 461) | class LockResponseEvent(Event): class NonSerializableRequirement (line 465) | class NonSerializableRequirement: method __init__ (line 466) | def __init__(self, be_serializable: bool = False) -> None: method __eq__ (line 472) | def __eq__(self, other: Any) -> bool: class NonSerializableRequirementsWorkflow (line 476) | class NonSerializableRequirementsWorkflow(Workflow): method wait_step (line 478) | async def wait_step(self, ctx: Context, ev: StartEvent) -> StopEvent: function test_human_in_the_loop_waiter_with_nonserializable_requirements_pickle_resume (line 491) | async def test_human_in_the_loop_waiter_with_nonserializable_requirement... function test__get_start_event_instance (line 520) | def test__get_start_event_instance(caplog: Any) -> None: function test_run_with_invalid_start_event_raises (line 545) | def test_run_with_invalid_start_event_raises() -> None: function test__ensure_start_event_class_multiple_types (line 567) | def test__ensure_start_event_class_multiple_types() -> None: function test__ensure_stop_event_class_multiple_types (line 584) | def test__ensure_stop_event_class_multiple_types() -> None: function test_workflow_validation_steps_cannot_accept_stop_event (line 602) | async def test_workflow_validation_steps_cannot_accept_stop_event() -> N... class _OrphanEvent (line 620) | class _OrphanEvent(Event): function test_workflow_validation_consumed_but_never_produced (line 624) | def test_workflow_validation_consumed_but_never_produced() -> None: class _CatchErrorMarker (line 638) | class _CatchErrorMarker(Event): function test_multiple_wildcard_catch_error_handlers_invalid (line 642) | def test_multiple_wildcard_catch_error_handlers_invalid() -> None: function test_catch_error_unknown_step_invalid (line 660) | def test_catch_error_unknown_step_invalid() -> None: function test_catch_error_duplicate_scope_invalid (line 674) | def test_catch_error_duplicate_scope_invalid() -> None: function test_catch_error_max_recoveries_zero_invalid (line 692) | def test_catch_error_max_recoveries_zero_invalid() -> None: function test_catch_error_handler_cannot_cover_another_handler (line 700) | def test_catch_error_handler_cannot_cover_another_handler() -> None: function test_catch_error_max_recoveries_invalid_on_step_config (line 720) | def test_catch_error_max_recoveries_invalid_on_step_config() -> None: function test_unknown_skip_graph_check_name_invalid (line 737) | def test_unknown_skip_graph_check_name_invalid() -> None: function test_get_workflow_events (line 747) | def test_get_workflow_events() -> None: function test_workflow_instances_garbage_collected_after_completion (line 761) | async def test_workflow_instances_garbage_collected_after_completion() -... function test_workflow_not_pinned_by_timer_handle_context (line 790) | async def test_workflow_not_pinned_by_timer_handle_context() -> None: function test_workflow_error_no_steps_configured_message (line 821) | def test_workflow_error_no_steps_configured_message() -> None: function test_missing_start_event_error_includes_class_name (line 839) | def test_missing_start_event_error_includes_class_name() -> None: function test_missing_stop_event_error_includes_class_name (line 861) | def test_missing_stop_event_error_includes_class_name() -> None: class SomeEvent (line 883) | class SomeEvent(StartEvent): function test_workflow_non_picklable_event (line 888) | async def test_workflow_non_picklable_event() -> None: function test_inner_step_can_access_run_id_and_others_from_instrument_tags (line 910) | async def test_inner_step_can_access_run_id_and_others_from_instrument_t... class Par (line 934) | class Par(Event): class ParDone (line 938) | class ParDone(Event): function test_workflow_parallel_resume (line 943) | async def test_workflow_parallel_resume() -> None: class OtherEvent (line 1004) | class OtherEvent(Event): function test_stop_event_cancels_concurrent_step_stream_write (line 1011) | async def test_stop_event_cancels_concurrent_step_stream_write() -> None: function test_graph_validation_unreachable_step_raises (line 1086) | def test_graph_validation_unreachable_step_raises() -> None: function test_graph_validation_accumulates_multiple_errors (line 1116) | def test_graph_validation_accumulates_multiple_errors() -> None: function test_validation_cached_after_first_run (line 1154) | async def test_validation_cached_after_first_run() -> None: function test_validation_cache_invalidated_on_add_step (line 1166) | async def test_validation_cache_invalidated_on_add_step() -> None: FILE: packages/llama-index-workflows/tests/test_workflow_internal_events.py class SomeEvent (line 21) | class SomeEvent(Event): class ExampleWorkflow (line 25) | class ExampleWorkflow(Workflow): method first_step (line 27) | async def first_step(self, ev: StartEvent, ctx: Context) -> SomeEvent: method second_step (line 31) | async def second_step(self, ev: SomeEvent, ctx: Context) -> StopEvent: class WfState (line 35) | class WfState(BaseModel): class ExampleWorkflowState (line 39) | class ExampleWorkflowState(Workflow): method first_step (line 41) | async def first_step(self, ev: StartEvent, ctx: Context[WfState]) -> S... method second_step (line 47) | async def second_step(self, ev: SomeEvent, ctx: Context[WfState]) -> S... class ExampleWorkflowDictState (line 51) | class ExampleWorkflowDictState(Workflow): method first_step (line 53) | async def first_step(self, ev: StartEvent, ctx: Context) -> SomeEvent: method second_step (line 59) | async def second_step(self, ev: SomeEvent, ctx: Context) -> StopEvent: class ExampleWorkflowMultiWorkers (line 65) | class ExampleWorkflowMultiWorkers(Workflow): method __init__ (line 66) | def __init__(self) -> None: method first_step (line 72) | async def first_step(self, ev: StartEvent, ctx: Context) -> SomeEvent ... method second_step (line 78) | async def second_step(self, ev: SomeEvent, ctx: Context) -> StopEvent ... function wf (line 90) | def wf() -> ExampleWorkflow: function wf_state (line 95) | def wf_state() -> ExampleWorkflowState: function wf_workers (line 100) | def wf_workers() -> ExampleWorkflowMultiWorkers: function wf_dict_state (line 105) | def wf_dict_state() -> ExampleWorkflowDictState: function test_internal_events (line 110) | async def test_internal_events(wf: ExampleWorkflow) -> None: function test_internal_events_sequence (line 121) | async def test_internal_events_sequence(wf_state: ExampleWorkflowState) ... function test_internal_events_multiple_workers (line 140) | async def test_internal_events_multiple_workers( FILE: packages/llama-index-workflows/tests/test_workflow_naming.py class SimpleWorkflow (line 9) | class SimpleWorkflow(Workflow): method start (line 11) | async def start(self, ev: StartEvent) -> StopEvent: function test_explicit_name (line 15) | def test_explicit_name() -> None: function test_default_name_is_module_qualified (line 21) | def test_default_name_is_module_qualified() -> None: function test_nested_class_qualname (line 29) | def test_nested_class_qualname() -> None: function test_function_scoped_workflow_has_locals_in_name (line 42) | def test_function_scoped_workflow_has_locals_in_name() -> None: function test_explicit_name_overrides_default (line 58) | def test_explicit_name_overrides_default() -> None: FILE: packages/llama-index-workflows/tests/test_workflow_postponed_annotations.py class PostponedAnnotationsWorkflow (line 18) | class PostponedAnnotationsWorkflow(Workflow): method step1 (line 20) | async def step1(self, ev: StartEvent) -> OneTestEvent: method step2 (line 24) | async def step2(self, ev: OneTestEvent) -> StopEvent: function test_workflow_postponed_annotations (line 29) | async def test_workflow_postponed_annotations() -> None: function test_workflow_forward_reference (line 35) | async def test_workflow_forward_reference() -> None: FILE: packages/llama-index-workflows/tests/test_workflow_typed_state.py class MyState (line 12) | class MyState(BaseModel): class MyWorkflow (line 17) | class MyWorkflow(Workflow): method step (line 19) | async def step(self, ctx: Context[MyState], ev: StartEvent) -> StopEvent: function test_typed_state (line 33) | async def test_typed_state() -> None: class SomeState (line 49) | class SomeState(BaseModel): class WorkerEvent (line 53) | class WorkerEvent(Event): class ResultEvent (line 57) | class ResultEvent(Event): class GatherEvent (line 61) | class GatherEvent(Event): class ParallelWorkflow (line 65) | class ParallelWorkflow(Workflow): method init (line 67) | async def init( method worker (line 76) | async def worker(self, ctx: Context[SomeState], ev: WorkerEvent) -> Re... method gather (line 86) | async def gather( function test_typed_state_with_context_manager (line 98) | async def test_typed_state_with_context_manager() -> None: FILE: packages/llamactl/src/llama_agents/cli/__init__.py function main (line 28) | def main() -> None: FILE: packages/llamactl/src/llama_agents/cli/app.py function print_version (line 10) | def print_version(ctx: click.Context, param: click.Parameter, value: Any... function app (line 48) | def app() -> None: FILE: packages/llamactl/src/llama_agents/cli/apply_yaml.py class FieldError (line 39) | class FieldError: class UnresolvedEnvVar (line 45) | class UnresolvedEnvVar: class ApplyYamlError (line 50) | class ApplyYamlError(Exception): method __init__ (line 53) | def __init__( class UnresolvedEnvVarsError (line 65) | class UnresolvedEnvVarsError(ApplyYamlError): method __init__ (line 68) | def __init__(self, unresolved: list[UnresolvedEnvVar]) -> None: function _group_unresolved_by_path (line 90) | def _group_unresolved_by_path( function _resolve_string (line 99) | def _resolve_string( function _resolve_spec_env_vars (line 115) | def _resolve_spec_env_vars(spec: DeploymentSpec) -> DeploymentSpec: function _load_yaml_mapping (line 137) | def _load_yaml_mapping(text: str) -> dict[str, Any]: function _strip_existing_annotations (line 150) | def _strip_existing_annotations(text: str) -> str: function _path_label (line 155) | def _path_label(path: tuple[str | int, ...]) -> str: function _annotation_text (line 159) | def _annotation_text( function _key_insert_line (line 171) | def _key_insert_line(lines: list[str], key_line: int) -> int: function _index_mapping_node (line 183) | def _index_mapping_node( function _index_apply_paths (line 207) | def _index_apply_paths(text: str) -> dict[tuple[str | int, ...], int] | ... function annotate_yaml_with_errors (line 220) | def annotate_yaml_with_errors(text: str, errors: list[FieldError]) -> str: function parse_apply_yaml (line 257) | def parse_apply_yaml(text: str) -> DeploymentDisplay: function parse_delete_yaml_name (line 297) | def parse_delete_yaml_name(text: str) -> str: FILE: packages/llamactl/src/llama_agents/cli/auth/client.py class OIDCNotEnabledError (line 32) | class OIDCNotEnabledError(Exception): class OidcDiscoveryResponse (line 36) | class OidcDiscoveryResponse(BaseModel): class OidcProviderConfiguration (line 41) | class OidcProviderConfiguration(BaseModel): class JsonWebKey (line 48) | class JsonWebKey(BaseModel): class JsonWebKeySet (line 60) | class JsonWebKeySet(BaseModel): class AuthMeResponse (line 64) | class AuthMeResponse(BaseModel): class ClientContextManager (line 76) | class ClientContextManager(AsyncContextManager): method __init__ (line 77) | def __init__(self, base_url: str | None, auth: httpx.Auth | None = Non... method close (line 87) | async def close(self) -> None: method __aenter__ (line 93) | async def __aenter__(self) -> Self: method __aexit__ (line 96) | async def __aexit__( function _extract_detail (line 105) | def _extract_detail(resp: httpx.Response) -> str | None: class PlatformAuthDiscoveryClient (line 118) | class PlatformAuthDiscoveryClient(ClientContextManager): method __init__ (line 121) | def __init__(self, base_url: str) -> None: method oidc_discovery (line 124) | async def oidc_discovery(self) -> OidcDiscoveryResponse: class APIToken (line 138) | class APIToken(BaseModel): class PlatformAuthClient (line 143) | class PlatformAuthClient(ClientContextManager): method __init__ (line 146) | def __init__( method me (line 152) | async def me(self) -> AuthMeResponse: method create_agent_api_key (line 160) | async def create_agent_api_key(self, name: str) -> APIToken: method delete_api_key (line 171) | async def delete_api_key(self, id: str) -> None: class RefreshMiddleware (line 176) | class RefreshMiddleware(httpx.Auth): method __init__ (line 177) | def __init__( method _refresh_and_update (line 186) | async def _refresh_and_update(self) -> None: method async_auth_flow (line 194) | async def async_auth_flow( class DeviceAuthorizationRequest (line 211) | class DeviceAuthorizationRequest(BaseModel): class DeviceAuthorizationResponse (line 216) | class DeviceAuthorizationResponse(BaseModel): class TokenRequestDeviceCode (line 225) | class TokenRequestDeviceCode(BaseModel): class TokenResponse (line 231) | class TokenResponse(BaseModel): class TokenRequestRefresh (line 244) | class TokenRequestRefresh(BaseModel): class OIDCClient (line 250) | class OIDCClient(ClientContextManager): method __init__ (line 251) | def __init__(self) -> None: method fetch_provider_configuration (line 254) | async def fetch_provider_configuration( method device_authorization (line 261) | async def device_authorization( method token_with_device_code (line 276) | async def token_with_device_code( method token_with_refresh (line 296) | async def token_with_refresh( method get_jwks (line 314) | async def get_jwks(self, jwks_uri: str) -> JsonWebKeySet: function decode_jwt_claims_from_device_oidc (line 320) | async def decode_jwt_claims_from_device_oidc( function decode_jwt_claims (line 347) | async def decode_jwt_claims( function refresh (line 383) | async def refresh(device_oidc: DeviceOIDC) -> DeviceOIDC: FILE: packages/llamactl/src/llama_agents/cli/client.py class _AuthContext (line 21) | class _AuthContext: function _env_auth_context_or_none (line 28) | def _env_auth_context_or_none( function _profile_auth_context_or_none (line 51) | def _profile_auth_context_or_none( function _auth_context_or_none (line 69) | def _auth_context_or_none( function _warn_if_env_auth_overrides_profile (line 81) | def _warn_if_env_auth_overrides_profile(settings: LlamactlEnvSettings) -... function _warn_if_partial_env_auth (line 107) | def _warn_if_partial_env_auth(settings: LlamactlEnvSettings) -> None: function get_control_plane_client (line 127) | def get_control_plane_client() -> ControlPlaneClient: function get_project_client (line 144) | def get_project_client(project_id_override: str | None = None) -> Projec... function project_client_context (line 186) | async def project_client_context( FILE: packages/llamactl/src/llama_agents/cli/commands/agentcore.py function agentcore (line 19) | def agentcore() -> None: function run (line 25) | def run() -> None: function test (line 34) | def test() -> None: function export (line 42) | def export() -> None: function export_generated_entrypoint_code (line 46) | def export_generated_entrypoint_code() -> None: function start_app_in_target_venv (line 54) | def start_app_in_target_venv(path: Path, *, local: bool = False) -> None: function start_app (line 81) | def start_app(local: bool = False) -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/aliased_group.py class AliasedGroup (line 6) | class AliasedGroup(click.Group): method get_command (line 12) | def get_command(self, ctx: click.Context, cmd_name: str) -> click.Comm... method resolve_command (line 28) | def resolve_command( FILE: packages/llamactl/src/llama_agents/cli/commands/auth.py class NoProjectsFoundError (line 30) | class NoProjectsFoundError(Exception): class AuthGroup (line 34) | class AuthGroup(click.Group): method get_command (line 45) | def get_command(self, ctx: click.Context, cmd_name: str) -> click.Comm... function _get_service (line 57) | def _get_service() -> EnvService: function auth (line 75) | def auth() -> None: function create_api_key_profile (line 96) | def create_api_key_profile( function device_login (line 143) | def device_login() -> None: function get_profiles (line 172) | def get_profiles(name: str | None, output: str) -> None: function use_profile (line 207) | def use_profile(name: str | None) -> None: function delete_profile (line 226) | def delete_profile(name: str | None) -> None: function me (line 248) | def me() -> None: function inject_env_vars (line 284) | def inject_env_vars( function _auto_device_name (line 323) | def _auto_device_name() -> str: function _create_or_update_agent_api_key (line 339) | async def _create_or_update_agent_api_key(auth_svc: AuthService, profile... function _create_device_profile (line 387) | def _create_device_profile() -> Auth: function _run_device_authentication (line 436) | async def _run_device_authentication(base_url: str) -> DeviceOIDC: function validate_authenticated_profile (line 545) | def validate_authenticated_profile() -> Auth: function _prompt_for_api_key (line 605) | def _prompt_for_api_key() -> str: function _list_projects (line 617) | def _list_projects( function _list_organizations (line 636) | def _list_organizations( function _discover_organization (line 654) | def _discover_organization( function _prompt_validate_api_key_and_list_projects (line 670) | def _prompt_validate_api_key_and_list_projects( function _select_or_enter_project (line 693) | def _select_or_enter_project( function _token_flow_for_env (line 714) | def _token_flow_for_env(auth_service: AuthService) -> Auth: function _select_profile (line 724) | def _select_profile( FILE: packages/llamactl/src/llama_agents/cli/commands/completion.py function completion (line 25) | def completion() -> None: function _completion_source (line 29) | def _completion_source(shell: str) -> str: function generate (line 43) | def generate(shell: str) -> None: function install (line 64) | def install(shell: str | None, dry_run: bool) -> None: function _detect_shell (line 97) | def _detect_shell() -> str: function _install_bash (line 105) | def _install_bash(source: str, dry_run: bool) -> None: function _install_zsh (line 126) | def _install_zsh(source: str, dry_run: bool) -> None: function _install_fish (line 143) | def _install_fish(source: str, dry_run: bool) -> None: function _ensure_zsh_fpath (line 156) | def _ensure_zsh_fpath(zshrc: Path, dry_run: bool) -> None: function _plan_zshrc_update (line 177) | def _plan_zshrc_update(content: str) -> tuple[str, list[str]]: function _strip_managed_zsh_lines (line 222) | def _strip_managed_zsh_lines( function _first_live_compinit_index (line 251) | def _first_live_compinit_index(lines: list[str]) -> int | None: function _first_live_zfunc_fpath_index (line 258) | def _first_live_zfunc_fpath_index(lines: list[str]) -> int | None: function _is_live_compinit_line (line 268) | def _is_live_compinit_line(line: str) -> bool: function _managed_zsh_fpath_block (line 275) | def _managed_zsh_fpath_block() -> list[str]: function _ensure_source_line (line 283) | def _ensure_source_line(rc_file: Path, line: str, dry_run: bool) -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/config.py class ConfigContext (line 19) | class ConfigContext(BaseModel): function config (line 35) | def config(ctx: click.Context, output: str) -> None: function destroy_database (line 44) | def destroy_database() -> None: function show_database (line 56) | def show_database() -> None: function _build_config_context (line 62) | def _build_config_context() -> ConfigContext: function _resolve_project_name (line 76) | def _resolve_project_name(auth_svc: Any, project_id: str | None) -> str ... function _render_config_text (line 90) | def _render_config_text(context: ConfigContext) -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/deployment.py class _DeploymentIntent (line 79) | class _DeploymentIntent: class _ResolvedDeploymentOperation (line 86) | class _ResolvedDeploymentOperation: class PushFailedError (line 93) | class PushFailedError(click.ClickException): class RepositoryValidationError (line 97) | class RepositoryValidationError(click.ClickException): method __init__ (line 100) | def __init__(self, message: str, path: tuple[str | int, ...]) -> None: function _error (line 105) | def _error(path: tuple[str | int, ...], message: str) -> FieldError: function _wire_path_from_loc (line 109) | def _wire_path_from_loc( function _http_error_to_field_errors (line 131) | def _http_error_to_field_errors( function _strip_pydantic_prefix (line 162) | def _strip_pydantic_prefix(msg: str) -> str: function _validation_error_to_field_errors (line 168) | def _validation_error_to_field_errors( function _validate_dry_run_payload (line 180) | def _validate_dry_run_payload(display: DeploymentDisplay) -> None: function _repository_error_path (line 199) | def _repository_error_path( function _github_app_access_url (line 210) | def _github_app_access_url(vr: RepositoryValidationResponse) -> str | None: function _is_github_app_connect_url (line 214) | def _is_github_app_connect_url(url: str | None) -> bool: function _github_app_authorization_url (line 221) | def _github_app_authorization_url(vr: RepositoryValidationResponse) -> s... function _github_app_recovery_url (line 229) | def _github_app_recovery_url(vr: RepositoryValidationResponse) -> str | ... function _repository_validation_error_message (line 233) | def _repository_validation_error_message(vr: RepositoryValidationRespons... class _GitHubCallbackServer (line 245) | class _GitHubCallbackServer: method __init__ (line 248) | def __init__(self, port: int = 41010) -> None: method start (line 255) | async def start(self) -> None: method wait (line 273) | async def wait(self, timeout: float) -> None: method stop (line 279) | async def stop(self) -> None: method _success_html (line 289) | def _success_html(self) -> str: function _wait_for_callback_or_interval (line 302) | async def _wait_for_callback_or_interval( function _open_github_url_and_poll_access (line 319) | async def _open_github_url_and_poll_access( function _resolve_github_app_access (line 362) | async def _resolve_github_app_access( function _read_apply_input (line 414) | def _read_apply_input(filename: str) -> str: function _handle_annotated_apply_error (line 420) | def _handle_annotated_apply_error( function _format_apply_yaml_error (line 435) | def _format_apply_yaml_error(exc: ApplyYamlError) -> str: function _raise_apply_yaml_click_error (line 449) | def _raise_apply_yaml_click_error(exc: ApplyYamlError) -> NoReturn: function _new_deployment_template_yaml (line 453) | def _new_deployment_template_yaml( function _existing_deployment_template_yaml (line 525) | def _existing_deployment_template_yaml(deployment: DeploymentResponse) -... function _existing_deployment_editor_yaml (line 529) | def _existing_deployment_editor_yaml(deployment: DeploymentResponse) -> ... function _parse_deployment_yaml_text (line 533) | def _parse_deployment_yaml_text(text: str) -> DeploymentDisplay: function _push_policy_from_flags (line 537) | def _push_policy_from_flags(*, push: bool = False, no_push: bool = False... function _warn_missing_deployment_remote (line 547) | def _warn_missing_deployment_remote(deployment_id: str) -> None: function _apply_deployment_intent (line 556) | async def _apply_deployment_intent( function _apply_deployment_display (line 572) | def _apply_deployment_display( function _apply_deployment_yaml_text (line 593) | def _apply_deployment_yaml_text( function _apply_deployment_yaml_file (line 611) | def _apply_deployment_yaml_file( function _fetch_deployment_for_editor (line 637) | async def _fetch_deployment_for_editor( function _requires_file_for_editor (line 644) | def _requires_file_for_editor() -> bool: function _has_non_comment_yaml_lines (line 648) | def _has_non_comment_yaml_lines(text: str) -> bool: function _open_deployment_yaml_editor (line 655) | def _open_deployment_yaml_editor(current_text: str) -> str | None: function _editor_cancelled (line 659) | def _editor_cancelled() -> None: function _editor_text_unchanged (line 663) | def _editor_text_unchanged(current_text: str, last_opened_text: str) -> ... function _editor_noop (line 667) | def _editor_noop(mode: DeploymentApplyMode) -> None: function _editor_empty (line 674) | def _editor_empty() -> None: function _editor_comments_only (line 678) | def _editor_comments_only() -> None: function _edit_deployment_yaml_loop (line 682) | def _edit_deployment_yaml_loop( function deployments (line 725) | def deployments() -> None: function friendly_http_error (line 730) | def friendly_http_error( function _do_get (line 758) | def _do_get( function get_deployment (line 811) | def get_deployment( function list_deployments (line 831) | def list_deployments( function template_deployment (line 841) | def template_deployment() -> None: function create_deployment (line 868) | def create_deployment( function configure_git_remote_cmd (line 909) | def configure_git_remote_cmd(deployment_id: str | None, project: str | N... function delete_deployment (line 952) | def delete_deployment( function _apply_push (line 981) | def _apply_push( function _apply_push_after_save (line 1011) | def _apply_push_after_save( function _create_identity_error (line 1030) | def _create_identity_error() -> FieldError: function _create_source_error (line 1035) | def _create_source_error() -> FieldError: function _normalize_create_display (line 1040) | def _normalize_create_display(display: DeploymentDisplay) -> DeploymentD... function _validate_create_intent (line 1046) | def _validate_create_intent(display: DeploymentDisplay) -> None: function _resolve_deployment_operation (line 1059) | async def _resolve_deployment_operation( function _execute_deployment_operation (line 1120) | async def _execute_deployment_operation( function _create_conflict_error (line 1221) | def _create_conflict_error(display: DeploymentDisplay) -> ApplyYamlError: function _apply_deployment_from_yaml (line 1231) | async def _apply_deployment_from_yaml( function apply_deployment (line 1316) | def apply_deployment( function edit_deployment (line 1403) | def edit_deployment( function _push_internal_for_update (line 1450) | def _push_internal_for_update( function refresh_deployment (line 1510) | def refresh_deployment( function show_history (line 1567) | def show_history( function rollback (line 1604) | def rollback( function deployment_logs (line 1701) | def deployment_logs( function _emit_log_event (line 1744) | def _emit_log_event(ev: LogEvent, *, json_lines: bool) -> None: function _require_deployment_id (line 1760) | def _require_deployment_id( FILE: packages/llamactl/src/llama_agents/cli/commands/dev.py function dev (line 34) | def dev() -> None: function validate_command (line 61) | def validate_command(deployment_file: Path, validate_env: bool) -> None: function export_json_graph_command (line 118) | def export_json_graph_command( function run_command (line 179) | def run_command(deployment_file: Path, no_auth: bool, cmd: tuple[str, ..... function _ensure_project_layout (line 206) | def _ensure_project_layout(deployment_file: Path, *, command_name: str) ... function _prepare_environment (line 219) | def _prepare_environment( function prepare_server (line 243) | def prepare_server( function start_preflight_in_target_venv (line 263) | def start_preflight_in_target_venv( function start_export_json_graph_in_target_venv (line 278) | def start_export_json_graph_in_target_venv( function parse_environment_variables (line 293) | def parse_environment_variables( FILE: packages/llamactl/src/llama_agents/cli/commands/environments.py function _env_service (line 24) | def _env_service() -> EnvService: function environments (line 41) | def environments() -> None: function get_environments_cmd (line 49) | def get_environments_cmd(api_url: str | None, output: str) -> None: function add_environment_cmd (line 81) | def add_environment_cmd(api_url: str | None) -> None: function delete_environment_cmd (line 120) | def delete_environment_cmd(api_url: str | None) -> None: function use_environment_cmd (line 148) | def use_environment_cmd(api_url: str | None) -> None: function _get_cli_version (line 180) | def _get_cli_version() -> str | None: function _maybe_warn_min_version (line 187) | def _maybe_warn_min_version(min_required: str | None) -> None: function _select_environment (line 203) | def _select_environment( FILE: packages/llamactl/src/llama_agents/cli/commands/init.py function init (line 53) | def init( function _create (line 66) | def _create(template: str | None, dir: Path | None, force: bool) -> None: function _update (line 252) | def _update() -> None: function _copy_scaffold (line 308) | def _copy_scaffold() -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/organizations.py function organizations (line 21) | def organizations() -> None: function get_organizations (line 28) | def get_organizations(output: str) -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/pkg.py function pkg (line 25) | def pkg() -> None: function create_container_file (line 35) | def create_container_file( function _check_deployment_config (line 55) | def _check_deployment_config(deployment_file: Path) -> Path: function _create_file_for_container (line 82) | def _create_file_for_container( FILE: packages/llamactl/src/llama_agents/cli/commands/projects.py function projects (line 27) | def projects() -> None: function get_projects (line 42) | def get_projects(project_id: str | None, org_id: str | None, output: str... function use_project (line 95) | def use_project(project_id: str | None, org_id: str | None) -> None: FILE: packages/llamactl/src/llama_agents/cli/commands/serve.py function serve (line 85) | def serve( function _set_env_vars_from_profile (line 163) | def _set_env_vars_from_profile(profile: Auth) -> None: function _set_env_vars_from_env (line 169) | def _set_env_vars_from_env(env_vars: dict[str, str]) -> None: function _set_env_vars (line 178) | def _set_env_vars(key: str, url: str) -> None: function _set_project_id_from_env (line 190) | def _set_project_id_from_env(env_vars: dict[str, str]) -> None: function _set_project_id_from_profile (line 198) | def _set_project_id_from_profile(profile: Auth) -> None: function _set_project_id (line 203) | def _set_project_id(project_id: str) -> None: function _maybe_inject_llama_cloud_credentials (line 208) | def _maybe_inject_llama_cloud_credentials( function _maybe_select_project_for_env_key (line 289) | def _maybe_select_project_for_env_key() -> None: function _print_connection_summary (line 352) | def _print_connection_summary() -> None: FILE: packages/llamactl/src/llama_agents/cli/config/_config.py function _serialize_device_oidc (line 15) | def _serialize_device_oidc(value: DeviceOIDC | None) -> str | None: function _deserialize_device_oidc (line 21) | def _deserialize_device_oidc(value: str | None) -> DeviceOIDC | None: function _to_auth (line 27) | def _to_auth(row: Any) -> Auth: function _to_environment (line 39) | def _to_environment(row: Any) -> Environment: class ConfigManager (line 47) | class ConfigManager: method __init__ (line 50) | def __init__(self, init_database: bool = True): method _get_config_dir (line 57) | def _get_config_dir(self) -> Path: method _ensure_config_dir (line 64) | def _ensure_config_dir(self) -> None: method _init_database (line 68) | def _init_database(self) -> None: method destroy_database (line 78) | def destroy_database(self) -> None: method set_settings_current_profile (line 87) | def set_settings_current_profile(self, name: str | None) -> None: method get_settings_current_profile_name (line 102) | def get_settings_current_profile_name(self) -> str | None: method set_settings_current_environment (line 111) | def set_settings_current_environment(self, api_url: str) -> None: method create_profile (line 124) | def create_profile( method get_current_profile (line 168) | def get_current_profile(self, env_url: str) -> Auth | None: method get_current_environment (line 175) | def get_current_environment(self) -> Environment: method get_profile (line 202) | def get_profile(self, name: str, env_url: str) -> Auth | None: method get_profile_by_id (line 213) | def get_profile_by_id(self, id: str) -> Auth | None: method get_profile_by_api_key (line 224) | def get_profile_by_api_key(self, env_url: str, api_key: str) -> Auth |... method get_profile_by_device_user_id (line 240) | def get_profile_by_device_user_id(self, env_url: str, user_id: str) ->... method list_profiles (line 256) | def list_profiles(self, env_url: str) -> list[Auth]: method delete_profile (line 267) | def delete_profile(self, name: str, env_url: str) -> bool: method set_project (line 281) | def set_project(self, profile_name: str, env_url: str, project_id: str... method update_profile (line 291) | def update_profile(self, profile: Auth) -> None: method create_or_update_environment (line 311) | def create_or_update_environment( method get_environment (line 322) | def get_environment(self, api_url: str) -> Environment | None: method list_environments (line 333) | def list_environments(self) -> list[Environment]: method delete_environment (line 346) | def delete_environment(self, api_url: str) -> bool: function config_manager (line 384) | def config_manager() -> ConfigManager: FILE: packages/llamactl/src/llama_agents/cli/config/_migrations.py function _lock_file_unix (line 24) | def _lock_file_unix(fd: int) -> None: function _unlock_file_unix (line 31) | def _unlock_file_unix(fd: int) -> None: function _file_lock (line 39) | def _file_lock(lock_path: Path) -> Generator[None, None, None]: function _iter_migration_files (line 60) | def _iter_migration_files() -> list[Any]: function _parse_target_version (line 70) | def _parse_target_version(sql_text: str) -> int | None: function _apply_pending_migrations (line 77) | def _apply_pending_migrations(conn: sqlite3.Connection) -> None: function run_migrations (line 103) | def run_migrations(conn: sqlite3.Connection, db_path: Path | None = None... FILE: packages/llamactl/src/llama_agents/cli/config/auth_service.py class AuthService (line 12) | class AuthService: method __init__ (line 13) | def __init__(self, config_manager: ConfigManager, env: Environment): method list_profiles (line 17) | def list_profiles(self) -> list[Auth]: method get_profile (line 20) | def get_profile(self, name: str) -> Auth | None: method get_profile_by_id (line 23) | def get_profile_by_id(self, id: str) -> Auth | None: method set_current_profile (line 26) | def set_current_profile(self, name: str) -> None: method select_any_profile (line 29) | def select_any_profile(self) -> None: method get_current_profile (line 35) | def get_current_profile(self) -> Auth | None: method create_profile_from_token (line 38) | def create_profile_from_token(self, project_id: str, api_key: str | No... method create_or_update_profile_from_oidc (line 46) | def create_or_update_profile_from_oidc( method update_profile (line 64) | def update_profile(self, profile: Auth) -> None: method delete_profile (line 67) | async def delete_profile(self, name: str) -> bool: method set_project (line 77) | def set_project(self, name: str, project_id: str) -> None: method fetch_server_version (line 80) | def fetch_server_version(self) -> VersionResponse: method _validate_token_and_list_projects (line 88) | def _validate_token_and_list_projects(self, api_key: str) -> list[Proj... method auth_middleware (line 95) | def auth_middleware(self, profile: Auth | None = None) -> httpx.Auth |... method refresh_to_db (line 110) | def refresh_to_db(self, profile_id: str, device_oidc: DeviceOIDC) -> N... method profile_client (line 116) | def profile_client(self, profile: Auth | None = None) -> PlatformAuthC... function _auto_profile_name_from_token (line 125) | def _auto_profile_name_from_token(api_key: str) -> str: FILE: packages/llamactl/src/llama_agents/cli/config/env_service.py class EnvService (line 10) | class EnvService: method __init__ (line 11) | def __init__(self, config_manager: Callable[[], ConfigManager]): method list_environments (line 14) | def list_environments(self) -> list[Environment]: method get_current_environment (line 17) | def get_current_environment(self) -> Environment: method switch_environment (line 20) | def switch_environment(self, api_url: str) -> Environment: method create_or_update_environment (line 30) | def create_or_update_environment(self, env: Environment) -> None: method delete_environment (line 37) | def delete_environment(self, api_url: str) -> bool: method current_auth_service (line 40) | def current_auth_service(self) -> AuthService: method auto_update_env (line 43) | def auto_update_env(self, env: Environment) -> Environment: method probe_environment (line 61) | def probe_environment(self, api_url: str) -> Environment: FILE: packages/llamactl/src/llama_agents/cli/config/migrations/0001_init.sql type profiles (line 5) | CREATE TABLE IF NOT EXISTS profiles ( type settings (line 13) | CREATE TABLE IF NOT EXISTS settings ( type environments (line 18) | CREATE TABLE IF NOT EXISTS environments ( FILE: packages/llamactl/src/llama_agents/cli/config/migrations/0002_add_auth_fields.sql type idx_profiles_id (line 22) | CREATE UNIQUE INDEX IF NOT EXISTS idx_profiles_id ON profiles(id) FILE: packages/llamactl/src/llama_agents/cli/config/schema.py class Auth (line 9) | class Auth: class DeviceOIDC (line 23) | class DeviceOIDC(BaseModel): class Environment (line 45) | class Environment: FILE: packages/llamactl/src/llama_agents/cli/debug.py function setup_file_logging (line 4) | def setup_file_logging( FILE: packages/llamactl/src/llama_agents/cli/display.py function strip_masks (line 49) | def strip_masks(spec_data: dict[str, Any]) -> dict[str, Any]: class Doc (line 73) | class Doc: class TrailingDoc (line 92) | class TrailingDoc: class Column (line 99) | class Column: class ResolvedColumn (line 122) | class ResolvedColumn: function _is_basemodel (line 129) | def _is_basemodel(tp: Any) -> bool: function _unwrap_optional_model (line 133) | def _unwrap_optional_model(annotation: Any) -> type[BaseModel] | None: function resolve_columns (line 148) | def resolve_columns(model_cls: type[BaseModel]) -> tuple[ResolvedColumn,... function _walk (line 165) | def _walk(model_cls: type[BaseModel], prefix: tuple[str, ...]) -> list[R... function _extract_cell (line 183) | def _extract_cell(row: BaseModel, column: ResolvedColumn) -> str: function render_columns (line 196) | def render_columns( class DeploymentSpec (line 231) | class DeploymentSpec(BaseModel): method as_redacted (line 291) | def as_redacted(self) -> DeploymentSpec: class DeploymentStatus (line 304) | class DeploymentStatus(BaseModel): class PayloadError (line 328) | class PayloadError(ValueError): method __init__ (line 331) | def __init__(self, message: str, path: tuple[str | int, ...]) -> None: class DeploymentDisplay (line 336) | class DeploymentDisplay(BaseModel): method from_response (line 366) | def from_response(cls, r: DeploymentResponse) -> DeploymentDisplay: method to_output_dict (line 391) | def to_output_dict(self) -> dict[str, Any]: method without_mask_sentinels (line 410) | def without_mask_sentinels(self) -> DeploymentDisplay: method to_create_payload (line 421) | def to_create_payload(self) -> DeploymentCreate: method to_update_payload (line 460) | def to_update_payload(self) -> DeploymentUpdate: class ReleaseDisplay (line 484) | class ReleaseDisplay(BaseModel): method from_response (line 494) | def from_response(cls, item: ReleaseHistoryItem) -> ReleaseDisplay: function _yes_no (line 502) | def _yes_no(value: bool) -> str: class AuthProfileDisplay (line 506) | class AuthProfileDisplay(BaseModel): method from_profile (line 521) | def from_profile( class EnvDisplay (line 539) | class EnvDisplay(BaseModel): method from_environment (line 553) | def from_environment(cls, env: Any, *, current_url: str | None) -> Env... class OrgDisplay (line 561) | class OrgDisplay(BaseModel): method from_org_summary (line 572) | def from_org_summary( method to_output_dict (line 582) | def to_output_dict(self) -> dict[str, Any]: class ProjectDisplay (line 591) | class ProjectDisplay(BaseModel): method from_project_summary (line 602) | def from_project_summary( method to_output_dict (line 612) | def to_output_dict(self) -> dict[str, Any]: FILE: packages/llamactl/src/llama_agents/cli/env.py function load_env_secrets_from_string (line 10) | def load_env_secrets_from_string(env_content: str) -> Dict[str, str]: FILE: packages/llamactl/src/llama_agents/cli/env_settings.py class LlamactlEnvSettings (line 12) | class LlamactlEnvSettings(BaseSettings): method _empty_string_is_unset (line 26) | def _empty_string_is_unset(cls, value: Any) -> Any: method _empty_base_url_uses_default (line 33) | def _empty_base_url_uses_default(cls, value: Any) -> Any: method normalized_base_url (line 39) | def normalized_base_url(self) -> str: method has_complete_cloud_auth (line 43) | def has_complete_cloud_auth(self) -> bool: method has_cloud_connection_summary (line 47) | def has_cloud_connection_summary(self) -> bool: method completion_active (line 55) | def completion_active(self) -> bool: method cloud_auth_disabled (line 59) | def cloud_auth_disabled(self) -> bool: function read_env_settings (line 63) | def read_env_settings() -> LlamactlEnvSettings: FILE: packages/llamactl/src/llama_agents/cli/interactive.py function is_interactive_session (line 17) | def is_interactive_session() -> bool: function _raise_non_interactive (line 28) | def _raise_non_interactive( function require_or_list_choices (line 46) | def require_or_list_choices( function _blessed_select (line 66) | def _blessed_select(labels: list[str], title: str, selected: int = 0) ->... function select_or_exit (line 180) | def select_or_exit( FILE: packages/llamactl/src/llama_agents/cli/local_context.py class LocalContext (line 36) | class LocalContext: function gather_local_context (line 54) | def gather_local_context() -> LocalContext: function pick_preferred_remote (line 109) | def pick_preferred_remote(remotes: list[str]) -> str | None: function normalize_git_url_to_http (line 123) | def normalize_git_url_to_http(url: str) -> str: FILE: packages/llamactl/src/llama_agents/cli/log_format.py class ParsedLogBody (line 28) | class ParsedLogBody: function parse_log_body (line 45) | def parse_log_body(line: str) -> ParsedLogBody: function trim_timestamp (line 76) | def trim_timestamp(ts: str) -> str: function render_plain (line 85) | def render_plain(parsed: ParsedLogBody) -> str: FILE: packages/llamactl/src/llama_agents/cli/options.py function global_options (line 17) | def global_options(f: Callable[P, R]) -> Callable[P, R]: function _output_option (line 32) | def _output_option( function output_option (line 47) | def output_option(f: Callable[P, R]) -> Callable[P, R]: function simple_output_option (line 58) | def simple_output_option(f: Callable[P, R]) -> Callable[P, R]: function output_option_with_template (line 72) | def output_option_with_template(f: Callable[P, R]) -> Callable[P, R]: function project_option (line 90) | def project_option(f: Callable[P, R]) -> Callable[P, R]: function render_output (line 107) | def render_output( function native_tls_option (line 186) | def native_tls_option(f: Callable[P, R]) -> Callable[P, R]: function file_logging (line 216) | def file_logging(f: Callable[P, R]) -> Callable[P, R]: FILE: packages/llamactl/src/llama_agents/cli/output.py function status (line 10) | def status(message: Any = "", *, nl: bool = True) -> None: function warning (line 15) | def warning(message: Any, *, nl: bool = True) -> None: FILE: packages/llamactl/src/llama_agents/cli/param_types.py function _safe_fetch (line 14) | def _safe_fetch(fn: Any, timeout: float = 2.0) -> list[Any]: function _fetch_deployments (line 26) | def _fetch_deployments( function _fetch_projects (line 36) | def _fetch_projects() -> list[CompletionItem]: function _fetch_organizations (line 50) | def _fetch_organizations() -> list[CompletionItem]: function _fetch_deployment_history (line 64) | def _fetch_deployment_history( function _filter (line 81) | def _filter(items: list[CompletionItem], incomplete: str) -> list[Comple... class DeploymentType (line 86) | class DeploymentType(click.ParamType): method shell_complete (line 89) | def shell_complete( class ProfileType (line 99) | class ProfileType(click.ParamType): method shell_complete (line 102) | def shell_complete( class ProjectType (line 115) | class ProjectType(click.ParamType): method shell_complete (line 118) | def shell_complete( class OrgType (line 124) | class OrgType(click.ParamType): method shell_complete (line 127) | def shell_complete( class EnvironmentType (line 133) | class EnvironmentType(click.ParamType): method shell_complete (line 136) | def shell_complete( class TemplateType (line 155) | class TemplateType(click.ParamType): method shell_complete (line 158) | def shell_complete( class GitShaType (line 167) | class GitShaType(click.ParamType): method shell_complete (line 170) | def shell_complete( FILE: packages/llamactl/src/llama_agents/cli/paths.py function resolve_llamactl_config_dir (line 9) | def resolve_llamactl_config_dir() -> Path: function bash_completion_dir (line 24) | def bash_completion_dir(home: Path | None = None) -> Path: function bash_rc_path (line 33) | def bash_rc_path(home: Path | None = None) -> Path: function zsh_completion_dir (line 37) | def zsh_completion_dir(home: Path | None = None) -> Path: function zsh_rc_path (line 41) | def zsh_rc_path(home: Path | None = None) -> Path: function fish_completion_dir (line 45) | def fish_completion_dir(home: Path | None = None) -> Path: FILE: packages/llamactl/src/llama_agents/cli/pkg/options.py function _deployment_file_option (line 14) | def _deployment_file_option(f: Callable[P, R]) -> Callable[P, R]: function _python_version_option (line 23) | def _python_version_option(f: Callable[P, R]) -> Callable[P, R]: function _port_option (line 32) | def _port_option(f: Callable[P, R]) -> Callable[P, R]: function _dockerignore_path_option (line 42) | def _dockerignore_path_option(f: Callable[P, R]) -> Callable[P, R]: function _output_file_option (line 51) | def _output_file_option(f: Callable[P, R]) -> Callable[P, R]: function _overwrite_option (line 60) | def _overwrite_option(f: Callable[P, R]) -> Callable[P, R]: function _exclude_option (line 68) | def _exclude_option(f: Callable[P, R]) -> Callable[P, R]: function pkg_container_options (line 78) | def pkg_container_options(f: Callable[P, R]) -> Callable[P, R]: FILE: packages/llamactl/src/llama_agents/cli/pkg/utils.py function _get_min_py_version (line 6) | def _get_min_py_version(requires_python: str) -> str: function infer_python_version (line 17) | def infer_python_version(config_dir: Path) -> str: function build_dockerfile_content (line 29) | def build_dockerfile_content( FILE: packages/llamactl/src/llama_agents/cli/render.py function gh_short (line 19) | def gh_short(repo_url: str) -> str: function short_sha (line 29) | def short_sha(sha: str) -> str: function star_marker (line 37) | def star_marker(active: bool) -> str: function format_iso_z (line 45) | def format_iso_z(dt: datetime) -> str: function render_table (line 61) | def render_table( FILE: packages/llamactl/src/llama_agents/cli/templates.py class GithubTemplateRepo (line 9) | class GithubTemplateRepo: class TemplateOption (line 14) | class TemplateOption: FILE: packages/llamactl/src/llama_agents/cli/utils/capabilities.py function _probe_capability (line 12) | def _probe_capability(capability: str) -> bool | None: function probe_code_push_support (line 29) | def probe_code_push_support() -> bool | None: function probe_organizations_support (line 37) | def probe_organizations_support() -> bool | None: FILE: packages/llamactl/src/llama_agents/cli/utils/env_inject.py function env_vars_from_profile (line 8) | def env_vars_from_profile(profile: Auth) -> Dict[str, str]: FILE: packages/llamactl/src/llama_agents/cli/utils/git_push.py function _git_remote_name (line 10) | def _git_remote_name(deployment_id: str) -> str: function has_deployment_git_remote (line 14) | def has_deployment_git_remote(deployment_id: str) -> bool: function get_deployment_git_url (line 23) | def get_deployment_git_url(base_url: str, deployment_id: str) -> str: function get_api_key (line 29) | def get_api_key() -> str | None: function _set_extra_headers (line 46) | def _set_extra_headers(git_url: str, api_key: str | None, project_id: st... function configure_git_remote (line 67) | def configure_git_remote( function push_to_remote (line 97) | def push_to_remote( function git_ref_exists (line 113) | def git_ref_exists(ref_name: str) -> bool: function internal_push_refspec (line 121) | def internal_push_refspec(git_ref: str | None) -> tuple[str, str]: FILE: packages/llamactl/src/llama_agents/cli/utils/redact.py function redact_api_key (line 4) | def redact_api_key( FILE: packages/llamactl/src/llama_agents/cli/utils/retry.py function _is_transient_httpx_error (line 17) | def _is_transient_httpx_error(exc: BaseException) -> bool: function _is_connect_phase_error (line 29) | def _is_connect_phase_error(exc: BaseException) -> bool: function run_with_network_retries (line 44) | async def run_with_network_retries( FILE: packages/llamactl/src/llama_agents/cli/utils/version.py function get_installed_appserver_version (line 6) | def get_installed_appserver_version() -> str | None: FILE: packages/llamactl/src/llama_agents/cli/yaml_template.py function render (line 77) | def render( function _emit_set_field (line 179) | def _emit_set_field( function _emit_unset_field (line 208) | def _emit_unset_field(out: list[str], fname: str, finfo: FieldInfo) -> N... function _doc_lines (line 224) | def _doc_lines(docs: Iterable[str], *, indent: str) -> list[str]: function _docs (line 229) | def _docs(info: FieldInfo | None) -> tuple[str, ...]: function _trailing_doc (line 239) | def _trailing_doc(info: FieldInfo | None) -> str | None: function _required_docs (line 249) | def _required_docs(docs: tuple[str, ...]) -> tuple[str, ...]: function _one_line (line 254) | def _one_line(value: str | None) -> str | None: function _with_trailing (line 260) | def _with_trailing(line: str, note: str | None, *, align: bool = True) -... function _scalar (line 268) | def _scalar(value: Any) -> str: FILE: packages/llamactl/tests/conftest.py function pytest_sessionfinish (line 55) | def pytest_sessionfinish(session: pytest.Session, exitstatus: pytest.Exi... function make_deployment (line 62) | def make_deployment( function make_loop_bound_project_client (line 82) | def make_loop_bound_project_client( function clear_llama_cloud_env (line 145) | def clear_llama_cloud_env(monkeypatch: pytest.MonkeyPatch) -> None: function set_llama_cloud_env (line 150) | def set_llama_cloud_env( function patch_project_client (line 172) | def patch_project_client(client_mock: MagicMock) -> Any: function fake_profile (line 181) | def fake_profile() -> SimpleNamespace: function patched_auth (line 192) | def patched_auth(fake_profile: SimpleNamespace) -> Any: FILE: packages/llamactl/tests/test_apply_yaml.py function _yaml_with_spec (line 32) | def _yaml_with_spec(**spec_fields: object) -> str: function test_spec_fields_covers_deployment_spec (line 49) | def test_spec_fields_covers_deployment_spec() -> None: function test_parse_basic_name_and_repo (line 60) | def test_parse_basic_name_and_repo() -> None: function test_parse_drops_status_key (line 66) | def test_parse_drops_status_key() -> None: function test_parse_unknown_spec_field_raises (line 81) | def test_parse_unknown_spec_field_raises() -> None: function test_parse_unknown_spec_field_rebuild_raises (line 92) | def test_parse_unknown_spec_field_rebuild_raises() -> None: function test_env_var_resolves (line 108) | def test_env_var_resolves(monkeypatch: pytest.MonkeyPatch) -> None: function test_env_var_multiple_in_one_string (line 119) | def test_env_var_multiple_in_one_string(monkeypatch: pytest.MonkeyPatch)... function test_env_var_missing_raises (line 131) | def test_env_var_missing_raises(monkeypatch: pytest.MonkeyPatch) -> None: function test_env_var_multiple_missing_listed (line 143) | def test_env_var_multiple_missing_listed(monkeypatch: pytest.MonkeyPatch... function test_env_var_missing_reports_all_paths (line 157) | def test_env_var_missing_reports_all_paths(monkeypatch: pytest.MonkeyPat... function test_env_var_in_unknown_field_is_not_resolved (line 179) | def test_env_var_in_unknown_field_is_not_resolved( function test_env_var_in_non_string_field_is_not_resolved (line 193) | def test_env_var_in_non_string_field_is_not_resolved( function test_env_var_in_secrets (line 207) | def test_env_var_in_secrets(monkeypatch: pytest.MonkeyPatch) -> None: function test_mask_pat_stripped (line 226) | def test_mask_pat_stripped() -> None: function test_mask_secret_entry_stripped (line 238) | def test_mask_secret_entry_stripped() -> None: function test_mask_partial_secrets (line 251) | def test_mask_partial_secrets() -> None: function test_null_pat_preserved (line 271) | def test_null_pat_preserved() -> None: function test_null_secret_value_preserved (line 283) | def test_null_secret_value_preserved() -> None: function test_generate_name_snake_case (line 301) | def test_generate_name_snake_case() -> None: function test_delete_returns_name (line 316) | def test_delete_returns_name() -> None: function test_delete_missing_name_raises (line 325) | def test_delete_missing_name_raises() -> None: function test_delete_non_string_name_raises (line 334) | def test_delete_non_string_name_raises() -> None: function test_delete_ignores_other_fields_no_env_resolution (line 342) | def test_delete_ignores_other_fields_no_env_resolution( function test_validation_error_includes_spec_prefix (line 362) | def test_validation_error_includes_spec_prefix() -> None: function _field_error (line 378) | def _field_error(path: tuple[str | int, ...], message: str) -> FieldError: function test_annotate_top_level_field (line 382) | def test_annotate_top_level_field() -> None: function test_annotate_spec_field_above_doc_block (line 392) | def test_annotate_spec_field_above_doc_block() -> None: function test_annotate_secret_path_preserves_indentation (line 409) | def test_annotate_secret_path_preserves_indentation() -> None: function test_annotate_multiple_errors_same_field_preserves_order (line 424) | def test_annotate_multiple_errors_same_field_preserves_order() -> None: function test_annotate_unresolved_path_prepends_with_path (line 440) | def test_annotate_unresolved_path_prepends_with_path() -> None: function test_annotate_is_idempotent_for_existing_error_lines (line 450) | def test_annotate_is_idempotent_for_existing_error_lines() -> None: function test_annotate_preserves_template_docs_that_are_not_errors (line 471) | def test_annotate_preserves_template_docs_that_are_not_errors() -> None: function test_annotate_syntax_error_falls_back_to_file_level (line 483) | def test_annotate_syntax_error_falls_back_to_file_level() -> None: function test_annotate_multiline_error_comments_every_line (line 491) | def test_annotate_multiline_error_comments_every_line() -> None: function test_annotate_multiline_error_is_idempotent (line 506) | def test_annotate_multiline_error_is_idempotent() -> None: function test_annotate_non_mapping_falls_back_to_file_level (line 517) | def test_annotate_non_mapping_falls_back_to_file_level() -> None: FILE: packages/llamactl/tests/test_auth_cli.py function test_auth_create_api_key_profile_non_interactive_validation (line 12) | def test_auth_create_api_key_profile_non_interactive_validation() -> None: function test_auth_create_api_key_profile_non_interactive_success (line 24) | def test_auth_create_api_key_profile_non_interactive_success() -> None: function test_auth_create_api_key_profile_project_id_alias (line 53) | def test_auth_create_api_key_profile_project_id_alias() -> None: function test_auth_get_profiles_no_profiles (line 83) | def test_auth_get_profiles_no_profiles() -> None: function test_auth_use_profile_success_and_missing (line 95) | def test_auth_use_profile_success_and_missing() -> None: function test_auth_use_non_interactive_lists_profiles_and_hints (line 118) | def test_auth_use_non_interactive_lists_profiles_and_hints() -> None: function test_removed_auth_commands_show_rename_hints (line 136) | def test_removed_auth_commands_show_rename_hints() -> None: function test_auth_get_does_not_offer_wide_output (line 152) | def test_auth_get_does_not_offer_wide_output() -> None: function test_auth_logout_existing (line 158) | def test_auth_logout_existing() -> None: function test_auth_logout_missing (line 172) | def test_auth_logout_missing() -> None: function test_projects_use_validates_across_all_orgs (line 184) | def test_projects_use_validates_across_all_orgs() -> None: function test_projects_use_non_interactive_lists_options_and_hints (line 220) | def test_projects_use_non_interactive_lists_options_and_hints() -> None: function test_projects_use_interactive_sets_selected (line 251) | def test_projects_use_interactive_sets_selected() -> None: function test_create_or_update_agent_api_key_does_not_retry_read_timeout (line 280) | async def test_create_or_update_agent_api_key_does_not_retry_read_timeou... function test_create_or_update_agent_api_key_retries_connect_error (line 315) | async def test_create_or_update_agent_api_key_retries_connect_error() ->... FILE: packages/llamactl/tests/test_auth_inject.py function test_auth_inject_writes_env_file (line 10) | def test_auth_inject_writes_env_file(tmp_path: Path, monkeypatch: Monkey... FILE: packages/llamactl/tests/test_auth_login.py function _make_fake_device_oidc (line 17) | def _make_fake_device_oidc() -> SimpleNamespace: function _make_fake_auth_profile (line 30) | def _make_fake_auth_profile() -> SimpleNamespace: function test_create_device_profile_cleans_up_on_api_key_failure (line 42) | def test_create_device_profile_cleans_up_on_api_key_failure() -> None: function test_oidc_discovery_translates_disabled_400_to_typed_error (line 83) | async def test_oidc_discovery_translates_disabled_400_to_typed_error() -... function test_device_login_suggests_token_when_oidc_disabled (line 101) | def test_device_login_suggests_token_when_oidc_disabled() -> None: FILE: packages/llamactl/tests/test_auth_validate.py class DummyProfile (line 11) | class DummyProfile: method __init__ (line 12) | def __init__(self, name: str): function test_validate_authenticated_profile_returns_current_when_present (line 16) | def test_validate_authenticated_profile_returns_current_when_present() -... function test_validate_authenticated_profile_raises_when_non_interactive_and_missing (line 26) | def test_validate_authenticated_profile_raises_when_non_interactive_and_... function test_validate_authenticated_profile_interactive_multiple_profiles_selects (line 40) | def test_validate_authenticated_profile_interactive_multiple_profiles_se... function test_validate_authenticated_profile_interactive_multiple_profiles_none_selected (line 57) | def test_validate_authenticated_profile_interactive_multiple_profiles_no... function test_validate_authenticated_profile_interactive_single_profile_sets_current (line 77) | def test_validate_authenticated_profile_interactive_single_profile_sets_... function test_validate_authenticated_profile_interactive_no_profiles_and_no_auth_cancel (line 94) | def test_validate_authenticated_profile_interactive_no_profiles_and_no_a... FILE: packages/llamactl/tests/test_cli_imports.py function test_llamactl_help_does_not_import_heavy_modules (line 6) | def test_llamactl_help_does_not_import_heavy_modules() -> None: FILE: packages/llamactl/tests/test_cli_options.py class ClickDecorated (line 14) | class ClickDecorated(Protocol): function clean_env (line 19) | def clean_env(monkeypatch: pytest.MonkeyPatch) -> None: function test_native_tls_option_sets_env_vars (line 26) | def test_native_tls_option_sets_env_vars(monkeypatch: pytest.MonkeyPatch... function test_native_tls_option_preserves_existing_env_vars (line 44) | def test_native_tls_option_preserves_existing_env_vars( function test_native_tls_option_from_envvar (line 80) | def test_native_tls_option_from_envvar(monkeypatch: pytest.MonkeyPatch) ... FILE: packages/llamactl/tests/test_client_ssl_integration.py function clean_env (line 11) | def clean_env(monkeypatch: pytest.MonkeyPatch) -> None: function test_manage_client_uses_ssl_context (line 17) | async def test_manage_client_uses_ssl_context(monkeypatch: pytest.Monkey... function test_manage_client_uses_default_verify (line 41) | async def test_manage_client_uses_default_verify() -> None: function test_auth_client_uses_ssl_context (line 59) | async def test_auth_client_uses_ssl_context(monkeypatch: pytest.MonkeyPa... function test_auth_client_uses_default_verify (line 80) | async def test_auth_client_uses_default_verify() -> None: FILE: packages/llamactl/tests/test_commands_core.py function clean_env_var_auth_state (line 29) | def clean_env_var_auth_state(monkeypatch: pytest.MonkeyPatch) -> None: function _profile (line 34) | def _profile( function _set_current_profile (line 50) | def _set_current_profile( function _close_client (line 69) | def _close_client(client: Any) -> None: function test_deployment_project_resolution (line 73) | def test_deployment_project_resolution() -> None: function test_client_requires_profile_with_project (line 88) | def test_client_requires_profile_with_project() -> None: function test_client_requires_valid_profile (line 102) | def test_client_requires_valid_profile(monkeypatch: pytest.MonkeyPatch) ... function test_interactive_project_client_authenticates_and_retries (line 113) | def test_interactive_project_client_authenticates_and_retries( function test_env_var_project_client_uses_default_base_url_and_api_key (line 141) | def test_env_var_project_client_uses_default_base_url_and_api_key( function test_env_var_control_plane_client_strips_base_url_and_uses_api_key (line 156) | def test_env_var_control_plane_client_strips_base_url_and_uses_api_key( function test_incomplete_env_var_project_client_falls_back_to_profile_with_warning (line 175) | def test_incomplete_env_var_project_client_falls_back_to_profile_with_wa... function test_incomplete_env_var_control_plane_client_falls_back_to_profile_with_warning (line 201) | def test_incomplete_env_var_control_plane_client_falls_back_to_profile_w... function test_incomplete_env_var_project_client_without_profile_warns_and_exits (line 226) | def test_incomplete_env_var_project_client_without_profile_warns_and_exits( function test_env_var_project_override_wins_over_env_project_id (line 240) | def test_env_var_project_override_wins_over_env_project_id( function test_env_var_use_profile_falls_through_to_profile_path (line 254) | def test_env_var_use_profile_falls_through_to_profile_path( function test_env_var_override_warning_fires_once_with_active_profile (line 283) | def test_env_var_override_warning_fires_once_with_active_profile( function test_env_var_override_warning_does_not_fire_without_profile (line 299) | def test_env_var_override_warning_does_not_fire_without_profile( function test_partial_env_warning_fires_once_across_calls (line 313) | def test_partial_env_warning_fires_once_across_calls( function test_partial_env_warning_suppressed_under_completion (line 336) | def test_partial_env_warning_suppressed_under_completion( function test_env_var_override_warning_does_not_fire_under_completion (line 357) | def test_env_var_override_warning_does_not_fire_under_completion( FILE: packages/llamactl/tests/test_completion_commands.py function _first_matching_line_index (line 19) | def _first_matching_line_index(lines: list[str], predicate: str) -> int: function _invoke_zsh_install (line 26) | def _invoke_zsh_install(home: Path, monkeypatch: pytest.MonkeyPatch) -> ... function test_completion_generate_zsh (line 33) | def test_completion_generate_zsh() -> None: function test_completion_generate_bash (line 40) | def test_completion_generate_bash() -> None: function test_completion_generate_fish (line 47) | def test_completion_generate_fish() -> None: function test_completion_generate_invalid_shell (line 54) | def test_completion_generate_invalid_shell() -> None: function test_completion_install_dry_run (line 60) | def test_completion_install_dry_run() -> None: function test_completion_install_dry_run_bash (line 69) | def test_completion_install_dry_run_bash() -> None: function test_completion_install_dry_run_fish (line 78) | def test_completion_install_dry_run_fish() -> None: function test_completion_install_zsh_repairs_ordered_completion_block (line 87) | def test_completion_install_zsh_repairs_ordered_completion_block( function test_completion_install_zsh_bootstraps_compinit_when_missing (line 111) | def test_completion_install_zsh_bootstraps_compinit_when_missing( function test_completion_group_help (line 133) | def test_completion_group_help() -> None: function test_completion_safe_fetch_handles_env_api_key_without_project_id (line 141) | def test_completion_safe_fetch_handles_env_api_key_without_project_id( function test_completion_safe_fetch_incomplete_env_auth_uses_active_profile (line 165) | def test_completion_safe_fetch_incomplete_env_auth_uses_active_profile( FILE: packages/llamactl/tests/test_config.py function temp_config (line 17) | def temp_config() -> Generator[ConfigManager, None, None]: function test_create_profile (line 29) | def test_create_profile(temp_config: ConfigManager) -> None: function test_profile_migration (line 70) | def test_profile_migration(temp_config: ConfigManager) -> None: function test_project_management (line 117) | def test_project_management(temp_config: ConfigManager) -> None: function test_environments_table_and_default_current_environment (line 163) | def test_environments_table_and_default_current_environment( function test_environment_seed_from_profiles_migration (line 193) | def test_environment_seed_from_profiles_migration(temp_config: ConfigMan... function test_environment_methods_and_current_behavior (line 244) | def test_environment_methods_and_current_behavior(temp_config: ConfigMan... function test_config_manager_honors_llamactl_config_dir_override (line 276) | def test_config_manager_honors_llamactl_config_dir_override( function test_config_manager_uses_xdg_config_home_on_unix (line 289) | def test_config_manager_uses_xdg_config_home_on_unix( function test_config_manager_defaults_to_dot_config_on_unix (line 305) | def test_config_manager_defaults_to_dot_config_on_unix( FILE: packages/llamactl/tests/test_config_cli.py function test_config_text_shows_current_context (line 14) | def test_config_text_shows_current_context() -> None: function test_config_json_shows_none_values_without_error (line 39) | def test_config_json_shows_none_values_without_error() -> None: function test_config_does_not_offer_wide_output (line 61) | def test_config_does_not_offer_wide_output() -> None: function test_config_hidden_debug_commands (line 67) | def test_config_hidden_debug_commands() -> None: FILE: packages/llamactl/tests/test_config_extras.py function test_delete_environment_cascades_and_resets_current (line 10) | def test_delete_environment_cascades_and_resets_current() -> None: function test_get_current_environment_fallback_when_missing_row (line 35) | def test_get_current_environment_fallback_when_missing_row() -> None: FILE: packages/llamactl/tests/test_deployment_update_refs.py function test_internal_push_refspec_defaults_to_main (line 7) | def test_internal_push_refspec_defaults_to_main() -> None: function test_internal_push_refspec_uses_private_pin_for_commit_sha (line 11) | def test_internal_push_refspec_uses_private_pin_for_commit_sha() -> None: function test_internal_push_refspec_prefers_existing_branch (line 16) | def test_internal_push_refspec_prefers_existing_branch( function test_internal_push_refspec_uses_existing_tag_when_branch_missing (line 29) | def test_internal_push_refspec_uses_existing_tag_when_branch_missing( function test_internal_push_refspec_preserves_explicit_refs (line 42) | def test_internal_push_refspec_preserves_explicit_refs() -> None: FILE: packages/llamactl/tests/test_deployments_apply_cmd.py function _http_404 (line 39) | def _http_404(deployment_id: str = "unknown") -> httpx.HTTPStatusError: function _http_409 (line 47) | def _http_409() -> httpx.HTTPStatusError: function _http_422_detail (line 55) | def _http_422_detail(detail: list[dict[str, Any]]) -> httpx.HTTPStatusEr... function _apply_client_mock (line 61) | def _apply_client_mock( function _patch_no_profile_auth (line 113) | def _patch_no_profile_auth(monkeypatch: pytest.MonkeyPatch) -> None: function _repository_validation_response (line 151) | def _repository_validation_response( class _FakeGitHubCallbackServer (line 169) | class _FakeGitHubCallbackServer: method start (line 170) | async def start(self) -> None: method wait (line 173) | async def wait(self, timeout: float) -> None: method stop (line 176) | async def stop(self) -> None: function test_apply_creates_when_not_found (line 180) | def test_apply_creates_when_not_found(patched_auth: Any, tmp_path: Any) ... function test_apply_uses_complete_env_auth_without_profile (line 195) | def test_apply_uses_complete_env_auth_without_profile( function test_apply_updates_when_exists (line 218) | def test_apply_updates_when_exists(patched_auth: Any, tmp_path: Any) -> ... function test_apply_update_uses_one_event_loop (line 236) | def test_apply_update_uses_one_event_loop(patched_auth: Any, tmp_path: A... function test_apply_reads_stdin (line 250) | def test_apply_reads_stdin(patched_auth: Any) -> None: function test_apply_generate_name_only (line 265) | def test_apply_generate_name_only(patched_auth: Any, tmp_path: Any) -> N... function test_apply_409_surfaces_error (line 288) | def test_apply_409_surfaces_error(patched_auth: Any, tmp_path: Any) -> N... function test_apply_dry_run_named (line 306) | def test_apply_dry_run_named(patched_auth: Any, tmp_path: Any) -> None: function test_apply_dry_run_generate_name_only (line 328) | def test_apply_dry_run_generate_name_only(patched_auth: Any, tmp_path: A... function test_apply_dry_run_validates_appserver_version (line 349) | def test_apply_dry_run_validates_appserver_version( function test_apply_dry_run_masks_resolved_secret_values (line 373) | def test_apply_dry_run_masks_resolved_secret_values( function test_apply_no_name_no_generate_name_errors (line 402) | def test_apply_no_name_no_generate_name_errors( function test_apply_name_without_generate_name_creates_when_missing (line 422) | def test_apply_name_without_generate_name_creates_when_missing( function test_apply_validate_repository_blocks_create (line 445) | def test_apply_validate_repository_blocks_create( function test_apply_interactive_inaccessible_github_repo_installs_app_and_retries (line 460) | def test_apply_interactive_inaccessible_github_repo_installs_app_and_ret... function test_apply_non_interactive_inaccessible_github_repo_error_includes_install_url (line 500) | def test_apply_non_interactive_inaccessible_github_repo_error_includes_i... function test_apply_inaccessible_github_repo_without_install_url_preserves_error (line 528) | def test_apply_inaccessible_github_repo_without_install_url_preserves_er... function test_apply_interactive_github_app_settings_url_preferred_over_install_url (line 557) | def test_apply_interactive_github_app_settings_url_preferred_over_instal... function test_apply_interactive_github_authorization_runs_before_install (line 594) | def test_apply_interactive_github_authorization_runs_before_install( function test_apply_interactive_legacy_connect_url_treated_as_authorization (line 641) | def test_apply_interactive_legacy_connect_url_treated_as_authorization( function test_github_app_poll_cancelled_error_exits (line 679) | async def test_github_app_poll_cancelled_error_exits() -> None: function test_apply_validates_payload_before_repository (line 709) | def test_apply_validates_payload_before_repository( function test_apply_push_mode_skips_validate_repository (line 732) | def test_apply_push_mode_skips_validate_repository( function test_apply_env_var_resolves (line 752) | def test_apply_env_var_resolves( function test_apply_unresolved_env_var_errors (line 780) | def test_apply_unresolved_env_var_errors( function test_apply_annotate_parse_error_rewrites_file (line 802) | def test_apply_annotate_parse_error_rewrites_file( function test_apply_annotate_unresolved_env_var_rewrites_file (line 821) | def test_apply_annotate_unresolved_env_var_rewrites_file( function test_apply_annotate_stdin_writes_yaml_to_stdout (line 860) | def test_apply_annotate_stdin_writes_yaml_to_stdout(patched_auth: Any) -... function test_apply_annotate_dry_run_is_non_mutating (line 875) | def test_apply_annotate_dry_run_is_non_mutating( function test_apply_annotate_repository_failure_targets_repo_url (line 902) | def test_apply_annotate_repository_failure_targets_repo_url( function test_apply_annotate_server_validation_remaps_body_loc (line 920) | def test_apply_annotate_server_validation_remaps_body_loc( function test_apply_annotate_create_secret_null_targets_secret (line 948) | def test_apply_annotate_create_secret_null_targets_secret( function test_apply_annotate_invalid_appserver_version_targets_field (line 974) | def test_apply_annotate_invalid_appserver_version_targets_field( function test_apply_annotate_save_then_push_failure_preserves_recovery (line 1000) | def test_apply_annotate_save_then_push_failure_preserves_recovery( function test_delete_from_file (line 1023) | def test_delete_from_file(patched_auth: Any, tmp_path: Any) -> None: function test_delete_requires_name_or_file (line 1045) | def test_delete_requires_name_or_file(patched_auth: Any) -> None: function test_delete_file_and_positional_mutually_exclusive (line 1058) | def test_delete_file_and_positional_mutually_exclusive( function test_delete_reads_stdin (line 1077) | def test_delete_reads_stdin(patched_auth: Any) -> None: function _push_mode_client (line 1101) | def _push_mode_client( function _patched_git_push (line 1117) | def _patched_git_push( function test_configure_git_remote_uses_profile_project_client_api_key (line 1135) | def test_configure_git_remote_uses_profile_project_client_api_key( function test_configure_git_remote_uses_env_project_client_api_key (line 1167) | def test_configure_git_remote_uses_env_project_client_api_key( function test_apply_push_mode_uses_selected_project_client_api_key (line 1204) | def test_apply_push_mode_uses_selected_project_client_api_key( function test_apply_push_mode_uses_env_project_client_api_key (line 1235) | def test_apply_push_mode_uses_env_project_client_api_key( function test_apply_push_mode_create_does_save_then_push (line 1271) | def test_apply_push_mode_create_does_save_then_push( function test_apply_push_mode_update_does_push_then_save (line 1289) | def test_apply_push_mode_update_does_push_then_save( function test_apply_push_mode_update_skips_push_when_remote_missing (line 1308) | def test_apply_push_mode_update_skips_push_when_remote_missing( function test_apply_push_mode_update_push_flag_forces_push (line 1334) | def test_apply_push_mode_update_push_flag_forces_push( function test_apply_push_and_no_push_are_mutually_exclusive (line 1361) | def test_apply_push_and_no_push_are_mutually_exclusive( function test_apply_push_then_save_push_failure_aborts (line 1381) | def test_apply_push_then_save_push_failure_aborts( function test_apply_save_then_push_push_failure_shows_recovery (line 1401) | def test_apply_save_then_push_push_failure_shows_recovery( function test_apply_external_to_push_mode_does_save_then_push (line 1421) | def test_apply_external_to_push_mode_does_save_then_push( function test_apply_push_to_external_does_save_only (line 1440) | def test_apply_push_to_external_does_save_only( function test_apply_internal_scheme_roundtrip_pushes (line 1458) | def test_apply_internal_scheme_roundtrip_pushes( function test_apply_internal_scheme_skips_push_when_not_in_git_repo (line 1478) | def test_apply_internal_scheme_skips_push_when_not_in_git_repo( function test_apply_no_push_skips_push (line 1508) | def test_apply_no_push_skips_push(patched_auth: Any, tmp_path: Any) -> N... FILE: packages/llamactl/tests/test_deployments_editor_cmd.py function _interactive_session (line 35) | def _interactive_session(monkeypatch: pytest.MonkeyPatch) -> Any: function _http_404 (line 45) | def _http_404(deployment_id: str = "unknown") -> httpx.HTTPStatusError: function _editor_client_mock (line 53) | def _editor_client_mock( function _patch_local_context (line 86) | def _patch_local_context(monkeypatch: pytest.MonkeyPatch) -> None: function _patch_yaml_editor (line 102) | def _patch_yaml_editor(*responses: str | None) -> Iterator[list[str]]: function test_create_opens_editor_with_template_and_applies_saved_yaml (line 137) | def test_create_opens_editor_with_template_and_applies_saved_yaml( function test_create_preflights_auth_and_shows_logged_in_email (line 160) | def test_create_preflights_auth_and_shows_logged_in_email( function test_create_file_applies_without_editor_and_threads_project_no_push (line 204) | def test_create_file_applies_without_editor_and_threads_project_no_push( function test_create_file_without_profile_raises_auth_error (line 239) | def test_create_file_without_profile_raises_auth_error( function test_create_file_uses_create_intent_not_upsert (line 267) | def test_create_file_uses_create_intent_not_upsert( function test_create_file_name_only_uses_name_as_display_name (line 294) | def test_create_file_name_only_uses_name_as_display_name( function test_create_file_reports_identity_and_source_errors_together (line 314) | def test_create_file_reports_identity_and_source_errors_together( function test_create_file_uses_one_event_loop (line 332) | def test_create_file_uses_one_event_loop(patched_auth: Any, tmp_path: Pa... function test_edit_opens_current_template_and_updates_saved_yaml (line 352) | def test_edit_opens_current_template_and_updates_saved_yaml(patched_auth... function test_edit_push_mode_skips_push_when_remote_missing (line 375) | def test_edit_push_mode_skips_push_when_remote_missing(patched_auth: Any... function test_edit_preserves_existing_secret_names_as_masks (line 402) | def test_edit_preserves_existing_secret_names_as_masks(patched_auth: Any... function test_edit_file_uses_update_intent_not_create (line 416) | def test_edit_file_uses_update_intent_not_create( function test_edit_file_push_mode_skips_push_when_remote_missing (line 434) | def test_edit_file_push_mode_skips_push_when_remote_missing( function test_edit_file_push_flag_forces_push (line 460) | def test_edit_file_push_flag_forces_push(patched_auth: Any, tmp_path: Pa... function test_interactive_edit_uses_separate_clients_for_fetch_and_apply (line 485) | def test_interactive_edit_uses_separate_clients_for_fetch_and_apply( function test_edit_file_rejects_name_that_does_not_match_argument (line 515) | def test_edit_file_rejects_name_that_does_not_match_argument( function test_edit_file_requires_name_without_argument (line 533) | def test_edit_file_requires_name_without_argument( function test_edit_editor_reopens_when_name_changes (line 551) | def test_edit_editor_reopens_when_name_changes(patched_auth: Any) -> None: function test_editor_parse_error_annotates_and_reopens (line 571) | def test_editor_parse_error_annotates_and_reopens(patched_auth: Any) -> ... function test_editor_create_validation_annotates_all_errors (line 598) | def test_editor_create_validation_annotates_all_errors(patched_auth: Any... function test_unchanged_editor_file_aborts_without_api_calls (line 616) | def test_unchanged_editor_file_aborts_without_api_calls( function test_empty_or_all_comment_editor_file_aborts_without_api_calls (line 635) | def test_empty_or_all_comment_editor_file_aborts_without_api_calls( function test_non_interactive_editor_commands_require_file (line 661) | def test_non_interactive_editor_commands_require_file( function test_ci_forces_editor_commands_to_require_file (line 672) | def test_ci_forces_editor_commands_to_require_file( function test_editor_command_help_avoids_deployment_implementation_imports (line 685) | def test_editor_command_help_avoids_deployment_implementation_imports() ... FILE: packages/llamactl/tests/test_deployments_get_output.py function _make_client_mock (line 30) | def _make_client_mock(deployments: list[DeploymentResponse]) -> MagicMock: function _patch_no_profile_auth (line 52) | def _patch_no_profile_auth(monkeypatch: pytest.MonkeyPatch) -> None: function test_deployments_get_text_no_args_lists (line 68) | def test_deployments_get_text_no_args_lists(patched_auth: Any) -> None: function test_deployments_get_uses_complete_env_auth_without_profile (line 84) | def test_deployments_get_uses_complete_env_auth_without_profile( function test_deployments_get_json_array (line 105) | def test_deployments_get_json_array(patched_auth: Any) -> None: function test_deployments_get_yaml_list (line 126) | def test_deployments_get_yaml_list(patched_auth: Any) -> None: function test_deployments_get_single_text_outputs_table (line 138) | def test_deployments_get_single_text_outputs_table(patched_auth: Any) ->... function test_deployments_get_single_json (line 151) | def test_deployments_get_single_json(patched_auth: Any) -> None: function test_deployments_get_single_yaml (line 176) | def test_deployments_get_single_yaml(patched_auth: Any) -> None: function test_deployments_get_preserves_secret_mask_placeholders (line 189) | def test_deployments_get_preserves_secret_mask_placeholders(patched_auth... function test_deployments_get_empty_json_is_array (line 212) | def test_deployments_get_empty_json_is_array(patched_auth: Any) -> None: function test_deployments_list_hidden_alias_works (line 221) | def test_deployments_list_hidden_alias_works(patched_auth: Any) -> None: function test_deployments_list_hidden_in_help (line 233) | def test_deployments_list_hidden_in_help(patched_auth: Any) -> None: function test_deployment_name_required_for_single_deployment_commands (line 246) | def test_deployment_name_required_for_single_deployment_commands( function test_deployments_get_project_override_threads_to_client (line 260) | def test_deployments_get_project_override_threads_to_client( function _full_sha (line 286) | def _full_sha(prefix: str) -> str: function _history_client_mock (line 291) | def _history_client_mock(items: list[ReleaseHistoryItem]) -> MagicMock: function test_deployments_history_json_output (line 303) | def test_deployments_history_json_output(patched_auth: Any) -> None: function test_deployments_history_text_short_sha_and_z_timestamp (line 339) | def test_deployments_history_text_short_sha_and_z_timestamp( function test_rollback_without_git_sha_non_interactive_lists_history_and_hints (line 371) | def test_rollback_without_git_sha_non_interactive_lists_history_and_hints( function test_rollback_empty_history_errors (line 401) | def test_rollback_empty_history_errors(patched_auth: Any) -> None: function _http_status_error (line 416) | def _http_status_error( function test_deployments_get_404_renders_friendly_message (line 429) | def test_deployments_get_404_renders_friendly_message(patched_auth: Any)... function test_deployments_get_404_with_project_includes_project (line 452) | def test_deployments_get_404_with_project_includes_project( function test_deployments_get_500_keeps_verbose_message (line 481) | def test_deployments_get_500_keeps_verbose_message(patched_auth: Any) ->... function test_deployments_get_text_column_order (line 500) | def test_deployments_get_text_column_order(patched_auth: Any) -> None: function test_deployments_get_text_no_wide_columns (line 516) | def test_deployments_get_text_no_wide_columns(patched_auth: Any) -> None: function test_deployments_get_wide_includes_extra_columns (line 531) | def test_deployments_get_wide_includes_extra_columns(patched_auth: Any) ... function test_deployments_get_template_single_emits_apply_shape (line 549) | def test_deployments_get_template_single_emits_apply_shape(patched_auth:... function test_deployments_get_template_does_not_scaffold_generate_name (line 582) | def test_deployments_get_template_does_not_scaffold_generate_name( function test_deployments_get_yaml_emits_generate_name_at_top_level (line 601) | def test_deployments_get_yaml_emits_generate_name_at_top_level( function test_deployments_get_template_no_name_errors (line 618) | def test_deployments_get_template_no_name_errors(patched_auth: Any) -> N... function test_other_commands_reject_template_mode (line 627) | def test_other_commands_reject_template_mode(patched_auth: Any) -> None: FILE: packages/llamactl/tests/test_deployments_logs.py function _make_log_events (line 23) | def _make_log_events(n: int = 3) -> list[LogEvent]: function _make_logs_client (line 39) | def _make_logs_client(events: list[LogEvent]) -> MagicMock: function _patch_no_profile_auth (line 61) | def _patch_no_profile_auth(monkeypatch: pytest.MonkeyPatch) -> None: function test_logs_default_prints_recent_and_exits (line 77) | def test_logs_default_prints_recent_and_exits(patched_auth: Any) -> None: function test_logs_uses_complete_env_auth_without_profile (line 94) | def test_logs_uses_complete_env_auth_without_profile( function test_logs_structured_text_uses_body_timestamp_once (line 114) | def test_logs_structured_text_uses_body_timestamp_once(patched_auth: Any... function test_logs_unstructured_text_uses_envelope_timestamp (line 127) | def test_logs_unstructured_text_uses_envelope_timestamp(patched_auth: An... function test_logs_follow_passes_follow_true (line 145) | def test_logs_follow_passes_follow_true(patched_auth: Any) -> None: function test_logs_json_outputs_jsonl (line 159) | def test_logs_json_outputs_jsonl(patched_auth: Any) -> None: function test_logs_no_events_emits_stderr_note (line 180) | def test_logs_no_events_emits_stderr_note(patched_auth: Any) -> None: function test_logs_rejects_zero_tail (line 194) | def test_logs_rejects_zero_tail(patched_auth: Any) -> None: function test_logs_rejects_negative_since_seconds (line 205) | def test_logs_rejects_negative_since_seconds(patched_auth: Any) -> None: function test_deployments_status_command_removed (line 222) | def test_deployments_status_command_removed() -> None: FILE: packages/llamactl/tests/test_deployments_template_cmd.py function _patch_git (line 16) | def _patch_git( function test_template_in_git_repo_emits_expected_yaml (line 38) | def test_template_in_git_repo_emits_expected_yaml( function test_template_emits_local_context_warnings (line 104) | def test_template_emits_local_context_warnings( function test_template_outside_git_repo_emits_compact_head_and_required_tildes (line 130) | def test_template_outside_git_repo_emits_compact_head_and_required_tildes( function test_template_emits_blank_lines_between_output_sections (line 189) | def test_template_emits_blank_lines_between_output_sections( function test_template_does_not_require_auth_profile (line 224) | def test_template_does_not_require_auth_profile( function test_template_has_no_display_name_or_name_flag (line 241) | def test_template_has_no_display_name_or_name_flag() -> None: function test_template_advertises_template_only_on_deployments_get (line 249) | def test_template_advertises_template_only_on_deployments_get() -> None: FILE: packages/llamactl/tests/test_deployments_update.py function _client_mock (line 28) | def _client_mock(current: DeploymentResponse, updated: DeploymentRespons... function _completed_process (line 47) | def _completed_process( function test_deployments_update_external_repo (line 55) | def test_deployments_update_external_repo(patched_auth: Any) -> None: function test_deployments_update_internal_repo_push_failure_does_not_abort (line 71) | def test_deployments_update_internal_repo_push_failure_does_not_abort( function test_deployments_update_internal_repo_skips_push_when_remote_missing (line 128) | def test_deployments_update_internal_repo_skips_push_when_remote_missing( function test_deployments_update_push_flag_forces_internal_git_push (line 164) | def test_deployments_update_push_flag_forces_internal_git_push( function test_deployments_update_no_push_skips_internal_git_push (line 200) | def test_deployments_update_no_push_skips_internal_git_push( function test_deployments_update_push_and_no_push_are_mutually_exclusive (line 233) | def test_deployments_update_push_and_no_push_are_mutually_exclusive( FILE: packages/llamactl/tests/test_dev_commands.py function runner (line 13) | def runner() -> CliRunner: function test_dev_serve_aliases_serve (line 17) | def test_dev_serve_aliases_serve( function test_dev_validate_runs_inside_project_venv (line 60) | def test_dev_validate_runs_inside_project_venv( function test_dev_validate_reports_failures (line 98) | def test_dev_validate_reports_failures( class _Captured (line 132) | class _Captured: function test_dev_run_sets_env_and_invokes_subprocess (line 137) | def test_dev_run_sets_env_and_invokes_subprocess( function test_dev_run_enables_auth_by_default (line 185) | def test_dev_run_enables_auth_by_default( function test_dev_run_disable_auth_flag (line 218) | def test_dev_run_disable_auth_flag( function test_dev_run_does_not_require_pyproject (line 260) | def test_dev_run_does_not_require_pyproject( function test_export_json_graph_defaults (line 289) | def test_export_json_graph_defaults( function test_export_json_graph_with_output_arg (line 339) | def test_export_json_graph_with_output_arg( function test_export_json_graph_reports_failures (line 388) | def test_export_json_graph_reports_failures( function test_export_json_graph_deployment_file_not_exist (line 433) | def test_export_json_graph_deployment_file_not_exist( FILE: packages/llamactl/tests/test_display.py function test_from_response_translates_spec_fields (line 54) | def test_from_response_translates_spec_fields() -> None: function test_from_response_status_block (line 79) | def test_from_response_status_block() -> None: function test_from_response_secrets_masked (line 96) | def test_from_response_secrets_masked() -> None: function test_from_response_no_secrets_is_none (line 108) | def test_from_response_no_secrets_is_none() -> None: function test_from_response_pat_masking (line 118) | def test_from_response_pat_masking() -> None: function test_spec_as_redacted_masks_secret_values (line 128) | def test_spec_as_redacted_masks_secret_values() -> None: function test_without_mask_sentinels_removes_apply_unsafe_masks (line 144) | def test_without_mask_sentinels_removes_apply_unsafe_masks() -> None: function test_all_deployment_spec_fields_have_apply_semantics (line 160) | def test_all_deployment_spec_fields_have_apply_semantics() -> None: function test_create_payload_mapping_matches_wire_model_boundary (line 164) | def test_create_payload_mapping_matches_wire_model_boundary() -> None: function test_update_payload_mapping_matches_wire_model_boundary (line 171) | def test_update_payload_mapping_matches_wire_model_boundary() -> None: function test_to_create_payload_with_name_sets_id (line 177) | def test_to_create_payload_with_name_sets_id() -> None: function test_to_create_payload_without_name_uses_generate_name (line 190) | def test_to_create_payload_without_name_uses_generate_name() -> None: function test_to_create_payload_without_generate_name_raises (line 202) | def test_to_create_payload_without_generate_name_raises() -> None: function test_to_create_payload_suspended_raises (line 211) | def test_to_create_payload_suspended_raises() -> None: function test_to_create_payload_secrets_with_null_value_raises (line 224) | def test_to_create_payload_secrets_with_null_value_raises() -> None: function test_to_create_payload_unset_fields_default (line 237) | def test_to_create_payload_unset_fields_default() -> None: function test_to_create_payload_empty_repo_url_passthrough (line 248) | def test_to_create_payload_empty_repo_url_passthrough() -> None: function test_to_update_payload_unset_fields_remain_none (line 259) | def test_to_update_payload_unset_fields_remain_none() -> None: function test_to_update_payload_null_pat_becomes_delete_sentinel (line 268) | def test_to_update_payload_null_pat_becomes_delete_sentinel() -> None: function test_to_update_payload_secrets_null_values_preserved (line 278) | def test_to_update_payload_secrets_null_values_preserved() -> None: function test_to_update_payload_generate_name_maps_to_display_name (line 291) | def test_to_update_payload_generate_name_maps_to_display_name() -> None: function test_to_output_dict_omits_empty_spec_fields (line 303) | def test_to_output_dict_omits_empty_spec_fields() -> None: function test_to_output_dict_keeps_explicit_status_warning_null (line 315) | def test_to_output_dict_keeps_explicit_status_warning_null() -> None: function test_to_output_dict_preserves_mask_placeholders (line 321) | def test_to_output_dict_preserves_mask_placeholders() -> None: function test_to_output_dict_emits_generate_name_when_set (line 334) | def test_to_output_dict_emits_generate_name_when_set() -> None: function test_display_model_forbids_extra_fields (line 342) | def test_display_model_forbids_extra_fields() -> None: function test_spec_model_forbids_extra_fields (line 357) | def test_spec_model_forbids_extra_fields() -> None: function test_spec_model_no_longer_accepts_display_name (line 368) | def test_spec_model_no_longer_accepts_display_name() -> None: function test_status_model_forbids_extra_fields (line 375) | def test_status_model_forbids_extra_fields() -> None: function test_no_legacy_aliases_in_output (line 382) | def test_no_legacy_aliases_in_output(monkeypatch: Any) -> None: class _Flat (line 417) | class _Flat(BaseModel): class _Inner (line 423) | class _Inner(BaseModel): class _Nested (line 428) | class _Nested(BaseModel): class _Wide (line 434) | class _Wide(BaseModel): function test_resolve_columns_flat_model_declaration_order (line 439) | def test_resolve_columns_flat_model_declaration_order() -> None: function test_resolve_columns_descends_nested_models (line 445) | def test_resolve_columns_descends_nested_models() -> None: function test_resolve_columns_skips_field_without_column (line 456) | def test_resolve_columns_skips_field_without_column() -> None: function test_resolve_columns_supports_multiple_independent_markers (line 462) | def test_resolve_columns_supports_multiple_independent_markers() -> None: function test_resolve_columns_rejects_duplicate_columns_on_one_field (line 476) | def test_resolve_columns_rejects_duplicate_columns_on_one_field() -> None: function test_render_columns_filters_wide (line 484) | def test_render_columns_filters_wide(capsys: Any) -> None: function test_render_columns_applies_format_and_default (line 497) | def test_render_columns_applies_format_and_default(capsys: Any) -> None: function test_render_columns_propagates_none_through_missing_nested_model (line 513) | def test_render_columns_propagates_none_through_missing_nested_model( function test_resolve_columns_handles_optional_basemodel_union (line 531) | def test_resolve_columns_handles_optional_basemodel_union() -> None: function test_resolve_columns_is_cached (line 537) | def test_resolve_columns_is_cached() -> None: function test_render_columns_literal_field_renders_value (line 544) | def test_render_columns_literal_field_renders_value(capsys: Any) -> None: FILE: packages/llamactl/tests/test_env_and_auth_services.py function temp_config (line 21) | def temp_config() -> Generator[ConfigManager, None, None]: function env_svc (line 32) | def env_svc(temp_config: ConfigManager) -> EnvService: function test_env_create_update_and_switch_clears_current_profile (line 36) | def test_env_create_update_and_switch_clears_current_profile( function test_env_auto_update_env_persists_changes (line 65) | def test_env_auto_update_env_persists_changes( function test_env_probe_environment_uses_config_manager_instance (line 91) | def test_env_probe_environment_uses_config_manager_instance( function device_oidc (line 107) | def device_oidc() -> DeviceOIDC: function test_auth_middleware_refresh_updates_db (line 122) | async def test_auth_middleware_refresh_updates_db( function test_auth_profile_creation_helpers (line 177) | def test_auth_profile_creation_helpers( function test_auth_fetch_server_version_and_list_projects (line 197) | def test_auth_fetch_server_version_and_list_projects( FILE: packages/llamactl/tests/test_env_settings.py function test_base_url_defaults_to_current_default_environment (line 11) | def test_base_url_defaults_to_current_default_environment( function test_base_url_normalized_value_strips_trailing_slash (line 22) | def test_base_url_normalized_value_strips_trailing_slash( function test_empty_api_key_and_project_id_are_incomplete (line 33) | def test_empty_api_key_and_project_id_are_incomplete( function test_cloud_auth_is_complete_with_api_key_and_project_id (line 47) | def test_cloud_auth_is_complete_with_api_key_and_project_id( function test_use_profile_env_value_one_parses_as_true (line 57) | def test_use_profile_env_value_one_parses_as_true( function test_lowercase_env_names_populate_normal_cloud_fields (line 68) | def test_lowercase_env_names_populate_normal_cloud_fields( function test_completion_env_var_marks_completion_active (line 85) | def test_completion_env_var_marks_completion_active( FILE: packages/llamactl/tests/test_environments_cli.py function test_environments_get_prints_table (line 16) | def test_environments_get_prints_table() -> None: function test_environments_get_single_environment_json (line 32) | def test_environments_get_single_environment_json() -> None: function test_environments_help_describes_commands (line 47) | def test_environments_help_describes_commands() -> None: function test_environments_get_does_not_offer_wide_output (line 56) | def test_environments_get_does_not_offer_wide_output() -> None: function test_environments_add_probes_and_upserts (line 62) | def test_environments_add_probes_and_upserts() -> None: function test_environments_use_argument_and_interactive (line 75) | def test_environments_use_argument_and_interactive() -> None: function test_environments_add_interactive_selection_for_url (line 115) | def test_environments_add_interactive_selection_for_url() -> None: function test_environments_delete_argument_and_prompt (line 139) | def test_environments_delete_argument_and_prompt() -> None: FILE: packages/llamactl/tests/test_git_push.py function test_git_remote_name (line 24) | def test_git_remote_name() -> None: function test_get_deployment_git_url (line 28) | def test_get_deployment_git_url() -> None: function test_get_deployment_git_url_strips_trailing_slash (line 33) | def test_get_deployment_git_url_strips_trailing_slash() -> None: function test_has_deployment_git_remote_returns_true_when_remote_exists (line 39) | def test_has_deployment_git_remote_returns_true_when_remote_exists( function test_has_deployment_git_remote_returns_false_when_remote_missing (line 52) | def test_has_deployment_git_remote_returns_false_when_remote_missing( function test_get_api_key_returns_key (line 66) | def test_get_api_key_returns_key(mock_service: MagicMock) -> None: function test_get_api_key_returns_none_when_no_auth_required (line 76) | def test_get_api_key_returns_none_when_no_auth_required( function test_get_api_key_raises_when_auth_required_but_no_profile (line 88) | def test_get_api_key_raises_when_auth_required_but_no_profile( function test_set_extra_headers_with_api_key (line 106) | def test_set_extra_headers_with_api_key(mock_subprocess: MagicMock) -> N... function test_set_extra_headers_without_api_key (line 145) | def test_set_extra_headers_without_api_key(mock_subprocess: MagicMock) -... function test_configure_git_remote_adds_new_remote (line 160) | def test_configure_git_remote_adds_new_remote( function test_configure_git_remote_updates_existing_remote (line 185) | def test_configure_git_remote_updates_existing_remote( function test_push_to_remote (line 214) | def test_push_to_remote(mock_subprocess: MagicMock) -> None: function test_push_to_remote_uses_defaults (line 229) | def test_push_to_remote_uses_defaults(mock_subprocess: MagicMock) -> None: FILE: packages/llamactl/tests/test_init_command.py function _non_interactive (line 16) | def _non_interactive() -> Any: function test_init_help_shows_options (line 22) | def test_init_help_shows_options() -> None: function test_init_create_with_flags_calls_copier_and_git (line 34) | def test_init_create_with_flags_calls_copier_and_git(tmp_path: Path) -> ... function test_init_update_calls_copier_run_update (line 108) | def test_init_update_calls_copier_run_update() -> None: function test_init_handles_missing_git_gracefully (line 126) | def test_init_handles_missing_git_gracefully(tmp_path: Path) -> None: function test_init_handles_git_init_failure_gracefully (line 162) | def test_init_handles_git_init_failure_gracefully(tmp_path: Path) -> None: function test_init_skips_git_init_when_inside_parent_repo (line 212) | def test_init_skips_git_init_when_inside_parent_repo(tmp_path: Path) -> ... function test_copy_scaffold (line 268) | def test_copy_scaffold(tmp_path: Path) -> None: function test_init_non_interactive_requires_template (line 296) | def test_init_non_interactive_requires_template(tmp_path: Path) -> None: function test_init_non_interactive_defaults_directory (line 311) | def test_init_non_interactive_defaults_directory(tmp_path: Path) -> None: function test_init_force_flag_skips_confirmation (line 355) | def test_init_force_flag_skips_confirmation(tmp_path: Path) -> None: function test_init_existing_directory_no_force_exits (line 403) | def test_init_existing_directory_no_force_exits(tmp_path: Path) -> None: FILE: packages/llamactl/tests/test_interactive.py function test_select_or_exit_interactive_returns_selected_item (line 12) | def test_select_or_exit_interactive_returns_selected_item() -> None: function test_select_or_exit_interactive_cancel_raises (line 24) | def test_select_or_exit_interactive_cancel_raises() -> None: function test_select_or_exit_non_interactive_lists_items_and_hints (line 30) | def test_select_or_exit_non_interactive_lists_items_and_hints( function test_select_or_exit_empty_raises_custom_message (line 50) | def test_select_or_exit_empty_raises_custom_message() -> None: function test_select_or_exit_falls_back_when_blessed_unavailable (line 61) | def test_select_or_exit_falls_back_when_blessed_unavailable( function test_require_or_list_choices_lists_and_hints (line 80) | def test_require_or_list_choices_lists_and_hints( function test_require_or_list_choices_empty_raises (line 95) | def test_require_or_list_choices_empty_raises() -> None: FILE: packages/llamactl/tests/test_local_context.py function test_normalize_https_strip_creds_and_suffix (line 17) | def test_normalize_https_strip_creds_and_suffix() -> None: function test_normalize_scp_style (line 24) | def test_normalize_scp_style() -> None: function test_normalize_strips_ssh_port (line 31) | def test_normalize_strips_ssh_port() -> None: function test_normalize_preserves_https_port (line 38) | def test_normalize_preserves_https_port() -> None: function test_normalize_bare_host_path (line 45) | def test_normalize_bare_host_path() -> None: function test_normalize_rewrites_http_to_https (line 52) | def test_normalize_rewrites_http_to_https() -> None: function test_normalize_scp_style_no_dot_git_suffix (line 59) | def test_normalize_scp_style_no_dot_git_suffix() -> None: function testpick_preferred_remote_prefers_github (line 66) | def testpick_preferred_remote_prefers_github() -> None: function testpick_preferred_remote_dedupes_and_handles_empty (line 80) | def testpick_preferred_remote_dedupes_and_handles_empty() -> None: function test_gather_outside_git_repo_returns_safe_defaults (line 95) | def test_gather_outside_git_repo_returns_safe_defaults( function test_gather_in_git_repo_with_env_and_config (line 114) | def test_gather_in_git_repo_with_env_and_config( function test_gather_subdir_of_git_repo_records_relative_path (line 154) | def test_gather_subdir_of_git_repo_records_relative_path( function test_gather_with_invalid_config_records_warning (line 180) | def test_gather_with_invalid_config_records_warning( function test_gather_skips_default_named_config (line 191) | def test_gather_skips_default_named_config( FILE: packages/llamactl/tests/test_log_format.py function test_parse_plain_string_passes_through (line 13) | def test_parse_plain_string_passes_through() -> None: function test_parse_invalid_json_passes_through (line 20) | def test_parse_invalid_json_passes_through() -> None: function test_parse_dict_without_event_passes_through (line 26) | def test_parse_dict_without_event_passes_through() -> None: function test_parse_structlog_extracts_fields (line 31) | def test_parse_structlog_extracts_fields() -> None: function test_render_plain_structured_layout (line 46) | def test_render_plain_structured_layout() -> None: FILE: packages/llamactl/tests/test_migrations_concurrency.py function _latest_migration_version (line 19) | def _latest_migration_version() -> int: function temp_db (line 30) | def temp_db() -> Generator[Path, None, None]: function test_file_lock_serializes_access (line 37) | def test_file_lock_serializes_access(temp_db: Path) -> None: function test_run_migrations_with_lock_prevents_duplicate_migrations (line 68) | def test_run_migrations_with_lock_prevents_duplicate_migrations(temp_db:... function test_run_migrations_without_lock_path_still_works (line 107) | def test_run_migrations_without_lock_path_still_works(temp_db: Path) -> ... FILE: packages/llamactl/tests/test_organizations_cli.py function test_organizations_get_text_lists_orgs (line 16) | def test_organizations_get_text_lists_orgs() -> None: function test_organizations_get_json (line 49) | def test_organizations_get_json() -> None: function test_organizations_get_yaml (line 78) | def test_organizations_get_yaml() -> None: function test_organizations_get_unsupported_text_warns (line 100) | def test_organizations_get_unsupported_text_warns() -> None: function test_organizations_get_unsupported_json_emits_empty_list (line 115) | def test_organizations_get_unsupported_json_emits_empty_list() -> None: function test_organizations_get_does_not_offer_wide_output (line 131) | def test_organizations_get_does_not_offer_wide_output() -> None: FILE: packages/llamactl/tests/test_param_types.py function ctx (line 23) | def ctx() -> click.Context: function param (line 30) | def param() -> click.Parameter: function test_deployment_type_returns_fetched_items (line 34) | def test_deployment_type_returns_fetched_items( function test_deployment_type_passes_project_override_to_fetch (line 57) | def test_deployment_type_passes_project_override_to_fetch( function test_deployment_type_fetch_failure (line 78) | def test_deployment_type_fetch_failure( function test_profile_type_returns_profiles (line 91) | def test_profile_type_returns_profiles( function test_project_type_returns_fetched_items (line 123) | def test_project_type_returns_fetched_items( function test_environment_type_returns_environments (line 141) | def test_environment_type_returns_environments( function test_template_type_returns_all_templates (line 169) | def test_template_type_returns_all_templates( function test_template_type_case_insensitive (line 181) | def test_template_type_case_insensitive( function test_git_sha_type_no_deployment_id (line 190) | def test_git_sha_type_no_deployment_id( function test_git_sha_type_with_deployment_id (line 199) | def test_git_sha_type_with_deployment_id( function test_git_sha_type_passes_project_override_to_fetch (line 221) | def test_git_sha_type_passes_project_override_to_fetch( FILE: packages/llamactl/tests/test_pkg.py function pyproject_toml (line 18) | def pyproject_toml() -> str: function pyproject_toml_with_ui (line 51) | def pyproject_toml_with_ui(pyproject_toml: str) -> str: function dockerfile (line 56) | def dockerfile() -> str: function test_infer_python_version (line 77) | def test_infer_python_version(tmp_path: Path, pyproject_toml: str) -> None: function test_build_dockerfile_content (line 87) | def test_build_dockerfile_content(dockerfile: str) -> None: function test__check_deployment_config (line 91) | def test__check_deployment_config( function test__create_file_for_container (line 112) | def test__create_file_for_container( FILE: packages/llamactl/tests/test_projects_cli.py function test_projects_get_lists_projects_json (line 13) | def test_projects_get_lists_projects_json() -> None: function test_projects_get_text_puts_name_first_and_uses_yes_no (line 48) | def test_projects_get_text_puts_name_first_and_uses_yes_no() -> None: function test_projects_get_single_project (line 78) | def test_projects_get_single_project() -> None: function test_auth_project_no_longer_exists (line 107) | def test_auth_project_no_longer_exists() -> None: function test_projects_get_does_not_offer_wide_output (line 113) | def test_projects_get_does_not_offer_wide_output() -> None: FILE: packages/llamactl/tests/test_redact.py function test_redact_api_key_long (line 4) | def test_redact_api_key_long() -> None: function test_redact_api_key_short (line 12) | def test_redact_api_key_short() -> None: function test_redact_api_key_none_and_empty (line 20) | def test_redact_api_key_none_and_empty() -> None: FILE: packages/llamactl/tests/test_render.py function _capture (line 20) | def _capture(rows: list[dict[str, str]], columns: list[tuple[str, str]])... function test_render_table_emits_headers_and_rows (line 30) | def test_render_table_emits_headers_and_rows() -> None: function test_render_table_no_ansi_escapes_or_truncation (line 47) | def test_render_table_no_ansi_escapes_or_truncation() -> None: function test_render_table_column_width_uses_widest_cell (line 58) | def test_render_table_column_width_uses_widest_cell() -> None: function test_render_table_handles_empty_rows (line 74) | def test_render_table_handles_empty_rows() -> None: function test_gh_short_translates_github_urls (line 80) | def test_gh_short_translates_github_urls() -> None: function test_gh_short_passes_through_non_github (line 87) | def test_gh_short_passes_through_non_github() -> None: function test_format_iso_z_tz_aware_utc (line 92) | def test_format_iso_z_tz_aware_utc() -> None: function test_format_iso_z_tz_aware_non_utc_is_converted (line 97) | def test_format_iso_z_tz_aware_non_utc_is_converted() -> None: function test_format_iso_z_naive_is_treated_as_utc (line 107) | def test_format_iso_z_naive_is_treated_as_utc() -> None: function test_short_sha_truncates_to_seven (line 113) | def test_short_sha_truncates_to_seven() -> None: function test_short_sha_passthrough_on_short_input (line 117) | def test_short_sha_passthrough_on_short_input() -> None: function test_star_marker_active_and_inactive (line 122) | def test_star_marker_active_and_inactive() -> None: FILE: packages/llamactl/tests/test_retry.py function _no_sleep (line 15) | def _no_sleep(): function _raising (line 21) | async def _raising(exc: BaseException, counter: list[int]): function test_idempotent_true_retries_read_timeout (line 27) | async def test_idempotent_true_retries_read_timeout() -> None: function test_idempotent_true_retries_connect_error (line 38) | async def test_idempotent_true_retries_connect_error() -> None: function test_idempotent_false_does_not_retry_read_timeout (line 49) | async def test_idempotent_false_does_not_retry_read_timeout() -> None: function test_idempotent_false_does_not_retry_remote_protocol_error (line 62) | async def test_idempotent_false_does_not_retry_remote_protocol_error() -... function test_idempotent_false_retries_connect_error (line 76) | async def test_idempotent_false_retries_connect_error() -> None: function test_idempotent_false_retries_connect_timeout (line 88) | async def test_idempotent_false_retries_connect_timeout() -> None: function test_idempotent_false_retries_pool_timeout (line 100) | async def test_idempotent_false_retries_pool_timeout() -> None: function test_never_retries_http_status_error (line 112) | async def test_never_retries_http_status_error() -> None: function test_succeeds_on_second_attempt (line 126) | async def test_succeeds_on_second_attempt() -> None: FILE: packages/llamactl/tests/test_serve_llama_cloud.py function _write_yaml (line 11) | def _write_yaml(tmpdir: Path, llama_cloud: bool) -> Path: function _isolate_env (line 35) | def _isolate_env(monkeypatch: pytest.MonkeyPatch) -> None: function test_injects_api_key_from_profile (line 44) | def test_injects_api_key_from_profile( function test_prompts_login_when_interactive (line 74) | def test_prompts_login_when_interactive( function test_interactive_serve_uses_env_key_without_profile_choice (line 120) | def test_interactive_serve_uses_env_key_without_profile_choice( function test_serve_use_profile_env_bypasses_env_key (line 169) | def test_serve_use_profile_env_bypasses_env_key( function test_injects_project_id_from_env_config (line 203) | def test_injects_project_id_from_env_config( function test_warns_non_interactive_without_key (line 254) | def test_warns_non_interactive_without_key( FILE: packages/llamactl/tests/test_serve_summary.py function _no_color (line 11) | def _no_color(monkeypatch: pytest.MonkeyPatch) -> None: function _write_yaml (line 21) | def _write_yaml(tmpdir: Path) -> Path: function test_connection_summary_uses_redaction (line 44) | def test_connection_summary_uses_redaction(tmp_path: Path) -> None: FILE: packages/llamactl/tests/test_serve_without_git.py function _write_minimal_yaml (line 10) | def _write_minimal_yaml(tmpdir: Path) -> Path: function test_serve_does_not_crash_without_git (line 33) | def test_serve_does_not_crash_without_git( FILE: packages/llamactl/tests/test_session_utils.py function test_is_interactive_false_when_not_tty (line 6) | def test_is_interactive_false_when_not_tty() -> None: function test_is_interactive_false_when_term_dumb (line 21) | def test_is_interactive_false_when_term_dumb() -> None: function test_is_interactive_false_when_ci_set (line 39) | def test_is_interactive_false_when_ci_set() -> None: function test_is_interactive_true_in_tty (line 54) | def test_is_interactive_true_in_tty() -> None: FILE: packages/llamactl/tests/test_yaml_template.py function _full_display (line 19) | def _full_display() -> DeploymentDisplay: function test_render_omits_status_unconditionally (line 36) | def test_render_omits_status_unconditionally() -> None: function test_render_emits_name_and_spec_in_declaration_order (line 43) | def test_render_emits_name_and_spec_in_declaration_order() -> None: function test_render_attaches_doc_marker_text_above_each_set_field (line 64) | def test_render_attaches_doc_marker_text_above_each_set_field() -> None: function test_render_omits_generate_name_when_not_scaffolded (line 70) | def test_render_omits_generate_name_when_not_scaffolded() -> None: function test_render_emits_generate_name_commented_when_scaffolded (line 78) | def test_render_emits_generate_name_commented_when_scaffolded() -> None: function test_render_uses_name_example_for_unset_top_level_keys (line 93) | def test_render_uses_name_example_for_unset_top_level_keys() -> None: function test_render_partial_spec_emits_unset_fields_as_commented_examples (line 105) | def test_render_partial_spec_emits_unset_fields_as_commented_examples() ... function test_render_required_unset_puts_marker_on_own_line (line 123) | def test_render_required_unset_puts_marker_on_own_line() -> None: function test_render_unset_top_level_name_is_commented (line 137) | def test_render_unset_top_level_name_is_commented() -> None: function test_render_alternatives_emit_commented_line_under_set_field (line 151) | def test_render_alternatives_emit_commented_line_under_set_field() -> None: function test_render_field_alternative_note_uses_template_marker (line 174) | def test_render_field_alternative_note_uses_template_marker() -> None: function test_render_alternatives_ignored_for_unset_field (line 195) | def test_render_alternatives_ignored_for_unset_field() -> None: function test_render_doc_and_trailing_doc_emit_separately (line 212) | def test_render_doc_and_trailing_doc_emit_separately() -> None: function test_render_head_lines_emit_at_top_with_prefix (line 224) | def test_render_head_lines_emit_at_top_with_prefix() -> None: function test_render_head_blank_line_emits_bare_marker (line 234) | def test_render_head_blank_line_emits_bare_marker() -> None: function test_render_secret_comments_attach_inside_secrets_block (line 245) | def test_render_secret_comments_attach_inside_secrets_block() -> None: function test_render_trailing_doc_is_independent_from_doc (line 261) | def test_render_trailing_doc_is_independent_from_doc() -> None: function test_render_blank_lines_break_head_identity_and_spec_groups (line 283) | def test_render_blank_lines_break_head_identity_and_spec_groups() -> None: function test_render_empty_string_repo_url_is_double_quoted (line 308) | def test_render_empty_string_repo_url_is_double_quoted() -> None: function test_render_deployment_file_path_dot_is_quoted (line 318) | def test_render_deployment_file_path_dot_is_quoted() -> None: function test_render_strips_secret_mask_sentinels (line 328) | def test_render_strips_secret_mask_sentinels() -> None: function test_render_drops_secrets_block_when_only_masks (line 344) | def test_render_drops_secrets_block_when_only_masks() -> None: function test_render_can_preserve_masked_secret_names_for_editor (line 359) | def test_render_can_preserve_masked_secret_names_for_editor() -> None: function test_render_strips_personal_access_token_mask (line 374) | def test_render_strips_personal_access_token_mask() -> None: function test_render_output_is_yaml_safe_loadable (line 385) | def test_render_output_is_yaml_safe_loadable() -> None: function test_render_output_with_required_and_alternatives_is_yaml_safe_loadable (line 394) | def test_render_output_with_required_and_alternatives_is_yaml_safe_loada... function test_render_idempotent_for_same_input (line 411) | def test_render_idempotent_for_same_input() -> None: FILE: scripts/process_manifests.py function process_rbac (line 16) | def process_rbac() -> bool: function process_crds (line 142) | def process_crds() -> bool: function main (line 174) | def main() -> None: FILE: src/dev_cli/__init__.py function main (line 8) | def main() -> None: function pytest_main (line 14) | def pytest_main() -> None: FILE: src/dev_cli/changesets.py function run_command (line 41) | def run_command( function run_and_capture (line 48) | def run_and_capture( function semver_to_pep440 (line 63) | def semver_to_pep440(version: str) -> str: function pep440_to_semver (line 86) | def pep440_to_semver(version: str) -> str: class DockerConfig (line 105) | class DockerConfig(BaseModel): class HelmConfig (line 118) | class HelmConfig(BaseModel): class PublishConfig (line 126) | class PublishConfig(BaseModel): class PackageJsonFile (line 136) | class PackageJsonFile(BaseModel): class PackageJson (line 148) | class PackageJson: method should_publish_pypi (line 159) | def should_publish_pypi(self) -> bool: method should_publish_docker (line 162) | def should_publish_docker(self) -> bool: method should_publish_helm (line 165) | def should_publish_helm(self) -> bool: function _resolve_template (line 175) | def _resolve_template( function _apply_dot_path_updates (line 212) | def _apply_dot_path_updates(data: Any, updates: dict[str, str]) -> bool: function _write_yaml_values (line 233) | def _write_yaml_values(file_path: Path, updates: dict[str, str]) -> bool: function _write_toml_values (line 254) | def _write_toml_values(file_path: Path, updates: dict[str, str]) -> bool: function _write_file_values (line 271) | def _write_file_values(file_path: Path, updates: dict[str, str]) -> bool: function apply_sync_values (line 281) | def apply_sync_values( function _read_package_json_config (line 321) | def _read_package_json_config(package_dir: Path) -> PackageJsonFile | None: function get_pnpm_workspace_packages (line 330) | def get_pnpm_workspace_packages() -> list[PackageJson]: function _pypi_packages (line 355) | def _pypi_packages(packages: list[PackageJson]) -> Generator[Path, None,... function lock_python_dependencies (line 365) | def lock_python_dependencies() -> None: function cli (line 375) | def cli() -> None: function current_version (line 380) | def current_version(pyproject: Path) -> tuple[str, str]: function is_published (line 388) | def is_published( function is_rc_version (line 408) | def is_rc_version(version: str) -> bool: function is_docker_image_published (line 413) | def is_docker_image_published(repository: str, tag: str) -> bool: function docker_image_tags (line 429) | def docker_image_tags(image: DockerConfig, version: str, is_rc: bool) ->... function is_helm_chart_published (line 440) | def is_helm_chart_published(chart_name: str, version: str) -> bool: class PypiAction (line 464) | class PypiAction(BaseModel): method id (line 472) | def id(self) -> str: class DockerBuildAction (line 476) | class DockerBuildAction(BaseModel): method id (line 490) | def id(self) -> str: class DockerManifestAction (line 494) | class DockerManifestAction(BaseModel): method id (line 504) | def id(self) -> str: class HelmAction (line 508) | class HelmAction(BaseModel): method id (line 517) | def id(self) -> str: class PublishPlan (line 527) | class PublishPlan(BaseModel): method all_actions (line 533) | def all_actions(self) -> list[PublishAction]: method find (line 536) | def find(self, action_id: str) -> PublishAction: method has_work (line 544) | def has_work(self) -> bool: function _platform_suffix (line 550) | def _platform_suffix(platform: str) -> str: function plan_pypi (line 559) | def plan_pypi(packages: list[PackageJson]) -> list[PypiAction]: function plan_docker (line 576) | def plan_docker( function plan_helm (line 625) | def plan_helm(packages: list[PackageJson]) -> list[HelmAction]: function build_publish_plan (line 649) | def build_publish_plan(packages: list[PackageJson]) -> PublishPlan: function execute_action (line 660) | def execute_action(action: PublishAction, dry_run: bool = False) -> None: function _execute_pypi (line 674) | def _execute_pypi(action: PypiAction, dry_run: bool) -> None: function _execute_docker_build (line 713) | def _execute_docker_build(action: DockerBuildAction, dry_run: bool) -> N... function _execute_docker_manifest (line 754) | def _execute_docker_manifest(action: DockerManifestAction, dry_run: bool... function _execute_helm (line 769) | def _execute_helm(action: HelmAction, dry_run: bool) -> None: class PyProjectContainer (line 785) | class PyProjectContainer(BaseModel): method parse (line 789) | def parse(cls, text: str) -> tuple[Any, PyProjectContainer]: class PyProject (line 794) | class PyProject(BaseModel): FILE: src/dev_cli/cli.py function _maybe_inject_pytest_subcommand (line 31) | def _maybe_inject_pytest_subcommand() -> None: function cli (line 51) | def cli() -> None: function compute_tag_metadata (line 65) | def compute_tag_metadata(tag: str, output: Path | None) -> None: function update_index_html_cmd (line 108) | def update_index_html_cmd(js_url: str, css_url: str, index_path: str | N... FILE: src/dev_cli/commands/changesets_cmd.py function changeset_version (line 16) | def changeset_version() -> None: function changeset_publish (line 49) | def changeset_publish(tag: bool, dry_run: bool) -> None: FILE: src/dev_cli/commands/publish_cmd.py function _repo_root (line 25) | def _repo_root() -> Path: function changeset_plan (line 37) | def changeset_plan(output: Path) -> None: function publish_action (line 83) | def publish_action(plan_path: Path, action_id: str, dry_run: bool) -> None: FILE: src/dev_cli/commands/pytest_cmd.py class PackageInfo (line 33) | class PackageInfo: method from_path (line 40) | def from_path(cls, path: Path) -> PackageInfo: function extract_test_counts (line 58) | def extract_test_counts(stdout: str) -> str | None: function extract_failures_section (line 87) | def extract_failures_section(stdout: str) -> str | None: function extract_failed_test_names (line 118) | def extract_failed_test_names(stdout: str) -> list[tuple[str, str | None]]: function discover_test_packages (line 180) | def discover_test_packages(repo_root: Path) -> list[PackageInfo]: function _run_tracked (line 212) | def _run_tracked( function _kill_active_procs (line 236) | def _kill_active_procs() -> None: function run_package_tests (line 247) | def run_package_tests( function _render_progress_table (line 297) | def _render_progress_table( function run_tests_with_rich_progress (line 333) | def run_tests_with_rich_progress( function _run_tests_verbose (line 387) | def _run_tests_verbose( function pytest_cmd (line 459) | def pytest_cmd( FILE: src/dev_cli/commands/skills_cmd.py function _repo_root (line 19) | def _repo_root() -> Path: function sync_skills (line 30) | def sync_skills(check: bool) -> None: FILE: src/dev_cli/gha.py function _encode (line 11) | def _encode(value: Any) -> str: function write_outputs (line 20) | def write_outputs( FILE: src/dev_cli/git_utils.py function list_tags (line 8) | def list_tags(repo: str | Path, tag_glob: str) -> list[str]: function previous_tag (line 29) | def previous_tag(current_tag: str, tags: Iterable[str]) -> str | None: function find_previous_tag (line 40) | def find_previous_tag(repo: str | Path, tag_prefix: str, current_tag: st... FILE: src/dev_cli/index_html.py class IndexHtmlError (line 7) | class IndexHtmlError(RuntimeError): function default_index_path (line 17) | def default_index_path() -> Path: function update_index_html (line 31) | def update_index_html( FILE: src/dev_cli/versioning.py class VersionMismatchError (line 15) | class VersionMismatchError(ValueError): function read_pyproject_version (line 19) | def read_pyproject_version(pyproject_path: str) -> str: function strip_refs_prefix (line 38) | def strip_refs_prefix(tag: str) -> str: class TagMetadata (line 44) | class TagMetadata: function infer_tag_metadata (line 52) | def infer_tag_metadata(tag: str) -> TagMetadata: function remove_tag_prefix (line 76) | def remove_tag_prefix(tag: str, tag_prefix: str) -> str: function extract_semver (line 85) | def extract_semver(tag: str, tag_prefix: str) -> str: function compute_suffix_and_version (line 91) | def compute_suffix_and_version(tag: str, tag_prefix: str) -> tuple[str, ... function detect_change_type (line 98) | def detect_change_type(current_version: str, previous_version: str | Non... FILE: tests/dev_cli/conftest.py function packages_dir (line 17) | def packages_dir(tmp_path: Path) -> Path: function create_test_package (line 25) | def create_test_package(packages_dir: Path) -> Callable[[str], Path]: function git_repo (line 38) | def git_repo(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Path: function commit_and_tag (line 49) | def commit_and_tag(repo_path: Path, filename: str, content: str, tag: st... function is_sync_call (line 63) | def is_sync_call(cmd: list[str]) -> bool: function sync_success (line 68) | def sync_success() -> Mock: function write_pyproject (line 73) | def write_pyproject(path: Path, version: str) -> None: FILE: tests/dev_cli/test_changesets.py function test_current_version (line 39) | def test_current_version(tmp_path: Path) -> None: function test_current_version_normalizes_version (line 54) | def test_current_version_normalizes_version(tmp_path: Path) -> None: function test_pyproject_container_parse (line 69) | def test_pyproject_container_parse() -> None: function test_is_published_returns_true_when_version_exists (line 82) | def test_is_published_returns_true_when_version_exists() -> None: function test_is_published_returns_false_when_version_missing (line 93) | def test_is_published_returns_false_when_version_missing() -> None: function test_is_published_returns_false_when_package_not_found (line 102) | def test_is_published_returns_false_when_package_not_found() -> None: function test_is_published_raises_on_other_http_errors (line 110) | def test_is_published_raises_on_other_http_errors() -> None: function test_sync_package_version_updates_version (line 119) | def test_sync_package_version_updates_version(tmp_path: Path) -> None: function test_sync_package_version_skips_when_no_pyproject (line 145) | def test_sync_package_version_skips_when_no_pyproject(tmp_path: Path) ->... function test_sync_package_version_skips_when_versions_match (line 160) | def test_sync_package_version_skips_when_versions_match(tmp_path: Path) ... function test_sync_package_version_converts_semver_prerelease (line 185) | def test_sync_package_version_converts_semver_prerelease(tmp_path: Path)... function test_semver_to_pep440_prerelease (line 224) | def test_semver_to_pep440_prerelease(semver: str, expected: str) -> None: function test_semver_to_pep440_stable_passthrough (line 236) | def test_semver_to_pep440_stable_passthrough(version: str) -> None: function test_semver_to_pep440_rejects_non_pep440_label (line 240) | def test_semver_to_pep440_rejects_non_pep440_label() -> None: function test_pep440_to_semver_prerelease (line 258) | def test_pep440_to_semver_prerelease(pep440: str, expected: str) -> None: function test_pep440_to_semver_stable_passthrough (line 270) | def test_pep440_to_semver_stable_passthrough(version: str) -> None: function test_roundtrip_semver_to_pep440_and_back (line 285) | def test_roundtrip_semver_to_pep440_and_back(semver: str) -> None: function test_roundtrip_pep440_to_semver_and_back (line 298) | def test_roundtrip_pep440_to_semver_and_back(pep440: str) -> None: function _make_helm_package (line 306) | def _make_helm_package( function test_sync_chart_version_updates_chart_yaml (line 318) | def test_sync_chart_version_updates_chart_yaml(tmp_path: Path) -> None: function test_sync_chart_version_no_change_when_already_matching (line 329) | def test_sync_chart_version_no_change_when_already_matching(tmp_path: Pa... function test_sync_chart_version_returns_false_when_no_chart (line 338) | def test_sync_chart_version_returns_false_when_no_chart(tmp_path: Path) ... function test_apply_sync_values_bakes_image_tags (line 344) | def test_apply_sync_values_bakes_image_tags(tmp_path: Path) -> None: function test_is_rc_version (line 445) | def test_is_rc_version(version: str, expected: bool) -> None: function test_is_docker_image_published_returns_true (line 452) | def test_is_docker_image_published_returns_true() -> None: function test_is_docker_image_published_returns_false_on_404 (line 460) | def test_is_docker_image_published_returns_false_on_404() -> None: function test_is_docker_image_published_raises_on_500 (line 469) | def test_is_docker_image_published_raises_on_500() -> None: function test_docker_image_tags_non_rc (line 480) | def test_docker_image_tags_non_rc() -> None: function test_docker_image_tags_rc (line 495) | def test_docker_image_tags_rc() -> None: function test_docker_image_tags_appserver (line 506) | def test_docker_image_tags_appserver() -> None: function test_read_package_json_config_docker (line 524) | def test_read_package_json_config_docker(tmp_path: Path) -> None: function test_read_package_json_config_helm (line 550) | def test_read_package_json_config_helm(tmp_path: Path) -> None: function test_read_package_json_config_defaults (line 565) | def test_read_package_json_config_defaults(tmp_path: Path) -> None: function test_read_package_json_config_returns_none_when_no_file (line 576) | def test_read_package_json_config_returns_none_when_no_file(tmp_path: Pa... function test_read_package_json_config_docker_missing_dockerfile (line 582) | def test_read_package_json_config_docker_missing_dockerfile(tmp_path: Pa... function test_read_package_json_config_helm_missing_registry (line 593) | def test_read_package_json_config_helm_missing_registry(tmp_path: Path) ... function _make_docker_packages (line 607) | def _make_docker_packages() -> list[PackageJson]: function test_plan_docker_skips_when_already_published (line 648) | def test_plan_docker_skips_when_already_published() -> None: function test_plan_docker_emits_per_platform_builds (line 655) | def test_plan_docker_emits_per_platform_builds() -> None: function test_plan_docker_skips_packages_without_docker (line 673) | def test_plan_docker_skips_packages_without_docker() -> None: function test_plan_docker_uses_per_package_version (line 689) | def test_plan_docker_uses_per_package_version() -> None: function _docker_build_action (line 725) | def _docker_build_action() -> DockerBuildAction: function test_execute_docker_build_action_dry_run_skips_run_command (line 738) | def test_execute_docker_build_action_dry_run_skips_run_command() -> None: function test_execute_docker_build_action_invokes_buildx (line 744) | def test_execute_docker_build_action_invokes_buildx() -> None: function test_execute_docker_build_action_emits_gha_cache_flags (line 754) | def test_execute_docker_build_action_emits_gha_cache_flags( function test_execute_docker_build_action_respects_cache_mode_min (line 771) | def test_execute_docker_build_action_respects_cache_mode_min( function test_plan_docker_propagates_cache_mode (line 785) | def test_plan_docker_propagates_cache_mode() -> None: function test_execute_docker_manifest_action_combines_source_tags (line 818) | def test_execute_docker_manifest_action_combines_source_tags() -> None: function _write_pyproject (line 844) | def _write_pyproject(path: Path, name: str, version: str) -> None: function test_execute_pypi_dry_run_skips_run_command (line 850) | def test_execute_pypi_dry_run_skips_run_command( function test_execute_pypi_raises_when_plan_version_mismatches_on_disk (line 863) | def test_execute_pypi_raises_when_plan_version_mismatches_on_disk( function _make_helm_packages (line 885) | def _make_helm_packages() -> list[PackageJson]: function test_plan_helm_skips_already_published (line 904) | def test_plan_helm_skips_already_published() -> None: function test_plan_helm_emits_one_action_per_chart (line 910) | def test_plan_helm_emits_one_action_per_chart() -> None: function test_plan_helm_skips_packages_without_helm (line 917) | def test_plan_helm_skips_packages_without_helm() -> None: function test_execute_helm_action_dry_run_skips_run_command (line 932) | def test_execute_helm_action_dry_run_skips_run_command() -> None: function test_execute_helm_action_packages_and_pushes (line 944) | def test_execute_helm_action_packages_and_pushes() -> None: function test_is_helm_chart_published_uses_chart_name (line 966) | def test_is_helm_chart_published_uses_chart_name() -> None: function _make_workspace (line 978) | def _make_workspace() -> tuple[PackageJson, dict[str, PackageJson]]: function test_resolve_template_version (line 1010) | def test_resolve_template_version() -> None: function test_resolve_template_self_version (line 1015) | def test_resolve_template_self_version() -> None: function test_resolve_template_docker_tag (line 1020) | def test_resolve_template_docker_tag() -> None: function test_resolve_template_pep440_version (line 1025) | def test_resolve_template_pep440_version() -> None: function test_resolve_template_unknown_package (line 1031) | def test_resolve_template_unknown_package() -> None: function test_resolve_template_docker_tag_no_docker (line 1037) | def test_resolve_template_docker_tag_no_docker() -> None: function test_resolve_template_unknown_property (line 1043) | def test_resolve_template_unknown_property() -> None: function test_write_yaml_values_sets_dot_path (line 1052) | def test_write_yaml_values_sets_dot_path(tmp_path: Path) -> None: function test_write_yaml_values_preserves_comments (line 1070) | def test_write_yaml_values_preserves_comments(tmp_path: Path) -> None: function test_write_yaml_values_no_change (line 1093) | def test_write_yaml_values_no_change(tmp_path: Path) -> None: function test_write_yaml_values_missing_file (line 1100) | def test_write_yaml_values_missing_file(tmp_path: Path) -> None: function test_write_yaml_values_creates_intermediate_keys (line 1106) | def test_write_yaml_values_creates_intermediate_keys(tmp_path: Path) -> ... function test_write_toml_values_sets_dot_path (line 1118) | def test_write_toml_values_sets_dot_path(tmp_path: Path) -> None: function test_write_toml_values_no_change (line 1132) | def test_write_toml_values_no_change(tmp_path: Path) -> None: function test_write_toml_values_missing_file (line 1144) | def test_write_toml_values_missing_file(tmp_path: Path) -> None: function test_apply_sync_values_explicit_yaml (line 1153) | def test_apply_sync_values_explicit_yaml(tmp_path: Path) -> None: function test_apply_sync_values_implicit_helm (line 1191) | def test_apply_sync_values_implicit_helm(tmp_path: Path) -> None: function test_apply_sync_values_implicit_pyproject (line 1206) | def test_apply_sync_values_implicit_pyproject(tmp_path: Path) -> None: FILE: tests/dev_cli/test_cli_misc.py function runner (line 17) | def runner() -> CliRunner: function test_compute_tag_metadata_change_types (line 32) | def test_compute_tag_metadata_change_types( function test_compute_tag_metadata_writes_output_file (line 51) | def test_compute_tag_metadata_writes_output_file( function test_compute_tag_metadata_requires_tag (line 70) | def test_compute_tag_metadata_requires_tag(runner: CliRunner) -> None: function test_update_index_html_success (line 79) | def test_update_index_html_success(runner: CliRunner, tmp_path: Path) ->... function test_update_index_html_missing_file (line 109) | def test_update_index_html_missing_file(runner: CliRunner, tmp_path: Pat... FILE: tests/dev_cli/test_pytest_cmd.py function runner (line 34) | def runner() -> CliRunner: function packages_dir (line 39) | def packages_dir(tmp_path: Path) -> Path: function create_pkg (line 47) | def create_pkg(packages_dir: Path) -> Callable[[str], PackageInfo]: function test_discover_finds_packages_with_tests (line 63) | def test_discover_finds_packages_with_tests(packages_dir: Path) -> None: function test_discover_returns_sorted_list (line 83) | def test_discover_returns_sorted_list(packages_dir: Path) -> None: function test_discover_empty_when_no_packages_dir (line 94) | def test_discover_empty_when_no_packages_dir(tmp_path: Path) -> None: function test_pytest_help (line 102) | def test_pytest_help(runner: CliRunner) -> None: function test_pytest_filters_by_package (line 109) | def test_pytest_filters_by_package( function test_pytest_errors_on_unknown_package (line 129) | def test_pytest_errors_on_unknown_package( function test_pytest_package_filter_matching (line 154) | def test_pytest_package_filter_matching( function test_pytest_passes_args_through (line 171) | def test_pytest_passes_args_through( function test_pytest_continues_on_failure (line 191) | def test_pytest_continues_on_failure( function test_pytest_shows_summary (line 217) | def test_pytest_shows_summary( function test_pytest_quiet_mode_hides_streaming_output (line 238) | def test_pytest_quiet_mode_hides_streaming_output( function test_pytest_verbose_shows_streaming_output (line 262) | def test_pytest_verbose_shows_streaming_output( function test_pytest_failure_recap_always_shown (line 285) | def test_pytest_failure_recap_always_shown( function test_pytest_runs_parallel_by_default (line 320) | def test_pytest_runs_parallel_by_default( function test_pytest_parallel_one_runs_sequentially (line 380) | def test_pytest_parallel_one_runs_sequentially( function test_pytest_parallel_handles_mixed_results (line 438) | def test_pytest_parallel_handles_mixed_results( function test_extract_failures_returns_failures_block (line 493) | def test_extract_failures_returns_failures_block() -> None: function test_extract_failures_returns_none_for_passing (line 520) | def test_extract_failures_returns_none_for_passing() -> None: function test_extract_failures_excludes_warnings (line 533) | def test_extract_failures_excludes_warnings() -> None: function test_extract_failures_handles_multiple (line 549) | def test_extract_failures_handles_multiple() -> None: function test_extract_failed_names_from_short_summary (line 569) | def test_extract_failed_names_from_short_summary() -> None: function test_extract_failed_names_fallback_to_headers (line 585) | def test_extract_failed_names_fallback_to_headers() -> None: function test_extract_failed_names_empty_for_passing (line 603) | def test_extract_failed_names_empty_for_passing() -> None: function test_extract_failed_names_ignores_separator_lines (line 613) | def test_extract_failed_names_ignores_separator_lines() -> None: function test_extract_failed_names_handles_ansi_codes (line 633) | def test_extract_failed_names_handles_ansi_codes() -> None: function test_pytest_summary_appears_last (line 649) | def test_pytest_summary_appears_last( function test_pytest_extracts_failures_not_full_output (line 681) | def test_pytest_extracts_failures_not_full_output( function test_pytest_shows_failed_test_names_at_end (line 721) | def test_pytest_shows_failed_test_names_at_end( function test_render_progress_table_pending (line 752) | def test_render_progress_table_pending( function test_render_progress_table_running (line 766) | def test_render_progress_table_running( function test_render_progress_table_completed (line 780) | def test_render_progress_table_completed( function test_run_tests_with_rich_progress_returns_results (line 798) | def test_run_tests_with_rich_progress_returns_results( function test_run_tests_with_rich_progress_multiple (line 817) | def test_run_tests_with_rich_progress_multiple( function test_pytest_verbose_does_not_use_rich (line 847) | def test_pytest_verbose_does_not_use_rich( function test_pytest_skips_rich_when_not_tty (line 870) | def test_pytest_skips_rich_when_not_tty( function test_extract_test_counts_passed_only (line 896) | def test_extract_test_counts_passed_only() -> None: function test_extract_test_counts_mixed (line 901) | def test_extract_test_counts_mixed() -> None: function test_extract_test_counts_with_skipped (line 906) | def test_extract_test_counts_with_skipped() -> None: function test_extract_test_counts_no_summary (line 911) | def test_extract_test_counts_no_summary() -> None: function test_extract_test_counts_with_ansi (line 915) | def test_extract_test_counts_with_ansi() -> None: function test_extract_test_counts_without_timing (line 920) | def test_extract_test_counts_without_timing() -> None: function test_single_package_shows_full_output (line 928) | def test_single_package_shows_full_output( function test_compact_output_shows_test_counts (line 956) | def test_compact_output_shows_test_counts( function test_summary_table_shows_test_counts (line 990) | def test_summary_table_shows_test_counts(