attune-ai 2.0.1__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {attune_ai-2.0.1 → attune_ai-2.0.2}/CHANGELOG.md +9 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/PKG-INFO +1 -20
- {attune_ai-2.0.1 → attune_ai-2.0.2}/README.md +0 -19
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/PKG-INFO +1 -20
- {attune_ai-2.0.1 → attune_ai-2.0.2}/pyproject.toml +1 -1
- {attune_ai-2.0.1 → attune_ai-2.0.2}/.bandit +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/CODE_OF_CONDUCT.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/CONTRIBUTING.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/LICENSE +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/LICENSE_CHANGE_ANNOUNCEMENT.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/MANIFEST.in +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/SECURITY.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/SOURCES.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/dependency_links.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/entry_points.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/requires.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_ai.egg-info/top_level.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/clinical_protocol_monitor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_checker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_loader.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/sensor_parsers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/trajectory_analyzer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/autogen_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/crewai_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/haystack_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/langchain_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/langgraph_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/native.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/adapters/wizard_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/code_review.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/health_check.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/refactoring.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/crews/security_audit.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/decorators.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/factory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/framework.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/memory_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agent_factory/resilient.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agents_md/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agents_md/loader.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agents_md/parser.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/agents_md/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/claude_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/cli/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/cli/sync_claude.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/code_health.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/context.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/loader.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/models.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/parser.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/commands/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/config/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/config/unified.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/context/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/context/compaction.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/context/manager.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/contextual_patterns.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/git_pattern_extractor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/executor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/evaluate_session.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/first_time_init.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/pre_compact.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/session_end.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/session_start.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/hooks/scripts/suggest_compact.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/learning/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/learning/evaluator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/learning/extractor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/learning/storage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/levels.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/pattern_confidence.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/pattern_resolver.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/pattern_summary.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/providers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/routing/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/routing/model_router.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/IMPLEMENTATION_SUMMARY.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/PHASE2_COMPLETE.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/QUICK_REFERENCE.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/audit_logger.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/audit_logger_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/pii_scrubber.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/secrets_detector.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/secrets_detector_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/secure_memdocs.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/security/secure_memdocs_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/session_status.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/state.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/utils/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_llm/utils/tokens.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/SOFTWARE_PLUGIN_README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/cli/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/cli/inspect.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/attune_software/plugin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/config.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/core.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/empathy-os.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/index.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/llm-toolkit.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/memory 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/memory.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/meta-orchestration.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/multi-agent.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/pattern-library.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/persistence.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/security-scanner 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/security-scanner.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/software-wizards.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/wizards.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/workflows 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/api-reference/workflows.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/adaptive-learning-system.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/generated-plan-release-prep.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/multi-agent-team-coordination.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/sbar-clinical-handoff.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/simple-chatbot.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/examples/webhook-event-integration.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/choose-your-path.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/first-steps.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/index.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/installation 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/installation.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/mcp-integration 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/mcp-integration.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/getting-started/redis-setup.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/PUBLISHING.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/RELEASE_PREPARATION.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/WORKFLOW_PATTERNS.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/claude-memory-integration.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/five-levels-of-empathy.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/foreword.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/healthcare-wizards.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/how-to-read-this-book.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/multi-model-workflows.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/pattern-catalog.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/preface.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/signoz-integration.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/teaching-ai-your-standards.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/trust-circuit-breaker.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/guides/xml-enhanced-prompts.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/docs/index.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/adaptive_routing_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/adaptive_routing_workflow_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/adaptive_routing_workflow_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/agent_coordination_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/agent_coordination_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/agent_tracking_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/agent_tracking_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/anthropic_patterns_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/anthropic_patterns_simple_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/approval_gates_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/approval_gates_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/claude_memory/README-SECURITY.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/claude_memory/example-with-imports.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/claude_memory/project-CLAUDE.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/claude_memory/user-CLAUDE.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/complete-workflow/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/complete-workflow/workflow_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/config/empathy.config.example.yml +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/coordinated_workflow_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/coordinated_workflow_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/dashboard_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/dashboard_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_end_to_end_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_memory_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_meta_workflows.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_progressive_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_security_complete.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/demos/demo_test_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/domain_wizards/healthcare_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/event_streaming_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/event_streaming_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/feedback_loop_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/feedback_loop_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/hybrid_cli_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/interactive_team_creation.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/level_5_transformative/BLOG_POST.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/level_5_transformative/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/llm_toolkit_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/meta_orchestrator_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/multi_llm_usage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/orchestration/advanced_composition.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/orchestration/basic_usage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/orchestration/custom_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/progressive_test_gen_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/quickstart/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/quickstart.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/redis_exploration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/scanner_usage 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/scanner_usage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/security_integration_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/SOCRATIC_DEMO.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/complete_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/config.yaml +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/dashboard_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/live_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/seo_agent.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/utils.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/seo_optimization/with_memory_backend.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/simple_usage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/smart_team_quickstart.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/sonnet_opus_fallback_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/suggest_adaptive_routing 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/suggest_adaptive_routing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/test_approval_gates 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/test_approval_gates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/test_debugging_wizard.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflow_chaining_demo 2.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflow_chaining_demo.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflows/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflows/code_review_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflows/doc_gen_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflows/multi_model_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/examples/workflows/research_example.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/requirements.txt +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/setup.cfg +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/.empathy/discovery_stats.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/adaptive/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/adaptive/task_complexity.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/agent_monitoring.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/dependency_manager.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/hash_only.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/hybrid.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache/storage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache_monitor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cache_stats.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/__main__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/batch.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/cache.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/help.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/info.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/inspect.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/inspection.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/metrics.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/orchestrate.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/patterns.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/profiling.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/provider.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/routing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/setup.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/status.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/sync.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/tier.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/utilities.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/commands/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/batch.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/cache.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/help.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/info.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/inspect.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/metrics.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/orchestrate.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/patterns.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/provider.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/routing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/setup.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/status.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/sync.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/tier.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/parsers/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/utils/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/utils/data.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli/utils/helpers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli_legacy.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli_minimal.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli_router.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cli_unified.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/config/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/config/xml_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/coordination.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/core_modules/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/cost_tracker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/dashboard/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/dashboard/app.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/dashboard/simple_server.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/dashboard/standalone_server.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/discovery.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/emergence.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/exceptions.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/feedback_loops.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/reloader.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/watcher.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/hot_reload/websocket.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/levels.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/leverage_points.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/logging_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/mcp/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/mcp/server.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/claude_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/control_panel.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/control_panel_support.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/cross_session.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/edges.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/encryption.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/file_session.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/graph.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/long_term.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/long_term_types.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/backend_init_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/capabilities_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/handoff_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/lifecycle_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/long_term_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/promotion_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/mixins/short_term_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/nodes.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/redis_bootstrap.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/security/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/security/audit_logger.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/security/pii_scrubber.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/security/secrets_detector.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/short_term.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/simple_storage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/storage/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/storage_backend.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/summary_index.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/types.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/memory/unified.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/agent_creator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/builtin_templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/agent_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/analytics_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/config_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/memory_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/template_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_commands/workflow_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/cli_meta_workflows.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/form_engine.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/intent_detector.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/models.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/pattern_learner.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/plan_generator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/session_context.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/template_registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/meta_workflows/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/metrics/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/metrics/collector.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/metrics/prompt_metrics.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/__main__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/adaptive_routing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/auth_cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/auth_strategy.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/empathy_executor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/executor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/fallback.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/provider_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/tasks.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/telemetry/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/telemetry/analytics.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/telemetry/backend.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/telemetry/data_models.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/telemetry/storage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/token_estimator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/models/validation.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/monitoring/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/monitoring/alerts.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/monitoring/alerts_cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/monitoring/multi_backend.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/monitoring/otel_backend.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/optimization/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/optimization/context_optimizer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/agent_templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/config_store.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/execution_strategies.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/meta_orchestrator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/pattern_learner.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/orchestration/real_tools.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/pattern_cache.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/pattern_library.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/patterns/debugging/all_patterns.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/patterns/debugging/workflow_20260107_1770825e.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/patterns/refactoring_memory.json +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/persistence.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/platform_utils.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/plugins/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/plugins/base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/plugins/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/index.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/models.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/reports.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/scanner.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/project_index/scanner_parallel.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/context.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/parser.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/prompts/templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/redis_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/redis_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/circuit_breaker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/fallback.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/health.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/retry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/resilience/timeout.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/routing/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/routing/chain_executor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/routing/classifier.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/routing/smart_router.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/routing/workflow_registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/__main__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/templates/base_wizard.py.jinja2 +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/templates/coach_wizard.py.jinja2 +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/templates/domain_wizard.py.jinja2 +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/scaffolding/templates/linear_flow_wizard.py.jinja2 +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/ab_testing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/blueprint.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/collaboration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/domain_templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/embeddings.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/engine.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/explainer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/feedback.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/forms.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/generator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/llm_analyzer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/mcp_server.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/session.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/storage.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/success.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/visual_editor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/socratic/web_ui.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/agent_coordination.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/agent_tracking.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/approval_gates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/commands/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/commands/dashboard_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/event_streaming.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/feedback_loop.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/telemetry/usage_tracker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/__main__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/generator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/risk_analyzer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/test_generator/templates/unit_test.py.jinja2 +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/tier_recommender.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/tools.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/trust/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/trust/circuit_breaker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/trust_building.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/validation/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/validation/xml_validator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/vscode_bridge.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/behavior.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/output.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflow_patterns/structural.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/autonomous_test_gen.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/batch_processing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/bug_predict.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/builder.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/caching.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/code_review.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/code_review_adapters.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/code_review_pipeline.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/dependency_check.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_gen/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_gen/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_gen/report_formatter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_gen/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_manager.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/document_manager_README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/documentation_orchestrator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/history.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/generators.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/parsers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/prompts.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/schema.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/keyboard_shortcuts/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/llm_base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/manage_docs.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/manage_docs_README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/manage_documentation.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/new_sample_workflow1.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/new_sample_workflow1_README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/orchestrated_health_check.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/orchestrated_release_prep.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/output.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/perf_audit.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/pr_review.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progress.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progress_server.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/README 2.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/orchestrator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/reports.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/telemetry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/test_gen.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/progressive/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/refactor_plan.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/release_prep.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/release_prep_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/research_synthesis.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/routing.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/secure_release.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/security_adapters.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/security_audit.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/security_audit_phase3.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/seo_optimization.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/step_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/telemetry_mixin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test5.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test5_README.md +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_coverage_boost_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/ast_analyzer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/data_models.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/report_formatter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/test_templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen/workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen_behavioral.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_gen_parallel.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_lifecycle.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance_cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_maintenance_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/test_runner.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/tier_tracking.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/src/attune/workflows/xml_enhanced_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_agent_factory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_agent_factory_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_agent_factory_resilience.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_audit_logger.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_audit_logger_extended.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_baseline.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_book_production_agents.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_bug_predict_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_claude_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_claude_memory_extended.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_clinical_protocol_monitor.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_health.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_review.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_review_crew_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_review_pipeline.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_review_pipeline_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_code_review_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_control_panel.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_control_panel_security.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_coordination.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_core_reliability.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_cost_tracker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_dependency_check.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_dependency_check_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_discovery.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_document_gen.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_document_gen_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_emergence.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_empathy_llm_core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_empathy_llm_security.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_empathy_os.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_exceptions.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_executor_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_fallback.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_fallback_suite.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_feedback_loops.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_finding_extraction.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_graph.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_health_check.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_healthcare_plugin.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_intelligence_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_levels.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_leverage_points.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_agents.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_decorators.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_empathy_core.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_langgraph_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_levels.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_patterns.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_providers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_security.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_session_status.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_llm_toolkit_wizard_adapter.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_logging_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_long_term.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_memory_graph.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_model_registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_model_router.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_monitoring.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pattern_cache.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pattern_library.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_perf_audit_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_persistence.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pii_scrubber.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pii_scrubber_extended.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_platform_compat_ci.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_platform_utils.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_plugin_base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_plugin_registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pr_review.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_pr_review_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_production_smoke.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_progress.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_protocol_checker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_protocol_loader.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_provider_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_providers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_redis_bootstrap.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_redis_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_redis_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_redis_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_redis_memory_errors.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_refactor_golden.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_refactor_plan_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_refactoring.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_refactoring_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_registry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_release_prep.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_reporting.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_reports.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_resilience.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_sbar_wizard.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_scanner.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_scanner_exceptions.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_secrets_detector.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_secure_memdocs.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_secure_memdocs_extended.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_secure_release.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_secure_release_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_audit.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_audit_crew.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_audit_workflow.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_crew_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_negative_cases.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_security_scan.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_sensor_parsers.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_session_status.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_short_term.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_smart_router.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_smoke.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_sonnet_opus_fallback.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_state.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_step_config.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_summary_index.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_sync_claude.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_tech_debt_wizard.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_telemetry.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_templates.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_timeout.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_token_estimator.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_trajectory_analyzer.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_trust_building.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_trust_circuit_breaker.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_unified_memory.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_validation.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_wizard_outputs.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_wizard_site_comprehensive.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_workflow_base.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_workflow_commands.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_workflow_wizard_integration.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_xml_prompts.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/tests/test_xml_spec_generation.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/workflow_scaffolding/__init__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/workflow_scaffolding/__main__.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/workflow_scaffolding/cli.py +0 -0
- {attune_ai-2.0.1 → attune_ai-2.0.2}/workflow_scaffolding/generator.py +0 -0
|
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.0.2] - 2026-02-01
|
|
11
|
+
|
|
12
|
+
### Removed
|
|
13
|
+
|
|
14
|
+
- **README.md**: Removed outdated "Transitioning to Claude-Native Architecture" section
|
|
15
|
+
- Eliminated confusing timeline with old version numbers (v4.8.0, v5.0.0, v5.0.2)
|
|
16
|
+
- Package is already Claude-native, no need for transition messaging
|
|
17
|
+
- Cleaner, more focused README presentation
|
|
18
|
+
|
|
10
19
|
## [2.0.1] - 2026-02-01
|
|
11
20
|
|
|
12
21
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: attune-ai
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (10 patterns including Anthropic-inspired), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration.
|
|
5
5
|
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
6
|
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
@@ -439,25 +439,6 @@ pip install attune-ai[developer]
|
|
|
439
439
|
|
|
440
440
|
---
|
|
441
441
|
|
|
442
|
-
## 🎯 Transitioning to Claude-Native Architecture
|
|
443
|
-
|
|
444
|
-
**Attune AI is evolving to focus exclusively on Anthropic/Claude** to unlock features impossible with multi-provider abstraction:
|
|
445
|
-
|
|
446
|
-
- **📦 Prompt Caching:** 90% cost reduction on repeated prompts
|
|
447
|
-
- **📖 Flexible Context:** 200K via subscription for most tasks, up to 1M via API for large codebases
|
|
448
|
-
- **🧠 Extended Thinking:** See Claude's internal reasoning process
|
|
449
|
-
- **🔧 Advanced Tool Use:** Optimized for agentic workflows
|
|
450
|
-
|
|
451
|
-
**Timeline:**
|
|
452
|
-
|
|
453
|
-
- ✅ **v4.8.0 (Jan 2026):** Deprecation warnings for OpenAI/Google/Ollama providers
|
|
454
|
-
- ✅ **v5.0.0 (Jan 26, 2026):** Non-Anthropic providers removed (BREAKING - COMPLETE)
|
|
455
|
-
- ✅ **v5.0.2 (Jan 28, 2026):** Cost optimization suite with batch processing and caching monitoring
|
|
456
|
-
|
|
457
|
-
**Migration Guide:** [docs/CLAUDE_NATIVE.md](docs/CLAUDE_NATIVE.md)
|
|
458
|
-
|
|
459
|
-
---
|
|
460
|
-
|
|
461
442
|
## What's New in v2.0.0
|
|
462
443
|
|
|
463
444
|
**🎉 Introducing Attune AI** - A fresh start with a new name and renewed focus:
|
|
@@ -16,25 +16,6 @@ pip install attune-ai[developer]
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
## 🎯 Transitioning to Claude-Native Architecture
|
|
20
|
-
|
|
21
|
-
**Attune AI is evolving to focus exclusively on Anthropic/Claude** to unlock features impossible with multi-provider abstraction:
|
|
22
|
-
|
|
23
|
-
- **📦 Prompt Caching:** 90% cost reduction on repeated prompts
|
|
24
|
-
- **📖 Flexible Context:** 200K via subscription for most tasks, up to 1M via API for large codebases
|
|
25
|
-
- **🧠 Extended Thinking:** See Claude's internal reasoning process
|
|
26
|
-
- **🔧 Advanced Tool Use:** Optimized for agentic workflows
|
|
27
|
-
|
|
28
|
-
**Timeline:**
|
|
29
|
-
|
|
30
|
-
- ✅ **v4.8.0 (Jan 2026):** Deprecation warnings for OpenAI/Google/Ollama providers
|
|
31
|
-
- ✅ **v5.0.0 (Jan 26, 2026):** Non-Anthropic providers removed (BREAKING - COMPLETE)
|
|
32
|
-
- ✅ **v5.0.2 (Jan 28, 2026):** Cost optimization suite with batch processing and caching monitoring
|
|
33
|
-
|
|
34
|
-
**Migration Guide:** [docs/CLAUDE_NATIVE.md](docs/CLAUDE_NATIVE.md)
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
19
|
## What's New in v2.0.0
|
|
39
20
|
|
|
40
21
|
**🎉 Introducing Attune AI** - A fresh start with a new name and renewed focus:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: attune-ai
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (10 patterns including Anthropic-inspired), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration.
|
|
5
5
|
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
6
|
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
@@ -439,25 +439,6 @@ pip install attune-ai[developer]
|
|
|
439
439
|
|
|
440
440
|
---
|
|
441
441
|
|
|
442
|
-
## 🎯 Transitioning to Claude-Native Architecture
|
|
443
|
-
|
|
444
|
-
**Attune AI is evolving to focus exclusively on Anthropic/Claude** to unlock features impossible with multi-provider abstraction:
|
|
445
|
-
|
|
446
|
-
- **📦 Prompt Caching:** 90% cost reduction on repeated prompts
|
|
447
|
-
- **📖 Flexible Context:** 200K via subscription for most tasks, up to 1M via API for large codebases
|
|
448
|
-
- **🧠 Extended Thinking:** See Claude's internal reasoning process
|
|
449
|
-
- **🔧 Advanced Tool Use:** Optimized for agentic workflows
|
|
450
|
-
|
|
451
|
-
**Timeline:**
|
|
452
|
-
|
|
453
|
-
- ✅ **v4.8.0 (Jan 2026):** Deprecation warnings for OpenAI/Google/Ollama providers
|
|
454
|
-
- ✅ **v5.0.0 (Jan 26, 2026):** Non-Anthropic providers removed (BREAKING - COMPLETE)
|
|
455
|
-
- ✅ **v5.0.2 (Jan 28, 2026):** Cost optimization suite with batch processing and caching monitoring
|
|
456
|
-
|
|
457
|
-
**Migration Guide:** [docs/CLAUDE_NATIVE.md](docs/CLAUDE_NATIVE.md)
|
|
458
|
-
|
|
459
|
-
---
|
|
460
|
-
|
|
461
442
|
## What's New in v2.0.0
|
|
462
443
|
|
|
463
444
|
**🎉 Introducing Attune AI** - A fresh start with a new name and renewed focus:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "attune-ai"
|
|
7
|
-
version = "2.0.
|
|
7
|
+
version = "2.0.2"
|
|
8
8
|
description = "AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (10 patterns including Anthropic-inspired), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration."
|
|
9
9
|
readme = {file = "README.md", content-type = "text/markdown"}
|
|
10
10
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_B112.json
RENAMED
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_F541.json
RENAMED
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_checker.py
RENAMED
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/protocol_loader.py
RENAMED
|
File without changes
|
|
File without changes
|
{attune_ai-2.0.1 → attune_ai-2.0.2}/attune_healthcare/monitors/monitoring/trajectory_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|