e630fca2df
Security: - init.ts: remove cf_api_token from POST /register (only email sent to arcrun.dev) - cf-api.ts: remove base64 fallback in encryptCredential, throw clear error if key missing Correctness: - submitComponent.ts: replace KBDB dependency with SUBMISSIONS_KV + R2 (standalone) - registry/types.ts: remove KBDB_URL/KBDB_INTERNAL_TOKEN, add SUBMISSIONS_KV/ANALYTICS_KV - webhooks.ts: add waitUntil(writeExecutionVerdict) for fire-and-forget analytics - execution-logger.ts: create missing module (was imported but didn't exist) - cypher-executor/types.ts + wrangler.toml: add ANALYTICS_KV binding - gmail/telegram/google_sheets/line_notify/http_request: no_network_syscall false (api category) - init.ts: replace require() with await import() for ES module compatibility Cleanup: - Remove arcrun/builtins/ (dead code — initComponents used old HTTP endpoint model, all 21 components now in TinyGo WASM under registry/components/) Docs: - tasks.md: update to reflect completed work and remaining items Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.3 KiB
TOML
41 lines
1.3 KiB
TOML
name = "arcrun-cypher-executor"
|
||
main = "src/index.ts"
|
||
compatibility_date = "2025-02-19"
|
||
compatibility_flags = ["nodejs_compat"]
|
||
|
||
# KV Context Store:節點 output 透過 KV 傳遞,解決同名欄位衝突
|
||
# TTL 設為 1 小時,執行完後自動清除
|
||
[[kv_namespaces]]
|
||
binding = "EXEC_CONTEXT"
|
||
id = "" # 填入你的 KV Namespace ID
|
||
|
||
# Webhook Store:儲存 Workflow 定義,key = workflow name
|
||
[[kv_namespaces]]
|
||
binding = "WEBHOOKS"
|
||
id = "" # 填入你的 KV Namespace ID
|
||
|
||
# Credential Store:AES-GCM 加密存放用戶 API token
|
||
# Standard 模式:供 credential-injector 讀取加密 token
|
||
[[kv_namespaces]]
|
||
binding = "CREDENTIALS_KV"
|
||
id = "" # 填入你的 Credentials KV Namespace ID
|
||
|
||
# Analytics:執行統計(fire-and-forget,保留 90 天)
|
||
[[kv_namespaces]]
|
||
binding = "ANALYTICS_KV"
|
||
id = "" # 填入你的 Analytics KV Namespace ID
|
||
|
||
# R2 Bucket:WASM 零件二進位(arcrun.dev 公眾零件庫,或自架時填入自己的 bucket)
|
||
[[r2_buckets]]
|
||
binding = "WASM_BUCKET"
|
||
bucket_name = "arcrun-wasm"
|
||
|
||
# Workers AI
|
||
[ai]
|
||
binding = "AI"
|
||
|
||
[vars]
|
||
ENVIRONMENT = "production"
|
||
# MULTI_TENANT = "true" # Standard 模式(預設);設 "false" 啟用 Self-hosted 單租戶模式
|
||
# ENCRYPTION_KEY 透過 wrangler secret 設定(hex-encoded 256-bit AES key)
|