-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmise.toml
More file actions
129 lines (110 loc) · 4.75 KB
/
Copy pathmise.toml
File metadata and controls
129 lines (110 loc) · 4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Environment setup: copy mise.local.toml.example → mise.local.toml and fill in API keys.
[tools]
hk = "1.36.0"
jq = "1.8.1"
mprocs = "0.8.3"
node = "24.13.1"
pkl = "0.30.2"
pnpm = "10.30.2"
[env]
LOG_PRETTY = "true"
[tasks."index-fixtures"]
description = "Build test fixture index from tests/fixtures/docs"
run = "node packages/cli/dist/index.js build --docs-dir tests/fixtures/docs --out tests/fixtures/index --embedding-provider hash"
depends = ["build"]
[tasks."serve:http"]
description = "Start MCP docs server over Streamable HTTP (set PORT to override)"
run = "node packages/server/dist/bin.js --index-dir tests/fixtures/index --transport http --port ${PORT:-20310}"
sources = ["packages/server/src/**"]
depends = ["index-fixtures"]
[tasks."inspect:http"]
description = "Run MCP Inspector against local MCP HTTP server (set MCP_SERVER_URL or PORT to override)"
run = "MCP_SERVER_URL=${MCP_SERVER_URL:-http://localhost:${PORT:-20310}/mcp} npx @modelcontextprotocol/inspector"
[tasks.build]
description = "Build all packages"
run = "pnpm build"
[tasks.test]
description = "Run all tests"
run = "pnpm test"
depends = ["index-fixtures"]
[tasks."test:server"]
description = "Run server package tests (including HTTP transport)"
run = "pnpm --filter @speakeasy-api/docs-mcp-server test"
depends = ["index-fixtures"]
[tasks.playground]
description = "Start playground (MCP server + Vite dev server)"
run = 'mprocs "mise exec -- pnpm --filter ./packages/server dev" "cd packages/playground && mise exec -- npx vite"'
depends = ["index-fixtures"]
[tasks."playground:no-gram"]
description = "Start playground without GRAM_API_KEY (chat disabled)"
run = 'GRAM_API_KEY= mprocs "mise exec -- pnpm --filter ./packages/server dev" "cd packages/playground && mise exec -- npx vite"'
depends = ["index-fixtures"]
[tasks."playground:server"]
description = "Start only the playground API server"
run = "node packages/playground/src/server.ts"
depends = ["build"]
[tasks."playground:client"]
description = "Start only the playground Vite dev server"
run = "cd packages/playground && npx vite"
[tasks."bench:realistic"]
description = "Benchmark embedding providers against realistic test fixture (none, hash)"
run = "node packages/eval/dist/bin.js benchmark --cases packages/eval/fixtures/realistic/cases.json --docs-dir packages/eval/fixtures/realistic --work-dir /tmp/bench-realistic --build-command packages/cli/dist/index.js --server-command packages/server/dist/bin.js --embeddings none,hash"
depends = ["build"]
[tasks."agent-eval"]
description = "Run agent eval suite (e.g. `mise agent-eval acmeauth -- --include ts-init`)"
usage = '''
arg "<suite>" help="Named scenario suite (e.g. acmeauth, dub-go)"
arg "[args]" var=#true help="Extra args passed to the eval CLI"
'''
run = 'node packages/eval/dist/bin.js agent-eval --suite "$usage_suite" $usage_args'
depends = ["build"]
[tasks."agent-eval:debug"]
description = "Run agent eval with --debug (verbose agent event logging)"
usage = '''
arg "<suite>" help="Named scenario suite"
arg "[args]" var=#true help="Extra args passed to the eval CLI"
'''
run = 'node packages/eval/dist/bin.js agent-eval --suite "$usage_suite" --debug $usage_args'
depends = ["build"]
[tasks."agent-eval:compare"]
description = "Run agent eval with and without docs-mcp and compare results"
usage = '''
arg "<suite>" help="Named scenario suite (e.g. acmeauth-value-add)"
arg "[args]" var=#true help="Extra args passed to the eval CLI"
'''
run = 'node packages/eval/dist/bin.js agent-eval --suite "$usage_suite" --compare $usage_args'
depends = ["build"]
[tasks."agent-eval:prompt"]
description = "Run ad-hoc agent eval with a prompt"
usage = '''
arg "<prompt>" help="The prompt to send to the agent"
flag "--docs-dir <path>" help="Path to docs directory" required=#true
arg "[args]" var=#true help="Extra args passed to the eval CLI"
'''
run = 'node packages/eval/dist/bin.js agent-eval --prompt "$usage_prompt" --docs-dir "$usage_docs_dir" $usage_args'
depends = ["build"]
[tasks."agent-eval:openai"]
description = "Run agent eval suite with OpenAI Codex provider"
usage = '''
arg "<suite>" help="Named scenario suite (e.g. acmeauth, dub-go)"
arg "[args]" var=#true help="Extra args passed to the eval CLI"
'''
run = 'node packages/eval/dist/bin.js agent-eval --suite "$usage_suite" --provider openai $usage_args'
depends = ["build"]
[tasks."agent-eval:suites"]
description = "List available agent eval suites"
run = "ls -1 packages/eval/fixtures/agent-scenarios/*.yaml | xargs -I{} basename {} .yaml"
[tasks.nuke]
description = "Kill all processes attached to dev ports (20310, 3000)"
run = '''
set +e
for port in 20310 3000; do
pids=$(lsof -ti :$port)
if [ -n "$pids" ]; then
echo "Killing processes on port $port: $pids"
echo "$pids" | xargs kill -9
else
echo "No processes on port $port"
fi
done
'''