flock-core 0.2.14__py3-none-any.whl → 0.2.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of flock-core might be problematic. Click here for more details.
- flock/__init__.py +6 -0
- flock/cli/constants.py +1 -0
- flock/config.py +0 -1
- flock/core/execution/local_executor.py +7 -3
- flock/core/execution/temporal_executor.py +1 -8
- flock/core/flock.py +4 -16
- flock/core/flock_agent.py +41 -0
- flock/core/logging/formatters/enum_builder.py +38 -0
- flock/core/logging/formatters/theme_builder.py +2 -6
- flock/core/logging/formatters/themed_formatter.py +127 -19
- flock/core/logging/formatters/themes.py +340 -0
- flock/core/logging/telemetry.py +1 -1
- flock/workflow/activities.py +1 -18
- {flock_core-0.2.14.dist-info → flock_core-0.2.15.dist-info}/METADATA +1 -1
- {flock_core-0.2.14.dist-info → flock_core-0.2.15.dist-info}/RECORD +18 -22
- flock/cli/examples/chatty.flock +0 -1
- flock/cli/examples/chatty.json +0 -1
- flock/core/logging/formatters/base_formatter.py +0 -36
- flock/core/logging/formatters/formatter_factory.py +0 -38
- flock/core/logging/formatters/pprint_formatter.py +0 -31
- flock/core/logging/formatters/rich_formatters.py +0 -132
- {flock_core-0.2.14.dist-info → flock_core-0.2.15.dist-info}/WHEEL +0 -0
- {flock_core-0.2.14.dist-info → flock_core-0.2.15.dist-info}/entry_points.txt +0 -0
- {flock_core-0.2.14.dist-info → flock_core-0.2.15.dist-info}/licenses/LICENSE +0 -0
flock/cli/examples/chatty.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"name": "chatty", "model": "openai/gpt-4o", "description": "You are Chatty, a friendly assistant that loves to chat. Today is Saturday, February 15, 2025", "input": "user_query, memory | Memory of previous interactions, chat_history | the current chat history", "output": "answer_to_query, important_new_knowledge_to_add_to_memory | Empty string if no knowledge to add", "tools": ["80059536000000000000008c1c666c6f636b2e636f72652e746f6f6c732e62617369635f746f6f6c73948c117765625f7365617263685f746176696c799493942e"], "use_cache": true, "hand_off": null, "termination": null, "config": {"agent_type_override": null, "disable_output": true, "temperature": 0.0, "max_tokens": 2000}, "initialize_callback": "800595991a0000000000008c17636c6f75647069636b6c652e636c6f75647069636b6c65948c0d5f6275696c74696e5f747970659493948c0a4d6574686f6454797065948594529468008c0e5f6d616b655f66756e6374696f6e9493942868028c08436f6465547970659485945294284b034b004b004b054b064b8342480100004b000100970074010000000000000000ab000000000000007d0309007403000000000000000064016402ab0200000000000035007d047c046a05000000000000000000000000000000000000ab000000000000007c005f030000000000000000640064006400ab020000000000000100740b00000000000000006a0c0000000000000000000000000000000000006404ab010000000000007c005f0700000000000000007c006a0e0000000000000000000000000000000000007c0264053c0000007c006a100000000000000000000000000000000000007c0264063c0000007c006a060000000000000000000000000000000000007c0264073c0000007900230031007301770201005900010001008c517803590077012300740800000000000000002400720a010064037c005f03000000000000000059008c667700780359007701ad03770194284e8c0a6d656d6f72792e747874948c0172948c00948c1b5b626f6c64206379616e5d557365725b2f626f6c64206379616e5d948c0a757365725f7175657279948c0c636861745f686973746f7279948c066d656d6f7279947494288c07436f6e736f6c65948c046f70656e948c04726561649468128c1146696c654e6f74466f756e644572726f72948c0650726f6d7074948c0361736b94681068117494288c0473656c66948c056167656e74948c06696e70757473948c07636f6e736f6c65948c0466696c659474948c3b643a5c50726f6a656374735c666c6f636b5c6578616d706c65735c30325f636f6f6b5f626f6f6b5c73656c665f696d70726f76656d656e742e7079948c0f6265666f72655f726573706f6e7365948c14436861742e6265666f72655f726573706f6e7365944b1c438ce800f88000dc121993298807f00404091ddc1115906ca043d41128a844d81e229f6999699b6b9004940bf703001229f40c001b219f2a992ad02542d31a4388048c0fd81f239f7f997f8806887cd1081cd82125d72132d121328806887ed1081ed81b1f9f3b993b88068878d20818f713001229d01128fbe40f20f20001091dd81a1c88448e4bf00301091dfc94433e820b4222018e0c420c009a16420003b008420c00b84108422201c20005420907c20507420c00c20c10421f03c21c02422201c21e01421f03c21f03422201942929749452947d94288c0b5f5f7061636b6167655f5f944e8c085f5f6e616d655f5f948c085f5f6d61696e5f5f948c085f5f66696c655f5f946821754e4e4e7494529468008c125f66756e6374696f6e5f7365747374617465949394682e7d947d9428682a8c0f6265666f72655f726573706f6e7365948c0c5f5f7175616c6e616d655f5f948c14436861742e6265666f72655f726573706f6e7365948c0f5f5f616e6e6f746174696f6e735f5f947d948c0e5f5f6b7764656661756c74735f5f944e8c0c5f5f64656661756c74735f5f944e8c0a5f5f6d6f64756c655f5f94682b8c075f5f646f635f5f944e8c0b5f5f636c6f737572655f5f944e8c175f636c6f75647069636b6c655f7375626d6f64756c6573945d948c0b5f5f676c6f62616c735f5f947d942868148c0c726963682e636f6e736f6c65946814939468188c0b726963682e70726f6d707494681893947575869486523068008c145f6d616b655f736b656c65746f6e5f636c617373949394288c086275696c74696e73948c04747970659493948c04436861749468488c066f626a65637494939485947d94683a682b738c206431613137373932326538383462656338303536613963303637613930373335944e7494529468008c0f5f636c6173735f736574737461746594939468527d94288c0f5f5f616e6e6f746174696f6e735f5f947d9428681168028c0c47656e65726963416c696173948594529468488c046c69737494939468488c037374729493948594869452946810685e8c0f616e737765725f746f5f717565727994685e6812685e758c145f5f64617461636c6173735f6669656c64735f5f947d942868118c0b64617461636c6173736573948c054669656c649493942981944e7d94288c046e616d659468118c04747970659468618c0764656661756c749468658c0d5f4d495353494e475f545950459493942981948c0f64656661756c745f666163746f727994685c8c047265707294888c0468617368944e8c04696e697494888c07636f6d7061726594888c086d657461646174619468028c104d617070696e6750726f78795479706594859452947d94859452948c076b775f6f6e6c7994898c0b5f6669656c645f747970659468008c225f6765745f64617461636c6173735f6669656c645f747970655f73656e74696e656c9493948c065f4649454c44948594529475869462681068672981944e7d9428686a6810686b685e686c680e6870686f68718868724e6873886874886875687b687c89687d688275869462686268672981944e7d9428686a6862686b685e686c680e6870686f68718868724e6873886874886875687b687c89687d688275869462681268672981944e7d9428686a6812686b685e686c680e6870686f68718868724e6873886874886875687b687c89687d688275869462758c145f5f64617461636c6173735f706172616d735f5f9468658c105f44617461636c617373506172616d739493942981944e7d94286873886871888c02657194888c056f7264657294898c0b756e736166655f6861736894898c0666726f7a656e94898c0a6d617463685f617267739488687c898c05736c6f747394898c0c7765616b7265665f736c6f749489758694628c075f5f646f635f5f948c6c4368617428636861745f686973746f72793a206c6973745b7374725d203d203c666163746f72793e2c20757365725f71756572793a20737472203d2027272c20616e737765725f746f5f71756572793a20737472203d2027272c206d656d6f72793a20737472203d20272729948c065f5f65715f5f94680728680a284b024b004b004b024b054b1343f897007c016a000000000000000000000000000000000000007c006a000000000000000000000000000000000000007500725d7c006a020000000000000000000000000000000000007c006a040000000000000000000000000000000000007c006a060000000000000000000000000000000000007c006a0800000000000000000000000000000000000066047c016a020000000000000000000000000000000000007c016a040000000000000000000000000000000000007c016a060000000000000000000000000000000000007c016a0800000000000000000000000000000000000066046b2800005300740a00000000000000005300944e8594288c095f5f636c6173735f5f9468116810686268128c0e4e6f74496d706c656d656e746564947494681b8c056f746865729486948c083c737472696e673e948c065f5f65715f5f948c1d5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f65715f5f944b0243838000d8050a875f815f98049f0e990ed10526d80b0fd70b1cd10b1c98549f5f995fa854d72d41d12d41c024c72bc12bd00a4fd05257d75264d15264d0656ad76575d16575d0767bf7000077014c02f1000077014c02f000004d025202f700004d025902f100004d025902f0000052015b02f100000b5b02f00000045b02dc0917d002179443009429297494529468284e4e4e74945294683068ac7d947d9428682a8c065f5f65715f5f9468348c0b436861742e5f5f65715f5f9468367d9468384e68394e683a682b683b4e683c4e683d5d94683f7d947586948652308c085f5f686173685f5f944e8c085f5f696e69745f5f94680728680a284b054b004b004b054b024b134354950297007c0189057500720702008906ab000000000000006e017c017c005f0000000000000000007c027c005f0100000000000000007c037c005f0200000000000000007c047c005f0300000000000000007900944e8594286811681068626812749428681b6811681068626812749468a48c085f5f696e69745f5f948c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f696e69745f5f944b024330f88000d83945d0496ad1396ad11433d41435d0707c8024d40213d8121c8024842fd817268024d40216d80e148024852b9468a88c215f5f64617461636c6173735f4841535f44454641554c545f464143544f52595f5f948c1f5f5f64617461636c6173735f64666c745f636861745f686973746f72795f5f948694297494529468284e4e68008c105f6d616b655f656d7074795f63656c6c94939429529468c4295294869474945294683068c97d947d9428682a8c085f5f696e69745f5f9468348c0d436861742e5f5f696e69745f5f9468367d9428681168616810685e6862685e6812685e8c0672657475726e944e7568384e68392868658c1a5f4841535f44454641554c545f464143544f52595f434c415353949394298194680e680e680e7494683a682b683b4e683c68008c0a5f6d616b655f63656c6c94939468d28594529468d5685c859452948694683d5d94683f7d947586948652308c0e5f5f6d617463685f617267735f5f9428681168106862681274948c0a5f5f6d6f64756c655f5f94682b8c085f5f726570725f5f94680728680a284b014b004b004b034b054b1343d295029700740100000000000000007c00ab01000000000000740300000000000000006a04000000000000000000000000000000000000ab0000000000000066027d017c01890376007201790189036a070000000000000000000000000000000000007c01ab0100000000000001000900020089047c00ab010000000000007d0289036a090000000000000000000000000000000000007c01ab0100000000000001007c025300230089036a090000000000000000000000000000000000007c01ab0100000000000001007700780359007701944e8c032e2e2e948694288c026964948c075f746872656164948c096765745f6964656e74948c03616464948c0764697363617264947494681b8c036b6579948c06726573756c749487948c5e433a5c55736572735c617261747a5c417070446174615c526f616d696e675c75765c707974686f6e5c63707974686f6e2d332e31322e382d77696e646f77732d7838365f36342d6e6f6e655c4c69625c64617461636c61737365732e7079948c0777726170706572948c205f7265637572736976655f726570722e3c6c6f63616c733e2e77726170706572944bff4367f88000e40e1090148b689c07d71829d11829d3182bd00e2b8803d80b0e902cd10b1ed81318d80814d70818d108189813d4081df002030926d91522a034d315288846e00c18d70c20d10c20a013d40c25d80f15880df8f003000d19d70c20d10c20a013d50c25fa94430bb808411300c11313412603948c0c726570725f72756e6e696e67948c0d757365725f66756e6374696f6e94869429749452947d94286829680e682a6865682c8c5e433a5c55736572735c617261747a5c417070446174615c526f616d696e675c75765c707974686f6e5c63707974686f6e2d332e31322e382d77696e646f77732d7838365f36342d6e6f6e655c4c69625c64617461636c61737365732e707994754e4e68c429529468c4295294869474945294683068fe7d948c0b5f5f777261707065645f5f94680728680a284b014b004b004b014b0a4b13439e97007c006a000000000000000000000000000000000000006a0200000000000000000000000000000000000064017c006a040000000000000000000000000000000000009b0264027c006a060000000000000000000000000000000000009b0264037c006a080000000000000000000000000000000000009b0264047c006a0a0000000000000000000000000000000000009b0264059d097a000000530094284e8c0e28636861745f686973746f72793d948c0d2c20757365725f71756572793d948c122c20616e737765725f746f5f71756572793d948c092c206d656d6f72793d948c012994749428689f683468116810686268127494681b859468a48c085f5f726570725f5f948c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f726570725f5f944b0243858000d8090d8f1e891ed70924d10924a81eb804d73849d13849d0374cc84dd05a5ed75a69d15a69d0596cd06c7ef0000040024402f7000040025402f1000040025402f000007f015702f0000057026002f0000061026502f7000061026c02f1000061026c02f0000060026f02f000006f027002f00000287102f100000a7102f000000371029468a829297494529468284e4e4e7494529468306a100100007d947d9428682a8c085f5f726570725f5f9468348c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f726570725f5f9468367d9468384e68394e683a682b683b4e683c4e683d5d94683f7d94758694865230737d9428682a8c085f5f726570725f5f9468348c0d436861742e5f5f726570725f5f9468366a1501000068384e68394e683a682b683b4e683c68d58f948594529468d56a10010000859452948694683d5d94683f7d9468e668008c09737562696d706f727494939468e685945294737586948652308c0d5f5f736c6f746e616d65735f5f945d948c0e61667465725f726573706f6e736594680728680a284b044b004b004b094b064b8342180200004b000100970074010000000000000000ab000000000000007d047c036401190000007c005f0100000000000000007c006a040000000000000000000000000000000000006a070000000000000000000000000000000000007c006a080000000000000000000000000000000000007c006a0200000000000000000000000000000000000064029c02ab0100000000000001007c0078016a0a0000000000000000000000000000000000007c036a0d00000000000000000000000000000000000064036404ab0200000000000064057a0000007a0d000063025f050000000000000000740f000000000000000064066407ab0200000000000035007d057c056a110000000000000000000000000000000000007c006a0a000000000000000000000000000000000000ab010000000000000100640064006400ab0200000000000001007c036a0d00000000000000000000000000000000000064086404ab020000000000007d067c06721f741300000000000000007c066409640aac0bab030000000000007d077c046a150000000000000000000000000000000000007c07ab010000000000000100741300000000000000007c006a02000000000000000000000000000000000000640c640dac0bab030000000000007d087c046a150000000000000000000000000000000000007c08ab0100000000000001007900230031007301770201005900010001008c66780359007701ad03770194284e68628c0475736572948c09617373697374616e749486948c28696d706f7274616e745f6e65775f6b6e6f776c656467655f746f5f6164645f746f5f6d656d6f727994680e8c010a94680c8c0177948c09726561736f6e696e67948c2a5b626f6c6420626c75655d417373697374616e7420526561736f6e696e675b2f626f6c6420626c75655d948c04626c7565948c057469746c65948c0c626f726465725f7374796c659486948c295b626f6c6420677265656e5d417373697374616e7420416e737765725b2f626f6c6420677265656e5d948c05677265656e947494286814686268118c06617070656e6494681068128c036765749468158c057772697465948c0550616e656c948c057072696e7494749428681b681c681d8c076f75747075747394681e681f6a330100008c0f726561736f6e696e675f70616e656c948c0c616e737765725f70616e656c94749468218c0e61667465725f726573706f6e7365948c13436861742e61667465725f726573706f6e7365944b2c43e8e800f88000e4121993298807d81f26d02738d11f398804d4081cd8080cd70819d10819d70820d10820a824af2fa92fc804d7485cd1485cd1215dd4085ed8080c8f0b8a0b9077977b917bd0234dc872d31752d05559d11759d108598d0bf406000e12902ca003d40d24a804d80c108f4a894a9074977b917bd40c23f703000e25f00800151c974b914ba00ba852d314308809d90b14dc1e23d81019d81642d81d23f407041f0e884ff00a000d148f4d894d982fd40c2af40600181dd80c10d70c20d10c20d8123dd81920f40704180a880cf00a0009108f0d890d906cd50823f727000e25d00d24fc94431f82413b440a01c13d1c433e03c2194125440a01c33e05440707c40307440a019429297494529468284e4e4e7494529468306a4d0100007d947d9428682a8c0e61667465725f726573706f6e73659468348c13436861742e61667465725f726573706f6e73659468367d9468384e68394e683a682b683b4e683c4e683d5d94683f7d9428681468426a3f0100008c0a726963682e70616e656c946a3f0100009394757586948652308c0f616e737765725f746f5f717565727994680e8c0f6265666f72655f726573706f6e736594682e8c0868616e645f6f666694680728680a284b034b004b004b034b034b03435697007c006a000000000000000000000000000000000000006a03000000000000000000000000000000000000ab0000000000000064016b28000072017900740500000000000000006402ac03ab01000000000000530094284e8c07676f6f64627965948c06636861747479948c0a6e6578745f6167656e74948594749468108c056c6f776572948c0748616e644f6666948794681b8c07636f6e746578749468ec879468218c0868616e645f6f6666948c0d436861742e68616e645f6f6666944b4a43258000d80b0f8f3f893fd70b20d10b20d30b22a069d20b2fd81317dc0f16a028d40f2bd0082b9468a829297494529468284e4e4e7494529468306a6c0100007d947d9428682a8c0868616e645f6f66669468348c0d436861742e68616e645f6f66669468367d9468384e68394e683a682b683b4e683c4e683d5d94683f7d946a620100008c16666c6f636b2e636f72652e666c6f636b5f6167656e74946a620100009394737586948652308c066d656d6f727994680e8c0a757365725f717565727994680e757d9486948652302981947d942868115d946810680e6862680e6812680e7562869452942e", "evaluate_callback": null, "terminate_callback": "800595991a0000000000008c17636c6f75647069636b6c652e636c6f75647069636b6c65948c0d5f6275696c74696e5f747970659493948c0a4d6574686f6454797065948594529468008c0e5f6d616b655f66756e6374696f6e9493942868028c08436f6465547970659485945294284b044b004b004b094b064b8342180200004b000100970074010000000000000000ab000000000000007d047c036401190000007c005f0100000000000000007c006a040000000000000000000000000000000000006a070000000000000000000000000000000000007c006a080000000000000000000000000000000000007c006a0200000000000000000000000000000000000064029c02ab0100000000000001007c0078016a0a0000000000000000000000000000000000007c036a0d00000000000000000000000000000000000064036404ab0200000000000064057a0000007a0d000063025f050000000000000000740f000000000000000064066407ab0200000000000035007d057c056a110000000000000000000000000000000000007c006a0a000000000000000000000000000000000000ab010000000000000100640064006400ab0200000000000001007c036a0d00000000000000000000000000000000000064086404ab020000000000007d067c06721f741300000000000000007c066409640aac0bab030000000000007d077c046a150000000000000000000000000000000000007c07ab010000000000000100741300000000000000007c006a02000000000000000000000000000000000000640c640dac0bab030000000000007d087c046a150000000000000000000000000000000000007c08ab0100000000000001007900230031007301770201005900010001008c66780359007701ad03770194284e8c0f616e737765725f746f5f7175657279948c0475736572948c09617373697374616e749486948c28696d706f7274616e745f6e65775f6b6e6f776c656467655f746f5f6164645f746f5f6d656d6f7279948c00948c010a948c0a6d656d6f72792e747874948c0177948c09726561736f6e696e67948c2a5b626f6c6420626c75655d417373697374616e7420526561736f6e696e675b2f626f6c6420626c75655d948c04626c7565948c057469746c65948c0c626f726465725f7374796c659486948c295b626f6c6420677265656e5d417373697374616e7420416e737765725b2f626f6c6420677265656e5d948c05677265656e947494288c07436f6e736f6c6594680c8c0c636861745f686973746f7279948c06617070656e64948c0a757365725f7175657279948c066d656d6f7279948c03676574948c046f70656e948c057772697465948c0550616e656c948c057072696e74947494288c0473656c66948c056167656e74948c06696e70757473948c076f757470757473948c07636f6e736f6c65948c0466696c659468158c0f726561736f6e696e675f70616e656c948c0c616e737765725f70616e656c9474948c3b643a5c50726f6a656374735c666c6f636b5c6578616d706c65735c30325f636f6f6b5f626f6f6b5c73656c665f696d70726f76656d656e742e7079948c0e61667465725f726573706f6e7365948c13436861742e61667465725f726573706f6e7365944b2c43e8e800f88000e4121993298807d81f26d02738d11f398804d4081cd8080cd70819d10819d70820d10820a824af2fa92fc804d7485cd1485cd1215dd4085ed8080c8f0b8a0b9077977b917bd0234dc872d31752d05559d11759d108598d0bf406000e12902ca003d40d24a804d80c108f4a894a9074977b917bd40c23f703000e25f00800151c974b914ba00ba852d314308809d90b14dc1e23d81019d81642d81d23f407041f0e884ff00a000d148f4d894d982fd40c2af40600181dd80c10d70c20d10c20d8123dd81920f40704180a880cf00a0009108f0d890d906cd50823f727000e25d00d24fc94431f82413b440a01c13d1c433e03c2194125440a01c33e05440707c40307440a01942929749452947d94288c0b5f5f7061636b6167655f5f944e8c085f5f6e616d655f5f948c085f5f6d61696e5f5f948c085f5f66696c655f5f946832754e4e4e7494529468008c125f66756e6374696f6e5f7365747374617465949394683f7d947d9428683b8c0e61667465725f726573706f6e7365948c0c5f5f7175616c6e616d655f5f948c13436861742e61667465725f726573706f6e7365948c0f5f5f616e6e6f746174696f6e735f5f947d948c0e5f5f6b7764656661756c74735f5f944e8c0c5f5f64656661756c74735f5f944e8c0a5f5f6d6f64756c655f5f94683c8c075f5f646f635f5f944e8c0b5f5f636c6f737572655f5f944e8c175f636c6f75647069636b6c655f7375626d6f64756c6573945d948c0b5f5f676c6f62616c735f5f947d9428681e8c0c726963682e636f6e736f6c6594681e939468268c0a726963682e70616e656c94682693947575869486523068008c145f6d616b655f736b656c65746f6e5f636c617373949394288c086275696c74696e73948c04747970659493948c04436861749468598c066f626a65637494939485947d94684b683c738c206431613137373932326538383462656338303536613963303637613930373335944e7494529468008c0f5f636c6173735f736574737461746594939468637d94288c0f5f5f616e6e6f746174696f6e735f5f947d9428681f68028c0c47656e65726963416c696173948594529468598c046c69737494939468598c037374729493948594869452946821686f680c686f6822686f758c145f5f64617461636c6173735f6669656c64735f5f947d9428681f8c0b64617461636c6173736573948c054669656c649493942981944e7d94288c046e616d6594681f8c04747970659468728c0764656661756c749468758c0d5f4d495353494e475f545950459493942981948c0f64656661756c745f666163746f727994686d8c047265707294888c0468617368944e8c04696e697494888c07636f6d7061726594888c086d657461646174619468028c104d617070696e6750726f78795479706594859452947d94859452948c076b775f6f6e6c7994898c0b5f6669656c645f747970659468008c225f6765745f64617461636c6173735f6669656c645f747970655f73656e74696e656c9493948c065f4649454c44948594529475869462682168772981944e7d9428687a6821687b686f687c68116880687f68818868824e6883886884886885688b688c89688d689275869462680c68772981944e7d9428687a680c687b686f687c68116880687f68818868824e6883886884886885688b688c89688d689275869462682268772981944e7d9428687a6822687b686f687c68116880687f68818868824e6883886884886885688b688c89688d689275869462758c145f5f64617461636c6173735f706172616d735f5f9468758c105f44617461636c617373506172616d739493942981944e7d94286883886881888c02657194888c056f7264657294898c0b756e736166655f6861736894898c0666726f7a656e94898c0a6d617463685f617267739488688c898c05736c6f747394898c0c7765616b7265665f736c6f749489758694628c075f5f646f635f5f948c6c4368617428636861745f686973746f72793a206c6973745b7374725d203d203c666163746f72793e2c20757365725f71756572793a20737472203d2027272c20616e737765725f746f5f71756572793a20737472203d2027272c206d656d6f72793a20737472203d20272729948c065f5f65715f5f94680728680a284b024b004b004b024b054b1343f897007c016a000000000000000000000000000000000000007c006a000000000000000000000000000000000000007500725d7c006a020000000000000000000000000000000000007c006a040000000000000000000000000000000000007c006a060000000000000000000000000000000000007c006a0800000000000000000000000000000000000066047c016a020000000000000000000000000000000000007c016a040000000000000000000000000000000000007c016a060000000000000000000000000000000000007c016a0800000000000000000000000000000000000066046b2800005300740a00000000000000005300944e8594288c095f5f636c6173735f5f94681f6821680c68228c0e4e6f74496d706c656d656e74656494749468298c056f746865729486948c083c737472696e673e948c065f5f65715f5f948c1d5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f65715f5f944b0243838000d8050a875f815f98049f0e990ed10526d80b0fd70b1cd10b1c98549f5f995fa854d72d41d12d41c024c72bc12bd00a4fd05257d75264d15264d0656ad76575d16575d0767bf7000077014c02f1000077014c02f000004d025202f700004d025902f100004d025902f0000052015b02f100000b5b02f00000045b02dc0917d002179443009429297494529468394e4e4e74945294684168bc7d947d9428683b8c065f5f65715f5f9468458c0b436861742e5f5f65715f5f9468477d9468494e684a4e684b683c684c4e684d4e684e5d9468507d947586948652308c085f5f686173685f5f944e8c085f5f696e69745f5f94680728680a284b054b004b004b054b024b134354950297007c0189057500720702008906ab000000000000006e017c017c005f0000000000000000007c027c005f0100000000000000007c037c005f0200000000000000007c047c005f0300000000000000007900944e859428681f6821680c68227494286829681f6821680c6822749468b48c085f5f696e69745f5f948c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f696e69745f5f944b024330f88000d83945d0496ad1396ad11433d41435d0707c8024d40213d8121c8024842fd817268024d40216d80e148024852b9468b88c215f5f64617461636c6173735f4841535f44454641554c545f464143544f52595f5f948c1f5f5f64617461636c6173735f64666c745f636861745f686973746f72795f5f948694297494529468394e4e68008c105f6d616b655f656d7074795f63656c6c94939429529468d4295294869474945294684168d97d947d9428683b8c085f5f696e69745f5f9468458c0d436861742e5f5f696e69745f5f9468477d9428681f68726821686f680c686f6822686f8c0672657475726e944e7568494e684a2868758c1a5f4841535f44454641554c545f464143544f52595f434c4153539493942981946811681168117494684b683c684c4e684d68008c0a5f6d616b655f63656c6c94939468e28594529468e5686d859452948694684e5d9468507d947586948652308c0e5f5f6d617463685f617267735f5f9428681f6821680c682274948c0a5f5f6d6f64756c655f5f94683c8c085f5f726570725f5f94680728680a284b014b004b004b034b054b1343d295029700740100000000000000007c00ab01000000000000740300000000000000006a04000000000000000000000000000000000000ab0000000000000066027d017c01890376007201790189036a070000000000000000000000000000000000007c01ab0100000000000001000900020089047c00ab010000000000007d0289036a090000000000000000000000000000000000007c01ab0100000000000001007c025300230089036a090000000000000000000000000000000000007c01ab0100000000000001007700780359007701944e8c032e2e2e948694288c026964948c075f746872656164948c096765745f6964656e74948c03616464948c076469736361726494749468298c036b6579948c06726573756c749487948c5e433a5c55736572735c617261747a5c417070446174615c526f616d696e675c75765c707974686f6e5c63707974686f6e2d332e31322e382d77696e646f77732d7838365f36342d6e6f6e655c4c69625c64617461636c61737365732e7079948c0777726170706572948c205f7265637572736976655f726570722e3c6c6f63616c733e2e77726170706572944bff4367f88000e40e1090148b689c07d71829d11829d3182bd00e2b8803d80b0e902cd10b1ed81318d80814d70818d108189813d4081df002030926d91522a034d315288846e00c18d70c20d10c20a013d40c25d80f15880df8f003000d19d70c20d10c20a013d50c25fa94430bb808411300c11313412603948c0c726570725f72756e6e696e67948c0d757365725f66756e6374696f6e94869429749452947d9428683a6811683b6875683d8c5e433a5c55736572735c617261747a5c417070446174615c526f616d696e675c75765c707974686f6e5c63707974686f6e2d332e31322e382d77696e646f77732d7838365f36342d6e6f6e655c4c69625c64617461636c61737365732e707994754e4e68d429529468d429529486947494529468416a0e0100007d948c0b5f5f777261707065645f5f94680728680a284b014b004b004b014b0a4b13439e97007c006a000000000000000000000000000000000000006a0200000000000000000000000000000000000064017c006a040000000000000000000000000000000000009b0264027c006a060000000000000000000000000000000000009b0264037c006a080000000000000000000000000000000000009b0264047c006a0a0000000000000000000000000000000000009b0264059d097a000000530094284e8c0e28636861745f686973746f72793d948c0d2c20757365725f71756572793d948c122c20616e737765725f746f5f71756572793d948c092c206d656d6f72793d948c01299474942868af6845681f6821680c682274946829859468b48c085f5f726570725f5f948c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f726570725f5f944b0243858000d8090d8f1e891ed70924d10924a81eb804d73849d13849d0374cc84dd05a5ed75a69d15a69d0596cd06c7ef0000040024402f7000040025402f1000040025402f000007f015702f0000057026002f0000061026502f7000061026c02f1000061026c02f0000060026f02f000006f027002f00000287102f100000a7102f000000371029468b829297494529468394e4e4e7494529468416a200100007d947d9428683b8c085f5f726570725f5f9468458c1f5f5f6372656174655f666e5f5f2e3c6c6f63616c733e2e5f5f726570725f5f9468477d9468494e684a4e684b683c684c4e684d4e684e5d9468507d94758694865230737d9428683b8c085f5f726570725f5f9468458c0d436861742e5f5f726570725f5f9468476a2501000068494e684a4e684b683c684c4e684d68e58f948594529468e56a20010000859452948694684e5d9468507d9468f668008c09737562696d706f727494939468f685945294737586948652308c0d5f5f736c6f746e616d65735f5f945d948c0e61667465725f726573706f6e736594683f8c0f616e737765725f746f5f71756572799468118c0f6265666f72655f726573706f6e736594680728680a284b034b004b004b054b064b8342480100004b000100970074010000000000000000ab000000000000007d0309007403000000000000000064016402ab0200000000000035007d047c046a05000000000000000000000000000000000000ab000000000000007c005f030000000000000000640064006400ab020000000000000100740b00000000000000006a0c0000000000000000000000000000000000006404ab010000000000007c005f0700000000000000007c006a0e0000000000000000000000000000000000007c0264053c0000007c006a100000000000000000000000000000000000007c0264063c0000007c006a060000000000000000000000000000000000007c0264073c0000007900230031007301770201005900010001008c517803590077012300740800000000000000002400720a010064037c005f03000000000000000059008c667700780359007701ad03770194284e68138c01729468118c1b5b626f6c64206379616e5d557365725b2f626f6c64206379616e5d946821681f6822749428681e68248c04726561649468228c1146696c654e6f74466f756e644572726f72948c0650726f6d7074948c0361736b946821681f7494286829682a682b682d682e749468328c0f6265666f72655f726573706f6e7365948c14436861742e6265666f72655f726573706f6e7365944b1c438ce800f88000dc121993298807f00404091ddc1115906ca043d41128a844d81e229f6999699b6b9004940bf703001229f40c001b219f2a992ad02542d31a4388048c0fd81f239f7f997f8806887cd1081cd82125d72132d121328806887ed1081ed81b1f9f3b993b88068878d20818f713001229d01128fbe40f20f20001091dd81a1c88448e4bf00301091dfc94433e820b4222018e0c420c009a16420003b008420c00b84108422201c20005420907c20507420c00c20c10421f03c21c02422201c21e01421f03c21f034222019429297494529468394e4e4e7494529468416a4f0100007d947d9428683b8c0f6265666f72655f726573706f6e73659468458c14436861742e6265666f72655f726573706f6e73659468477d9468494e684a4e684b683c684c4e684d4e684e5d9468507d9428681e68536a440100008c0b726963682e70726f6d7074946a440100009394757586948652308c0868616e645f6f666694680728680a284b034b004b004b034b034b03435697007c006a000000000000000000000000000000000000006a03000000000000000000000000000000000000ab0000000000000064016b28000072017900740500000000000000006402ac03ab01000000000000530094284e8c07676f6f64627965948c06636861747479948c0a6e6578745f6167656e74948594749468218c056c6f776572948c0748616e644f666694879468298c07636f6e746578749468fc879468328c0868616e645f6f6666948c0d436861742e68616e645f6f6666944b4a43258000d80b0f8f3f893fd70b20d10b20d30b22a069d20b2fd81317dc0f16a028d40f2bd0082b9468b829297494529468394e4e4e7494529468416a6c0100007d947d9428683b8c0868616e645f6f66669468458c0d436861742e68616e645f6f66669468477d9468494e684a4e684b683c684c4e684d4e684e5d9468507d946a620100008c16666c6f636b2e636f72652e666c6f636b5f6167656e74946a620100009394737586948652308c066d656d6f72799468118c0a757365725f7175657279946811757d9486948652302981947d9428681f5d9468216811680c6811682268117562869452942e", "on_error_callback": null}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
from abc import ABC, abstractmethod
|
|
2
|
-
from dataclasses import dataclass, field
|
|
3
|
-
from typing import Any
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class BaseFormatter(ABC):
|
|
7
|
-
def __init__(self, max_length: int = 1000) -> None:
|
|
8
|
-
self.max_length = max_length
|
|
9
|
-
|
|
10
|
-
def display(
|
|
11
|
-
self,
|
|
12
|
-
result: dict[str, Any],
|
|
13
|
-
agent_name: str,
|
|
14
|
-
wait: bool = False,
|
|
15
|
-
) -> None:
|
|
16
|
-
self.display_result(result, agent_name)
|
|
17
|
-
if wait:
|
|
18
|
-
input("Press Enter to continue...")
|
|
19
|
-
|
|
20
|
-
@abstractmethod
|
|
21
|
-
def display_result(self, result: dict[str, Any], agent_name: str) -> None:
|
|
22
|
-
"""Display an agent's result."""
|
|
23
|
-
raise NotImplementedError
|
|
24
|
-
|
|
25
|
-
@abstractmethod
|
|
26
|
-
def display_data(self, data: dict[str, Any]) -> None:
|
|
27
|
-
"""Display arbitrary data."""
|
|
28
|
-
raise NotImplementedError
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@dataclass
|
|
32
|
-
class FormatterOptions:
|
|
33
|
-
formatter: type[BaseFormatter] = field(default=None)
|
|
34
|
-
wait_for_input: bool = field(default=False)
|
|
35
|
-
max_length: int = field(default=1000)
|
|
36
|
-
settings: Any | None = field(default=None)
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass
|
|
2
|
-
from typing import Any
|
|
3
|
-
|
|
4
|
-
from flock.core.logging.formatters.base_formatter import (
|
|
5
|
-
BaseFormatter,
|
|
6
|
-
FormatterOptions,
|
|
7
|
-
)
|
|
8
|
-
from flock.core.logging.formatters.pprint_formatter import PrettyPrintFormatter
|
|
9
|
-
from flock.core.logging.formatters.rich_formatters import RichTables
|
|
10
|
-
from flock.core.logging.formatters.themed_formatter import (
|
|
11
|
-
ThemedAgentResultFormatter,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@dataclass
|
|
16
|
-
class FormatterOptions:
|
|
17
|
-
formatter: type[BaseFormatter]
|
|
18
|
-
wait_for_input: bool = False
|
|
19
|
-
settings: dict[str, Any] | None = None
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class FormatterFactory:
|
|
23
|
-
_formatter_map = {
|
|
24
|
-
PrettyPrintFormatter: PrettyPrintFormatter,
|
|
25
|
-
RichTables: RichTables,
|
|
26
|
-
ThemedAgentResultFormatter: ThemedAgentResultFormatter,
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@staticmethod
|
|
30
|
-
def create_formatter(options: FormatterOptions) -> BaseFormatter:
|
|
31
|
-
formatter_cls = options.formatter
|
|
32
|
-
max_length = options.max_length
|
|
33
|
-
if formatter_cls in FormatterFactory._formatter_map:
|
|
34
|
-
formatter = FormatterFactory._formatter_map[formatter_cls]
|
|
35
|
-
if options.settings:
|
|
36
|
-
return formatter(max_length=max_length, **options.settings)
|
|
37
|
-
return formatter(max_length=max_length)
|
|
38
|
-
raise ValueError(f"Unknown formatter: {formatter_cls}")
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from flock.core.logging.formatters.base_formatter import BaseFormatter
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class PrettyPrintFormatter(BaseFormatter):
|
|
7
|
-
def display_result(
|
|
8
|
-
self, result: dict[str, Any], agent_name: str, **kwargs
|
|
9
|
-
) -> None:
|
|
10
|
-
"""Print an agent's result using Rich formatting."""
|
|
11
|
-
from devtools import pformat
|
|
12
|
-
from rich.console import Console
|
|
13
|
-
from rich.panel import Panel
|
|
14
|
-
|
|
15
|
-
console = Console()
|
|
16
|
-
|
|
17
|
-
s = pformat(result, highlight=False)
|
|
18
|
-
|
|
19
|
-
console.print(Panel(s, title=agent_name, highlight=True))
|
|
20
|
-
|
|
21
|
-
def display_data(self, data: dict[str, Any], **kwargs) -> None:
|
|
22
|
-
"""Print an agent's result using Rich formatting."""
|
|
23
|
-
from devtools import pformat
|
|
24
|
-
from rich.console import Console
|
|
25
|
-
from rich.panel import Panel
|
|
26
|
-
|
|
27
|
-
console = Console()
|
|
28
|
-
|
|
29
|
-
s = pformat(data, highlight=False)
|
|
30
|
-
|
|
31
|
-
console.print(Panel(s, highlight=True))
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
from typing import Any
|
|
2
|
-
|
|
3
|
-
from devtools import pprint
|
|
4
|
-
from temporalio import workflow
|
|
5
|
-
|
|
6
|
-
from flock.core.logging.formatters.base_formatter import BaseFormatter
|
|
7
|
-
|
|
8
|
-
with workflow.unsafe.imports_passed_through():
|
|
9
|
-
from rich.console import Console, Group
|
|
10
|
-
from rich.panel import Panel
|
|
11
|
-
from rich.table import Table
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def create_rich_renderable(
|
|
15
|
-
value: Any,
|
|
16
|
-
level: int = 0,
|
|
17
|
-
max_length: int = -1,
|
|
18
|
-
) -> Any:
|
|
19
|
-
"""Recursively creates a Rich renderable for a given value.
|
|
20
|
-
|
|
21
|
-
- If the value is a dict, return a Table representing the dict.
|
|
22
|
-
- If the value is a list or tuple:
|
|
23
|
-
- If all items are dicts, return a Group of subtables.
|
|
24
|
-
- Otherwise, render each item recursively and either join them as text
|
|
25
|
-
(if all rendered items are strings) or return a Group.
|
|
26
|
-
- Otherwise, return a string (with extra newlines if it's a multi-line string).
|
|
27
|
-
"""
|
|
28
|
-
if isinstance(value, dict):
|
|
29
|
-
# Create a subtable for the dictionary.
|
|
30
|
-
# You can tweak the table styles or add a title that indicates the level.
|
|
31
|
-
table = Table(
|
|
32
|
-
show_header=True,
|
|
33
|
-
header_style="bold green",
|
|
34
|
-
title=f"Subtable (Level {level})" if level > 0 else None,
|
|
35
|
-
title_style="bold blue",
|
|
36
|
-
border_style="bright_blue",
|
|
37
|
-
show_lines=True,
|
|
38
|
-
)
|
|
39
|
-
table.add_column("Key", style="cyan")
|
|
40
|
-
table.add_column("Value", style="green")
|
|
41
|
-
for k, v in value.items():
|
|
42
|
-
table.add_row(
|
|
43
|
-
str(k),
|
|
44
|
-
create_rich_renderable(v, level + 1, max_length=max_length),
|
|
45
|
-
)
|
|
46
|
-
return table
|
|
47
|
-
|
|
48
|
-
elif isinstance(value, list | tuple):
|
|
49
|
-
# If all items are dicts, build a Group of subtables with an index.
|
|
50
|
-
if all(isinstance(item, dict) for item in value):
|
|
51
|
-
sub_tables = []
|
|
52
|
-
for i, item in enumerate(value):
|
|
53
|
-
sub_tables.append(f"[bold]Item {i + 1}[/bold]")
|
|
54
|
-
sub_tables.append(
|
|
55
|
-
create_rich_renderable(
|
|
56
|
-
item, level + 1, max_length=max_length
|
|
57
|
-
)
|
|
58
|
-
)
|
|
59
|
-
return Group(*sub_tables)
|
|
60
|
-
else:
|
|
61
|
-
# For a mixed list, render each item recursively.
|
|
62
|
-
rendered_items = [
|
|
63
|
-
create_rich_renderable(item, level + 1, max_length=max_length)
|
|
64
|
-
for item in value
|
|
65
|
-
]
|
|
66
|
-
# If all items ended up as strings, join them.
|
|
67
|
-
if all(isinstance(item, str) for item in rendered_items):
|
|
68
|
-
return "\n".join(rendered_items)
|
|
69
|
-
else:
|
|
70
|
-
return Group(*rendered_items)
|
|
71
|
-
|
|
72
|
-
else:
|
|
73
|
-
s = str(value).strip()
|
|
74
|
-
if max_length > 0 and len(s) > max_length:
|
|
75
|
-
omitted = len(s) - max_length
|
|
76
|
-
s = (
|
|
77
|
-
s[:max_length]
|
|
78
|
-
+ f"[bold bright_yellow]...(+{omitted}chars)[/bold bright_yellow]"
|
|
79
|
-
)
|
|
80
|
-
if isinstance(value, str) and "\n" in value:
|
|
81
|
-
return f"\n{s}\n"
|
|
82
|
-
return s
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
class RichTables(BaseFormatter):
|
|
86
|
-
"""Formats agent results in a beautiful Rich table with nested subtables."""
|
|
87
|
-
|
|
88
|
-
def __init__(self, max_length: int = -1):
|
|
89
|
-
self.max_length = max_length
|
|
90
|
-
|
|
91
|
-
def format_result(self, result: dict[str, Any], agent_name: str) -> Panel:
|
|
92
|
-
"""Format an agent's result as a Rich panel containing a table."""
|
|
93
|
-
# Create the main table.
|
|
94
|
-
table = Table(
|
|
95
|
-
show_lines=True,
|
|
96
|
-
show_header=True,
|
|
97
|
-
header_style="bold green",
|
|
98
|
-
title=f"Agent Results: {agent_name}",
|
|
99
|
-
title_style="bold blue",
|
|
100
|
-
border_style="bright_blue",
|
|
101
|
-
)
|
|
102
|
-
table.add_column("Output", style="cyan")
|
|
103
|
-
table.add_column("Value", style="green")
|
|
104
|
-
|
|
105
|
-
# For each key/value pair, use the recursive renderable.
|
|
106
|
-
for key, value in result.items():
|
|
107
|
-
rich_renderable = create_rich_renderable(
|
|
108
|
-
value, level=0, max_length=self.max_length
|
|
109
|
-
)
|
|
110
|
-
table.add_row(key, rich_renderable)
|
|
111
|
-
|
|
112
|
-
# Wrap the table in a panel.
|
|
113
|
-
return Panel(
|
|
114
|
-
table,
|
|
115
|
-
title="🐤🐧🐓🦆",
|
|
116
|
-
title_align="left",
|
|
117
|
-
border_style="blue",
|
|
118
|
-
padding=(1, 2),
|
|
119
|
-
)
|
|
120
|
-
|
|
121
|
-
def display_result(
|
|
122
|
-
self, result: dict[str, Any], agent_name: str, **kwargs
|
|
123
|
-
) -> None:
|
|
124
|
-
"""Print an agent's result using Rich formatting."""
|
|
125
|
-
console = Console()
|
|
126
|
-
panel = self.format_result(result=result, agent_name=agent_name)
|
|
127
|
-
# pprint(result) # Optional: Print the raw result with pprint.
|
|
128
|
-
console.print(panel)
|
|
129
|
-
|
|
130
|
-
def display_data(self, data: dict[str, Any], **kwargs) -> None:
|
|
131
|
-
"""Print an agent's result using Rich formatting."""
|
|
132
|
-
pprint(data)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|