deepstrike 0.2.26__tar.gz → 0.2.27__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.
Files changed (173) hide show
  1. {deepstrike-0.2.26 → deepstrike-0.2.27}/Cargo.lock +5 -5
  2. {deepstrike-0.2.26 → deepstrike-0.2.27}/Cargo.toml +2 -2
  3. {deepstrike-0.2.26 → deepstrike-0.2.27}/PKG-INFO +1 -1
  4. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/registry.py +14 -0
  5. {deepstrike-0.2.26 → deepstrike-0.2.27}/pyproject.toml +1 -1
  6. {deepstrike-0.2.26 → deepstrike-0.2.27}/README.md +0 -0
  7. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/Cargo.toml +0 -0
  8. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/compression.rs +0 -0
  9. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/config.rs +0 -0
  10. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/dashboard.rs +0 -0
  11. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/manager.rs +0 -0
  12. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/mod.rs +0 -0
  13. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/partitions.rs +0 -0
  14. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/pressure.rs +0 -0
  15. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/renderer.rs +0 -0
  16. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/renewal.rs +0 -0
  17. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/sections.rs +0 -0
  18. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/skill_catalog.rs +0 -0
  19. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/snapshot.rs +0 -0
  20. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/summarizer.rs +0 -0
  21. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/task_state.rs +0 -0
  22. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/text.rs +0 -0
  23. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/context/token_engine.rs +0 -0
  24. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/audit.rs +0 -0
  25. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/constraint.rs +0 -0
  26. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/mod.rs +0 -0
  27. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/permission.rs +0 -0
  28. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/pipeline.rs +0 -0
  29. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/quota.rs +0 -0
  30. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/rate_limit.rs +0 -0
  31. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/sandbox.rs +0 -0
  32. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/tool_decision.rs +0 -0
  33. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/governance/veto.rs +0 -0
  34. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/harness/eval.rs +0 -0
  35. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/harness/mod.rs +0 -0
  36. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/lib.rs +0 -0
  37. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/curator.rs +0 -0
  38. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/durable.rs +0 -0
  39. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/extractor.rs +0 -0
  40. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/idle_pipeline.rs +0 -0
  41. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/mod.rs +0 -0
  42. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/runtime.rs +0 -0
  43. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/semantic.rs +0 -0
  44. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/session.rs +0 -0
  45. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/synthesis.rs +0 -0
  46. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/trace_analyzer.rs +0 -0
  47. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/memory/working.rs +0 -0
  48. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/mm/handle.rs +0 -0
  49. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/mm/memory.rs +0 -0
  50. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/mm/mod.rs +0 -0
  51. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/orchestration/mod.rs +0 -0
  52. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/orchestration/task_graph.rs +0 -0
  53. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/orchestration/tournament.rs +0 -0
  54. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/orchestration/workflow/mod.rs +0 -0
  55. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/orchestration/workflow/run.rs +0 -0
  56. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/proc/mod.rs +0 -0
  57. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/event_log.rs +0 -0
  58. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/kernel.rs +0 -0
  59. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/mod.rs +0 -0
  60. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/repair.rs +0 -0
  61. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/replay.rs +0 -0
  62. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/session.rs +0 -0
  63. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/runtime/snapshot.rs +0 -0
  64. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/milestone.rs +0 -0
  65. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/mod.rs +0 -0
  66. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/policy.rs +0 -0
  67. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/rollback.rs +0 -0
  68. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/capability.rs +0 -0
  69. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/eviction.rs +0 -0
  70. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/gate.rs +0 -0
  71. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/milestone_exec.rs +0 -0
  72. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/mod.rs +0 -0
  73. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/process.rs +0 -0
  74. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/signal.rs +0 -0
  75. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/tests.rs +0 -0
  76. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/state_machine/workflow.rs +0 -0
  77. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/scheduler/tcb.rs +0 -0
  78. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/signals/attention.rs +0 -0
  79. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/signals/mod.rs +0 -0
  80. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/signals/queue.rs +0 -0
  81. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/signals/router.rs +0 -0
  82. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/syscall/mod.rs +0 -0
  83. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/agent.rs +0 -0
  84. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/capability.rs +0 -0
  85. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/contract.rs +0 -0
  86. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/error.rs +0 -0
  87. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/message.rs +0 -0
  88. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/milestone.rs +0 -0
  89. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/mod.rs +0 -0
  90. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/model.rs +0 -0
  91. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/policy.rs +0 -0
  92. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/result.rs +0 -0
  93. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/signal.rs +0 -0
  94. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/skill.rs +0 -0
  95. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-core/src/types/task.rs +0 -0
  96. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-py/Cargo.toml +0 -0
  97. {deepstrike-0.2.26 → deepstrike-0.2.27}/crates/deepstrike-py/src/lib.rs +0 -0
  98. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/__init__.py +0 -0
  99. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/__init__.py +0 -0
  100. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/contract.py +0 -0
  101. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/handoff.py +0 -0
  102. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/harness.py +0 -0
  103. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/modes.py +0 -0
  104. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/collaboration/pool.py +0 -0
  105. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/governance.py +0 -0
  106. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/harness/__init__.py +0 -0
  107. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/harness/harness.py +0 -0
  108. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/kernel/__init__.py +0 -0
  109. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/knowledge/__init__.py +0 -0
  110. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/knowledge/source.py +0 -0
  111. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/memory/__init__.py +0 -0
  112. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/memory/agent.py +0 -0
  113. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/memory/in_memory_store.py +0 -0
  114. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/memory/protocols.py +0 -0
  115. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/memory/working.py +0 -0
  116. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/__init__.py +0 -0
  117. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/anthropic.py +0 -0
  118. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/base.py +0 -0
  119. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/deepseek.py +0 -0
  120. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/gemini.py +0 -0
  121. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/glm.py +0 -0
  122. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/kimi.py +0 -0
  123. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/minimax.py +0 -0
  124. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/ollama.py +0 -0
  125. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/openai.py +0 -0
  126. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/openai_responses.py +0 -0
  127. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/qwen.py +0 -0
  128. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/replay.py +0 -0
  129. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/replay_validator.py +0 -0
  130. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/providers/stream.py +0 -0
  131. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/__init__.py +0 -0
  132. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/archive.py +0 -0
  133. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/credential_vault.py +0 -0
  134. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/eval.py +0 -0
  135. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/execution_plane.py +0 -0
  136. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/filtered_plane.py +0 -0
  137. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/kernel_event_log.py +0 -0
  138. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/kernel_step.py +0 -0
  139. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/large_result_spool.py +0 -0
  140. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/mcp_proxy_plane.py +0 -0
  141. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/os_profile.py +0 -0
  142. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/os_snapshot.py +0 -0
  143. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/output_schema.py +0 -0
  144. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/process_sandbox_plane.py +0 -0
  145. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/provider_replay.py +0 -0
  146. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/reducers.py +0 -0
  147. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/remote_vpc_plane.py +0 -0
  148. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/replay_fixture.py +0 -0
  149. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/replay_provider.py +0 -0
  150. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/replay_sanitize.py +0 -0
  151. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/runner.py +0 -0
  152. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/session_log.py +0 -0
  153. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/session_repair.py +0 -0
  154. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/sub_agent_orchestrator.py +0 -0
  155. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/workflow_control_flow.py +0 -0
  156. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/workflow_store.py +0 -0
  157. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/runtime/worktree_plane.py +0 -0
  158. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/safety/__init__.py +0 -0
  159. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/safety/permissions.py +0 -0
  160. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/signals/__init__.py +0 -0
  161. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/signals/gateway.py +0 -0
  162. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/signals/scheduled.py +0 -0
  163. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/signals/types.py +0 -0
  164. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/skills/__init__.py +0 -0
  165. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/skills/registry.py +0 -0
  166. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/skills/watcher.py +0 -0
  167. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/__init__.py +0 -0
  168. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/builtin/__init__.py +0 -0
  169. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/builtin/read_file.py +0 -0
  170. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/errors.py +0 -0
  171. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/tools/execution.py +0 -0
  172. {deepstrike-0.2.26 → deepstrike-0.2.27}/deepstrike/types/__init__.py +0 -0
  173. {deepstrike-0.2.26 → deepstrike-0.2.27}/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.26"
197
+ version = "0.2.27"
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-node"
209
- version = "0.2.26"
209
+ version = "0.2.27"
210
210
  dependencies = [
211
211
  "compact_str",
212
212
  "deepstrike-core",
@@ -218,7 +218,7 @@ dependencies = [
218
218
 
219
219
  [[package]]
220
220
  name = "deepstrike-py"
221
- version = "0.2.26"
221
+ version = "0.2.27"
222
222
  dependencies = [
223
223
  "compact_str",
224
224
  "deepstrike-core",
@@ -229,7 +229,7 @@ dependencies = [
229
229
 
230
230
  [[package]]
231
231
  name = "deepstrike-sdk"
232
- version = "0.2.26"
232
+ version = "0.2.27"
233
233
  dependencies = [
234
234
  "async-stream",
235
235
  "async-trait",
@@ -263,7 +263,7 @@ dependencies = [
263
263
 
264
264
  [[package]]
265
265
  name = "deepstrike-wasm"
266
- version = "0.2.26"
266
+ version = "0.2.27"
267
267
  dependencies = [
268
268
  "compact_str",
269
269
  "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.26"
6
+ version = "0.2.27"
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.26" }
12
+ deepstrike-core = { path = "crates/deepstrike-core", version = "0.2.27" }
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.26
3
+ Version: 0.2.27
4
4
  Requires-Dist: httpx>=0.27
5
5
  Requires-Dist: pyyaml>=6.0
6
6
  Requires-Dist: anyio>=4.0
@@ -124,6 +124,20 @@ def _validate_value(schema: dict[str, Any], parent: Any, key: Any, path: str, st
124
124
  state["repaired"] = True
125
125
  except ValueError:
126
126
  pass
127
+ elif expected == "array":
128
+ # coerceItemArray: LLMs commonly wrap array args in a single-key {"item": X} / {"items": X}
129
+ # envelope, or emit a lone object where a one-element array was expected. Coerce both to a
130
+ # list so per-element validation runs (yielding precise `$.path[i]…` errors) instead of a
131
+ # blunt "must be array". Aligned with the str→number/bool casts above.
132
+ if isinstance(value, dict):
133
+ keys = list(value.keys())
134
+ if len(keys) == 1 and keys[0] in ("item", "items"):
135
+ inner = value[keys[0]]
136
+ parent[key] = inner if isinstance(inner, list) else [inner]
137
+ else:
138
+ parent[key] = [value]
139
+ value = parent[key]
140
+ state["repaired"] = True
127
141
 
128
142
  # 2. 补默认值 (Default Injection)
129
143
  if expected == "object":
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "deepstrike"
7
- version = "0.2.26"
7
+ version = "0.2.27"
8
8
  requires-python = ">=3.10"
9
9
  readme = "README.md"
10
10
  dependencies = [
File without changes