dreadnode 2.0.23__tar.gz → 2.0.24__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.
- {dreadnode-2.0.23 → dreadnode-2.0.24}/PKG-INFO +1 -1
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/assessment.py +45 -5
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/airt.py +86 -22
- {dreadnode-2.0.23 → dreadnode-2.0.24}/pyproject.toml +1 -1
- {dreadnode-2.0.23 → dreadnode-2.0.24}/.gitignore +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/LICENSE +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/README.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/__main__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/agent.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/exceptions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/format.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/hooks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/judge.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/mcp/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/mcp/auth.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/mcp/client.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/mcp/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/mcp/server.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/process_judge.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/reactions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/skills.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/stopping.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/subagent.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/tool_resolution.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/tools.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/agents/trajectory.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/adversarial_reasoning.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/advpromptier.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/alignment_faking.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analogy_escalation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/aggregator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/classifier.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/compliance.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/engine.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/recommendations.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/analytics/types.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/aprt_progressive.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/attention_shifting.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/autodan_turbo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/autoredteamer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/beast.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/atlas.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/nist.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/owasp.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/owasp_agentic.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/compliance/saif.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/constants.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/cot_jailbreak.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/crescendo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/assets/audio/adversarial_query.mp3 +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/assets/image/bomb.jpg +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/assets/image/meth.png +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/prompts/adversarial_benchmark_subset.csv +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/prompts/ai_safety.csv +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/data_exfiltration.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/goal_hijacking.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/memory_poisoning.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/privilege_escalation.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/rce.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/scope_creep.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/tool_chaining.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/tool_selection_safety.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/unbounded_agency.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/web_chatbot_security.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_1.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_2.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_3.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_4.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_5.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/deep_inception.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/drattack.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/echo_chamber.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/genetic_persona.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/goat.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/goat_v2.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/gptfuzzer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/humor_bypass.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/image.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/j2_meta.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/jbdistill.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/jbfuzz.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/lrm_autonomous.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/mapf.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/multimodal.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/nexus.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/pair.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/persona_hijack.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/prompt.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/quantization_safety.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/rainbow.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/refusal_aware.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/renellm.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/reporting/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/reporting/json_report.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/reporting/llm_summary.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/reporting/markdown.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/reward_hacking.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/salami_slicing.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/self_persuasion.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/siren.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/tap.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/templatefuzz.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/tmap_trajectory.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/trojail.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/watermark_removal.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/api/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/api/client.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/api/models.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/args.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/capability.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/dataset.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/environment.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/evaluation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/inference_model.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/main.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/model.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/optimize.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/runtime.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/sandbox.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/secret.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/session.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/shared.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/task.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/challenge/Dockerfile +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/docker-compose.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/provision.sh +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/solution.sh +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/task-remote.yaml.tmpl +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/task.yaml.tmpl +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/teardown.sh +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/templates/init/verify.sh +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/train.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/cli/worlds.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/interactive.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/managed_client.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/models.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/runtime_client.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/client/transports.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/env.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/main.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/model_catalog.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/paths.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/print_mode.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/app.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/auth.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/capability_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/model_resolution.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/prompt.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/prompt_registry.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/runtime_events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/session_hydrator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/session_persistence.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/turn_coordinator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/utils.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/websocket.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/server/worker_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/app.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/auth_flow.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/capabilities_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/command_dispatcher.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/commands.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/connection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/dreadnode.tcss +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/error_handler.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/model_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/model_variants.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/profile_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/runtime_cache.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screen_router.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/auth.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/capabilities.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/capability_docs.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/connection_error.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/console.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/environments.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/evaluations.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/model_picker.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/models.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/raw_spans.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/runtimes.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/sandboxes.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/secrets.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/services.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/sessions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/theme_showcase.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/traces.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/screens/workspaces.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/sessions_manager.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/spans_reader.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/status_messages.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/theme.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/tool_format.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/turn_coordinator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/turn_lifecycle.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/turn_reducer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/turn_state_phase.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/update_check.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/agent_dialog.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/agent_suggester.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/composer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/confirm_modal.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/context_bar.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/conversation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/flash.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/header_bar.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/help_panel.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/human_prompt.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/mention_overlay.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/message_queue.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/new_messages_pill.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/overlay_mixin.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/permission_prompt.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/profile_dialog.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/prompt_info.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/rewind_picker.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/session_sidebar.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/skills_dialog.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/slash_overlay.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/status_bar.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/throbber.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/tool.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/tool_progress.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/tools_dialog.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/welcome.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/widgets/whoami.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/app/tui/wire_events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/MAINTAINING.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/agents/dreadnode.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/capability.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/SKILL.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/capability-improvement.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/promoting-capabilities.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/INDEX.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/agents.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/dependencies-and-checks.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/env-vars.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/events.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/flags.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/hooks.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/installing.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/manifest.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/mcp-servers.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/policies.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/publishing.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/quickstart.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/skills.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/tools.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/workers-reference.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/workers.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/capabilities/writing-skills.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/guides/capability-optimization-loop.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/sdk/agents.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/sdk/capabilities.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/references/tui/default-tools.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/creating-capabilities/runtime-default-capability.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/SKILL.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/INDEX.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/airt.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/capability.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/dataset.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/env.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/evaluation.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/inference-model.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/main.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/model.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/optimize.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/runtime.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/sandbox.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/secret.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/task.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/train.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/cli/worlds.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-cli/references/getting-started/authentication.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/SKILL.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/INDEX.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/capabilities/installing.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/capabilities/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/getting-started/authentication.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/getting-started/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/getting-started/quickstart.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/chat-models.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/credits.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/organizations.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/projects.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/secrets.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/settings.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/users.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/platform/workspaces.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/configuration.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/managing.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/manifest-reference.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/quickstart.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/runtimes/serve.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/sandboxes/environment-lifecycle.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/sandboxes/inspecting.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/dreadnode-concepts/references/sandboxes/overview.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/getting-started/SKILL.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/dreadnode/skills/research-capabilities/SKILL.md +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/.gitignore +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/capability.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/hooks/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/hooks/observer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/self_improvement_lib/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/self_improvement_lib/classifier.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/self_improvement_lib/reflector_goal.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/self_improvement_lib/skill_io.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/skills-promoted/.gitkeep +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/skills-proposed/.gitkeep +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/tools/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/tools/reflector.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/builtin_capabilities/self-improvement/tools/skill_stats.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/capability.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/flags.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/install.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/loader.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/sync.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/tool_rules.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/types.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/worker.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/capabilities/worker_runner.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/conditions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/discovery.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/environment.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/exceptions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/execution.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/hook.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/judge.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/load.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/log.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/meta/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/meta/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/meta/context.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/meta/hydrate.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/meta/introspect.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/metric.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/object.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/scorer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/serialization.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/stopping.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/task.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/templating.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/transforms.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/audio.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/common.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/image.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/object_3d.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/table.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/text.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/types/video.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/core/util.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/datasets/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/datasets/dataset.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/datasets/hf.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/datasets/local.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/console.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/evaluation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/format.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/result.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/evaluations/sample.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/caching.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/chat.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/data.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/exceptions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/http.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/litellm_.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/transformers_.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/generator/vllm_.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/message.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/models.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/parsing.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/tokenizer/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/tokenizer/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/tokenizer/transformers_.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/generators/utils.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/models/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/models/hf.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/models/local.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/models/model.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/_env_eval.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/agent.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/env.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/runtime.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/adapters/stack.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/api.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/backends/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/backends/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/backends/gepa.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/collectors.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/console.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/format.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/jobs.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/result.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/sampler.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/sampling.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/search.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/stopping.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/study.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/optimization/trial.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/loader.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/manifest.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/oci.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/package.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/packaging/task_validation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/policies/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/policies/guard.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/policies/rubrics/process/default.yaml +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/py.typed +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/boundary.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/fuzzing.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/graph.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/grid.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/image.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/mapelites.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/optuna.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/random.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/registry.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/samplers/strategy.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/advanced_jailbreak_detection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/agent_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/agentic.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/agentic_workflow.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/attack_outcome.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/classification.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/consistency.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/contains.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/cosine_sim.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/credentials.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/crucible.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/documentation_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/exfiltration_detection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/format.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/harm.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/ide_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/image.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/json.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/judge.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/judge_ensemble.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/length.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/lexical.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/mcp_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/memorization.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/multi_agent_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/pii.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/prompt_leak.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/readability.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/reasoning_security.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/sentiment.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/similarity.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/structural_detection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/scorers/supply_chain_detection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/storage/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/storage/providers.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/storage/session_store.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/storage/storage.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/_ripgrep.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/apply_patch.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/dreadnode_cli.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/editing.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/execute.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/fetch.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/glob.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/grep.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/interaction.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/ls.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/memory.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/read.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/report.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/task.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/think.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/todo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/trajectory_search.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/web_extract.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/web_search.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tools/write.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/constants.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/convert.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/exporter.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/exporters.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/span.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/spans.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/tracing/trace_converter.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/_progress.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/base.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/dpo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/env_rollouts.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/etl/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/etl/_common.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/etl/rl.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/etl/sft.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/etl/worlds.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/events.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/grpo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/jobs.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/models.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ppo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/prime.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/async_trainer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/coordinator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/distributed.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/dpo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/experience.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/fsdp2_learner.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/inference.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/learner.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/multi_turn.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/ppo.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/reward_model.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/rollout_env.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/rollout_worker.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/sft.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/ray/trainer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/recipes.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/aggregator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/functions.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/scorer_bridge.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/shaping.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rewards/types.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/adapters.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/agent_rollout.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/orchestrator.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/types.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/rollouts/worlds.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/serving/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/serving/vllm_client.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/sft.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/config.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/data.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/renderer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/rl.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker/trainer.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/tinker_sft.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/training/utils.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/__init__.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/advanced_jailbreak.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/adversarial_suffix.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/agent_skill.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/agentic_workflow.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/audio.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/backdoor_finetune.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/browser_agent_attacks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/cipher.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/competitive_parity.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/constitutional.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/document.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/documentation_poison.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/encoding.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/exfiltration.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/flip_attack.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/guardrail_bypass.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/ide_injection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/image.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/injection.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/json_tools.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/language.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/logic_bomb.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/mcp_attacks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/multi_agent_attacks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/multimodal_attacks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/persuasion.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/perturbation.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/pii_extraction.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/pythonic_tools.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/rag_poisoning.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/reasoning_attacks.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/refine.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/response_steering.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/structural_exploits.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/stylistic.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/substitution.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/supply_chain.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/swap.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/system_prompt_extraction.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/text.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/video.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/transforms/xml_tools.py +0 -0
- {dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/version.py +0 -0
|
@@ -23,6 +23,7 @@ import contextlib
|
|
|
23
23
|
import contextvars
|
|
24
24
|
import os
|
|
25
25
|
import signal
|
|
26
|
+
import threading
|
|
26
27
|
import typing as t
|
|
27
28
|
from pathlib import Path
|
|
28
29
|
|
|
@@ -57,6 +58,26 @@ def _get_platform_context() -> tuple[ApiClient, Profile] | None:
|
|
|
57
58
|
return None
|
|
58
59
|
|
|
59
60
|
|
|
61
|
+
# Thread-local storage for injected platform context
|
|
62
|
+
_thread_local = threading.local()
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def _set_platform_context(api: ApiClient, profile: Profile) -> None:
|
|
66
|
+
"""Set platform context for the current thread (used by AIRT CLI)."""
|
|
67
|
+
_thread_local.api = api
|
|
68
|
+
_thread_local.profile = profile
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def _get_platform_context_with_fallback() -> tuple[ApiClient, Profile] | None:
|
|
72
|
+
"""Get platform context with CLI injection fallback."""
|
|
73
|
+
# First try thread-local injected context (from AIRT CLI)
|
|
74
|
+
if hasattr(_thread_local, "api") and hasattr(_thread_local, "profile"):
|
|
75
|
+
return _thread_local.api, _thread_local.profile
|
|
76
|
+
|
|
77
|
+
# Fallback to global DEFAULT_INSTANCE
|
|
78
|
+
return _get_platform_context()
|
|
79
|
+
|
|
80
|
+
|
|
60
81
|
class Assessment:
|
|
61
82
|
"""Orchestrates multi-attack assessments.
|
|
62
83
|
|
|
@@ -91,6 +112,7 @@ class Assessment:
|
|
|
91
112
|
workflow_run_id: str | None = None,
|
|
92
113
|
workflow_script: str | None = None,
|
|
93
114
|
project_id: str | None = None,
|
|
115
|
+
runtime_id: str | None = None,
|
|
94
116
|
) -> None:
|
|
95
117
|
self.name = name
|
|
96
118
|
self.description = description
|
|
@@ -116,6 +138,7 @@ class Assessment:
|
|
|
116
138
|
self._workflow_run_id = workflow_run_id
|
|
117
139
|
self._workflow_script = workflow_script
|
|
118
140
|
self._project_id = project_id
|
|
141
|
+
self._runtime_id = runtime_id
|
|
119
142
|
|
|
120
143
|
self._session_id = session_id or os.environ.get("DREADNODE_SESSION_ID")
|
|
121
144
|
if self._session_id is None:
|
|
@@ -177,7 +200,7 @@ class Assessment:
|
|
|
177
200
|
if self._assessment_id is not None:
|
|
178
201
|
return self._assessment_id
|
|
179
202
|
|
|
180
|
-
ctx =
|
|
203
|
+
ctx = _get_platform_context_with_fallback()
|
|
181
204
|
if ctx is None:
|
|
182
205
|
logger.debug("SDK offline -- assessment not registered with platform")
|
|
183
206
|
return None
|
|
@@ -192,11 +215,28 @@ class Assessment:
|
|
|
192
215
|
return None
|
|
193
216
|
|
|
194
217
|
try:
|
|
218
|
+
# Get runtime_id - try to use a default runtime for the project
|
|
219
|
+
runtime_id = getattr(self, "_runtime_id", None)
|
|
220
|
+
if runtime_id is None:
|
|
221
|
+
# Auto-discover a runtime for this project (CLI users shouldn't need to specify this)
|
|
222
|
+
try:
|
|
223
|
+
runtimes_resp = api.list_runtimes(profile.org_key, profile.workspace_key)
|
|
224
|
+
runtime_items = runtimes_resp.get("items", [])
|
|
225
|
+
matching_runtimes = [r for r in runtime_items if r["project_id"] == project_id]
|
|
226
|
+
if matching_runtimes:
|
|
227
|
+
runtime_id = matching_runtimes[0]["id"]
|
|
228
|
+
logger.debug(f"Auto-selected runtime {runtime_id} for project {project_id}")
|
|
229
|
+
else:
|
|
230
|
+
logger.warning(f"No runtimes found for project {project_id}")
|
|
231
|
+
except Exception as e:
|
|
232
|
+
logger.debug(f"Failed to auto-discover runtime for project: {e}")
|
|
233
|
+
|
|
195
234
|
result = api.create_airt_assessment(
|
|
196
235
|
profile.org_key,
|
|
197
236
|
profile.workspace_key,
|
|
198
237
|
name=self.name,
|
|
199
238
|
project_id=project_id,
|
|
239
|
+
runtime_id=runtime_id,
|
|
200
240
|
description=self.description,
|
|
201
241
|
session_id=self._session_id,
|
|
202
242
|
target_model=self.target_model,
|
|
@@ -402,7 +442,7 @@ class Assessment:
|
|
|
402
442
|
await self.register()
|
|
403
443
|
# Notify the platform that execution has started (sets started_at server-side)
|
|
404
444
|
if self._assessment_id is not None:
|
|
405
|
-
ctx =
|
|
445
|
+
ctx = _get_platform_context_with_fallback()
|
|
406
446
|
if ctx is not None:
|
|
407
447
|
api, session = ctx
|
|
408
448
|
try:
|
|
@@ -459,7 +499,7 @@ class Assessment:
|
|
|
459
499
|
provider.force_flush(timeout_millis=10_000)
|
|
460
500
|
|
|
461
501
|
# Use the sync API client directly — no async gymnastics
|
|
462
|
-
ctx =
|
|
502
|
+
ctx = _get_platform_context_with_fallback()
|
|
463
503
|
if ctx is None or self._assessment_id is None:
|
|
464
504
|
return
|
|
465
505
|
|
|
@@ -499,7 +539,7 @@ class Assessment:
|
|
|
499
539
|
Returns:
|
|
500
540
|
True if successfully marked, False otherwise.
|
|
501
541
|
"""
|
|
502
|
-
ctx =
|
|
542
|
+
ctx = _get_platform_context_with_fallback()
|
|
503
543
|
if ctx is None or self._assessment_id is None:
|
|
504
544
|
return False
|
|
505
545
|
|
|
@@ -527,7 +567,7 @@ class Assessment:
|
|
|
527
567
|
Returns:
|
|
528
568
|
True if successfully marked, False otherwise.
|
|
529
569
|
"""
|
|
530
|
-
ctx =
|
|
570
|
+
ctx = _get_platform_context_with_fallback()
|
|
531
571
|
if ctx is None or self._assessment_id is None:
|
|
532
572
|
return False
|
|
533
573
|
|
|
@@ -65,7 +65,7 @@ def _parse_json_object_option(value: str | None, *, field_name: str) -> dict[str
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
def _resolve_project_id(api, profile, project):
|
|
68
|
-
"""Resolve project name to UUID."""
|
|
68
|
+
"""Resolve project name to UUID, creating the project if it doesn't exist."""
|
|
69
69
|
from uuid import UUID
|
|
70
70
|
|
|
71
71
|
candidate = project or getattr(profile, "project_key", None)
|
|
@@ -83,9 +83,25 @@ def _resolve_project_id(api, profile, project):
|
|
|
83
83
|
try:
|
|
84
84
|
resolved = api.get_project(profile.org_key, profile.workspace_key, str(candidate))
|
|
85
85
|
return str(resolved.id)
|
|
86
|
-
except Exception as
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
except Exception as get_error:
|
|
87
|
+
# Project doesn't exist, try to create it
|
|
88
|
+
try:
|
|
89
|
+
print(f"[PROJECT DEBUG] Project '{candidate}' not found, creating it...")
|
|
90
|
+
created = api.create_project(
|
|
91
|
+
profile.org_key,
|
|
92
|
+
profile.workspace_key,
|
|
93
|
+
name=str(candidate),
|
|
94
|
+
key=str(candidate),
|
|
95
|
+
description="Auto-created project for AIRT CLI run",
|
|
96
|
+
)
|
|
97
|
+
print(
|
|
98
|
+
f"[PROJECT DEBUG] Successfully created project '{candidate}' with ID {created.id}"
|
|
99
|
+
)
|
|
100
|
+
return str(created.id)
|
|
101
|
+
except Exception as create_error:
|
|
102
|
+
print(f"[PROJECT DEBUG] Failed to resolve project '{candidate}': {get_error}")
|
|
103
|
+
print(f"[PROJECT DEBUG] Failed to create project '{candidate}': {create_error}")
|
|
104
|
+
return None
|
|
89
105
|
|
|
90
106
|
|
|
91
107
|
_SEVERITY_COLORS = {
|
|
@@ -1150,6 +1166,9 @@ def run(
|
|
|
1150
1166
|
print_error(str(e))
|
|
1151
1167
|
return
|
|
1152
1168
|
|
|
1169
|
+
# Capture original project argument before connect() clears it
|
|
1170
|
+
original_project = platform.project
|
|
1171
|
+
|
|
1153
1172
|
# Configure SDK and validate scope to populate project_id
|
|
1154
1173
|
_api, profile = platform.connect()
|
|
1155
1174
|
|
|
@@ -1175,25 +1194,46 @@ def run(
|
|
|
1175
1194
|
console.print()
|
|
1176
1195
|
|
|
1177
1196
|
async def _run() -> None:
|
|
1197
|
+
# Determine project for SDK configuration
|
|
1198
|
+
# Use original CLI argument, fallback to profile, environment, then 'default'
|
|
1199
|
+
import os
|
|
1200
|
+
|
|
1178
1201
|
from dreadnode.airt import Assessment
|
|
1202
|
+
from dreadnode.airt.assessment import _set_platform_context
|
|
1179
1203
|
|
|
1180
1204
|
# Configure the SDK using the validated profile
|
|
1181
1205
|
from dreadnode.app.main import DEFAULT_INSTANCE
|
|
1182
1206
|
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1207
|
+
env_project = os.getenv("DREADNODE_PROJECT")
|
|
1208
|
+
sdk_project = original_project or profile.project or env_project or "default"
|
|
1209
|
+
|
|
1210
|
+
# Try global SDK configuration first
|
|
1211
|
+
try:
|
|
1212
|
+
DEFAULT_INSTANCE.configure(
|
|
1213
|
+
server=profile.url,
|
|
1214
|
+
api_key=profile.api_key,
|
|
1215
|
+
organization=profile.organization,
|
|
1216
|
+
workspace=profile.workspace,
|
|
1217
|
+
project=sdk_project,
|
|
1218
|
+
)
|
|
1219
|
+
from loguru import logger
|
|
1220
|
+
|
|
1221
|
+
logger.debug("SDK instance configured successfully for assessment registration")
|
|
1222
|
+
except Exception as e:
|
|
1223
|
+
from loguru import logger
|
|
1224
|
+
|
|
1225
|
+
logger.warning(f"Failed to configure SDK instance for assessment registration: {e}")
|
|
1226
|
+
logger.info("Using fallback context injection for assessment registration")
|
|
1227
|
+
|
|
1228
|
+
# Always inject platform context as fallback for assessment registration
|
|
1229
|
+
_set_platform_context(_api, profile)
|
|
1190
1230
|
|
|
1191
1231
|
# Resolve project name to UUID
|
|
1192
|
-
#
|
|
1232
|
+
# Use original CLI argument, fallback to profile, environment, then 'default'
|
|
1193
1233
|
import os
|
|
1194
1234
|
|
|
1195
1235
|
env_project = os.getenv("DREADNODE_PROJECT")
|
|
1196
|
-
actual_project = profile.project or env_project
|
|
1236
|
+
actual_project = original_project or profile.project or env_project or "default"
|
|
1197
1237
|
|
|
1198
1238
|
resolved_project_id = _resolve_project_id(_api, profile, actual_project)
|
|
1199
1239
|
final_project_id = resolved_project_id or profile.project_id or actual_project
|
|
@@ -1332,24 +1372,48 @@ def run_suite(
|
|
|
1332
1372
|
console.print(f" Config: [dim]{file}[/dim]")
|
|
1333
1373
|
console.print()
|
|
1334
1374
|
|
|
1375
|
+
# Capture original project argument before connect() clears it
|
|
1376
|
+
original_project = platform.project
|
|
1377
|
+
|
|
1335
1378
|
# Configure SDK
|
|
1336
1379
|
_api, profile = platform.connect()
|
|
1337
1380
|
|
|
1338
1381
|
target_fn = _build_target(model, max_tokens)
|
|
1339
1382
|
|
|
1340
1383
|
async def _run_suite() -> list[dict[str, t.Any]]:
|
|
1384
|
+
# Determine project for SDK configuration
|
|
1385
|
+
# Use original CLI argument, fallback to profile, environment, then 'default'
|
|
1386
|
+
import os
|
|
1387
|
+
|
|
1341
1388
|
from dreadnode.airt import Assessment
|
|
1389
|
+
from dreadnode.airt.assessment import _set_platform_context
|
|
1342
1390
|
|
|
1343
1391
|
# Configure the SDK using the validated profile
|
|
1344
1392
|
from dreadnode.app.main import DEFAULT_INSTANCE
|
|
1345
1393
|
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1394
|
+
env_project = os.getenv("DREADNODE_PROJECT")
|
|
1395
|
+
sdk_project = original_project or profile.project or env_project or "default"
|
|
1396
|
+
|
|
1397
|
+
# Try global SDK configuration first
|
|
1398
|
+
try:
|
|
1399
|
+
DEFAULT_INSTANCE.configure(
|
|
1400
|
+
server=profile.url,
|
|
1401
|
+
api_key=profile.api_key,
|
|
1402
|
+
organization=profile.organization,
|
|
1403
|
+
workspace=profile.workspace,
|
|
1404
|
+
project=sdk_project,
|
|
1405
|
+
)
|
|
1406
|
+
from loguru import logger
|
|
1407
|
+
|
|
1408
|
+
logger.debug("SDK instance configured successfully for assessment registration")
|
|
1409
|
+
except Exception as e:
|
|
1410
|
+
from loguru import logger
|
|
1411
|
+
|
|
1412
|
+
logger.warning(f"Failed to configure SDK instance for assessment registration: {e}")
|
|
1413
|
+
logger.info("Using fallback context injection for assessment registration")
|
|
1414
|
+
|
|
1415
|
+
# Always inject platform context as fallback for assessment registration
|
|
1416
|
+
_set_platform_context(_api, profile)
|
|
1353
1417
|
|
|
1354
1418
|
suite_results = []
|
|
1355
1419
|
for i, goal_cfg in enumerate(goals, 1):
|
|
@@ -1362,11 +1426,11 @@ def run_suite(
|
|
|
1362
1426
|
console.print(f"\n--- Goal {i}/{len(goals)}: {goal_text[:60]}...")
|
|
1363
1427
|
|
|
1364
1428
|
# Resolve project name to UUID
|
|
1365
|
-
#
|
|
1429
|
+
# Use original CLI argument, then environment variable as fallback
|
|
1366
1430
|
import os
|
|
1367
1431
|
|
|
1368
1432
|
env_project = os.getenv("DREADNODE_PROJECT")
|
|
1369
|
-
actual_project = profile.project or env_project
|
|
1433
|
+
actual_project = original_project or profile.project or env_project
|
|
1370
1434
|
|
|
1371
1435
|
resolved_project_id = _resolve_project_id(_api, profile, actual_project)
|
|
1372
1436
|
final_project_id = resolved_project_id or profile.project_id or actual_project
|
|
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
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/assets/audio/adversarial_query.mp3
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/prompts/adversarial_benchmark_subset.csv
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
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/rubrics/tool_selection_safety.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_1.yaml
RENAMED
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_2.yaml
RENAMED
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_3.yaml
RENAMED
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_4.yaml
RENAMED
|
File without changes
|
{dreadnode-2.0.23 → dreadnode-2.0.24}/dreadnode/airt/data/templates/crescendo/variant_5.yaml
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
|