deepstrike 0.2.44__tar.gz → 0.2.45__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.
- {deepstrike-0.2.44 → deepstrike-0.2.45}/Cargo.lock +6 -6
- {deepstrike-0.2.44 → deepstrike-0.2.45}/Cargo.toml +2 -2
- {deepstrike-0.2.44 → deepstrike-0.2.45}/PKG-INFO +1 -1
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/execution_plane.py +6 -3
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/execution.py +3 -1
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/registry.py +60 -2
- {deepstrike-0.2.44 → deepstrike-0.2.45}/pyproject.toml +1 -1
- {deepstrike-0.2.44 → deepstrike-0.2.45}/README.md +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/Cargo.toml +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/benches/kernel_baseline.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/benchmark/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/compression.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/config.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/fault.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/manager.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/partitions.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/policy.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/pressure.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/renderer.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/renewal.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/skill_catalog.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/summarizer.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/task_state.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/text.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/token_engine.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/units.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/context/utility.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/constraint.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/permission.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/pipeline.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/quota.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/rate_limit.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/repeat_fuse.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/veto.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/harness/eval.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/harness/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/lexical.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/lib.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/memory/curator.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/memory/durable.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/memory/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/mm/handle.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/mm/memory.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/mm/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/mm/value.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/task_graph.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/tournament.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/workflow/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/workflow/run.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/proc/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/event_log.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel/protocol.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel/runtime.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel/tests.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/repair.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/replay.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/session.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/entropy.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/milestone.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/policy.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/rollback.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/cancellation.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/capability.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/eviction.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/gate.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/milestone_exec.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/process.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/signal.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/tests.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/workflow.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/tcb.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/signals/attention.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/signals/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/signals/queue.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/signals/router.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/syscall/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/agent.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/capability.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/contract.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/error.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/message.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/milestone.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/mod.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/policy.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/result.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/signal.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/skill.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/types/task.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-py/Cargo.toml +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-py/src/lib.rs +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/contract.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/handoff.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/harness.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/modes.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/collaboration/pool.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/governance.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/harness/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/harness/harness.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/harness/judge.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/kernel/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/knowledge/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/knowledge/source.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/agent.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/extraction.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/in_memory_store.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/protocols.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/ranking.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/retention.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/memory/working.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/anthropic.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/anthropic_compatible.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/base.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/deepseek.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/factories.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/gemini.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/glm.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/kimi.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/minimax.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/ollama.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/openai.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/openai_responses.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/qwen.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/replay.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/replay_validator.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/stream.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/providers/vendor_profiles.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/archive.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/context_policy.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/credential_vault.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/eval.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/event_stream.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/facade.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/filtered_plane.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/kernel_event_log.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/kernel_rebuild.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/kernel_step.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/kernel_transaction_log.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/large_result_spool.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/loop_driver.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/mcp_proxy_plane.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/os_profile.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/os_snapshot.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/output_schema.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/process_sandbox_plane.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/provider_replay.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/reaction_checkpoint.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/reactive_session.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/reducers.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/reliability.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/remote_vpc_plane.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/replay_fixture.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/replay_provider.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/replay_sanitize.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/run_group.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/runner.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/session_log.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/session_repair.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/sub_agent_orchestrator.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/turn_policy.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/workflow_control_flow.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/workflow_store.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/runtime/worktree_plane.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/safety/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/safety/permissions.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/signals/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/signals/gateway.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/signals/scheduled.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/signals/types.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/skills/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/skills/loader.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/skills/registry.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/skills/watcher.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/builtin/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/builtin/read_file.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/tools/errors.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/types/__init__.py +0 -0
- {deepstrike-0.2.44 → deepstrike-0.2.45}/deepstrike/types/agent.py +0 -0
|
@@ -194,7 +194,7 @@ dependencies = [
|
|
|
194
194
|
|
|
195
195
|
[[package]]
|
|
196
196
|
name = "deepstrike-core"
|
|
197
|
-
version = "0.2.
|
|
197
|
+
version = "0.2.45"
|
|
198
198
|
dependencies = [
|
|
199
199
|
"compact_str",
|
|
200
200
|
"pretty_assertions",
|
|
@@ -206,7 +206,7 @@ dependencies = [
|
|
|
206
206
|
|
|
207
207
|
[[package]]
|
|
208
208
|
name = "deepstrike-lab"
|
|
209
|
-
version = "0.2.
|
|
209
|
+
version = "0.2.45"
|
|
210
210
|
dependencies = [
|
|
211
211
|
"deepstrike-core",
|
|
212
212
|
"serde",
|
|
@@ -216,7 +216,7 @@ dependencies = [
|
|
|
216
216
|
|
|
217
217
|
[[package]]
|
|
218
218
|
name = "deepstrike-node"
|
|
219
|
-
version = "0.2.
|
|
219
|
+
version = "0.2.45"
|
|
220
220
|
dependencies = [
|
|
221
221
|
"compact_str",
|
|
222
222
|
"deepstrike-core",
|
|
@@ -228,7 +228,7 @@ dependencies = [
|
|
|
228
228
|
|
|
229
229
|
[[package]]
|
|
230
230
|
name = "deepstrike-py"
|
|
231
|
-
version = "0.2.
|
|
231
|
+
version = "0.2.45"
|
|
232
232
|
dependencies = [
|
|
233
233
|
"compact_str",
|
|
234
234
|
"deepstrike-core",
|
|
@@ -239,7 +239,7 @@ dependencies = [
|
|
|
239
239
|
|
|
240
240
|
[[package]]
|
|
241
241
|
name = "deepstrike-sdk"
|
|
242
|
-
version = "0.2.
|
|
242
|
+
version = "0.2.45"
|
|
243
243
|
dependencies = [
|
|
244
244
|
"async-stream",
|
|
245
245
|
"async-trait",
|
|
@@ -273,7 +273,7 @@ dependencies = [
|
|
|
273
273
|
|
|
274
274
|
[[package]]
|
|
275
275
|
name = "deepstrike-wasm"
|
|
276
|
-
version = "0.2.
|
|
276
|
+
version = "0.2.45"
|
|
277
277
|
dependencies = [
|
|
278
278
|
"compact_str",
|
|
279
279
|
"deepstrike-core",
|
|
@@ -3,13 +3,13 @@ resolver = "2"
|
|
|
3
3
|
members = ["crates/deepstrike-core", "crates/deepstrike-py"]
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.2.
|
|
6
|
+
version = "0.2.45"
|
|
7
7
|
edition = "2024"
|
|
8
8
|
license = "MIT"
|
|
9
9
|
repository = "https://github.com/kongusen/deepstrike"
|
|
10
10
|
|
|
11
11
|
[workspace.dependencies]
|
|
12
|
-
deepstrike-core = { path = "crates/deepstrike-core", version = "0.2.
|
|
12
|
+
deepstrike-core = { path = "crates/deepstrike-core", version = "0.2.45" }
|
|
13
13
|
notify = "6"
|
|
14
14
|
serde = { version = "1", features = ["derive"] }
|
|
15
15
|
serde_json = "1"
|
|
@@ -248,9 +248,11 @@ class LocalExecutionPlane:
|
|
|
248
248
|
audit=_audit,
|
|
249
249
|
)
|
|
250
250
|
try:
|
|
251
|
-
|
|
252
|
-
original_args_str = json.dumps(
|
|
253
|
-
validation
|
|
251
|
+
raw_kwargs = json.loads(call.arguments or "{}")
|
|
252
|
+
original_args_str = json.dumps(raw_kwargs)
|
|
253
|
+
# validation["args"], not raw_kwargs, from here on: a oneOf/anyOf ROOT accepts a repaired
|
|
254
|
+
# probe deep-copy — the original dict never sees those repairs (auto-casts, strips, defaults).
|
|
255
|
+
validation = validate_tool_arguments(registered.schema.parameters, raw_kwargs)
|
|
254
256
|
if validation.get("error"):
|
|
255
257
|
yield ToolResultEvent(
|
|
256
258
|
call_id=call.id,
|
|
@@ -261,6 +263,7 @@ class LocalExecutionPlane:
|
|
|
261
263
|
error_kind="recoverable",
|
|
262
264
|
)
|
|
263
265
|
return
|
|
266
|
+
kwargs = validation["args"]
|
|
264
267
|
if validation.get("repaired"):
|
|
265
268
|
yield ToolArgumentRepairedEvent(
|
|
266
269
|
call_id=call.id,
|
|
@@ -22,7 +22,9 @@ async def execute_tools(
|
|
|
22
22
|
if validation.get("error"):
|
|
23
23
|
results.append(ToolResult(call_id=call.id, output=f"invalid arguments: {validation['error']}", is_error=True))
|
|
24
24
|
continue
|
|
25
|
-
|
|
25
|
+
# validation["args"], not kwargs: a oneOf/anyOf ROOT accepts a repaired probe
|
|
26
|
+
# deep-copy — the original dict never sees those repairs (auto-casts, strips, defaults).
|
|
27
|
+
output = await tool(**validation["args"])
|
|
26
28
|
if isinstance(output, AsyncIterable):
|
|
27
29
|
chunks = []
|
|
28
30
|
async for chunk in output:
|
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
import copy
|
|
3
3
|
import inspect
|
|
4
4
|
import json
|
|
5
|
+
import re
|
|
5
6
|
from collections.abc import AsyncIterable
|
|
6
7
|
from typing import Any, Callable
|
|
7
8
|
from deepstrike._kernel import ToolSchema
|
|
@@ -73,11 +74,13 @@ def validate_tool_arguments(schema_json: str, args: dict[str, Any]) -> dict[str,
|
|
|
73
74
|
try:
|
|
74
75
|
schema = json.loads(schema_json)
|
|
75
76
|
except Exception:
|
|
76
|
-
return {"error": "invalid tool schema", "repaired": False}
|
|
77
|
+
return {"error": "invalid tool schema", "repaired": False, "args": args}
|
|
77
78
|
state = {"repaired": False}
|
|
78
79
|
wrapper = {"root": args}
|
|
79
80
|
error = _validate_value(schema, wrapper, "root", "$", state)
|
|
80
|
-
|
|
81
|
+
# A oneOf/anyOf ROOT replaces the value with its accepted probe deep-copy — in-place mutation
|
|
82
|
+
# of the caller's dict only covers non-union roots. Callers must use the returned "args".
|
|
83
|
+
return {"error": error, "repaired": state["repaired"], "args": wrapper["root"]}
|
|
81
84
|
|
|
82
85
|
|
|
83
86
|
def _validate_value(schema: dict[str, Any], parent: Any, key: Any, path: str, state: dict[str, bool]) -> str | None:
|
|
@@ -200,10 +203,65 @@ def _validate_value(schema: dict[str, Any], parent: Any, key: Any, path: str, st
|
|
|
200
203
|
return f"{path} must be integer"
|
|
201
204
|
elif expected == "boolean" and not isinstance(value, bool):
|
|
202
205
|
return f"{path} must be boolean"
|
|
206
|
+
elif expected == "null" and value is not None:
|
|
207
|
+
return f"{path} must be null"
|
|
203
208
|
elif path == "$" and not isinstance(value, dict):
|
|
204
209
|
return f"{path} must be object"
|
|
205
210
|
|
|
206
211
|
enum_values = schema.get("enum")
|
|
207
212
|
if enum_values is not None and value not in enum_values:
|
|
208
213
|
return f"{path} must be one of enum values"
|
|
214
|
+
# `const` is THE discriminator convention for oneOf variants (kind: {const: "edit"}). Without
|
|
215
|
+
# it, union branches match on required+type alone and the WRONG branch can win — then its
|
|
216
|
+
# allow-list strips keys the right branch declared.
|
|
217
|
+
if "const" in schema:
|
|
218
|
+
want = schema["const"]
|
|
219
|
+
if isinstance(want, bool) or isinstance(value, bool):
|
|
220
|
+
matches = value is want
|
|
221
|
+
else:
|
|
222
|
+
matches = value == want
|
|
223
|
+
if not matches:
|
|
224
|
+
return f"{path} must equal the const value {json.dumps(want)}"
|
|
225
|
+
# Constraint keywords, checked per the value's actual type (JSON Schema semantics: string
|
|
226
|
+
# constraints ignore non-strings, etc.). Keywords outside this set (allOf, multipleOf,
|
|
227
|
+
# uniqueItems, format, if/then/else, …) are ignored, not rejected.
|
|
228
|
+
if isinstance(value, str):
|
|
229
|
+
min_length = schema.get("minLength")
|
|
230
|
+
if isinstance(min_length, int) and len(value) < min_length:
|
|
231
|
+
return f"{path} must be at least {min_length} characters"
|
|
232
|
+
max_length = schema.get("maxLength")
|
|
233
|
+
if isinstance(max_length, int) and len(value) > max_length:
|
|
234
|
+
return f"{path} must be at most {max_length} characters"
|
|
235
|
+
pattern = schema.get("pattern")
|
|
236
|
+
if isinstance(pattern, str):
|
|
237
|
+
try:
|
|
238
|
+
compiled = re.compile(pattern)
|
|
239
|
+
except re.error:
|
|
240
|
+
compiled = None # author-side bad regex: skip, never fail the call
|
|
241
|
+
if compiled is not None and compiled.search(value) is None:
|
|
242
|
+
return f"{path} must match pattern {pattern}"
|
|
243
|
+
elif isinstance(value, (int, float)) and not isinstance(value, bool):
|
|
244
|
+
for keyword, ok in (
|
|
245
|
+
("minimum", lambda bound: value >= bound),
|
|
246
|
+
("maximum", lambda bound: value <= bound),
|
|
247
|
+
("exclusiveMinimum", lambda bound: value > bound),
|
|
248
|
+
("exclusiveMaximum", lambda bound: value < bound),
|
|
249
|
+
):
|
|
250
|
+
bound = schema.get(keyword)
|
|
251
|
+
if isinstance(bound, (int, float)) and not isinstance(bound, bool) and not ok(bound):
|
|
252
|
+
op = {"minimum": ">=", "maximum": "<=", "exclusiveMinimum": ">", "exclusiveMaximum": "<"}[keyword]
|
|
253
|
+
return f"{path} must be {op} {bound}"
|
|
254
|
+
elif isinstance(value, list):
|
|
255
|
+
min_items = schema.get("minItems")
|
|
256
|
+
if isinstance(min_items, int) and len(value) < min_items:
|
|
257
|
+
return f"{path} must have at least {min_items} items"
|
|
258
|
+
max_items = schema.get("maxItems")
|
|
259
|
+
if isinstance(max_items, int) and len(value) > max_items:
|
|
260
|
+
return f"{path} must have at most {max_items} items"
|
|
261
|
+
# `not`: probe on a deep copy so a matching (= rejected) subschema's repairs never leak out.
|
|
262
|
+
not_schema = schema.get("not")
|
|
263
|
+
if isinstance(not_schema, dict):
|
|
264
|
+
probe = {"v": copy.deepcopy(value)}
|
|
265
|
+
if _validate_value(not_schema, probe, "v", path, {"repaired": False}) is None:
|
|
266
|
+
return f"{path} must not match the disallowed shape"
|
|
209
267
|
return None
|
|
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
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/governance/repeat_fuse.rs
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
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/task_graph.rs
RENAMED
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/tournament.rs
RENAMED
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/workflow/mod.rs
RENAMED
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/orchestration/workflow/run.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel/protocol.rs
RENAMED
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/runtime/kernel/runtime.rs
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
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/gate.rs
RENAMED
|
File without changes
|
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/mod.rs
RENAMED
|
File without changes
|
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/signal.rs
RENAMED
|
File without changes
|
{deepstrike-0.2.44 → deepstrike-0.2.45}/crates/deepstrike-core/src/scheduler/state_machine/tests.rs
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
|