@lythos/skill-arena 0.18.0 → 0.19.0

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.
package/README.md CHANGED
@@ -16,20 +16,20 @@
16
16
  ```bash
17
17
  bun add -d @lythos/skill-arena
18
18
  # or use directly
19
- bunx @lythos/skill-arena@0.18.0 <command>
19
+ bunx @lythos/skill-arena@0.19.0 <command>
20
20
  ```
21
21
 
22
22
  ## Quick Start
23
23
 
24
24
  ```bash
25
25
  # single — test one deck (most common)
26
- bunx @lythos/skill-arena@0.18.0 single \
26
+ bunx @lythos/skill-arena@0.19.0 single \
27
27
  --deck ./examples/decks/scout.toml \
28
28
  --brief "Generate auth flow diagram" \
29
29
  --out ./output
30
30
 
31
31
  # single with explicit player
32
- bunx @lythos/skill-arena@0.18.0 single \
32
+ bunx @lythos/skill-arena@0.19.0 single \
33
33
  --deck ./examples/decks/scout.toml \
34
34
  --brief "Generate auth flow diagram" \
35
35
  --player kimi \
@@ -37,10 +37,10 @@ bunx @lythos/skill-arena@0.18.0 single \
37
37
 
38
38
  # cross-deck vs — compare two decks (agent-orchestrated)
39
39
  # Create arena.toml declaring sides with different decks, then:
40
- bunx @lythos/skill-arena@0.18.0 vs --config ./arena.toml
40
+ bunx @lythos/skill-arena@0.19.0 vs --config ./arena.toml
41
41
 
42
42
  # cross-player vs — compare kimi vs codex (CLI only)
43
- bunx @lythos/skill-arena@0.18.0 vs --config ./arena.toml --player kimi
43
+ bunx @lythos/skill-arena@0.19.0 vs --config ./arena.toml --player kimi
44
44
  ```
45
45
 
46
46
  **What happens**: Agent creates isolated `/tmp` workdir per side, `deck link` skills, spawns parallel subagents, collects artifacts, judge scores outputs. Parent deck restored after.
@@ -50,14 +50,14 @@ bunx @lythos/skill-arena@0.18.0 vs --config ./arena.toml --player kimi
50
50
  ### `single` — one deck, one task
51
51
 
52
52
  ```bash
53
- bunx @lythos/skill-arena@0.18.0 single \
53
+ bunx @lythos/skill-arena@0.19.0 single \
54
54
  --deck ./deck.toml \
55
55
  --brief "Produce a .docx report with radar chart" \
56
56
  --timeout 600000 \
57
57
  --out ./output
58
58
 
59
59
  # with explicit player
60
- bunx @lythos/skill-arena@0.18.0 single \
60
+ bunx @lythos/skill-arena@0.19.0 single \
61
61
  --deck ./deck.toml \
62
62
  --brief "Produce a .docx report with radar chart" \
63
63
  --player kimi \
@@ -67,14 +67,14 @@ bunx @lythos/skill-arena@0.18.0 single \
67
67
  ### `vs` — multi-deck comparison
68
68
 
69
69
  ```bash
70
- bunx @lythos/skill-arena@0.18.0 vs --config ./arena.toml
71
- bunx @lythos/skill-arena@0.18.0 vs --config ./arena.toml --dry-run
70
+ bunx @lythos/skill-arena@0.19.0 vs --config ./arena.toml
71
+ bunx @lythos/skill-arena@0.19.0 vs --config ./arena.toml --dry-run
72
72
  ```
73
73
 
74
74
  ### `prepare-workdir` — isolate + link skills (agent-orchestrated)
75
75
 
76
76
  ```bash
77
- bunx @lythos/skill-arena@0.18.0 prepare-workdir \
77
+ bunx @lythos/skill-arena@0.19.0 prepare-workdir \
78
78
  --deck ./skill-deck.toml \
79
79
  --out /tmp/arena-side-a \
80
80
  --brief "task description"
@@ -85,7 +85,7 @@ Creates `/tmp`-isolated workdir with deck copied, AGENTS.md written, and `deck l
85
85
  ### `archive` — collect agent outputs (agent-orchestrated)
86
86
 
87
87
  ```bash
88
- bunx @lythos/skill-arena@0.18.0 archive \
88
+ bunx @lythos/skill-arena@0.19.0 archive \
89
89
  --from /tmp/arena-side-a \
90
90
  --to ./playground/output \
91
91
  --sides side-a
@@ -96,7 +96,7 @@ Copies agent artifacts from workdir(s) to output, skipping internal files (`.cla
96
96
  ### `viz` — render results (WIP — HTML report generation pending)
97
97
 
98
98
  ```bash
99
- bunx @lythos/skill-arena@0.18.0 viz runs/arena-<id>/
99
+ bunx @lythos/skill-arena@0.19.0 viz runs/arena-<id>/
100
100
  ```
101
101
 
102
102
  ## Parameters
@@ -105,7 +105,7 @@ bunx @lythos/skill-arena@0.18.0 viz runs/arena-<id>/
105
105
  |------|---------|-------------|
106
106
  | `--brief "<text>"` | single | Inline task brief |
107
107
  | `--deck <path\|url>` | single | Deck file (URL auto-fetched) |
108
- | `--player <name>` | single, vs | Agent player: kimi\|codex\|deepseek\|claude |
108
+ | `--player <name>` | single, vs | Agent player: kimi\|codex\|deepseek\|deepseek-harness\|claude |
109
109
  | `--timeout <ms>` | single | Subagent timeout (300000–600000 for complex tasks) |
110
110
  | `--from <dir>` | archive | Source workdir |
111
111
  | `--to <dir>` | archive | Output directory |
@@ -122,6 +122,7 @@ For cross-player mode, install at least one agent CLI:
122
122
  uv tool install kimi-cli # kimi (recommended default)
123
123
  npm i -g @openai/codex # codex
124
124
  # deepseek: bundled with desktop app or pip install deepseek-cli
125
+ npm i -g @deepseek-ai/dsh # deepseek-harness (alias: dsh) — needs Node >= 22.19 + DEEPSEEK_API_KEY
125
126
  # claude: set ANTHROPIC_API_KEY (SDK, no CLI binary needed)
126
127
  ```
127
128
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lythos/skill-arena",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "Skill Arena — benchmark skill effectiveness with controlled-variable comparison",
5
5
  "keywords": [
6
6
  "ai-agent",
@@ -42,15 +42,16 @@
42
42
  "bun": ">=1.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "@lythos/cold-pool": "^0.18.0",
46
- "@lythos/infra": "^0.18.0",
47
- "@lythos/test-utils": "^0.18.0",
45
+ "@lythos/cold-pool": "^0.19.0",
46
+ "@lythos/infra": "^0.19.0",
47
+ "@lythos/test-utils": "^0.19.0",
48
48
  "zod": "^3.24.0",
49
49
  "zod-to-json-schema": "^3.25.2"
50
50
  },
51
51
  "optionalDependencies": {
52
- "@lythos/agent-adapter-claude-sdk": "^0.18.0",
53
- "@lythos/agent-adapter-deepseek-serve": "^0.18.0",
54
- "@lythos/agent-adapter-codex": "^0.18.0"
52
+ "@lythos/agent-adapter-claude-sdk": "^0.19.0",
53
+ "@lythos/agent-adapter-deepseek-serve": "^0.19.0",
54
+ "@lythos/agent-adapter-deepseek-harness": "^0.19.0",
55
+ "@lythos/agent-adapter-codex": "^0.19.0"
55
56
  }
56
57
  }
package/src/cli.ts CHANGED
@@ -317,6 +317,7 @@ async function singleRun(args: string[], io: ArenaCliIO) {
317
317
  const { useAgent } = await import('@lythos/test-utils/agents')
318
318
  try { await import('@lythos/agent-adapter-claude-sdk') } catch { /* package not installed */ }
319
319
  try { await import('@lythos/agent-adapter-deepseek-serve') } catch { /* package not installed */ }
320
+ try { await import('@lythos/agent-adapter-deepseek-harness') } catch { /* package not installed */ }
320
321
  try { await import('@lythos/agent-adapter-codex') } catch { /* package not installed */ }
321
322
  const { resolvePlayer, playerAliasNote } = await import('./player')
322
323
 
package/src/player.ts CHANGED
@@ -18,6 +18,8 @@ const BUILTIN_PLAYERS: Record<string, string> = {
18
18
  'kimi': 'kimi',
19
19
  'kimi-code': 'kimi', // renamed upstream — users guess the new name (ADR-20260828004129233)
20
20
  'deepseek': 'deepseek',
21
+ 'deepseek-harness': 'deepseek-harness',
22
+ 'dsh': 'deepseek-harness', // upstream binary name (ADR-20260828004129233)
21
23
  'codex': 'codex',
22
24
  'cursor': 'cursor',
23
25
  'gemini': 'gemini',
package/src/runner.ts CHANGED
@@ -9,6 +9,7 @@ import { ArenaManifest, Player, type JudgeInput, type Evidence, type JudgeVerdic
9
9
  import type { ArenaManifest as ArenaManifestType } from '@lythos/test-utils/schema'
10
10
  try { await import('@lythos/agent-adapter-claude-sdk') } catch { /* package not installed */ }
11
11
  try { await import('@lythos/agent-adapter-deepseek-serve') } catch { /* package not installed */ }
12
+ try { await import('@lythos/agent-adapter-deepseek-harness') } catch { /* package not installed */ }
12
13
  try { await import('@lythos/agent-adapter-codex') } catch { /* package not installed */ }
13
14
  import { runComparativeJudge } from './comparative-judge'
14
15
  import { parseArenaToml, buildExecutionPlan, type ArenaToml, type ExecutionPlan } from './arena-toml'