922a57fe34
Self-hosted 開源:WASM 零件 + recipe + cypher-executor,跑在你自己的 Cloudflare。 此為重建的乾淨歷史起點(移除曾誤 commit 的 GCP SA 金鑰,舊歷史保留在 richblack/arcrun 與本地 backup 分支)。含: - acr init --self-hosted installer(建 KV/R2 + codeload 拉預編譯 wasm + wrangler deploy + seed recipe) - recipe push 把關(資料外流提醒 + 打通檢查) - 19 個正當零件預編譯 wasm(claude_api/km_writer/kbdb_upsert_block 排除:違反 DECISIONS §1) - CLI / cypher-executor / registry / 完整 SDD Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
27 lines
797 B
TypeScript
27 lines
797 B
TypeScript
import { z } from 'zod';
|
|
|
|
// 圖定義的 Zod Schema
|
|
export const graphSchema = z.object({
|
|
id: z.string().min(1),
|
|
name: z.string().min(1),
|
|
nodes: z.array(z.object({
|
|
id: z.string(),
|
|
type: z.enum(['Input', 'Component', 'Output']),
|
|
componentId: z.string().optional(),
|
|
label: z.string().optional(),
|
|
data: z.record(z.unknown()).optional(),
|
|
})),
|
|
edges: z.array(z.object({
|
|
from: z.string(),
|
|
to: z.string(),
|
|
type: z.enum(['PIPE', 'IF', 'FOREACH', 'CONTINUE', 'IS_A', 'ON_SUCCESS', 'ON_FAIL', 'ON_CLICK', 'CALLS_SUBFLOW', 'CONTAINS', 'HAS_STYLE', 'HAS_BEHAVIOR']),
|
|
condition: z.string().optional(),
|
|
iterator: z.string().optional(),
|
|
})),
|
|
});
|
|
|
|
export const executeSchema = z.object({
|
|
graph: graphSchema,
|
|
context: z.record(z.unknown()).default({}),
|
|
});
|