Integration Checklist
Vela SDKを組み込むrouteでは、happy pathだけでなくnon-allow pathを必ず確認します。
Route scenarios
Section titled “Route scenarios”| scenario | 期待結果 |
|---|---|
| missing env | request bodyを読む前に missingEnv を返す |
| missing execution scope | 400を返し、model runtimeを読まない |
blocked | 400を返し、authorizationより前で止まる場合がある |
deny | 403を返し、Velaの reasonCode / reasonMessage を保つ |
allow | relay-backed modelだけを呼ぶ |
| model call failed | tryReportFailedWithError() または reportFailedWithError() を呼ぶ |
| model call completed | usage付きで reportCompletedWithUsage() を呼ぶ |
| report API failed | model responseやprovider errorをreport失敗で上書きしない |
| raw provider key | アプリが顧客のprovider API keyを保持していない |
Docs / SDK checks
Section titled “Docs / SDK checks”pnpm docs:checkpnpm docs:smokepnpm check:sdkpnpm docs:check はAstro/Starlight build、必須ページ、必須SDK term、TypeScript snippet、public package importを確認します。pnpm docs:smoke は生成済み dist/ をローカルHTTP配信し、トップ、Quickstart、Reference、Pagefind assetsが応答することを確認します。
route testの目安
Section titled “route testの目安”export interface VelaRouteExpectation { name: string; expectedStatus: number; loadsModelRuntime: boolean; sendsExecutionReport: boolean;}
export const expectations: VelaRouteExpectation[] = [ { name: "missing env", expectedStatus: 500, loadsModelRuntime: false, sendsExecutionReport: false }, { name: "missing scope", expectedStatus: 400, loadsModelRuntime: false, sendsExecutionReport: false }, { name: "blocked", expectedStatus: 400, loadsModelRuntime: false, sendsExecutionReport: false }, { name: "deny", expectedStatus: 403, loadsModelRuntime: false, sendsExecutionReport: false }, { name: "allow completed", expectedStatus: 200, loadsModelRuntime: true, sendsExecutionReport: true },];