/**
 * brand.ts — MCP tool 名前綴的單一真相源（single source of truth）。
 *
 * 為什麼存在（leo 硬要求 2）：
 *   歷史上 tool 名前綴（早期 "u6u_"、對外改名後應為 "arcrun_"）被明碼散寫在
 *   ~39 個 tool 檔裡，每次 rebrand 都得逐檔手改、極易漏 → u6u 洩漏給用戶。
 *   收斂成這一個常數後，未來再 rebrand「只改這一行」。
 *
 * 用法：
 *   import { toolName } from "../brand.js";
 *   server.tool(toolName("push_workflow"), ...)   // → "arcrun_push_workflow"
 *
 * 語意後綴（push_workflow / list_tags …）保留可讀，只有「品牌前綴」被變數化。
 *
 * 前綴預設 "arcrun"。內部另留一個 rebrand 過渡 / 單元測試用的覆蓋鉤子
 * （ARCRUN_TOOL_PREFIX，經 globalThis.process 安全取值）——但 Cloudflare
 * Workers runtime 沒有 process 全域，部署後此覆蓋「基本不生效」、一律 fallback 到
 * "arcrun"。**這不是對外 / 用戶可用特性，勿寫進對外文件**；正式 rebrand 請直接改本檔預設值。
 */

const envPrefix = (globalThis as { process?: { env?: Record<string, string | undefined> } })
  .process?.env?.ARCRUN_TOOL_PREFIX;

export const TOOL_PREFIX = envPrefix || "arcrun";

/** 把語意後綴組成完整 tool 名，例：toolName("whoami") → "arcrun_whoami"。 */
export const toolName = (suffix: string): string => `${TOOL_PREFIX}_${suffix}`;
