-- credential-primitives-wasm — credential-store-migration T2(D19:D1 只存目錄,不存密文) -- SDD: system-dev/docs/3-specs/arcrun/credential-primitives-wasm/credential-store-migration.md §2.2 -- -- 密文本體不在這裡:值住在 CF Workers per-script Secrets(掛在 cypher worker 上,管理 API 唯寫)。 -- 這張表只存「目錄」:租戶(api_key) / 名字 / 服務 / 敏感度 / 指向 Workers Secrets 的 env var 名(secret_ref)。 -- 冪等(IF NOT EXISTS),與 0001_base.sql 同模式,套用機制走 cli/src/lib/deploy.ts applyD1Migration。 -- 同一顆 D1(與 KBDB base 共用 arcrun-kbdb),不新建第二顆。 CREATE TABLE IF NOT EXISTS credentials ( api_key TEXT NOT NULL, -- 租戶 name TEXT NOT NULL, -- credential 名(= auth-recipe required_secrets[].key,如 telegram_bot_token) service TEXT, -- 對應 service(telegram / notion …),可空 sensitivity TEXT NOT NULL DEFAULT 'standard', -- 'standard' | 'high'(high = SA JSON/private key) secret_ref TEXT NOT NULL, -- 指向 Workers Secrets 的 env var 名(如 CRED_TELEGRAM_BOT_TOKEN_XXXXXXXX;不是密文本體) created_at INTEGER NOT NULL, last_used_at INTEGER, -- 執行注入時更新(治理面 last_used 顯示用) PRIMARY KEY (api_key, name) ); CREATE INDEX IF NOT EXISTS idx_cred_apikey ON credentials(api_key);