attune-ai 2.1.5__py3-none-any.whl → 2.2.1__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.
Files changed (125) hide show
  1. attune/cli/__init__.py +3 -59
  2. attune/cli/commands/batch.py +4 -12
  3. attune/cli/commands/cache.py +8 -16
  4. attune/cli/commands/provider.py +17 -0
  5. attune/cli/commands/routing.py +3 -1
  6. attune/cli/commands/setup.py +122 -0
  7. attune/cli/commands/tier.py +1 -3
  8. attune/cli/commands/workflow.py +31 -0
  9. attune/cli/parsers/cache.py +1 -0
  10. attune/cli/parsers/help.py +1 -3
  11. attune/cli/parsers/provider.py +7 -0
  12. attune/cli/parsers/routing.py +1 -3
  13. attune/cli/parsers/setup.py +7 -0
  14. attune/cli/parsers/status.py +1 -3
  15. attune/cli/parsers/tier.py +1 -3
  16. attune/cli_minimal.py +9 -3
  17. attune/cli_router.py +9 -7
  18. attune/cli_unified.py +3 -0
  19. attune/dashboard/app.py +3 -1
  20. attune/dashboard/simple_server.py +3 -1
  21. attune/dashboard/standalone_server.py +7 -3
  22. attune/mcp/server.py +54 -102
  23. attune/memory/long_term.py +0 -2
  24. attune/memory/short_term/__init__.py +84 -0
  25. attune/memory/short_term/base.py +465 -0
  26. attune/memory/short_term/batch.py +219 -0
  27. attune/memory/short_term/caching.py +227 -0
  28. attune/memory/short_term/conflicts.py +265 -0
  29. attune/memory/short_term/cross_session.py +122 -0
  30. attune/memory/short_term/facade.py +653 -0
  31. attune/memory/short_term/pagination.py +207 -0
  32. attune/memory/short_term/patterns.py +271 -0
  33. attune/memory/short_term/pubsub.py +286 -0
  34. attune/memory/short_term/queues.py +244 -0
  35. attune/memory/short_term/security.py +300 -0
  36. attune/memory/short_term/sessions.py +250 -0
  37. attune/memory/short_term/streams.py +242 -0
  38. attune/memory/short_term/timelines.py +234 -0
  39. attune/memory/short_term/transactions.py +184 -0
  40. attune/memory/short_term/working.py +252 -0
  41. attune/meta_workflows/cli_commands/__init__.py +3 -0
  42. attune/meta_workflows/cli_commands/agent_commands.py +0 -4
  43. attune/meta_workflows/cli_commands/analytics_commands.py +0 -6
  44. attune/meta_workflows/cli_commands/config_commands.py +0 -5
  45. attune/meta_workflows/cli_commands/memory_commands.py +0 -5
  46. attune/meta_workflows/cli_commands/template_commands.py +0 -5
  47. attune/meta_workflows/cli_commands/workflow_commands.py +0 -6
  48. attune/meta_workflows/plan_generator.py +2 -4
  49. attune/models/adaptive_routing.py +4 -8
  50. attune/models/auth_cli.py +3 -9
  51. attune/models/auth_strategy.py +2 -4
  52. attune/models/telemetry/analytics.py +0 -2
  53. attune/models/telemetry/backend.py +0 -3
  54. attune/models/telemetry/storage.py +0 -2
  55. attune/monitoring/alerts.py +6 -10
  56. attune/orchestration/_strategies/__init__.py +156 -0
  57. attune/orchestration/_strategies/base.py +227 -0
  58. attune/orchestration/_strategies/conditional_strategies.py +365 -0
  59. attune/orchestration/_strategies/conditions.py +369 -0
  60. attune/orchestration/_strategies/core_strategies.py +479 -0
  61. attune/orchestration/_strategies/data_classes.py +64 -0
  62. attune/orchestration/_strategies/nesting.py +233 -0
  63. attune/orchestration/execution_strategies.py +58 -1567
  64. attune/orchestration/meta_orchestrator.py +1 -3
  65. attune/project_index/scanner.py +1 -3
  66. attune/project_index/scanner_parallel.py +7 -5
  67. attune/socratic/storage.py +2 -4
  68. attune/socratic_router.py +1 -3
  69. attune/telemetry/agent_coordination.py +9 -3
  70. attune/telemetry/agent_tracking.py +16 -3
  71. attune/telemetry/approval_gates.py +22 -5
  72. attune/telemetry/cli.py +1 -3
  73. attune/telemetry/commands/dashboard_commands.py +24 -8
  74. attune/telemetry/event_streaming.py +8 -2
  75. attune/telemetry/feedback_loop.py +10 -2
  76. attune/tools.py +2 -1
  77. attune/workflow_commands.py +1 -3
  78. attune/workflow_patterns/structural.py +4 -8
  79. attune/workflows/__init__.py +54 -10
  80. attune/workflows/autonomous_test_gen.py +158 -102
  81. attune/workflows/base.py +48 -672
  82. attune/workflows/batch_processing.py +1 -3
  83. attune/workflows/compat.py +156 -0
  84. attune/workflows/cost_mixin.py +141 -0
  85. attune/workflows/data_classes.py +92 -0
  86. attune/workflows/document_gen/workflow.py +11 -14
  87. attune/workflows/history.py +16 -9
  88. attune/workflows/llm_base.py +1 -3
  89. attune/workflows/migration.py +432 -0
  90. attune/workflows/output.py +2 -7
  91. attune/workflows/parsing_mixin.py +427 -0
  92. attune/workflows/perf_audit.py +3 -1
  93. attune/workflows/progress.py +9 -11
  94. attune/workflows/release_prep.py +5 -1
  95. attune/workflows/routing.py +0 -2
  96. attune/workflows/secure_release.py +4 -1
  97. attune/workflows/security_audit.py +20 -14
  98. attune/workflows/security_audit_phase3.py +28 -22
  99. attune/workflows/seo_optimization.py +27 -27
  100. attune/workflows/test_gen/test_templates.py +1 -4
  101. attune/workflows/test_gen/workflow.py +0 -2
  102. attune/workflows/test_gen_behavioral.py +6 -19
  103. attune/workflows/test_gen_parallel.py +8 -6
  104. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/METADATA +4 -3
  105. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/RECORD +121 -96
  106. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/entry_points.txt +0 -2
  107. attune_healthcare/monitors/monitoring/__init__.py +9 -9
  108. attune_llm/agent_factory/__init__.py +6 -6
  109. attune_llm/agent_factory/adapters/haystack_adapter.py +1 -4
  110. attune_llm/commands/__init__.py +10 -10
  111. attune_llm/commands/models.py +3 -3
  112. attune_llm/config/__init__.py +8 -8
  113. attune_llm/learning/__init__.py +3 -3
  114. attune_llm/learning/extractor.py +5 -3
  115. attune_llm/learning/storage.py +5 -3
  116. attune_llm/security/__init__.py +17 -17
  117. attune_llm/utils/tokens.py +3 -1
  118. attune/cli_legacy.py +0 -3978
  119. attune/memory/short_term.py +0 -2192
  120. attune/workflows/manage_docs.py +0 -87
  121. attune/workflows/test5.py +0 -125
  122. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/WHEEL +0 -0
  123. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/licenses/LICENSE +0 -0
  124. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/licenses/LICENSE_CHANGE_ANNOUNCEMENT.md +0 -0
  125. {attune_ai-2.1.5.dist-info → attune_ai-2.2.1.dist-info}/top_level.txt +0 -0
@@ -2,10 +2,9 @@ attune/__init__.py,sha256=R1re-N0Fi7U3jw6P7FvFYfFZl2KG7qL5eCv54luGs3Y,12045
2
2
  attune/agent_monitoring.py,sha256=s4seLC_J4AtQ3PYWrRPO8YHM-Fbm0Q36kPEdlTHf2HI,13375
3
3
  attune/cache_monitor.py,sha256=lcBqODhYY9iPaH35PWkOSgyMavdvXneHv9F57dPmjnc,11190
4
4
  attune/cache_stats.py,sha256=yZvjC-lCN7rBBeUX6-HG5g5IeCOUZy-Euqu_ey1FLKY,10228
5
- attune/cli_legacy.py,sha256=1KO8MPJWSroV6vGyW6uDZ8Iv5CCG_WLInC0a1yfJ2JU,141930
6
- attune/cli_minimal.py,sha256=MbhXsPie6VlLds4ZXsP5pp1-sQXxs-LVparKQlq0YFQ,41037
7
- attune/cli_router.py,sha256=iKbf3Ayb5Z5qCfAajUr8b1Y4AZcwpLBYaCEug3OqTkI,16106
8
- attune/cli_unified.py,sha256=PgfCbV5Cb-mKBbS4lLMpaO3m7OWUOniK9M3R6V2R1Dg,25241
5
+ attune/cli_minimal.py,sha256=TM3eCCw7j4IQPml2grNZA9BV1KfjF5McBtwdEQzcVp0,41095
6
+ attune/cli_router.py,sha256=X0_NGL7SgE7vNwEEVidiCkFOhcjnv1SDlAF_SEg20g4,16148
7
+ attune/cli_unified.py,sha256=SjNs0_bhQW9Sj0quIK3iVPKjCa_MvwTk_YYk5lzIlJI,25318
9
8
  attune/config.py,sha256=eocyHkwf85r0EfQYzeskxZkDzEK-wrjGNMBL2ccsUs0,16710
10
9
  attune/coordination.py,sha256=gsU2ZiEpjnicV9frq9QNo0zGxf5yQ7n68SvbhnernDM,28501
11
10
  attune/core.py,sha256=U_n6CN-YfLDCPVPdlR1DDcUsz_225CryJ6wGZpHivpY,60469
@@ -23,13 +22,13 @@ attune/persistence.py,sha256=wsEJtHdjpEfIQ3-O5PaxAGiZXacON0Pft4gqt7Ui3z8,17714
23
22
  attune/platform_utils.py,sha256=NsvAOOA2QgdWLd_44AY1UdQLYuclaOC7SPK-koFyi1A,7384
24
23
  attune/redis_config.py,sha256=jDpnKXxBoAo6Cy2oBX9imbRtsUAyPKOIH6jvSlWdcbU,9742
25
24
  attune/redis_memory.py,sha256=MYhW_M41AoWhxxh8YggWUHxZaUoQZ7XxqeBB2qDqyww,23347
26
- attune/socratic_router.py,sha256=sHEPYDC88n6OaGBtnC7JquyctldBp3tSCQdrphV0BHo,23601
25
+ attune/socratic_router.py,sha256=l232XPdyKQUS2bpufwU8WBr4gP8ufLD6CocMXBP9Pio,23587
27
26
  attune/templates.py,sha256=EbZmiHqS_jFZg_-lScK0fUUnw7_KpE5J3ZFTWXEKx-Q,17187
28
27
  attune/tier_recommender.py,sha256=rBuAgGkNlX9wWcJ1QFi0ASGuZSR9RGl6PEBElxcAzMk,14297
29
- attune/tools.py,sha256=YCfHTm9Es6wwh7oESt4q0mDz7AV8ecvMAB_1_0516r4,6225
28
+ attune/tools.py,sha256=oQjlt27lZnWO_iNa5V8P4Deh-Btzcw8gnh1kVska09Q,6240
30
29
  attune/trust_building.py,sha256=z2ZsQWK5QjX6d7pxFWrFD54J1keUguTog6YztZJVPKI,19180
31
30
  attune/vscode_bridge.py,sha256=XBKF6-YiQIRvyOtkp-4kmBrWhs5Uflo7TLUBj4ejPLU,5034
32
- attune/workflow_commands.py,sha256=9Gdy3iI6LA9y7NtYBieNS3-rbOrrLRavhlbl_2yWVgU,25465
31
+ attune/workflow_commands.py,sha256=nAj3XRuErclSCJumGkOQKxbNdRRUhkzOGFmNexLVS60,25443
33
32
  attune/adaptive/__init__.py,sha256=9LRWvrkitzasuGAqANEpKQMvrj5pPNtulSxz49E-Ke4,338
34
33
  attune/adaptive/task_complexity.py,sha256=XhQgubrTxqV2V6CBD4kKZ_0kPCjchzg94HaUFIY6Q3c,3783
35
34
  attune/cache/__init__.py,sha256=-TaJd1ByYZlW5YJwsZ7Q0WuzBomCpLbV79M6XFj3yiQ,3224
@@ -38,12 +37,12 @@ attune/cache/dependency_manager.py,sha256=5syHCeunxJHBFggjcMMNSvJw4EJfICfW2mmayA
38
37
  attune/cache/hash_only.py,sha256=N9fJw-IGOzgfDOuKe15e3AzLrxkjDBbwDXEgR1DYXAo,7492
39
38
  attune/cache/hybrid.py,sha256=S73yjzbSeUi_PtE-hEWtml9CN-V3W8qzAlIGu5Y17K0,15541
40
39
  attune/cache/storage.py,sha256=-ODkX61DqbK-eDC0uUeRtjcxfKYwK4PxG7mou4x6vgU,7787
41
- attune/cli/__init__.py,sha256=Zwr9Zmk82WKPqtx57nvt9mlA9InQIkmrpsK4neJl9Ag,4989
40
+ attune/cli/__init__.py,sha256=i10oZwEojAfy9uz5k-mJ7wrmNTt1SLPUgBBlN-bd3Ls,2737
42
41
  attune/cli/__main__.py,sha256=3j6xfa_jrrXAXK7zp0AaKAgG224VxJfrpu-iUmmUkY0,211
43
42
  attune/cli/core.py,sha256=YXGwU5nokchAgSSt22VBcK7W8wF0qa-AEgbmxn4mwMA,875
44
43
  attune/cli/commands/__init__.py,sha256=GYdoNv80KS2p7bCThuoRbhiLmIZW6ddPqPEFEx567nQ,35
45
- attune/cli/commands/batch.py,sha256=0TQ50VuFILN6ZTS-JrdtQi7ibuVwEUPq8xkdFsRU5_k,8562
46
- attune/cli/commands/cache.py,sha256=79DF06zQ7Noe7WwOLtqbDVIngpXCLkjNltP-R7t18iE,8176
44
+ attune/cli/commands/batch.py,sha256=zGLBtIwq1neRqr60xGJqFbdtN_NKP8B7jd46HBtWFjI,8474
45
+ attune/cli/commands/cache.py,sha256=ChTIc7PZc1Kim6v0OxE5J0A32pkpvnlUgK4PqJEwsKE,8085
47
46
  attune/cli/commands/help.py,sha256=cTqvdVCDAXWYbDBoGRZtoSBOYWbXSIPqC4t6gtHpx7Q,10067
48
47
  attune/cli/commands/info.py,sha256=sUEt8E4RT3nJYjdw_RE0O4qfLM1eBHYnly8n_AL5dE8,4768
49
48
  attune/cli/commands/inspect.py,sha256=wIg7K22MX-32MC-2NrU0JgJwJRsHu7WLz28N2FUw0sQ,16198
@@ -53,29 +52,29 @@ attune/cli/commands/metrics.py,sha256=v4KW46UWYOysCFQVLE2kqISil1YsHARbs9kE0mp_Rv
53
52
  attune/cli/commands/orchestrate.py,sha256=pGJRschCayD2E2wimTG4zXYQxEA1Kk7g_sMQFdeXM48,6541
54
53
  attune/cli/commands/patterns.py,sha256=-f6ZDrUIupZPmdjM87qitxRpBYMns1KFyiC9okq14vI,7917
55
54
  attune/cli/commands/profiling.py,sha256=Q6JY2Ui7mfOyT4hVtpzTi0ZlpCCW7HWTX4SrcVfhIGY,6009
56
- attune/cli/commands/provider.py,sha256=o1vDEIxjE6qhpFl__yx2qeiMOqkR2zDUlrCdkcrEANs,3077
57
- attune/cli/commands/routing.py,sha256=BwuGBVKQ4S7szQW4ubce9pO5uLaxEoHHlpR7Uljcf5I,9896
58
- attune/cli/commands/setup.py,sha256=0mS_ya2hQ3ZEQH9CYoozBoVWErVr-5aQ76G8NEPqXu8,3447
55
+ attune/cli/commands/provider.py,sha256=IZJ41cE8B3YUeA-oM2XbX6hICbkhKkyNHRr5P9bpCgI,3550
56
+ attune/cli/commands/routing.py,sha256=30_ielV4LrbG9T2ydgiezPA2U6IsqlLhZbVgImLbMRc,9918
57
+ attune/cli/commands/setup.py,sha256=hn9PHNW5tyvfJF_aYzrlUXZepxMBF5KJdEWJPD14RA0,7483
59
58
  attune/cli/commands/status.py,sha256=rxjQQrrIkpSLLDUOPf1OJI7MHxs36NZcVGBVIgVNh6w,8282
60
59
  attune/cli/commands/sync.py,sha256=IE9kdpUl3G-Ep3XlZcZc_5JeUmGGfPxBpC2g_cp89H4,5086
61
- attune/cli/commands/tier.py,sha256=ztb7GisxmlQWuoVrc7QRblKp5pM9bsLpZUBQBfM3Iw4,3737
60
+ attune/cli/commands/tier.py,sha256=Kdoevjt0s-hHVCNN1Jx-VMdTjos-r12dZFL8bWthQDc,3723
62
61
  attune/cli/commands/utilities.py,sha256=WZQsQwEGRWxfqKPPVdTlVg9Eb49uhZmccfxz5Llrckc,3709
63
- attune/cli/commands/workflow.py,sha256=W2Mz5oyWZChCpGBonfbSlmSN5VQcjnO9nj8B2c1aliY,23549
62
+ attune/cli/commands/workflow.py,sha256=NAk6Xa_wiMghx_VT4ouRu3Gu_9CgDhce6GorF2FBqEA,24937
64
63
  attune/cli/parsers/__init__.py,sha256=Oihx1jb5wN_4GS3RxZiEYhQhglI44idOOlFJs9a6e5g,1677
65
64
  attune/cli/parsers/batch.py,sha256=wSutRqerJZxUNVNIotU9qtI8EGP6IzVihEZUViCItCQ,3236
66
- attune/cli/parsers/cache.py,sha256=_SpFE48JM1xfAvb_ndqYNR0bP4EyMb_T_PlmIsIHf5o,1797
67
- attune/cli/parsers/help.py,sha256=I3QFDVABxZpYDCJ52GNWwfQlKEdV72Yr9A8spPHqUqU,1642
65
+ attune/cli/parsers/cache.py,sha256=345ZVWfiIlyUK3iGHe6MymFLDjK--MLBaJnTXFgkeU8,1798
66
+ attune/cli/parsers/help.py,sha256=qkKT2Sb5vIa_qfqX8HUfOK6BM9Y_NmLiVQjkhhJLbbc,1628
68
67
  attune/cli/parsers/info.py,sha256=525oPlxKkOJk8tra_a2ga9DKm6VtejQUBWzBCDQK1v4,989
69
68
  attune/cli/parsers/inspect.py,sha256=qLx7Qr1Gs2xYd9BkwRi4MR_l5QkPHZS2XOVKF-n3TSg,2423
70
69
  attune/cli/parsers/metrics.py,sha256=ISV9muZ9HhbIYY8T9OeuA3jKvkYyXW80bY6ELEEFgnY,1102
71
70
  attune/cli/parsers/orchestrate.py,sha256=kACmZExVIJ_F1cBRGOYtSxf8AWy_k1n3GNTuDIsxNVY,1769
72
71
  attune/cli/parsers/patterns.py,sha256=4Jy7A_iZWJRnIdPUi6vz2tl2_agkhSgpNv8LlEoUScI,2374
73
- attune/cli/parsers/provider.py,sha256=fh2YGIQ0LOP7Lb2LaphOQFO01rWDxhvCprXYWLy7YXE,1115
74
- attune/cli/parsers/routing.py,sha256=YJ4W_UISXCOpvb7xp4GZUbJhBpKDg5ew7izJSzq8B6E,2884
75
- attune/cli/parsers/setup.py,sha256=WwKd1UEFAQ9-AyMumVbRmTHSFIl_9O_8xKzefYi_UCw,1104
76
- attune/cli/parsers/status.py,sha256=Z_r-C92hcrJ3iBmSok6iEkZfYDRvs7_3WD0oQQULzDw,2370
72
+ attune/cli/parsers/provider.py,sha256=Ecj3LK0oucLsgtg6Y09xNoTxj_Eqof_xs87apEisIqY,1356
73
+ attune/cli/parsers/routing.py,sha256=gHAvdynFQ3X_kZgh7VUPy-HTyzAcWMK3Gc8ZKWt5CkY,2870
74
+ attune/cli/parsers/setup.py,sha256=OvJGKRuqQFNdftYRpaQOCBgFSGJO2UTPg4-Umn5_cuk,1321
75
+ attune/cli/parsers/status.py,sha256=dmiVDeGu2AlhGJJqa5RgKY3XC4uz8FMfweCofy2xZvA,2356
77
76
  attune/cli/parsers/sync.py,sha256=fYXJDJTE1_JYdc15y7bHJOalCnB0Yg9ZkQQPPTUMUIo,884
78
- attune/cli/parsers/tier.py,sha256=CjZaQvvFcUwmmQ7xpnuNndV3sDAs1I-RM0ztCvQFgHs,1152
77
+ attune/cli/parsers/tier.py,sha256=IzS_CQGmR4xg8Y_iGmnpTHp0Bq8SOiqvab4LWDPjGQU,1138
79
78
  attune/cli/parsers/workflow.py,sha256=D3tcg8n_rJVO6cTHrs2tmOYMiVywIifebxGdkZBJNtM,2600
80
79
  attune/cli/utils/__init__.py,sha256=Camy-FBFwcoj_xS67lR_rOTB_mFD01NyB3b3cruMbj0,29
81
80
  attune/cli/utils/data.py,sha256=gu2ZhF3b3rjQK1Te8UIJ0PqZkaIHiQsuO4VtPThqDUg,7135
@@ -84,9 +83,9 @@ attune/config/__init__.py,sha256=HQDPMUqEgGrJvprhtydEYdNzSoVFmVGgzgTtoWRnta8,169
84
83
  attune/config/xml_config.py,sha256=he7wvXaHgX0a8NhcexG5eyGXtkeCtoeA3lqPHfzXlPw,8892
85
84
  attune/core_modules/__init__.py,sha256=jUbjfT2UHOLrJStqvIPqxbr02_2fofqTYqGdXvKxwFI,274
86
85
  attune/dashboard/__init__.py,sha256=8H09R2SEyNaspr04Ln3wahisttc5U-gkvKoibIcmNm4,1400
87
- attune/dashboard/app.py,sha256=D1GBqLwNWMn4onUVHNe1JSHDB_Vn8G05yJ-nA6_4b3Y,16136
88
- attune/dashboard/simple_server.py,sha256=z9R6swMiP9dI_DVjMjdRYa8_hJE-C2nqgLOSRXrd9Rk,16058
89
- attune/dashboard/standalone_server.py,sha256=-hvcidx-sA4tOy4K8MPCzcazNOzmp2oXQdMBL8mPZ9g,20854
86
+ attune/dashboard/app.py,sha256=ljMWznSuzbW4orYjQ910GZkrIkmuo4sAkX05jegsJV0,16166
87
+ attune/dashboard/simple_server.py,sha256=DrWN4DFqo27oYLuJmHILY8Ff-FCQJKGnWepmk3dMmDE,16096
88
+ attune/dashboard/standalone_server.py,sha256=L7WW_TqRTmaB9QGNAlm0NWUL6cifvVCKc6-29Un_LGY,21000
90
89
  attune/hot_reload/README.md,sha256=rPQloTKrb_SBdeA48fZm-ry2X-BCrTEc2bET7_OWptk,10397
91
90
  attune/hot_reload/__init__.py,sha256=Aos2tLSKRzOLr5zRomLyzrz6qDRd1_PlinI3vrJcCTo,1642
92
91
  attune/hot_reload/config.py,sha256=Lk_5bShouV-Z_atOvgcoPas4wwXwfHTKK9eSC60C9Uk,2290
@@ -95,7 +94,7 @@ attune/hot_reload/reloader.py,sha256=xjecGV0IWjaP5yPAyTbFSRTiEmq-hqap3bOJeAnxJEE
95
94
  attune/hot_reload/watcher.py,sha256=BZX-Iq9ktOHQTHfEqe1ybRK_BJHPeR_965bzKd1Kwm8,5268
96
95
  attune/hot_reload/websocket.py,sha256=jH4I1nHQqXV2ixkjcG42YVB7SCp5h3WR-tujbrFP25s,5092
97
96
  attune/mcp/__init__.py,sha256=sPlDBlPPxv3K7ywx6c_lDT0s2Q-BLLG25-dEccp0dug,287
98
- attune/mcp/server.py,sha256=wiZAlJoOl0zzt0PYTMTbJ0qZ1DNwtsO8K3nBRUhWm2E,17969
97
+ attune/mcp/server.py,sha256=vebhawBGc8S7Faor7RpbnrHt2ayYKv8QQnGNS6X67-4,17185
99
98
  attune/memory/__init__.py,sha256=ny832PrUJKQwi7b0DWMjK-iXaXSAEfYiuoqvfI97Vf0,6073
100
99
  attune/memory/claude_memory.py,sha256=XpB4GX6SVg8pAPIlzk_Voy4mL-2EdL0_jpqMeNhMErk,14992
101
100
  attune/memory/config.py,sha256=XGBBdj_xLDvEAYY9J5rDjDpJ7S-DiI2DYCcppNlsnlg,6376
@@ -106,11 +105,10 @@ attune/memory/edges.py,sha256=O-GVRS9q12-NBGVun8FUbEHE0y3CjHCV1s_KrzC_WZw,5934
106
105
  attune/memory/encryption.py,sha256=onZIElhiBBJQ0snIxWnWT9zfzV_g7JPrAMXYNmEUoiY,5140
107
106
  attune/memory/file_session.py,sha256=YMEh7UCqViYDNUP0tznJo3Ow2n1AuuRKzUZaCZBw3e4,25980
108
107
  attune/memory/graph.py,sha256=8J7YUpzPnSLlaryAFpcPloYD3gOJd0dXbiH3Kbf1ix4,19019
109
- attune/memory/long_term.py,sha256=6EsS1yYNRpciKly6zsbZ_opH7WM7NqKGxZ3Ikf4MQjM,32438
108
+ attune/memory/long_term.py,sha256=hnpO0hsZuDARcL2CKOOHhBV6UASINK2Bt1y9H4KjFsg,32436
110
109
  attune/memory/long_term_types.py,sha256=tkzcQUmbF-DQEYpjdy5uqThPNI_wK15y96rFYk58e3c,2870
111
110
  attune/memory/nodes.py,sha256=h71kV3x2ALzuTOdrB7LQswZWai71HzGHKlFBzf7TwrI,4795
112
111
  attune/memory/redis_bootstrap.py,sha256=4WVwi60dWoU9g6aluhkojekW-MqkrVrRMXjB_N4vOCQ,16504
113
- attune/memory/short_term.py,sha256=mGOHU7siLNxOkaNF_pTyDxv_CiZAoHH9xiLh-LUZxtE,71956
114
112
  attune/memory/simple_storage.py,sha256=-rduhEzAN3zj7p_W1ZV9-xWweNxxX0wUv-7lxyLBS90,9833
115
113
  attune/memory/storage_backend.py,sha256=O0IWik9PKwo_x-wuhzx3SN9MKet3F6tmc6_wIOGJLGY,5042
116
114
  attune/memory/summary_index.py,sha256=7m_m2xH3KMBJWRJFvk3hAws_tgPD4VCfFBxwAbV9fCo,20777
@@ -128,6 +126,23 @@ attune/memory/security/__init__.py,sha256=f_t-pFO1aHOE8uFJ0icGaCt2xCvWx-bFxBcv9U
128
126
  attune/memory/security/audit_logger.py,sha256=Rdz-9ptRDjdwoqtlyg5iD-zeFMO5C3c6bel9V-QZp-U,34255
129
127
  attune/memory/security/pii_scrubber.py,sha256=ucPdE_ZEObR3T8hPK--tabdzLDumZQV4YUfislELvCc,21563
130
128
  attune/memory/security/secrets_detector.py,sha256=bJsXTD95yEnfShDMxvCndzF8X7HNvkJamLXmkvWwpbk,22775
129
+ attune/memory/short_term/__init__.py,sha256=fMULtG3zWSOznbdkFOPNWUxCeu0nBPhlJvRkF4oZTow,2340
130
+ attune/memory/short_term/base.py,sha256=qEfI6un7npEek4yxNvrd1C4holUCZrRfG_GwxWOisu8,14802
131
+ attune/memory/short_term/batch.py,sha256=GKxLZUI9tWE3a9Kp6m8i6NfCAVX9O-pFKxRLAFfDX-o,7347
132
+ attune/memory/short_term/caching.py,sha256=OUi-59xuJ766KW7azEbdqq-EGdB5HrOKarM_piWjZ8Y,6397
133
+ attune/memory/short_term/conflicts.py,sha256=G332CsP02VNCmFz6NlCyV_BODjzJe3NZp1AaUXsbTB0,8139
134
+ attune/memory/short_term/cross_session.py,sha256=InDCDzFiGwBKNPcfi7ybuUC6yLbXUxKuGYqnxT5wzH8,3852
135
+ attune/memory/short_term/facade.py,sha256=CmTbKWmvQCnaZrA5tZLbhkitqKDC9QPeE9Wgkf1ATg8,22814
136
+ attune/memory/short_term/pagination.py,sha256=sfq3SvGjFnLb4vjZrAzwo3X-JMjbHn77fheoNpV2Ou4,6690
137
+ attune/memory/short_term/patterns.py,sha256=JIT7RSAV28BbGw4zBv9pP7hBQ8mhN_h4odAkKRGotHc,7963
138
+ attune/memory/short_term/pubsub.py,sha256=NgjpCPevgAsVvzaTrGPVFFe8EQQlQBpsU0c5NvwSfWs,9077
139
+ attune/memory/short_term/queues.py,sha256=4gvVZkFxLI-bCWCDMtkHumEOYMiEO828zLDG5_AmfSc,7009
140
+ attune/memory/short_term/security.py,sha256=k54GasUaKNuQajxkxkcR1QKE8Bhs-eWYnPs1X84Yn8E,10238
141
+ attune/memory/short_term/sessions.py,sha256=q7PizIMoIxUYxQJHURxnim3hfSuHP8aeubAUyIZQoGA,7082
142
+ attune/memory/short_term/streams.py,sha256=Fyj2jvBWh_mNZO8QF6JlZ-qPi3c4x5Q9hVCHuWkaHWc,7859
143
+ attune/memory/short_term/timelines.py,sha256=YDB3FFph3Vjuic8Cyknxu2KEro3_1k2JLToOH9JWFBo,7226
144
+ attune/memory/short_term/transactions.py,sha256=A3v8j4JlL4NlguQXacY3VFl8GG8WMtKUSMRBnzvx9ZE,6309
145
+ attune/memory/short_term/working.py,sha256=B1MJfEFrHtI3w-stBlM7Mkqh5DwiecQb-emIxv5yKpg,7935
131
146
  attune/memory/storage/__init__.py,sha256=sPLdecYJ1z6nZTIl8gmbozjdCPp0SZLKsKoi8L1xhcE,480
132
147
  attune/meta_workflows/__init__.py,sha256=pGueKuKdwypbXeC_JMYba8nBR80exDRsP5Kjid4HDK4,1817
133
148
  attune/meta_workflows/agent_creator.py,sha256=gkCE6hxGyk3vLj4WH0NwfA_WgmtJpoH2WwGUPQYkIzU,7975
@@ -137,25 +152,25 @@ attune/meta_workflows/form_engine.py,sha256=pnlLcdzTkEENCLPaMp_2_I5M9Ooj2RvPKSn3
137
152
  attune/meta_workflows/intent_detector.py,sha256=rMCQwBZtLgylr6nDxXr4OyvIbgPuORzSR_TNYvafYUg,12943
138
153
  attune/meta_workflows/models.py,sha256=v0Fcw4HMqhV5bl25H-EMhROWKfym_c9tIyc5nr1Ch38,18923
139
154
  attune/meta_workflows/pattern_learner.py,sha256=VoJe_1PYFZK4_9UK_YKZ5vR-6DWUUouqEa1cEsvTjSU,26368
140
- attune/meta_workflows/plan_generator.py,sha256=Wtb-JphXd_lJDFeOjRdxMzgnecDrsA3pjo7hF-IgFLU,11232
155
+ attune/meta_workflows/plan_generator.py,sha256=ENzoIfzwE213dXW5n24_ElGRatmP0jkKfyhXroFu7HE,11202
141
156
  attune/meta_workflows/session_context.py,sha256=U1LZQO4Fl-jm6Q14FF85oPeYfkwVl15ajq70xyo4Rgw,12330
142
157
  attune/meta_workflows/template_registry.py,sha256=HBehRIzKAH1weN5BQ69WLCwoxf1FwZYVIWH6qNP1huo,7476
143
158
  attune/meta_workflows/workflow.py,sha256=VYvyqlu46Ft8VkfGh0dCktFWMB7vnVxCwDE3S2gbM2M,35964
144
- attune/meta_workflows/cli_commands/__init__.py,sha256=qWdPRbusNXlrMPZNV-laXqxkT-o7hzNqhoam1OxMCag,1505
145
- attune/meta_workflows/cli_commands/agent_commands.py,sha256=9TQORpj0MLu35GgQXVooE3UNYFd-oE68YbHy8l9o9hs,11296
146
- attune/meta_workflows/cli_commands/analytics_commands.py,sha256=c-bTkxyjyi8E48xQNnJ7ZABOqFMJNS4oj6Ui_zRw6WM,14448
147
- attune/meta_workflows/cli_commands/config_commands.py,sha256=8q1mjaFZrK4BxfrSP03VN3m6AQnVK1SVu43dynqhSf0,8700
148
- attune/meta_workflows/cli_commands/memory_commands.py,sha256=G-T51dX4rkY5g2MyTE52WyngtmEwM-61zbzmxzAASOI,5557
149
- attune/meta_workflows/cli_commands/template_commands.py,sha256=Ydv-PAtGU1EiilXR13EP06SDiW22HeyR8sQ1LlCLFDM,12972
150
- attune/meta_workflows/cli_commands/workflow_commands.py,sha256=VwpsQeFptRiYWoEBantuTy51tAphQO2Wc0mQXVu9I00,13331
159
+ attune/meta_workflows/cli_commands/__init__.py,sha256=CR4C6kkw-64vp6yNxeG_aW_PtDspCi_V2DRoyICp0QA,1591
160
+ attune/meta_workflows/cli_commands/agent_commands.py,sha256=EY9UCuGj1W6J2RNRQaBzFWc9xhU-5qD7QUXpKNx1bH8,11292
161
+ attune/meta_workflows/cli_commands/analytics_commands.py,sha256=GwJwcO9pbo3Kr7va2s6TBs0UC771I9uvTQJwUKUnsa0,14442
162
+ attune/meta_workflows/cli_commands/config_commands.py,sha256=X2necTPQfXzxQGxRRoj92z3OiNqNw3lbNswvrIR3ELU,8695
163
+ attune/meta_workflows/cli_commands/memory_commands.py,sha256=HnyOrdcRDjMXfcmqDYjS83aEaoHxZqbprsnXTV1t8SM,5552
164
+ attune/meta_workflows/cli_commands/template_commands.py,sha256=bsGYwGXZtRGX9T6gZDAnrtJ0MIP_hANMAfnlhmjxp-k,12967
165
+ attune/meta_workflows/cli_commands/workflow_commands.py,sha256=UdeobUJ2LMOIrVXkDve-6-ds3TJ-gtMmyp9q_iPu5i4,13325
151
166
  attune/metrics/__init__.py,sha256=8J_0y_klwQM7-CuYDlXm3IWEWg7NT-pqeZxTTKReP4A,365
152
167
  attune/metrics/collector.py,sha256=WBrUklvZ9T80a5iz1XyRPvmteMOpftqBYHdBb4DpZao,766
153
168
  attune/metrics/prompt_metrics.py,sha256=GKS0xb_8IHpv2QcSEYMY4d_OvU1-9-ZcjXPFTDtXHmU,6512
154
169
  attune/models/__init__.py,sha256=ZnS2J7p7OChlAXv0NB4_DZKQr45nX2Ldhz72EE9BLjY,3919
155
170
  attune/models/__main__.py,sha256=ttN5E5Mpx9KQOIz_tmOYwprYC_0Ru5y7eU4v6UABFdk,280
156
- attune/models/adaptive_routing.py,sha256=RxfI96opkIY8sodf03BdGxG8cLeiIjWfRTRVIoN6k_s,15220
157
- attune/models/auth_cli.py,sha256=T3N2ef7IECU2fSsP9FMMFmPj3kJuXy6Wr6TlwJAMM4U,15738
158
- attune/models/auth_strategy.py,sha256=dvFxBWP2IynBWp4-cNoveg_m6lxN2w-Dfdd14B5sTfU,15456
171
+ attune/models/adaptive_routing.py,sha256=FPVjhFNiD4hcQ3KCMVqGxm_p4iM3yuB-ulvKl_a40TU,15159
172
+ attune/models/auth_cli.py,sha256=Eg11A5YbqGsqZk5iDTS217YUnEvgmcrGlQ8KhtPzJwM,15656
173
+ attune/models/auth_strategy.py,sha256=tPGN8Z8pP207LalUrNmYU90H7NDr2b3B3kCa08pybwo,15435
159
174
  attune/models/cli.py,sha256=c54oqbjDoeQCrA6C1wy6OlyKTfJFLyjZx2Nf8SFekNY,22188
160
175
  attune/models/empathy_executor.py,sha256=szK2VgJ0pKt-fiNvoRrnBF4gV1qOetvjbhmUjAHBIhc,12687
161
176
  attune/models/executor.py,sha256=TLJixpVfbt-Xbl9lCPIaGg0UJe1m9wHaEOezLtjtQJU,7475
@@ -166,12 +181,12 @@ attune/models/tasks.py,sha256=bVbxYXuf6OyyW-R5l68rSmtm80YBNpPaf3N79nXq_Gg,10383
166
181
  attune/models/token_estimator.py,sha256=9egCxtPykq9sb-N2EMyE0u25zDhtcZWxlHHnB-QSErs,13466
167
182
  attune/models/validation.py,sha256=lThL50UPq3OQaNBAH6qcZHkw0MAmIEsEGkjTWtDLGaU,9148
168
183
  attune/models/telemetry/__init__.py,sha256=6UHe0Hrhk2ntUqFp9k7QwDOmsk34qwSdsQF69O8_deM,1592
169
- attune/models/telemetry/analytics.py,sha256=zX0qQvNuTaqAiEB8XltRpV1XJ8qDO9K2m1MD4sbQF_Q,19753
170
- attune/models/telemetry/backend.py,sha256=woR3nKxoTdYUDXXZrOV5r-ZHFod92BxbqCU5g90NGQk,5631
184
+ attune/models/telemetry/analytics.py,sha256=40S-T_HC6CULskS3RjqvuVV7EfHm_SiwCT9NlN_WM7E,19751
185
+ attune/models/telemetry/backend.py,sha256=vBPEUxSKbfA5tBesqdbnlyY2VZgLjTg3mK1nsTL6a6o,5628
171
186
  attune/models/telemetry/data_models.py,sha256=bxkX7AhWTWSLMwz4W_b9qlcctih4Joc6bJDLRv0JcOM,12203
172
- attune/models/telemetry/storage.py,sha256=CtOpHrSd3SsUej_JDeVwQNDCQhWuSfUlEEOd9ayl1FM,15408
187
+ attune/models/telemetry/storage.py,sha256=dTON9g24FPnGuh5OUbyZLBFVr9BvCEI7KdSAQ9NDcWs,15406
173
188
  attune/monitoring/__init__.py,sha256=Gatsq3HmC0VKQDNUPyXdMNgmZAzqWPu_4YIABbSaVaw,1498
174
- attune/monitoring/alerts.py,sha256=Uxdw_W_N4QoSiPe6BN2z33QSlPPnxkMGb1HNZfu_HTY,30278
189
+ attune/monitoring/alerts.py,sha256=7UgJVgLFCRFPkFb1unXidfgTMgdsnSMTIXAJR2S_1bQ,30286
175
190
  attune/monitoring/alerts_cli.py,sha256=0FbqnIeoU-nHCjLSd--v44lLTj0Rc8Nqq-hYqevsJTw,13593
176
191
  attune/monitoring/multi_backend.py,sha256=qTNS08Vi1fBPx91-UV2tEZzE1gFTdC3Jn7MdX1D_xF4,8452
177
192
  attune/monitoring/otel_backend.py,sha256=diU-y2CnbN2uueod60hr-wOS0s6ECW3SOfw8NhQOdDU,13499
@@ -180,10 +195,17 @@ attune/optimization/context_optimizer.py,sha256=lPWXuG7K1OMVNZKOdQT2SlZhLfjMREKS
180
195
  attune/orchestration/__init__.py,sha256=Uy5izPrSxWRmsu8zhXe-tr6zRTL_vH-A8NnARoEg7Yo,1816
181
196
  attune/orchestration/agent_templates.py,sha256=eGT_NeIW3lS64En_2L5QccJ-bocdETk2uu1T3v74Dlw,22113
182
197
  attune/orchestration/config_store.py,sha256=x_eHL0IiN-0SnUAPXzSmslOIB1a6zwBQSMQgtrcgfPM,16767
183
- attune/orchestration/execution_strategies.py,sha256=OF76lpkYXmlzymG2zcgltwWr2wq_0nIKldlKY4nof2k,72882
184
- attune/orchestration/meta_orchestrator.py,sha256=IrmYnwadHPQoSCrVuMR65ixjVPbY4xxAGJwJRslmJeM,42154
198
+ attune/orchestration/execution_strategies.py,sha256=0xwuNmGtP0MfJIUFR9NpIb1K1FUKvfPSJOTxnC1Tp2M,20029
199
+ attune/orchestration/meta_orchestrator.py,sha256=Nk3okcjn0cAsnL8e1TcTzP_5rnp1bmyZLl6M4zaS8PY,42124
185
200
  attune/orchestration/pattern_learner.py,sha256=HD0TDypZS88Tbw0J1OPaqRpZe1EGFRQTMAP2GDrSnpI,22685
186
201
  attune/orchestration/real_tools.py,sha256=f3lLyfz5e7TbEud81bzD-WRQR-n8JRtmeLi3rWr2KuY,31779
202
+ attune/orchestration/_strategies/__init__.py,sha256=2EDr1sWdAXFVvOLdiKGE0M4jrWAYCThAdKlFf5U2acU,4230
203
+ attune/orchestration/_strategies/base.py,sha256=7UTLy5uHLLbaxS1QRAmSpTRWGQebS1hBR7pSG-IqbAM,8707
204
+ attune/orchestration/_strategies/conditional_strategies.py,sha256=BxYZsBspLhxJndP5kUvILg3Njc_5-uBDIYDVpUWT5X8,13100
205
+ attune/orchestration/_strategies/conditions.py,sha256=T7sduG_HPXltX5IU0oCC-GbNMhhY3wqlG3I0sryiuHI,12742
206
+ attune/orchestration/_strategies/core_strategies.py,sha256=kEHbdbbF64iu63NrcpbAnVsRl8KdL90LPt3vD9G3zuw,16710
207
+ attune/orchestration/_strategies/data_classes.py,sha256=wRZ-GO2OWQd2u9bHfgAkqrkn06TQHPlDorqoUkpdFUk,1692
208
+ attune/orchestration/_strategies/nesting.py,sha256=c1QQuYpsgT1AcWuU1jFaBHAviLfynBzo2OfoihUwOtE,6937
187
209
  attune/patterns/refactoring_memory.json,sha256=nk7Bh2QE8Zm4iz3nxzARYiqzBWqZrKXhypDHPC63f_U,2995
188
210
  attune/patterns/debugging/all_patterns.json,sha256=0nxtlmJzqAn2fV162OgoTWtWXiJNzcZ04_uIRaUqC6U,2283
189
211
  attune/patterns/debugging/workflow_20260107_1770825e.json,sha256=hfXZX3baBGXrVfESgze6JcIDL60TCQdE8k_4uZ0fKcw,1951
@@ -195,8 +217,8 @@ attune/project_index/cli.py,sha256=uCSZJtK8R73vZiG1a1G6g1DDRD-x05cDVeWlbyNAltk,1
195
217
  attune/project_index/index.py,sha256=8Bze0LMBSLSUIRK4OVUHFhn6nh_5jotojkzwB8uBtNg,23477
196
218
  attune/project_index/models.py,sha256=_m12jDd4qAzsf5aVVYTwrL36GDor04i4QJobEYLqAMw,17626
197
219
  attune/project_index/reports.py,sha256=MTs2JbMx-mDR6RCUF-KRLkdf5wZOw7AsntdHTH2tcFk,17043
198
- attune/project_index/scanner.py,sha256=cen_vjhmn8d6BeBEDEjRgRfAWh9h7gvc0HnyqpBhKI8,31323
199
- attune/project_index/scanner_parallel.py,sha256=E3JhdYZ9n-foUdW_HusU3T94Sb1NC9NuzPl47LMhU_Y,10015
220
+ attune/project_index/scanner.py,sha256=iS3dDSlTRpTJyzfa_UHgPqV1Su7rIMi3G5Ce2ajXeyY,31285
221
+ attune/project_index/scanner_parallel.py,sha256=CN6hX3t4G2Qhn6D7cPoySndXSftk3Pa20RcAnVnXB2M,10047
200
222
  attune/prompts/__init__.py,sha256=1fpr_gGi-lOhnVQOh09vGuwt-E0S_GzL3GWWSs8LfRY,1550
201
223
  attune/prompts/config.py,sha256=aV_NbUKwtHJJkggvGSykHApor_EaMJSkAGM5IFzd3NM,3009
202
224
  attune/prompts/context.py,sha256=W6u6P5oXrZb3a0vBaAkQovQh9SpPSIzZLNmw_ADqFUw,5948
@@ -237,20 +259,20 @@ attune/socratic/generator.py,sha256=I5-MKbv_JYAL6l_x4ttekiVdB26AjErv-LwZu_2hSjc,
237
259
  attune/socratic/llm_analyzer.py,sha256=IP9Wuyiw10s6sccY3WvAI0HBrmJ-fl7YUkJDbai_VS0,21234
238
260
  attune/socratic/mcp_server.py,sha256=jGEcjUPTiNqV5G1oj1XAKFZsAftc_mrrsPGik6cXvps,24535
239
261
  attune/socratic/session.py,sha256=AEArKUobfSBZ-kMKTt3yyWIobvVba_-xuy-kXQBxHXI,10087
240
- attune/socratic/storage.py,sha256=4rF66lFfE1I2qXOxRMWfduBzDxQLYniJBRy9Uu5-CGc,21741
262
+ attune/socratic/storage.py,sha256=fTUQdeivQLDHm0I4bNchtqTUfmqQm6Ju4LI0d07HB2E,21711
241
263
  attune/socratic/success.py,sha256=wZoHBkfkzmZwwbEMNdUj8cWw4nLCyKFtGNcWHJDoV9E,24770
242
264
  attune/socratic/visual_editor.py,sha256=Nk2vJaTKtcwhHH04KTzRnAVyae6AeA03je2-y74d1kk,27912
243
265
  attune/socratic/web_ui.py,sha256=Sg7pSS1043ecVt_yYpSLnv_6pvGnt6aM742fXq6uJ7M,25375
244
266
  attune/telemetry/__init__.py,sha256=DpNi4Eglyj7mAA4XT3GFpidnvvbVNC7Qo1Te9Q5wQ44,1295
245
- attune/telemetry/agent_coordination.py,sha256=oQHnKZO_ia2hogyMTlg18hPgkSgWnFtB9J-WexSjKno,15834
246
- attune/telemetry/agent_tracking.py,sha256=PZo_jHm2VQKlTVxnhEnz5GfaABHwuZY4Bb0E50vOTeU,12312
247
- attune/telemetry/approval_gates.py,sha256=M7tJdpg0ygkmOx9HkQ19tCfexnMe23mZ2N1PQchuP5k,19068
248
- attune/telemetry/cli.py,sha256=peqkbVW0kC2KiXqyl8URWK15Z2pXxbKvy_DbN9izgQ0,45654
249
- attune/telemetry/event_streaming.py,sha256=sl8m0g3stTQJQNyuoX5ec-zNoh0oro0vGe6Q6mTR-zc,13393
250
- attune/telemetry/feedback_loop.py,sha256=ikvqxy4CnYdsFpizMEn7hypRaAQsubflOyDDuHpjhK0,20054
267
+ attune/telemetry/agent_coordination.py,sha256=lQw8TLZqcB_kUH3KhiiC-nUD1njzi_dKWybWDO0S0gk,15929
268
+ attune/telemetry/agent_tracking.py,sha256=RBCjN7zN7eRKFrurp4FSxdiJGPJgimxznVTtXo-5lTg,12480
269
+ attune/telemetry/approval_gates.py,sha256=RAFwAAiyB6qAqp_3aXKMQCVeOl47JPrGUGF4J3T2u8M,19332
270
+ attune/telemetry/cli.py,sha256=SX6BRICGJ1T32QuyWcjiU_V2QfuzQVAg7oC8pGWcpZE,45652
271
+ attune/telemetry/event_streaming.py,sha256=lnv4WszwrtXM9e634PJ-dozur2ypezH0waC7kfgblZs,13487
272
+ attune/telemetry/feedback_loop.py,sha256=tUAd8YiG8EO1XSrGBab9G_qjrQnRse2bTwa0CcYtZcs,20151
251
273
  attune/telemetry/usage_tracker.py,sha256=drUOWJ3R3MkYGF73fLYwZtQJYvJCbahc4-kpgVKzlCE,21182
252
274
  attune/telemetry/commands/__init__.py,sha256=UVKjQBaY0bd8iTlnbQSpd8jA_CjOCfPLGqmplt68P8c,338
253
- attune/telemetry/commands/dashboard_commands.py,sha256=kV9Sr0f1N4edymNnheiVehSG3xVTFfUhh5lJUfh7-Kk,24021
275
+ attune/telemetry/commands/dashboard_commands.py,sha256=jQCr9MSypv4zoEwc47PdKwCbiVHYe3aXENE8uP_JDP8,24213
254
276
  attune/test_generator/__init__.py,sha256=lSck9qlC32AO8qoQldk3UjjTRDPdAUgIOHGa-WvzCqI,919
255
277
  attune/test_generator/__main__.py,sha256=YY_HE1xg4zKZkHHAd6sSzWvJCvLFOtmpawCrNlGjWAc,345
256
278
  attune/test_generator/cli.py,sha256=B08zskLVxVggusxLo660k0VZ5QY1mnPUZshuvQQdZns,7258
@@ -266,54 +288,57 @@ attune/workflow_patterns/behavior.py,sha256=TrAAIfM6Zr2ZhSzyHRYvixECBIuD7Tv666x3
266
288
  attune/workflow_patterns/core.py,sha256=H52xnB4IqMdzJpOoySk5s7XcuKNTsqAt1RKpbdz_cyw,2607
267
289
  attune/workflow_patterns/output.py,sha256=EyioUYeXGQWllZdJXHXv2mLwl7fMwihrEb8D1SG6MxE,3090
268
290
  attune/workflow_patterns/registry.py,sha256=0U_XT0hdQ5fLHuEJlrvzjaCBUyeWDA675_hEyvHxT0o,7461
269
- attune/workflow_patterns/structural.py,sha256=zAm5n1ifngAWiVasulljEeTkWgrrvYrd7kEFfTwXpqo,9423
270
- attune/workflows/__init__.py,sha256=kUEbqKuby0qIikiBPmK5HCkBn1N3sSXkD3_L9UUu070,20359
271
- attune/workflows/autonomous_test_gen.py,sha256=6Ip6N8bFgUN3SDF8qWSiljqwHmEPks7dl-mKwLTmD5I,47494
272
- attune/workflows/base.py,sha256=lvTjVc5MJjPAaSkM7sWYeL1RET8eoWWeRDiKhyCjBeM,99735
273
- attune/workflows/batch_processing.py,sha256=QcPREUV6D9gIJICkjMh09vmJ-1dtfRSIqCLsT4lT9bM,11583
291
+ attune/workflow_patterns/structural.py,sha256=npL0IhkMj9tADv9mFwLDOkIkB7duI6tSnHx5rNc0bWE,9363
292
+ attune/workflows/__init__.py,sha256=lqaK2RYW60yoLnBqjCQuugRWGJXNU_49AhEN77zypXw,22021
293
+ attune/workflows/autonomous_test_gen.py,sha256=KMuHgY6EfsvqkHzVBBs6bcDQAmDPGO1Zw576HZMIMsw,48598
294
+ attune/workflows/base.py,sha256=D9NJI29D4Zrtrrjm0qOkCrL3L3TJS7Qj2E0D9Hnx2_0,79341
295
+ attune/workflows/batch_processing.py,sha256=XVn3J5CfGO9jdz1qxz48EIY2V05f74nc7lt0FLuTuls,11545
274
296
  attune/workflows/bug_predict.py,sha256=N5AjEQ-eJJH69tTqlEyQ2khPXR6IlleOLwJI9gDZVkY,40464
275
297
  attune/workflows/builder.py,sha256=gaPPFoiToSx3EznCWV-iBc7wQef3F1ODs0kGjjb2esc,8603
276
298
  attune/workflows/caching.py,sha256=SnFyEZJCVpe_ijGldW2MRjzNL-Hd8Fj8Sbb2HiuxqT8,8126
277
299
  attune/workflows/code_review.py,sha256=2V9De7bw6W0xnHg-fxPjwQqxWJR04omPFz0jNUk3jOU,39407
278
300
  attune/workflows/code_review_adapters.py,sha256=iq0JwDg8svFJkkjinVwz6mZhZNFkgQBVNNa8632i3a4,11148
279
301
  attune/workflows/code_review_pipeline.py,sha256=m-LWxE8MHzn0HxpHmL0ntssWTcDRxscVbAIB1OTwL3g,24460
302
+ attune/workflows/compat.py,sha256=zmmOdSQ9bCfcxiMuSSAx7-dmiBbzVyM0cRPXRWzq3kg,4829
280
303
  attune/workflows/config.py,sha256=fUy7Nfu1LzJdajOyiRK39eKSR72zwndUVGSRoYj40aM,22833
304
+ attune/workflows/cost_mixin.py,sha256=fYJOQfdMvtHEfKYQymCHPeVIG5B89jMzQ4a5N3tEnVA,5185
305
+ attune/workflows/data_classes.py,sha256=NlGP4K5RFulY2izXIUxtUhF5TCo978RXCk-6qxs8TdM,2684
281
306
  attune/workflows/dependency_check.py,sha256=zWwSCAWThnAUkOqEUx2GTl5Vgf2fW9P5HRqwWhYZXlc,23452
282
307
  attune/workflows/document_manager.py,sha256=z_r7g2iFXgyxDZebbVJ3ArbYi8FNvJip-Sux_qd4diw,7381
283
308
  attune/workflows/document_manager_README.md,sha256=4vAQ3-ENB2mxc_68dosG-cwAf8W8DWzHtOpaUzRWZKA,2145
284
309
  attune/workflows/documentation_orchestrator.py,sha256=Pfs7nUKSsGYIjkVgOaTx3Ethu42FjdEftxAVcGUVKEo,43007
285
- attune/workflows/history.py,sha256=80f2Ltvbs5MBbps4hp8JBBa7H7t-pd8z6YsA7SwE8xU,16463
286
- attune/workflows/llm_base.py,sha256=-gNCvt_WMgeCkWCEp6jx_f57zn2MVgesNXmYy6J5MGI,10791
287
- attune/workflows/manage_docs.py,sha256=W58FjauO2K7v6KENqF80txor-VX5f5S9py2HKfXtTh8,2123
310
+ attune/workflows/history.py,sha256=dppZXLYs1tUy78XbdIVLY4MYdUgVh7GNi0n7YoYPaw4,16713
311
+ attune/workflows/llm_base.py,sha256=ybSisfqN63qt0J7ky2BCmVyPXSNvbu93odsACOMQmVc,10761
288
312
  attune/workflows/manage_docs_README.md,sha256=7ouxAkpcGVqBF_O8VKJGeANvP0jl5r0Zm0TwZyIsKEk,1903
289
313
  attune/workflows/manage_documentation.py,sha256=TK1odUk_79cMj0AKGBjJ9Z_3n5oCOARj2MQ3lQgdKcQ,30068
314
+ attune/workflows/migration.py,sha256=RfkuVgpRYDP3FDFyuANtVteZ8q_ekJZijc1_5hKN8-I,15272
290
315
  attune/workflows/new_sample_workflow1.py,sha256=BRux1_UdG1MJRlsQvWQAr6Qocq_N2G5pTTMy76xceMQ,4099
291
316
  attune/workflows/new_sample_workflow1_README.md,sha256=1pd--DASCiZlqMmcaq-FI_zIaGonNxd-4S6wZDnbMMk,2362
292
317
  attune/workflows/orchestrated_health_check.py,sha256=d4R8iOvw4kQ_EfRdvNYDNrjjR6hzPow55fWSuLHkhPs,30486
293
318
  attune/workflows/orchestrated_release_prep.py,sha256=Erp2rw-EBNOfIwyT0nJhGqpYPg2v-YL_h06aMtaALlA,20224
294
- attune/workflows/output.py,sha256=AASe1CexsgnMGvWOH2yGYDqooZX-nZFvno4bmzHKgqg,12799
295
- attune/workflows/perf_audit.py,sha256=Xjom8vg4W9vQ4DKQTVTnhNzsccOD0RyIcAN2YwPocdI,32203
319
+ attune/workflows/output.py,sha256=T4XOGc8duLmJKm-CIgaJPKLN6foNA2ZzvVLJQle25Xg,12723
320
+ attune/workflows/parsing_mixin.py,sha256=7don7-C5wsWaDS_M1rlNUs-jQjX7QkK3msodyF3hC2w,13924
321
+ attune/workflows/perf_audit.py,sha256=EfMBnB359qKvhzXeqViENmjyjissm_KnCNXNBbKBTAc,32229
296
322
  attune/workflows/pr_review.py,sha256=lR7TxvGjBj1fIMxYgBtgxuSvWFTGqQHTsVpL5zKLUB8,26796
297
- attune/workflows/progress.py,sha256=JcPlfvGw2Nj4YZIyF3JbjiotM1bPJRMHLQXQdNt2JY0,26564
323
+ attune/workflows/progress.py,sha256=UlM-omJ3qWrCQ5HaKci4l99DH9ID7dA-1SvJZeaJLQg,26536
298
324
  attune/workflows/progress_server.py,sha256=3UmIW8j-Hxayod4kV9BoWPvJO8lNX38YVCq6UDEnYlQ,10229
299
325
  attune/workflows/refactor_plan.py,sha256=mp8AHxS5bbH-B-SEJDkukh07xCISUjBBiSjecvLyf-8,25591
300
- attune/workflows/release_prep.py,sha256=itcZWMqnhHeo4vVdXQa6Aqo054SqdoVnMlTCtdNnxfE,31078
326
+ attune/workflows/release_prep.py,sha256=sQw9BZ4adhH9y0CY42l4etalT58iEBd9hIK1Nx1qH-U,31126
301
327
  attune/workflows/release_prep_crew.py,sha256=WNhpYqVztmZ4s_BLu_1ejq-uQELJFfqAKKk_dU33U74,33888
302
328
  attune/workflows/research_synthesis.py,sha256=0G62CE1A6yG3rzlviKqWJrdWOMEaBZJouN5Rd70oXKc,13959
303
- attune/workflows/routing.py,sha256=Ka9JD0LKHg_DvI7BS_3rnFp7TSitA96CqOzPWndsoVc,5002
304
- attune/workflows/secure_release.py,sha256=cMhTT-iF_pTu9oS08QpWJBg15-Azx7AVA_ucRH_6bDY,21263
329
+ attune/workflows/routing.py,sha256=nfwtzt7O52iJVpRTQfPa4qqhfVOGGfhGt9PG_kmiYSk,5000
330
+ attune/workflows/secure_release.py,sha256=fkYVrJE6ipWHpeH9eR0qjZJOag7Pj9h3QNLWZ0PXBL8,21285
305
331
  attune/workflows/security_adapters.py,sha256=VZNBvUMI2U4KfC84rELYAKxlL5Xi_xYUlFLDKRVveNc,10918
306
- attune/workflows/security_audit.py,sha256=kPNoQ78q1B5ieNWW2wTedNiF-JZztaU4N3oEN_snlvU,52438
307
- attune/workflows/security_audit_phase3.py,sha256=fVNeqTVqyJblYyflKikAFvq24qgd6owKiMZKvvqlZuI,11534
308
- attune/workflows/seo_optimization.py,sha256=rt9RO_yS0GVpfT02P5Sj7YNjFDnY2hKzG4FMM9CNf-s,23281
332
+ attune/workflows/security_audit.py,sha256=yn0J_2UK1GvEdlhWEpnLLsk_RZiHjdROUTgUqZwTWco,52435
333
+ attune/workflows/security_audit_phase3.py,sha256=VO1JI7P8QTwsQULbZORfGOUKDo2ShwLCco8bki1qqdk,11689
334
+ attune/workflows/seo_optimization.py,sha256=seySVcU0oVozBthKE8T4Yeedsuct0fEuYQqMracHrzg,23408
309
335
  attune/workflows/step_config.py,sha256=aytYrjGjY-7GaC0YNmQGJhelCrhj2CjwZg5DxsH1RaE,7197
310
336
  attune/workflows/telemetry_mixin.py,sha256=hymB5I_-d6UC7fhMgkhdFWLAr8Nczr2yR1k44j-aJtc,10071
311
- attune/workflows/test5.py,sha256=LGUrTScjgSx9bq9JhNt8ykJ16dZFUaOiH6rvgaNxs4c,3754
312
337
  attune/workflows/test5_README.md,sha256=SgqhotqO--Mn7kdRcCXpiS1HW-kRCjFih6pjq5qDmNM,2402
313
338
  attune/workflows/test_coverage_boost_crew.py,sha256=YQsqrDHknTlrrBTz8nsAiYYlwCdMeUpm5SicL4q8bl4,31041
314
339
  attune/workflows/test_gen.py,sha256=3zshDv6xCXg1NIkqhMhxzxq7UvY4EYdkhAVxn6caLME,1311
315
- attune/workflows/test_gen_behavioral.py,sha256=zWKhQj8Yibj7IZSKjnXfN1doRhm7T6cKYUuKGSyYFxo,15759
316
- attune/workflows/test_gen_parallel.py,sha256=DmpaJoRaOD94tMT0_IShBui62cBS0OJvyafR_2wSzUk,12134
340
+ attune/workflows/test_gen_behavioral.py,sha256=082DjDF6vOFJRKzBZy0qMk5gyrKxR7AYmvw1A3W92UQ,15591
341
+ attune/workflows/test_gen_parallel.py,sha256=qpHWgvf6H_i2Pq_mWcLjaoJo2fuJyItkdD6yQ6N08ik,12149
317
342
  attune/workflows/test_lifecycle.py,sha256=rgLaO_WMU5IQBYcZVKGJSQUd2RCOlKA07F9harL0T3A,16886
318
343
  attune/workflows/test_maintenance.py,sha256=x4uObZo6ysFwM-gzsxcNZ5WSLULX2nFS5MlMdzWRWxs,22946
319
344
  attune/workflows/test_maintenance_cli.py,sha256=ZjZT6g397i_f13nvfBVro8VpT5klLNWxjoBaooFjEok,17859
@@ -324,7 +349,7 @@ attune/workflows/xml_enhanced_crew.py,sha256=fEZE0BWPhOubCyfEwDqQxIyUn8OuCU4a6Oc
324
349
  attune/workflows/document_gen/__init__.py,sha256=xQpuahTnFqr1gFK2zkLE8P5RvPNTMbcF1xgiIH3RBHM,544
325
350
  attune/workflows/document_gen/config.py,sha256=EpCAfV8mLJ9458aM2dYUEAgqcUlPIA6WWkFO-N-fSPA,1068
326
351
  attune/workflows/document_gen/report_formatter.py,sha256=oGzpmM5Nea8i0uSSiiO-J97XDie-NnBBfgfZ9uvwDfQ,5686
327
- attune/workflows/document_gen/workflow.py,sha256=i42IfKzMRdYDFzLjj1D03GiUNgoo45ldGhX76hPZRmY,56067
352
+ attune/workflows/document_gen/workflow.py,sha256=Zn_YOjj1_-PaCNbeCzytCupnXEAHa4Wjy1oIAusr_R8,56069
328
353
  attune/workflows/keyboard_shortcuts/__init__.py,sha256=zPY6KTepKXmLF0xUsqxbH9qztHdVdsCzyY-_PiSnuxk,1116
329
354
  attune/workflows/keyboard_shortcuts/generators.py,sha256=PIkHJ0WdqkOQlVAd09CPk0ANBvwBzqZYnQ6NSagdZCk,12900
330
355
  attune/workflows/keyboard_shortcuts/parsers.py,sha256=aws4HSjqBOrl-DQEOV9WeJX6dyVp0zy-yl1o1rxmUdk,14723
@@ -345,14 +370,14 @@ attune/workflows/test_gen/ast_analyzer.py,sha256=I50uqEZ-8oX31Ap7Yl02id9Bnvxa6u5
345
370
  attune/workflows/test_gen/config.py,sha256=7FbbAUoGRSavlIQ5bhvg_D4z-3nYoaAn-sNZylzmv7A,2176
346
371
  attune/workflows/test_gen/data_models.py,sha256=wXfef60ptiG6AvygayTxWqlL5FVOss19CX5BKxT0w8o,1099
347
372
  attune/workflows/test_gen/report_formatter.py,sha256=RaxbDp6-9iQRfJmVwrrIReVkOkrnb668NgHrNaS-SPY,10705
348
- attune/workflows/test_gen/test_templates.py,sha256=4ywqGYYaSoZxOU6Y1_E-27KEgMI5-v2a1ndia406E9c,13180
349
- attune/workflows/test_gen/workflow.py,sha256=U0dhAcCKmlltPIvCSXUeFzt_Q4TodQI4tXtR6cz19MQ,25729
350
- attune_ai-2.1.5.dist-info/licenses/LICENSE,sha256=kqe3EeGatNB79lUTHxjLnxDe7VJr0iYetThOr4_Fx7A,11348
351
- attune_ai-2.1.5.dist-info/licenses/LICENSE_CHANGE_ANNOUNCEMENT.md,sha256=JH9yAQGv_lQej5YlztI_kawbVQ2H8uVLhPGlrWnR_34,3844
373
+ attune/workflows/test_gen/test_templates.py,sha256=adxplO3xxNnHtHIpEPaqeOGh-8aBevB_XKPjVOCbzYw,13157
374
+ attune/workflows/test_gen/workflow.py,sha256=0F75z_T8d-wJsKQ-8aSuWJJNHC5aStMknZQ3Tpzp87k,25727
375
+ attune_ai-2.2.1.dist-info/licenses/LICENSE,sha256=kqe3EeGatNB79lUTHxjLnxDe7VJr0iYetThOr4_Fx7A,11348
376
+ attune_ai-2.2.1.dist-info/licenses/LICENSE_CHANGE_ANNOUNCEMENT.md,sha256=JH9yAQGv_lQej5YlztI_kawbVQ2H8uVLhPGlrWnR_34,3844
352
377
  attune_healthcare/__init__.py,sha256=4NioL1_86UXzkd-QNkQZUSZ8rKTQGSP0TC9VXP32kQs,295
353
378
  attune_healthcare/monitors/__init__.py,sha256=Udp8qfZR504QAq5_eQjvtIaE7v06Yguc7nuF40KllQc,196
354
379
  attune_healthcare/monitors/clinical_protocol_monitor.py,sha256=MWE5t8tW9HWZn_SNo-inx8-0nhdTNGhbcB8ZeDWyXa0,11648
355
- attune_healthcare/monitors/monitoring/__init__.py,sha256=UW9f-n0T_ra8HRiY5Vh8AlSVOlaZrC0KHT3ssghwAX4,1295
380
+ attune_healthcare/monitors/monitoring/__init__.py,sha256=7sYYoXqKXxCNK00bXRPjWNMuZZpAgD8b5VLz-QubOlc,1052
356
381
  attune_healthcare/monitors/monitoring/protocol_checker.py,sha256=u6ASfirDB4d5hUq2lEqgvdQBjZdQzEFjR4g4UuJUeFM,9635
357
382
  attune_healthcare/monitors/monitoring/protocol_loader.py,sha256=BXj5vDB3tGDlIbaKEnlIHDl2q4hPxoNNhycMCZyQ54I,6443
358
383
  attune_healthcare/monitors/monitoring/sensor_parsers.py,sha256=q3GWA4wGEeZF8FhShv7b0-LNNCPiKy6YR3xXecQet7A,9485
@@ -371,7 +396,7 @@ attune_llm/pattern_summary.py,sha256=qgfHuQWB3uyxCh67YOgYId2FkgZ-QmHlUaMO0NVsXBs
371
396
  attune_llm/providers.py,sha256=IuhNWcspHk0Rb4KUM7lpw87_SbW65z6f8gFAzP024S0,34848
372
397
  attune_llm/session_status.py,sha256=x4Du1apyAl8QmVPnrwA_QYOK4_wM9tuBzGFZel-P_Us,25668
373
398
  attune_llm/state.py,sha256=diLXx8QKzfucVDhbKNWej40JXQFmIeM1Qvvzg92pmjU,8030
374
- attune_llm/agent_factory/__init__.py,sha256=7xLlF2an5qkyNOru9aMK2trq1eKRqMPj7NThWYmjX5Q,1723
399
+ attune_llm/agent_factory/__init__.py,sha256=lee2S2Jl-lkzcS_RmlwTR_BHZwgPZ9FeMQ4aYWGplBk,1435
375
400
  attune_llm/agent_factory/base.py,sha256=QVUvK86pHjk5XWXAFj_gVkw9q_pyEdlLzM86zhW9FDo,8942
376
401
  attune_llm/agent_factory/decorators.py,sha256=pl_FxhidmD9XK2Drgu0sPlTAWg-OZxyMtaz9OB29sfA,8757
377
402
  attune_llm/agent_factory/factory.py,sha256=h8h9LEzvMuBN6XG5LEKaui5U8DrRuSntuqozZ9fWKKM,18258
@@ -381,7 +406,7 @@ attune_llm/agent_factory/resilient.py,sha256=edhQLPLelm3sdK0j4bsr3XeJsO-CCH07WCH
381
406
  attune_llm/agent_factory/adapters/__init__.py,sha256=u7_Yirj1oqL0Q5jMnGmapB1V6tKh2vmmXBOYfF1C3bY,2322
382
407
  attune_llm/agent_factory/adapters/autogen_adapter.py,sha256=UlWClHqqLRuCOPC2di0ACmt_xccMCT2BAJR0QBT6vio,10942
383
408
  attune_llm/agent_factory/adapters/crewai_adapter.py,sha256=ShvYbL7zbBfel3Wq8iH50AEh4nDbH5uD_yjJfRALjbY,17227
384
- attune_llm/agent_factory/adapters/haystack_adapter.py,sha256=4sq-ETrDsHvfAvX7mbvfgt3nyZRN_0FgdtS6y9jYYzA,10219
409
+ attune_llm/agent_factory/adapters/haystack_adapter.py,sha256=hedu21-ku7s6OXCjWKz1-1OAZ-uxWmmC9QO5-WY76gM,10183
385
410
  attune_llm/agent_factory/adapters/langchain_adapter.py,sha256=H-uTdtHV7aQ0akpoRPlsXzsDzxklH9HGWG7yBjyH2h0,13218
386
411
  attune_llm/agent_factory/adapters/langgraph_adapter.py,sha256=-5ZLG3T9b7exc0RGhfp3pH3C8IuvT5eIZ5rh-WZsZdE,11544
387
412
  attune_llm/agent_factory/adapters/native.py,sha256=c_devS7DtHAsmtBY5FWCbOBdBIHBUdRVwkU0aPxU2i0,7709
@@ -397,13 +422,13 @@ attune_llm/agents_md/parser.py,sha256=Krhiy4AKvKj2CJgr0Q0S76J2xGxPpc5onMHwhJArzN
397
422
  attune_llm/agents_md/registry.py,sha256=0KCRH3aFoGtM90QkJwMkf45e92H32rZGV3OGY_AAlHs,8140
398
423
  attune_llm/cli/__init__.py,sha256=-U-ESXUHamUV1vL-4aBfPFdyBysd4PzeiS1W65bDv2U,177
399
424
  attune_llm/cli/sync_claude.py,sha256=4URwY9Sbj3Rixf3RFzI42IuNatkcn8rjnugBWTkbVRM,15647
400
- attune_llm/commands/__init__.py,sha256=LaVRxqkzMVgl2mJPrKeVoJamf99pGVkc67VBfy7OdL4,1753
425
+ attune_llm/commands/__init__.py,sha256=sTMlEyJZrh5QTnHtrVZ0BAm_YtPCFczVqUszsKmyFto,1293
401
426
  attune_llm/commands/context.py,sha256=vxHf7ya_r7RREVfco1vZvlchAju64isXoZZakG7eyxs,10787
402
427
  attune_llm/commands/loader.py,sha256=icxyvQaoMEoBDzAz-8x_qb6X0z3cuWxYLWsicLXITik,8224
403
- attune_llm/commands/models.py,sha256=Ne-R9uLqgrhVMc3flud8zxpa47cvhzMIYhrPWFsNgFM,6883
428
+ attune_llm/commands/models.py,sha256=4DdQwi7Ue86HdqiEDE6rpLNct3AIzL9v6XVpTaLWf_s,6891
404
429
  attune_llm/commands/parser.py,sha256=ZQ9OkKLYJl3U8syPPR_E28ymkeU4BXfNHzz9s4_U2ww,11002
405
430
  attune_llm/commands/registry.py,sha256=mXKGxpnbbxGClUsm4i1VrvLPJB_P8_1p4UWbpdu5OMo,12059
406
- attune_llm/config/__init__.py,sha256=8Hr8RFt6DQpJNjh2UxR7SWL6IDPkTPp_v5r_pHznkTs,934
431
+ attune_llm/config/__init__.py,sha256=CJcPHHiswEgqYgTHUNzNqV2d2i2fZsowIHqnMdZB6m4,582
407
432
  attune_llm/config/unified.py,sha256=06x9xRtRj6f1ZoKVy40ylpMEhqE_WozXUazqO7KZ1fQ,9337
408
433
  attune_llm/context/__init__.py,sha256=koziaCcTalYd7Bd5Z0Bp3afSVSLGiIZ78ufDaemDlps,734
409
434
  attune_llm/context/compaction.py,sha256=aYawLOgF_BQUzyjfQXATujNN6pytGgVUfue7sumloNA,14228
@@ -419,10 +444,10 @@ attune_llm/hooks/scripts/pre_compact.py,sha256=tePywdnEfYYh_felrmj9tKDxi6NKstuOV
419
444
  attune_llm/hooks/scripts/session_end.py,sha256=WAHwsVe6-BBZsoOa6ogDqGLyJPwtEaQF8lMaHfseP4M,5188
420
445
  attune_llm/hooks/scripts/session_start.py,sha256=4GX_XQQvYi7BzKQ56ClPb2p18v-SVT8lvLguK8Zry7c,4598
421
446
  attune_llm/hooks/scripts/suggest_compact.py,sha256=BpTHK8NFOQmeookJ5FSxDMw-1sX7XgWy9eewCX8b64o,6107
422
- attune_llm/learning/__init__.py,sha256=_1CErk-ydmNdz-pJUni_BlDk1OKBJCwobtnrLWznMmg,1060
447
+ attune_llm/learning/__init__.py,sha256=bI2BprNPcfCaXAp_054s9MTGSUXwA4E71BB-3MnduE8,916
423
448
  attune_llm/learning/evaluator.py,sha256=e2yy5wQwn9JYsmqFman8dP0zcAlx8TOkPi8UnbIIYXU,13368
424
- attune_llm/learning/extractor.py,sha256=eH2M9JcJkRFJX-VR12oORDIgkOLDpxi2VnVhZIwdeNk,17373
425
- attune_llm/learning/storage.py,sha256=YQHT5hZWFur7qy09K596Yej21liW040Vn5BHpfQFsAY,16059
449
+ attune_llm/learning/extractor.py,sha256=pUuh61BpLhYGY4zXhmC6dzPIp1BRqNbsA_OBdgs24rs,17413
450
+ attune_llm/learning/storage.py,sha256=06ozKkrSZbiu6HJtqjEhfDJgfecuANyYVKTSD77sq-M,16099
426
451
  attune_llm/routing/__init__.py,sha256=0h_IVIOQHd1WeXSzJWASO0WoznpLOQu6H0v_NQmOrGU,1005
427
452
  attune_llm/routing/model_router.py,sha256=X0R20NNntm2XgrWQNeIFxWkNnnnCvKU5Stxm84JF1as,11013
428
453
  attune_llm/security/IMPLEMENTATION_SUMMARY.md,sha256=2EERHdcKvxP-UiUaSbREBcIbrpKDWvpNhXQ6eEGEFzE,11240
@@ -430,7 +455,7 @@ attune_llm/security/PHASE2_COMPLETE.md,sha256=l5aUxyuCL9BMGJVIO0W-pPUQJI7EwvZwt5
430
455
  attune_llm/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md,sha256=EFLHTOtrLMBZ_j86g2yBn0P6gJGdkPQ8J8vAVKISNkg,9821
431
456
  attune_llm/security/QUICK_REFERENCE.md,sha256=YKgMmZbCQE-MZZuwvarPfYeWvCEflfBElSKPgzhVWas,7656
432
457
  attune_llm/security/README.md,sha256=R-s09Bug5fV-O7CGWb535d0hMCB56w753ZV9f10Wl60,7409
433
- attune_llm/security/__init__.py,sha256=4vwesGT2WQAZ3E-0zYNliJ5d3OwwpNMPUY0jnULr2Yg,2128
458
+ attune_llm/security/__init__.py,sha256=V7uukJt5tGbV8EgCZ389MGtb9V-ti1fd2PzBsoYR9j4,1499
434
459
  attune_llm/security/audit_logger.py,sha256=pSZEDukI1vFnefe7F48xQ63HpvM1slWrrl1BPhoi_kY,33956
435
460
  attune_llm/security/audit_logger_example.py,sha256=jEtwM1i_dZ73ypKkdVumAB2yDOziQN41xrOrtu8OXF4,5009
436
461
  attune_llm/security/pii_scrubber.py,sha256=ucPdE_ZEObR3T8hPK--tabdzLDumZQV4YUfislELvCc,21563
@@ -439,7 +464,7 @@ attune_llm/security/secrets_detector_example.py,sha256=MwJ0kBv1Iss6PlAL-3QCXgvdy
439
464
  attune_llm/security/secure_memdocs.py,sha256=Da4NNo7HCLypjUbOTNJS8QaMGnlVK5T7IHK9m2YwjJE,40221
440
465
  attune_llm/security/secure_memdocs_example.py,sha256=5BChobQF8zeIzLPfb3SOmNYB2cf8qZQlz2hd46g_Vuw,8350
441
466
  attune_llm/utils/__init__.py,sha256=RExnyfXSspnFYHqkvz5z5Xjl_MyWztn802KQQ7rpYVs,178
442
- attune_llm/utils/tokens.py,sha256=yZpNI2wycY9XcFQbh3oC4kbF76TjW9-mD8lmhRvOJ8c,11212
467
+ attune_llm/utils/tokens.py,sha256=Lt0h5oqKCX8EGSC64IjuMdOviVRFa-qnuJ7EzYto49A,11218
443
468
  attune_software/SOFTWARE_PLUGIN_README.md,sha256=U1KUIrhtZAB9ZI0K4-x5-R3TK3yqlM_5DbPyvcL2azk,1387
444
469
  attune_software/__init__.py,sha256=OceDhLoQrjD0jTPlI4418608l97OT48u4SCL5yEDPQc,309
445
470
  attune_software/cli.py,sha256=Gs4BKNsa0KBt698YSBvKNWvLkHJk29nAiYIZowIRfHI,18541
@@ -450,8 +475,8 @@ workflow_scaffolding/__init__.py,sha256=UpX5vjjjPjIaAKyIV1D4GxJzLUZy5DzdzgSkePYM
450
475
  workflow_scaffolding/__main__.py,sha256=0qspuNoadTDqyskXTlT8Sahqau-XIxN35NHTSGVW6z4,236
451
476
  workflow_scaffolding/cli.py,sha256=RUVqU9SeAgm7YkM0YNd-quh8u6BNzmX8xM2y9K_p68Y,6759
452
477
  workflow_scaffolding/generator.py,sha256=2WC02A10lzF2NQgOn66ksV17Oe72kKlU2qCQs39LIlw,8861
453
- attune_ai-2.1.5.dist-info/METADATA,sha256=Qhr3gltp2pkZU4ahaBWXr9uGcM14d3vNUmDoYYm13Oo,33764
454
- attune_ai-2.1.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
455
- attune_ai-2.1.5.dist-info/entry_points.txt,sha256=GVlb04zFlpkaPtaL7X3JCZI8R0AEOZRsZjJ-wIDQvdo,1458
456
- attune_ai-2.1.5.dist-info/top_level.txt,sha256=iLyjKpuOzWtwmIOZqzeBh8_SVztY2vFvhHcyo1WPtTY,73
457
- attune_ai-2.1.5.dist-info/RECORD,,
478
+ attune_ai-2.2.1.dist-info/METADATA,sha256=Sgc2ALg8TS7L1_8DGZ64dK6l8RIM-LCcZ1kiqs4DSHc,33502
479
+ attune_ai-2.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
480
+ attune_ai-2.2.1.dist-info/entry_points.txt,sha256=ZyAN4yhwjUW_w4PjJ2OuWmXxmDv0jwUPz1klzlnpc08,1307
481
+ attune_ai-2.2.1.dist-info/top_level.txt,sha256=iLyjKpuOzWtwmIOZqzeBh8_SVztY2vFvhHcyo1WPtTY,73
482
+ attune_ai-2.2.1.dist-info/RECORD,,
@@ -13,13 +13,11 @@ code-review = attune.workflows.code_review:CodeReviewWorkflow
13
13
  dependency-check = attune.workflows.dependency_check:DependencyCheckWorkflow
14
14
  doc-gen = attune.workflows.document_gen:DocumentGenerationWorkflow
15
15
  health-check = attune.workflows.health_check_crew:HealthCheckCrew
16
- health-check-legacy = attune.workflows.health_check:HealthCheckWorkflow
17
16
  perf-audit = attune.workflows.perf_audit:PerformanceAuditWorkflow
18
17
  pr-review = attune.workflows.pr_review:PRReviewWorkflow
19
18
  pro-review = attune.workflows.code_review_pipeline:CodeReviewPipeline
20
19
  refactor-plan = attune.workflows.refactor_plan:RefactorPlanWorkflow
21
20
  release-prep = attune.workflows.release_prep_crew:ReleasePreparationCrew
22
- release-prep-legacy = attune.workflows.release_prep:ReleasePreparationWorkflow
23
21
  secure-release = attune.workflows.secure_release:SecureReleasePipeline
24
22
  security-audit = attune.workflows.security_audit:SecurityAuditWorkflow
25
23
  test-coverage-boost = attune.workflows.test_coverage_boost_crew:TestCoverageBoostCrew
@@ -5,17 +5,17 @@ Licensed under Fair Source 0.9
5
5
  """
6
6
 
7
7
  from .protocol_checker import (
8
- ComplianceStatus,
9
- ProtocolChecker,
10
- ProtocolCheckResult,
11
- ProtocolDeviation,
8
+ ComplianceStatus,
9
+ ProtocolChecker,
10
+ ProtocolCheckResult,
11
+ ProtocolDeviation,
12
12
  )
13
13
  from .protocol_loader import (
14
- ClinicalProtocol,
15
- ProtocolCriterion,
16
- ProtocolIntervention,
17
- ProtocolLoader,
18
- load_protocol,
14
+ ClinicalProtocol,
15
+ ProtocolCriterion,
16
+ ProtocolIntervention,
17
+ ProtocolLoader,
18
+ load_protocol,
19
19
  )
20
20
  from .sensor_parsers import VitalSignReading, VitalSignType, normalize_vitals, parse_sensor_data
21
21
  from .trajectory_analyzer import TrajectoryAnalyzer, TrajectoryPrediction, VitalTrend
@@ -31,12 +31,12 @@ Licensed under Fair Source License 0.9
31
31
  """
32
32
 
33
33
  from attune_llm.agent_factory.base import (
34
- AgentCapability,
35
- AgentConfig,
36
- AgentRole,
37
- BaseAdapter,
38
- BaseAgent,
39
- WorkflowConfig,
34
+ AgentCapability,
35
+ AgentConfig,
36
+ AgentRole,
37
+ BaseAdapter,
38
+ BaseAgent,
39
+ WorkflowConfig,
40
40
  )
41
41
  from attune_llm.agent_factory.factory import AgentFactory
42
42
  from attune_llm.agent_factory.framework import Framework
@@ -232,16 +232,13 @@ class HaystackAdapter(BaseAdapter):
232
232
  pipeline = Pipeline()
233
233
 
234
234
  # Add prompt builder
235
- template = (
236
- config.system_prompt
237
- or """
235
+ template = config.system_prompt or """
238
236
  Answer the question based on the context.
239
237
 
240
238
  Context: {{context}}
241
239
  Question: {{query}}
242
240
  Answer:
243
241
  """
244
- )
245
242
  prompt_builder = PromptBuilder(template=template)
246
243
  pipeline.add_component("prompt_builder", prompt_builder)
247
244
 
@@ -12,20 +12,20 @@ Licensed under Fair Source 0.9
12
12
  """
13
13
 
14
14
  from attune_llm.commands.context import (
15
- CommandContext,
16
- CommandExecutor,
17
- create_command_context,
15
+ CommandContext,
16
+ CommandExecutor,
17
+ create_command_context,
18
18
  )
19
19
  from attune_llm.commands.loader import (
20
- CommandLoader,
21
- get_default_commands_directory,
22
- load_commands_from_paths,
20
+ CommandLoader,
21
+ get_default_commands_directory,
22
+ load_commands_from_paths,
23
23
  )
24
24
  from attune_llm.commands.models import (
25
- CommandCategory,
26
- CommandConfig,
27
- CommandMetadata,
28
- CommandResult,
25
+ CommandCategory,
26
+ CommandConfig,
27
+ CommandMetadata,
28
+ CommandResult,
29
29
  )
30
30
  from attune_llm.commands.parser import CommandParser
31
31
  from attune_llm.commands.registry import CommandRegistry
@@ -153,9 +153,9 @@ class CommandConfig:
153
153
  body=data.get("body", ""),
154
154
  metadata=CommandMetadata.from_dict(data.get("metadata", {})),
155
155
  source_file=Path(data["source_file"]) if data.get("source_file") else None,
156
- loaded_at=datetime.fromisoformat(data["loaded_at"])
157
- if "loaded_at" in data
158
- else datetime.now(),
156
+ loaded_at=(
157
+ datetime.fromisoformat(data["loaded_at"]) if "loaded_at" in data else datetime.now()
158
+ ),
159
159
  )
160
160
 
161
161
  def format_for_display(self) -> str: