deepstrike 0.2.71__tar.gz → 0.2.73__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.71 → deepstrike-0.2.73}/Cargo.lock +6 -6
- {deepstrike-0.2.71 → deepstrike-0.2.73}/Cargo.toml +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/PKG-INFO +11 -23
- {deepstrike-0.2.71 → deepstrike-0.2.73}/README.md +10 -22
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/measurement.rs +1 -2
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/config.rs +3 -8
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/effects.rs +0 -8
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/effect.rs +6 -67
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/projection.rs +1 -11
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-py/src/lib.rs +12 -12
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/__init__.py +4 -4
- deepstrike-0.2.73/deepstrike/agent.py +125 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/extraction.py +2 -2
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/protocols.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/anthropic.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/anthropic_adapter.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/base.py +12 -13
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/gemini.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/gemini_adapter.py +4 -4
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/model_registry.py +1 -7
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/ollama.py +2 -2
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/ollama_adapter.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/openai.py +7 -7
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/openai_chat_adapter.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/openai_responses.py +6 -6
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/protocol_adapter.py +2 -2
- deepstrike-0.2.73/deepstrike/providers/protocols.py +18 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/qwen.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/replay.py +4 -4
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/replay_validator.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/request_plan.py +1 -1
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/archive.py +9 -9
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/canonical_kernel_step.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/eval.py +2 -2
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/kernel_step.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/replay_fixture.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/replay_provider.py +5 -5
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/runner.py +30 -30
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/sub_agent_orchestrator.py +4 -4
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/types/content.py +3 -3
- {deepstrike-0.2.71 → deepstrike-0.2.73}/pyproject.toml +1 -1
- deepstrike-0.2.71/deepstrike/agent.py +0 -69
- {deepstrike-0.2.71 → deepstrike-0.2.73}/LICENSE +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/Cargo.toml +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/LICENSE +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/benches/kernel_baseline.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/benches/verifiable_baseline.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/benches/wait_index_baseline.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/benchmark/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/bin/deepstrike.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/bin/support/evidence_io.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/compression.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/config.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/execution.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/fault.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/manager.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/partitions.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/policy.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/pressure.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/renderer.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/renewal.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/skill_catalog.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/summarizer.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/task_state.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/text.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/token_engine.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/units.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/context/utility.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/evolution.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/constraint.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/permission.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/pipeline.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/quota.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/rate_limit.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/repeat_fuse.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/governance/veto.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/harness/eval.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/harness/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/lexical.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/lib.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/memory/curator.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/memory/durable.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/memory/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/mm/handle.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/mm/memory.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/mm/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/mm/value.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/orchestration/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/orchestration/task_graph.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/orchestration/tournament.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/orchestration/workflow/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/orchestration/workflow/run.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/proc/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/projection_pairs.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/chain_validator/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/event_log.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/observation.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/binding.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/checkpoint.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/command.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/crash_point.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/continuation.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/events.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/planning.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/projection.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/provider.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/syscall.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver/tests.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/driver.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/envelope.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/event.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/fault.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/record.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/restore.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/root.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/scalar.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/syscall.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/terminal.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/tests.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/transaction.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/repair.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/replay.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/session.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/verifiable.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/budget_grant.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/cross_operation.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/entropy.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/mailbox.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/milestone.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/policy.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/rollback.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/runnable.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/cancellation.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/capability.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/eviction.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/gate.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/milestone_exec.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/process.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/signal.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/tests.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/state_machine/workflow.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/tcb.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/scheduler/wait_index.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/signals/attention.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/signals/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/signals/queue.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/signals/router.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/syscall/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/agent.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/capability.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/contract.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/durable_content.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/error.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/message.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/milestone.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/mod.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/policy.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/result.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/signal.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/skill.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/types/task.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-py/Cargo.toml +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-py/LICENSE +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-tokenizer/Cargo.toml +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-tokenizer/LICENSE +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-tokenizer/src/lib.rs +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/agent_ir.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/contract.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/handoff.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/harness.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/modes.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/collaboration/pool.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/governance.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/harness/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/harness/harness.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/harness/judge.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/kernel/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/kernel/canonical.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/knowledge/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/knowledge/source.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/agent.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/durable.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/in_memory_store.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/ranking.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/retention.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/memory/working.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/anthropic_compatible.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/capability_router.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/credentials.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/embedding.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/factories.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/model_catalog.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/prepared_request.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/provider_error.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/runtime_registry.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/stop_reason.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/stream.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/usage.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/providers/vendor_profiles.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/context.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/context_policy.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/credential_vault.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/durable_content.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/event_stream.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/evolution.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/execution_evidence.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/execution_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/facade.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/filtered_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/kernel_event_log.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/kernel_journal.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/loop_driver.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/mcp_proxy_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/os_profile.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/os_snapshot.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/output_schema.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/payload_store.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/process_sandbox_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/provider_replay.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/reaction_checkpoint.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/reactive_session.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/reducers.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/reliability.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/remote_vpc_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/replay_sanitize.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/run_group.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/session_log.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/session_repair.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/turn_policy.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/verifiable_report.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/workflow_control_flow.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/workflow_store.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/runtime/worktree_plane.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/safety/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/safety/permissions.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/signals/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/signals/gateway.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/signals/scheduled.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/signals/types.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/skills/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/skills/loader.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/skills/registry.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/skills/watcher.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/builtin/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/builtin/read_file.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/errors.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/execution.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/tools/registry.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/types/__init__.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/types/agent.py +0 -0
- {deepstrike-0.2.71 → deepstrike-0.2.73}/deepstrike/types/content_policy.py +0 -0
|
@@ -254,7 +254,7 @@ dependencies = [
|
|
|
254
254
|
|
|
255
255
|
[[package]]
|
|
256
256
|
name = "deepstrike-core"
|
|
257
|
-
version = "0.2.
|
|
257
|
+
version = "0.2.73"
|
|
258
258
|
dependencies = [
|
|
259
259
|
"compact_str",
|
|
260
260
|
"deepstrike-tokenizer",
|
|
@@ -268,7 +268,7 @@ dependencies = [
|
|
|
268
268
|
|
|
269
269
|
[[package]]
|
|
270
270
|
name = "deepstrike-node"
|
|
271
|
-
version = "0.2.
|
|
271
|
+
version = "0.2.73"
|
|
272
272
|
dependencies = [
|
|
273
273
|
"compact_str",
|
|
274
274
|
"deepstrike-core",
|
|
@@ -280,7 +280,7 @@ dependencies = [
|
|
|
280
280
|
|
|
281
281
|
[[package]]
|
|
282
282
|
name = "deepstrike-py"
|
|
283
|
-
version = "0.2.
|
|
283
|
+
version = "0.2.73"
|
|
284
284
|
dependencies = [
|
|
285
285
|
"compact_str",
|
|
286
286
|
"deepstrike-core",
|
|
@@ -291,7 +291,7 @@ dependencies = [
|
|
|
291
291
|
|
|
292
292
|
[[package]]
|
|
293
293
|
name = "deepstrike-sdk"
|
|
294
|
-
version = "0.2.
|
|
294
|
+
version = "0.2.73"
|
|
295
295
|
dependencies = [
|
|
296
296
|
"async-stream",
|
|
297
297
|
"async-trait",
|
|
@@ -327,7 +327,7 @@ dependencies = [
|
|
|
327
327
|
|
|
328
328
|
[[package]]
|
|
329
329
|
name = "deepstrike-tokenizer"
|
|
330
|
-
version = "0.2.
|
|
330
|
+
version = "0.2.73"
|
|
331
331
|
dependencies = [
|
|
332
332
|
"pretty_assertions",
|
|
333
333
|
"tiktoken-rs",
|
|
@@ -335,7 +335,7 @@ dependencies = [
|
|
|
335
335
|
|
|
336
336
|
[[package]]
|
|
337
337
|
name = "deepstrike-wasm"
|
|
338
|
-
version = "0.2.
|
|
338
|
+
version = "0.2.73"
|
|
339
339
|
dependencies = [
|
|
340
340
|
"compact_str",
|
|
341
341
|
"deepstrike-core",
|
|
@@ -3,13 +3,13 @@ resolver = "2"
|
|
|
3
3
|
members = ["crates/deepstrike-core", "crates/deepstrike-tokenizer", "crates/deepstrike-py"]
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.2.
|
|
6
|
+
version = "0.2.73"
|
|
7
7
|
edition = "2024"
|
|
8
8
|
repository = "https://github.com/kongusen/deepstrike"
|
|
9
9
|
|
|
10
10
|
[workspace.dependencies]
|
|
11
|
-
deepstrike-core = { path = "crates/deepstrike-core", version = "0.2.
|
|
12
|
-
deepstrike-tokenizer = { path = "crates/deepstrike-tokenizer", version = "0.2.
|
|
11
|
+
deepstrike-core = { path = "crates/deepstrike-core", version = "0.2.73" }
|
|
12
|
+
deepstrike-tokenizer = { path = "crates/deepstrike-tokenizer", version = "0.2.73" }
|
|
13
13
|
notify = "6"
|
|
14
14
|
serde = { version = "1", features = ["derive"] }
|
|
15
15
|
serde_json = "1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepstrike
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.73
|
|
4
4
|
Requires-Dist: httpx>=0.27
|
|
5
5
|
Requires-Dist: pyyaml>=6.0
|
|
6
6
|
Requires-Dist: anyio>=4.0
|
|
@@ -42,40 +42,28 @@ maturin develop --manifest-path crates/deepstrike-py/Cargo.toml
|
|
|
42
42
|
|
|
43
43
|
```python
|
|
44
44
|
import asyncio
|
|
45
|
-
from deepstrike import
|
|
46
|
-
FileSessionLog,
|
|
47
|
-
InMemorySessionLog,
|
|
48
|
-
LocalExecutionPlane,
|
|
49
|
-
OpenAIProvider,
|
|
50
|
-
RuntimeOptions,
|
|
51
|
-
RuntimeRunner,
|
|
52
|
-
collect_text,
|
|
53
|
-
tool,
|
|
54
|
-
)
|
|
45
|
+
from deepstrike import OpenAIProvider, create_agent, tool
|
|
55
46
|
|
|
56
47
|
@tool
|
|
57
48
|
async def add(x: int, y: int) -> str:
|
|
58
49
|
"""Add two numbers."""
|
|
59
50
|
return str(x + y)
|
|
60
51
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
))
|
|
52
|
+
agent = create_agent(
|
|
53
|
+
"math",
|
|
54
|
+
model="openai/gpt-5-mini",
|
|
55
|
+
runtime_binding={"provider": OpenAIProvider(api_key="sk-...", model="gpt-5-mini")},
|
|
56
|
+
tools=[add],
|
|
57
|
+
)
|
|
68
58
|
|
|
69
|
-
asyncio.run(
|
|
70
|
-
|
|
71
|
-
goal="What is 17 + 28?",
|
|
72
|
-
)))
|
|
59
|
+
result = asyncio.run(agent.run("What is 17 + 28?", session_id="math-1"))
|
|
60
|
+
print(result["output"])
|
|
73
61
|
# => "45"
|
|
74
62
|
```
|
|
75
63
|
|
|
76
64
|
### Recipes — the canonical entry points
|
|
77
65
|
|
|
78
|
-
Most apps
|
|
66
|
+
Most apps start with `Agent`; use `RuntimeRunner` from the runtime submodule only for custom host control.
|
|
79
67
|
|
|
80
68
|
```python
|
|
81
69
|
from deepstrike import run_agent, run_fanout
|
|
@@ -28,40 +28,28 @@ maturin develop --manifest-path crates/deepstrike-py/Cargo.toml
|
|
|
28
28
|
|
|
29
29
|
```python
|
|
30
30
|
import asyncio
|
|
31
|
-
from deepstrike import
|
|
32
|
-
FileSessionLog,
|
|
33
|
-
InMemorySessionLog,
|
|
34
|
-
LocalExecutionPlane,
|
|
35
|
-
OpenAIProvider,
|
|
36
|
-
RuntimeOptions,
|
|
37
|
-
RuntimeRunner,
|
|
38
|
-
collect_text,
|
|
39
|
-
tool,
|
|
40
|
-
)
|
|
31
|
+
from deepstrike import OpenAIProvider, create_agent, tool
|
|
41
32
|
|
|
42
33
|
@tool
|
|
43
34
|
async def add(x: int, y: int) -> str:
|
|
44
35
|
"""Add two numbers."""
|
|
45
36
|
return str(x + y)
|
|
46
37
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
))
|
|
38
|
+
agent = create_agent(
|
|
39
|
+
"math",
|
|
40
|
+
model="openai/gpt-5-mini",
|
|
41
|
+
runtime_binding={"provider": OpenAIProvider(api_key="sk-...", model="gpt-5-mini")},
|
|
42
|
+
tools=[add],
|
|
43
|
+
)
|
|
54
44
|
|
|
55
|
-
asyncio.run(
|
|
56
|
-
|
|
57
|
-
goal="What is 17 + 28?",
|
|
58
|
-
)))
|
|
45
|
+
result = asyncio.run(agent.run("What is 17 + 28?", session_id="math-1"))
|
|
46
|
+
print(result["output"])
|
|
59
47
|
# => "45"
|
|
60
48
|
```
|
|
61
49
|
|
|
62
50
|
### Recipes — the canonical entry points
|
|
63
51
|
|
|
64
|
-
Most apps
|
|
52
|
+
Most apps start with `Agent`; use `RuntimeRunner` from the runtime submodule only for custom host control.
|
|
65
53
|
|
|
66
54
|
```python
|
|
67
55
|
from deepstrike import run_agent, run_fanout
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
//! ("measure provider-visible input, never underestimate") requires between what a request is
|
|
3
3
|
//! *estimated* to cost before it is sent (`PromptMeasurement`, this module), what the provider
|
|
4
4
|
//! actually reports back (`ProviderUsage`, Node/Python Host layer — not this crate). This module
|
|
5
|
-
//! only defines a preflight fact
|
|
6
|
-
//! scheduler producer until request fingerprinting and durable replay semantics are defined.
|
|
5
|
+
//! only defines a host-side preflight fact for provider-visible request preparation.
|
|
7
6
|
|
|
8
7
|
use serde::{Deserialize, Serialize};
|
|
9
8
|
|
{deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/config.rs
RENAMED
|
@@ -2557,7 +2557,7 @@ mod tests {
|
|
|
2557
2557
|
serde_json::from_value::<HostEffectSupport>(json!({ "supported": ["load_payload"] }))
|
|
2558
2558
|
.is_ok()
|
|
2559
2559
|
);
|
|
2560
|
-
assert_eq!(EffectKindTag::ALL.len(),
|
|
2560
|
+
assert_eq!(EffectKindTag::ALL.len(), 10);
|
|
2561
2561
|
}
|
|
2562
2562
|
|
|
2563
2563
|
// -----------------------------------------------------------------------------------------
|
|
@@ -2926,17 +2926,12 @@ mod tests {
|
|
|
2926
2926
|
// required kind from the
|
|
2927
2927
|
// support declaration must be refused — and the rejection must name the kind, because a
|
|
2928
2928
|
// host reading it has to know which declaration to fix. Iterating `ALL` also means a new
|
|
2929
|
-
// effect kind cannot be added without deciding what switches it on.
|
|
2930
|
-
// reserved wire shape with no scheduler producer after SPC-013 A-00R, so it deliberately
|
|
2931
|
-
// imposes no host-support requirement.
|
|
2929
|
+
// effect kind cannot be added without deciding what switches it on.
|
|
2932
2930
|
let full = fully_populated_config();
|
|
2933
2931
|
full.resolve(&defaults())
|
|
2934
2932
|
.expect("declaring every kind satisfies every trigger");
|
|
2935
2933
|
|
|
2936
|
-
for dropped in EffectKindTag::ALL
|
|
2937
|
-
.into_iter()
|
|
2938
|
-
.filter(|kind| *kind != EffectKindTag::MeasurePrompt)
|
|
2939
|
-
{
|
|
2934
|
+
for dropped in EffectKindTag::ALL {
|
|
2940
2935
|
let mut config = full.clone();
|
|
2941
2936
|
config.host_effect_support = HostEffectSupport::new(
|
|
2942
2937
|
EffectKindTag::ALL
|
|
@@ -220,10 +220,6 @@ impl CanonicalOperationDriver {
|
|
|
220
220
|
EffectSuccess::PayloadLoaded(loaded) => {
|
|
221
221
|
self.commit_payload_load(context, effect_id, loaded)
|
|
222
222
|
}
|
|
223
|
-
EffectSuccess::PromptMeasured(_) => Err(KernelFault::new(
|
|
224
|
-
KernelFaultCode::UnexpectedEffectOutcome,
|
|
225
|
-
"prompt measurement outcomes are reserved but adaptive measurement has no scheduler producer",
|
|
226
|
-
)),
|
|
227
223
|
}
|
|
228
224
|
}
|
|
229
225
|
|
|
@@ -462,10 +458,6 @@ impl CanonicalOperationDriver {
|
|
|
462
458
|
step.focus = self.focus.clone();
|
|
463
459
|
Ok(step)
|
|
464
460
|
}
|
|
465
|
-
EffectKindTag::MeasurePrompt => Err(KernelFault::new(
|
|
466
|
-
KernelFaultCode::UnexpectedEffectOutcome,
|
|
467
|
-
"prompt measurement failures are reserved but adaptive measurement has no scheduler producer",
|
|
468
|
-
)),
|
|
469
461
|
}
|
|
470
462
|
}
|
|
471
463
|
|
{deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/effect.rs
RENAMED
|
@@ -26,7 +26,7 @@ use serde::de::{self, Deserializer, Visitor};
|
|
|
26
26
|
use serde::{Deserialize, Serialize, Serializer};
|
|
27
27
|
|
|
28
28
|
use crate::context::execution::ContextCandidate;
|
|
29
|
-
use crate::context::measurement::
|
|
29
|
+
use crate::context::measurement::ToolMeasurement;
|
|
30
30
|
use crate::types::durable_content::DurableContent;
|
|
31
31
|
|
|
32
32
|
use super::root::{LogicalAgentSpec, MessageRole};
|
|
@@ -260,8 +260,6 @@ pub enum EffectKind {
|
|
|
260
260
|
/// to it instead of scanning a session log for the original bytes (§7.10 rule 4).
|
|
261
261
|
LoadPayload(LoadPayloadEffect),
|
|
262
262
|
EvaluateMilestone(EvaluateMilestoneEffect),
|
|
263
|
-
/// spc_011-C-02: preflight prompt-token measurement — see [`MeasurePromptEffect`].
|
|
264
|
-
MeasurePrompt(MeasurePromptEffect),
|
|
265
263
|
}
|
|
266
264
|
|
|
267
265
|
impl EffectKind {
|
|
@@ -277,7 +275,6 @@ impl EffectKind {
|
|
|
277
275
|
Self::ArchivePageOut(_) => EffectKindTag::ArchivePageOut,
|
|
278
276
|
Self::LoadPayload(_) => EffectKindTag::LoadPayload,
|
|
279
277
|
Self::EvaluateMilestone(_) => EffectKindTag::EvaluateMilestone,
|
|
280
|
-
Self::MeasurePrompt(_) => EffectKindTag::MeasurePrompt,
|
|
281
278
|
}
|
|
282
279
|
}
|
|
283
280
|
}
|
|
@@ -301,12 +298,10 @@ pub enum EffectKindTag {
|
|
|
301
298
|
ArchivePageOut,
|
|
302
299
|
LoadPayload,
|
|
303
300
|
EvaluateMilestone,
|
|
304
|
-
/// spc_011-C-02.
|
|
305
|
-
MeasurePrompt,
|
|
306
301
|
}
|
|
307
302
|
|
|
308
303
|
impl EffectKindTag {
|
|
309
|
-
pub const ALL: [Self;
|
|
304
|
+
pub const ALL: [Self; 10] = [
|
|
310
305
|
Self::CallProvider,
|
|
311
306
|
Self::ExecuteTools,
|
|
312
307
|
Self::RequestApproval,
|
|
@@ -317,7 +312,6 @@ impl EffectKindTag {
|
|
|
317
312
|
Self::ArchivePageOut,
|
|
318
313
|
Self::LoadPayload,
|
|
319
314
|
Self::EvaluateMilestone,
|
|
320
|
-
Self::MeasurePrompt,
|
|
321
315
|
];
|
|
322
316
|
|
|
323
317
|
pub fn as_str(self) -> &'static str {
|
|
@@ -332,7 +326,6 @@ impl EffectKindTag {
|
|
|
332
326
|
Self::ArchivePageOut => "archive_page_out",
|
|
333
327
|
Self::LoadPayload => "load_payload",
|
|
334
328
|
Self::EvaluateMilestone => "evaluate_milestone",
|
|
335
|
-
Self::MeasurePrompt => "measure_prompt",
|
|
336
329
|
}
|
|
337
330
|
}
|
|
338
331
|
|
|
@@ -349,7 +342,6 @@ impl EffectKindTag {
|
|
|
349
342
|
Self::ArchivePageOut => EffectSuccessTag::PageOutArchived,
|
|
350
343
|
Self::LoadPayload => EffectSuccessTag::PayloadLoaded,
|
|
351
344
|
Self::EvaluateMilestone => EffectSuccessTag::MilestoneEvaluated,
|
|
352
|
-
Self::MeasurePrompt => EffectSuccessTag::PromptMeasured,
|
|
353
345
|
}
|
|
354
346
|
}
|
|
355
347
|
}
|
|
@@ -375,27 +367,6 @@ pub struct CallProviderEffect {
|
|
|
375
367
|
pub tools: Vec<ToolSchema>,
|
|
376
368
|
}
|
|
377
369
|
|
|
378
|
-
/// spc_011-C-02: a preflight token-count request. Reuses the same `RenderedContext`/`ToolSchema`
|
|
379
|
-
/// shape `CallProviderEffect` already carries, rather than inventing a parallel candidate-request
|
|
380
|
-
/// type — the kernel is asking "how many tokens would *this* request cost", the same request it
|
|
381
|
-
/// would otherwise hand to `CallProvider`.
|
|
382
|
-
///
|
|
383
|
-
/// spc_011-C-06: no `provider`/`model` fields, matching `CallProviderEffect` exactly. An earlier
|
|
384
|
-
/// draft of this struct carried both, reasoning that "the answer is meaningless without knowing
|
|
385
|
-
/// which vendor should answer it" — but the kernel has no provider/model identity to put there:
|
|
386
|
-
/// `OperationConfig` carries no such field, vendor selection is entirely a Host-side concern (the
|
|
387
|
-
/// same Host that will execute `CallProvider` for this operation already knows which provider it
|
|
388
|
-
/// dispatches to, the same way it already resolves that for `CallProviderEffect`, which has never
|
|
389
|
-
/// carried these fields). This surfaced only when 011-C-06 tried to actually construct one inside
|
|
390
|
-
/// the kernel and found nothing to put in `provider`/`model`.
|
|
391
|
-
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
392
|
-
#[serde(deny_unknown_fields)]
|
|
393
|
-
pub struct MeasurePromptEffect {
|
|
394
|
-
pub context: RenderedContext,
|
|
395
|
-
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
|
396
|
-
pub tools: Vec<ToolSchema>,
|
|
397
|
-
}
|
|
398
|
-
|
|
399
370
|
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
|
|
400
371
|
#[serde(deny_unknown_fields)]
|
|
401
372
|
pub struct ExecuteToolsEffect {
|
|
@@ -777,8 +748,6 @@ pub enum EffectSuccess {
|
|
|
777
748
|
PageOutArchived(PageOutArchivedSuccess),
|
|
778
749
|
PayloadLoaded(PayloadLoadedSuccess),
|
|
779
750
|
MilestoneEvaluated(MilestoneEvaluatedSuccess),
|
|
780
|
-
/// spc_011-C-02.
|
|
781
|
-
PromptMeasured(PromptMeasuredSuccess),
|
|
782
751
|
}
|
|
783
752
|
|
|
784
753
|
impl EffectSuccess {
|
|
@@ -794,7 +763,6 @@ impl EffectSuccess {
|
|
|
794
763
|
Self::PageOutArchived(_) => EffectSuccessTag::PageOutArchived,
|
|
795
764
|
Self::PayloadLoaded(_) => EffectSuccessTag::PayloadLoaded,
|
|
796
765
|
Self::MilestoneEvaluated(_) => EffectSuccessTag::MilestoneEvaluated,
|
|
797
|
-
Self::PromptMeasured(_) => EffectSuccessTag::PromptMeasured,
|
|
798
766
|
}
|
|
799
767
|
}
|
|
800
768
|
}
|
|
@@ -813,12 +781,10 @@ pub enum EffectSuccessTag {
|
|
|
813
781
|
PageOutArchived,
|
|
814
782
|
PayloadLoaded,
|
|
815
783
|
MilestoneEvaluated,
|
|
816
|
-
/// spc_011-C-02.
|
|
817
|
-
PromptMeasured,
|
|
818
784
|
}
|
|
819
785
|
|
|
820
786
|
impl EffectSuccessTag {
|
|
821
|
-
pub const ALL: [Self;
|
|
787
|
+
pub const ALL: [Self; 10] = [
|
|
822
788
|
Self::Provider,
|
|
823
789
|
Self::Tools,
|
|
824
790
|
Self::Approval,
|
|
@@ -829,7 +795,6 @@ impl EffectSuccessTag {
|
|
|
829
795
|
Self::PageOutArchived,
|
|
830
796
|
Self::PayloadLoaded,
|
|
831
797
|
Self::MilestoneEvaluated,
|
|
832
|
-
Self::PromptMeasured,
|
|
833
798
|
];
|
|
834
799
|
|
|
835
800
|
pub fn as_str(self) -> &'static str {
|
|
@@ -844,7 +809,6 @@ impl EffectSuccessTag {
|
|
|
844
809
|
Self::PageOutArchived => "page_out_archived",
|
|
845
810
|
Self::PayloadLoaded => "payload_loaded",
|
|
846
811
|
Self::MilestoneEvaluated => "milestone_evaluated",
|
|
847
|
-
Self::PromptMeasured => "prompt_measured",
|
|
848
812
|
}
|
|
849
813
|
}
|
|
850
814
|
|
|
@@ -862,7 +826,6 @@ impl EffectSuccessTag {
|
|
|
862
826
|
Self::PageOutArchived => EffectKindTag::ArchivePageOut,
|
|
863
827
|
Self::PayloadLoaded => EffectKindTag::LoadPayload,
|
|
864
828
|
Self::MilestoneEvaluated => EffectKindTag::EvaluateMilestone,
|
|
865
|
-
Self::PromptMeasured => EffectKindTag::MeasurePrompt,
|
|
866
829
|
}
|
|
867
830
|
}
|
|
868
831
|
}
|
|
@@ -1153,14 +1116,6 @@ pub struct MilestoneCheckResult {
|
|
|
1153
1116
|
pub notes: String,
|
|
1154
1117
|
}
|
|
1155
1118
|
|
|
1156
|
-
/// spc_011-C-02: the answer to a `MeasurePrompt` effect — one [`PromptMeasurement`] fact, wrapped
|
|
1157
|
-
/// the same way every other effect wraps its one matching success payload.
|
|
1158
|
-
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
1159
|
-
#[serde(deny_unknown_fields)]
|
|
1160
|
-
pub struct PromptMeasuredSuccess {
|
|
1161
|
-
pub measurement: PromptMeasurement,
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
1119
|
// ---------------------------------------------------------------------------------------------
|
|
1165
1120
|
// §7.10 · inline / external payload
|
|
1166
1121
|
// ---------------------------------------------------------------------------------------------
|
|
@@ -1354,9 +1309,7 @@ mod tests {
|
|
|
1354
1309
|
|
|
1355
1310
|
use serde_json::{Value, json};
|
|
1356
1311
|
|
|
1357
|
-
use crate::context::measurement::
|
|
1358
|
-
MeasurementConfidence, MeasurementSource, PromptMeasurement, ToolMeasurement,
|
|
1359
|
-
};
|
|
1312
|
+
use crate::context::measurement::ToolMeasurement;
|
|
1360
1313
|
|
|
1361
1314
|
use super::super::*;
|
|
1362
1315
|
|
|
@@ -1551,10 +1504,6 @@ mod tests {
|
|
|
1551
1504
|
phase_id: "phase-2".to_string(),
|
|
1552
1505
|
},
|
|
1553
1506
|
}),
|
|
1554
|
-
EffectKind::MeasurePrompt(MeasurePromptEffect {
|
|
1555
|
-
context: RenderedContext::default(),
|
|
1556
|
-
tools: Vec::new(),
|
|
1557
|
-
}),
|
|
1558
1507
|
]
|
|
1559
1508
|
}
|
|
1560
1509
|
|
|
@@ -1657,15 +1606,6 @@ mod tests {
|
|
|
1657
1606
|
notes: String::new(),
|
|
1658
1607
|
},
|
|
1659
1608
|
}),
|
|
1660
|
-
EffectSuccess::PromptMeasured(PromptMeasuredSuccess {
|
|
1661
|
-
measurement: PromptMeasurement {
|
|
1662
|
-
input_tokens: 4200,
|
|
1663
|
-
source: MeasurementSource::Native {
|
|
1664
|
-
provider: "anthropic".to_string(),
|
|
1665
|
-
},
|
|
1666
|
-
confidence: MeasurementConfidence::Exact,
|
|
1667
|
-
},
|
|
1668
|
-
}),
|
|
1669
1609
|
]
|
|
1670
1610
|
}
|
|
1671
1611
|
|
|
@@ -1682,7 +1622,7 @@ mod tests {
|
|
|
1682
1622
|
// -----------------------------------------------------------------------------------------
|
|
1683
1623
|
|
|
1684
1624
|
#[test]
|
|
1685
|
-
fn
|
|
1625
|
+
fn the_effect_union_is_exactly_the_ten_host_executable_actions() {
|
|
1686
1626
|
let tags: BTreeSet<&str> = EffectKindTag::ALL.iter().map(|tag| tag.as_str()).collect();
|
|
1687
1627
|
assert_eq!(
|
|
1688
1628
|
tags,
|
|
@@ -1697,10 +1637,9 @@ mod tests {
|
|
|
1697
1637
|
"archive_page_out",
|
|
1698
1638
|
"load_payload",
|
|
1699
1639
|
"evaluate_milestone",
|
|
1700
|
-
"measure_prompt",
|
|
1701
1640
|
])
|
|
1702
1641
|
);
|
|
1703
|
-
assert_eq!(EffectKindTag::ALL.len(),
|
|
1642
|
+
assert_eq!(EffectKindTag::ALL.len(), 10);
|
|
1704
1643
|
|
|
1705
1644
|
let sampled: Vec<EffectKindTag> = effect_samples().iter().map(EffectKind::tag).collect();
|
|
1706
1645
|
assert_eq!(
|
{deepstrike-0.2.71 → deepstrike-0.2.73}/crates/deepstrike-core/src/runtime/kernel/wire/projection.rs
RENAMED
|
@@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize};
|
|
|
9
9
|
use super::driver::PlannedStep;
|
|
10
10
|
use super::effect::{
|
|
11
11
|
ArchivePageOutEffect, CallProviderEffect, EffectKind, EffectKindTag, EvaluateMilestoneEffect,
|
|
12
|
-
ExecuteToolsEffect, KernelEffect, LoadPayloadEffect,
|
|
12
|
+
ExecuteToolsEffect, KernelEffect, LoadPayloadEffect, PersistMemoryEffect,
|
|
13
13
|
PreemptTasksEffect, QueryMemoryEffect, RequestApprovalEffect, SpawnTasksEffect,
|
|
14
14
|
};
|
|
15
15
|
use super::scalar::EffectId;
|
|
@@ -77,11 +77,6 @@ pub enum CanonicalHostAction {
|
|
|
77
77
|
causation_input_id: super::scalar::InputId,
|
|
78
78
|
payload: EvaluateMilestoneEffect,
|
|
79
79
|
},
|
|
80
|
-
MeasurePrompt {
|
|
81
|
-
effect_id: EffectId,
|
|
82
|
-
causation_input_id: super::scalar::InputId,
|
|
83
|
-
payload: MeasurePromptEffect,
|
|
84
|
-
},
|
|
85
80
|
}
|
|
86
81
|
|
|
87
82
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
|
@@ -152,11 +147,6 @@ pub fn project_effect(effect: &KernelEffect) -> CanonicalHostAction {
|
|
|
152
147
|
causation_input_id,
|
|
153
148
|
payload: payload.clone(),
|
|
154
149
|
},
|
|
155
|
-
EffectKind::MeasurePrompt(payload) => CanonicalHostAction::MeasurePrompt {
|
|
156
|
-
effect_id,
|
|
157
|
-
causation_input_id,
|
|
158
|
-
payload: payload.clone(),
|
|
159
|
-
},
|
|
160
150
|
}
|
|
161
151
|
}
|
|
162
152
|
|
|
@@ -336,7 +336,7 @@ impl ContentPartObj {
|
|
|
336
336
|
|
|
337
337
|
#[pyclass]
|
|
338
338
|
#[derive(Clone)]
|
|
339
|
-
struct
|
|
339
|
+
struct ModelMessage {
|
|
340
340
|
#[pyo3(get, set)]
|
|
341
341
|
role: String,
|
|
342
342
|
#[pyo3(get, set)]
|
|
@@ -348,7 +348,7 @@ struct ProviderMessage {
|
|
|
348
348
|
}
|
|
349
349
|
|
|
350
350
|
#[pymethods]
|
|
351
|
-
impl
|
|
351
|
+
impl ModelMessage {
|
|
352
352
|
#[new]
|
|
353
353
|
#[pyo3(signature = (role, content, tool_calls = None, content_parts = None))]
|
|
354
354
|
fn new(
|
|
@@ -371,7 +371,7 @@ impl ProviderMessage {
|
|
|
371
371
|
None => String::new(),
|
|
372
372
|
};
|
|
373
373
|
format!(
|
|
374
|
-
"
|
|
374
|
+
"ModelMessage(role={:?}, content={:?}{})",
|
|
375
375
|
self.role, self.content, parts_info
|
|
376
376
|
)
|
|
377
377
|
}
|
|
@@ -535,7 +535,7 @@ fn content_part_from_rust(p: &ContentPart) -> ContentPartObj {
|
|
|
535
535
|
}
|
|
536
536
|
}
|
|
537
537
|
|
|
538
|
-
impl
|
|
538
|
+
impl ModelMessage {
|
|
539
539
|
fn from_rust(msg: &RustMessage) -> Self {
|
|
540
540
|
let role = match msg.role {
|
|
541
541
|
Role::System => "system",
|
|
@@ -728,7 +728,7 @@ struct LoopResult {
|
|
|
728
728
|
#[pyo3(get)]
|
|
729
729
|
termination: String,
|
|
730
730
|
#[pyo3(get)]
|
|
731
|
-
final_message: Option<
|
|
731
|
+
final_message: Option<ModelMessage>,
|
|
732
732
|
#[pyo3(get)]
|
|
733
733
|
turns_used: u32,
|
|
734
734
|
#[pyo3(get)]
|
|
@@ -841,10 +841,10 @@ struct RenderedContext {
|
|
|
841
841
|
system_knowledge: String,
|
|
842
842
|
/// History turns only — the stable, cacheable message prefix.
|
|
843
843
|
#[pyo3(get)]
|
|
844
|
-
turns: Vec<
|
|
844
|
+
turns: Vec<ModelMessage>,
|
|
845
845
|
/// Volatile State turn (task_state + signals), rendered after the cacheable history.
|
|
846
846
|
#[pyo3(get)]
|
|
847
|
-
state_turn: Option<
|
|
847
|
+
state_turn: Option<ModelMessage>,
|
|
848
848
|
/// P1-E: count of leading `turns` forming the frozen prefix (byte-stable until the next
|
|
849
849
|
/// compaction). Providers pin a deep cache breakpoint here; absent ⇒ rolling-pair fallback.
|
|
850
850
|
#[pyo3(get)]
|
|
@@ -1396,7 +1396,7 @@ struct SessionData {
|
|
|
1396
1396
|
#[pyo3(get, set)]
|
|
1397
1397
|
agent_id: String,
|
|
1398
1398
|
#[pyo3(get, set)]
|
|
1399
|
-
messages: Vec<
|
|
1399
|
+
messages: Vec<ModelMessage>,
|
|
1400
1400
|
/// JSON-encoded metadata blob.
|
|
1401
1401
|
#[pyo3(get, set)]
|
|
1402
1402
|
metadata: String,
|
|
@@ -1413,7 +1413,7 @@ impl SessionData {
|
|
|
1413
1413
|
fn new(
|
|
1414
1414
|
session_id: String,
|
|
1415
1415
|
agent_id: String,
|
|
1416
|
-
messages: Vec<
|
|
1416
|
+
messages: Vec<ModelMessage>,
|
|
1417
1417
|
metadata: String,
|
|
1418
1418
|
created_at_ms: f64,
|
|
1419
1419
|
updated_at_ms: f64,
|
|
@@ -1693,7 +1693,7 @@ fn build_eval_messages(
|
|
|
1693
1693
|
result: String,
|
|
1694
1694
|
attempt: u32,
|
|
1695
1695
|
extract_skill_on_pass: bool,
|
|
1696
|
-
) -> Vec<
|
|
1696
|
+
) -> Vec<ModelMessage> {
|
|
1697
1697
|
let rust_criteria = criteria_from_py(criteria);
|
|
1698
1698
|
rust_build_eval_messages(
|
|
1699
1699
|
&goal,
|
|
@@ -1703,7 +1703,7 @@ fn build_eval_messages(
|
|
|
1703
1703
|
extract_skill_on_pass,
|
|
1704
1704
|
)
|
|
1705
1705
|
.iter()
|
|
1706
|
-
.map(
|
|
1706
|
+
.map(ModelMessage::from_rust)
|
|
1707
1707
|
.collect()
|
|
1708
1708
|
}
|
|
1709
1709
|
|
|
@@ -1756,7 +1756,7 @@ fn _kernel(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
|
1756
1756
|
m.add("ABI", deepstrike_core::runtime::kernel::wire::ABI)?;
|
|
1757
1757
|
// POD types
|
|
1758
1758
|
m.add_class::<ContentPartObj>()?;
|
|
1759
|
-
m.add_class::<
|
|
1759
|
+
m.add_class::<ModelMessage>()?;
|
|
1760
1760
|
m.add_class::<ToolCall>()?;
|
|
1761
1761
|
m.add_class::<ToolExecutionResult>()?;
|
|
1762
1762
|
m.add_class::<ToolSchema>()?;
|
|
@@ -6,7 +6,7 @@ except PackageNotFoundError:
|
|
|
6
6
|
__version__ = "0+unknown"
|
|
7
7
|
|
|
8
8
|
from deepstrike._kernel import (
|
|
9
|
-
|
|
9
|
+
ModelMessage, ToolCall, ToolExecutionResult, ToolSchema,
|
|
10
10
|
SkillMetadata,
|
|
11
11
|
)
|
|
12
12
|
from deepstrike.runtime import (
|
|
@@ -201,7 +201,7 @@ from deepstrike.types.agent import (
|
|
|
201
201
|
workflow_budget_note,
|
|
202
202
|
fanout_synthesize, generate_and_filter, verify_rules, gen_eval,
|
|
203
203
|
)
|
|
204
|
-
from deepstrike.agent import Agent, AgentDefinition, AgentMemory, MemoryReference, ModelRef
|
|
204
|
+
from deepstrike.agent import Agent, AgentDefinition, AgentMemory, MemoryReference, ModelRef, create_agent
|
|
205
205
|
from deepstrike.agent_ir import lower_agent, normalize_agent
|
|
206
206
|
from deepstrike.runtime.durable_content import (
|
|
207
207
|
DurableContentError,
|
|
@@ -378,11 +378,11 @@ __all__ = [
|
|
|
378
378
|
"KnowledgeSource",
|
|
379
379
|
"RuntimeSignal", "SignalClaim", "SignalDeliveryReceipt",
|
|
380
380
|
"SignalSource", "ScheduledPrompt", "SignalGateway",
|
|
381
|
-
"
|
|
381
|
+
"ModelMessage", "ToolCall", "ToolExecutionResult", "ToolSchema",
|
|
382
382
|
"SkillMetadata",
|
|
383
383
|
# Sub-agent isolation
|
|
384
384
|
"AgentIdentity", "AgentCapabilityFilter", "AgentRunSpec",
|
|
385
|
-
"Agent", "AgentDefinition", "AgentMemory", "MemoryReference", "ModelRef", "lower_agent", "normalize_agent",
|
|
385
|
+
"Agent", "create_agent", "AgentDefinition", "AgentMemory", "MemoryReference", "ModelRef", "lower_agent", "normalize_agent",
|
|
386
386
|
"AgentProcessChangedObservation", "SubAgentResult", "LoopResult",
|
|
387
387
|
"KernelAgentRole", "AgentIsolation", "ContextInheritance",
|
|
388
388
|
"MilestoneContract", "MilestonePhase", "MilestoneCheckResult", "MilestonePolicy",
|