88f308642e
根因:D61(認證與資料分離,c4cee35)把 /console/setup、/portal/admin/bootstrap 的寫入全部改走 CF Workers Secrets(env.CF_SECRETS_API_TOKEN),但這把 token 從安裝那天起就沒被種過——07-29 已知缺口(pending-changes.md「credential 走 n8n 模式」),當時只降級某個功能;D61 之後升級成「連第一個帳號都建不起來」 的硬斷點,每台全新安裝必中(leo 本人+封測者實撞:裝得起來但卡在註冊)。 修法:putWorkerSecret/deleteWorkerSecret/authStoreWritable/writeAuthStore/ mutateAuthStore 新增可選的 tokenOverride 參數(呼叫端提供 > worker 自身 env)。 /console/setup、/portal/admin/bootstrap 讀取 x-arcrun-install-token 表頭, 只有安裝精靈(裝機當下手上有一把自己還有效的 OAuth token,workers-scripts.write scope,同一把已用於 putWorkerSecretDirect/seedCredential)會帶這個表頭; 一般使用者自己在瀏覽器操作不受影響。沿用既有「D36 安裝器代寫」precedent, 不是新開一條路;bootstrap 本身已被「已有 admin → 409」擋成只能成功一次, 不會被拿來反覆濫用。 測試:cypher-executor vitest 443/457(14 個既存失敗與本改動無關,已用 git stash 對照確認);新增 2 則直接證明「缺 token→502 auth_store_not_writable/ 帶 token→200」。tsc --noEmit 無新增錯誤。已跑 build-worker-artifacts.mjs 重打 tier2 bundle 供驗證(工作區未 commit 前提下的本地驗證版)。 未完成:安裝器(products/arcrun-rag/installer/oauth-prototype/worker.js) 端的 x-arcrun-install-token 表頭傳遞已另外修好,但兩邊都還沒部署——需要 ①重打正式 worker artifact ②install.arcrun.dev 的安裝器 wrangler deploy ③已卡住的封測者要再走一次安裝精靈讓他的 cypher worker 拿到新 bundle。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
174 lines
4.8 KiB
JSON
174 lines
4.8 KiB
JSON
{
|
|
"schema": 1,
|
|
"built_for": "arcrun-tier2-worker-artifacts",
|
|
"generated_at": "2026-08-14T03:45:54.247Z",
|
|
"repo_head": "c3856470ad5616b55aff846839581c15ed0975ed",
|
|
"repo_dirty": true,
|
|
"workers": [
|
|
{
|
|
"name": "arcrun-cypher-executor",
|
|
"source_dir": "cypher-executor",
|
|
"source_commit": "b223a698844be289c1b01f99eb34a8e2ac85bb74",
|
|
"main_module": "worker.mjs",
|
|
"main_file": "arcrun-cypher-executor/worker.mjs",
|
|
"js_bytes": 588919,
|
|
"content_sha256": "d28f500a0d70f6e9364958dd7b4d446ceb7f3ce96584d6ef509d286fc2e86e86",
|
|
"modules": [],
|
|
"compat_date": "2025-02-19",
|
|
"compat_flags": [
|
|
"nodejs_compat",
|
|
"global_fetch_strictly_public"
|
|
],
|
|
"requires": {
|
|
"kv": [
|
|
"EXEC_CONTEXT",
|
|
"WEBHOOKS",
|
|
"CREDENTIALS_KV",
|
|
"ANALYTICS_KV",
|
|
"RECIPES",
|
|
"USERS_KV",
|
|
"SESSIONS_KV"
|
|
],
|
|
"d1": [
|
|
{
|
|
"binding": "CREDENTIALS_DB",
|
|
"database_name": "arcrun-kbdb"
|
|
}
|
|
],
|
|
"vectorize": 0,
|
|
"ai": true,
|
|
"vars": {
|
|
"ENVIRONMENT": "production",
|
|
"CF_ACCOUNT_ID": "",
|
|
"WORKER_SUBDOMAIN": "uncle6-me",
|
|
"KBDB_BASE_URL": "https://arcrun-kbdb.uncle6-me.workers.dev",
|
|
"CONSOLE_TENANT": "leo",
|
|
"PORTAL_SESSION_TTL": "604800",
|
|
"PORTAL_SHOW_WORKFLOWS": "admin",
|
|
"GITEA_BASE_URL": "https://git.uncle6.me",
|
|
"GITEA_SPRINT_REPO": "Leo/InkStoneCo",
|
|
"GITEA_SPRINT_DIR": "system-dev/docs/3-specs/autonomy-dispatch"
|
|
}
|
|
},
|
|
"stripped": {
|
|
"services": 13
|
|
},
|
|
"warnings": []
|
|
},
|
|
{
|
|
"name": "arcrun-kbdb",
|
|
"source_dir": "kbdb",
|
|
"source_commit": "614fe448124dbd25d8228e37723473f1704f3a7a",
|
|
"main_module": "worker.mjs",
|
|
"main_file": "arcrun-kbdb/worker.mjs",
|
|
"js_bytes": 151412,
|
|
"content_sha256": "f15e16cca6cefb0d8631759c27fec58cd36262abf6aed7853f3b35c6e8e1e09b",
|
|
"modules": [],
|
|
"compat_date": "2025-02-19",
|
|
"compat_flags": [
|
|
"nodejs_compat"
|
|
],
|
|
"requires": {
|
|
"kv": [],
|
|
"d1": [
|
|
{
|
|
"binding": "DB",
|
|
"database_name": "arcrun-kbdb"
|
|
}
|
|
],
|
|
"vectorize": 0,
|
|
"ai": false,
|
|
"vars": {
|
|
"ENVIRONMENT": "production"
|
|
}
|
|
},
|
|
"warnings": []
|
|
},
|
|
{
|
|
"name": "arcrun-http-request",
|
|
"source_dir": ".component-builds/http_request",
|
|
"source_commit": "1e85dfb49b0e8d81c0854781d93ee4e6a300c7b3",
|
|
"main_module": "worker.mjs",
|
|
"main_file": "arcrun-http-request/worker.mjs",
|
|
"js_bytes": 80079,
|
|
"content_sha256": "cdd97364f277587cbade69e09bb40812c68f26a1e8bc9aa632c65b1b962b0b85",
|
|
"modules": [
|
|
{
|
|
"name": "component.wasm",
|
|
"type": "application/wasm",
|
|
"file": "arcrun-http-request/component.wasm",
|
|
"sha256": "cc15cc785703e7bbb8dbff2d38dc84a4ac24e2f44316182730abae0f170ef133"
|
|
}
|
|
],
|
|
"compat_date": "2025-02-19",
|
|
"compat_flags": [
|
|
"nodejs_compat",
|
|
"global_fetch_strictly_public"
|
|
],
|
|
"requires": {
|
|
"kv": [],
|
|
"d1": [],
|
|
"vectorize": 0,
|
|
"ai": false,
|
|
"vars": {
|
|
"COMPONENT_ID": "http_request"
|
|
}
|
|
},
|
|
"warnings": []
|
|
},
|
|
{
|
|
"name": "arcrun-code",
|
|
"source_dir": "registry/components/code",
|
|
"source_commit": "621cb8d948d61be6202063fd02effb3f538437fe",
|
|
"main_module": "worker.mjs",
|
|
"main_file": "arcrun-code/worker.mjs",
|
|
"js_bytes": 153758,
|
|
"content_sha256": "751634a3fc9a99cc2da662026818d754c48f031d10bff3b3be2d3a8ee2311bd6",
|
|
"modules": [
|
|
{
|
|
"name": "quickjs.wasm",
|
|
"type": "application/wasm",
|
|
"file": "arcrun-code/quickjs.wasm",
|
|
"sha256": "105c3bed22d457e43e3d1c3c1c6959fda62a8fe06f0fc8a985303c3a2be72232"
|
|
}
|
|
],
|
|
"compat_date": "2025-02-19",
|
|
"compat_flags": [],
|
|
"requires": {
|
|
"kv": [],
|
|
"d1": [],
|
|
"vectorize": 0,
|
|
"ai": false,
|
|
"vars": {
|
|
"COMPONENT_ID": "code"
|
|
}
|
|
},
|
|
"warnings": []
|
|
},
|
|
{
|
|
"name": "arcrun-mcp",
|
|
"source_dir": "mcp",
|
|
"source_commit": "1ccee0055ebdb1f6d74094df3e807f56b849fa6f",
|
|
"main_module": "worker.mjs",
|
|
"main_file": "arcrun-mcp/worker.mjs",
|
|
"js_bytes": 1192612,
|
|
"content_sha256": "9bc8dffb34d0f36608a78b2cfeb8ee8b5c793f52b4497f5d4d5f69f70700972e",
|
|
"modules": [],
|
|
"compat_date": "2024-11-27",
|
|
"compat_flags": [
|
|
"nodejs_compat"
|
|
],
|
|
"requires": {
|
|
"kv": [
|
|
"OAUTH_KV"
|
|
],
|
|
"d1": [],
|
|
"vectorize": 0,
|
|
"ai": false,
|
|
"vars": {}
|
|
},
|
|
"warnings": []
|
|
}
|
|
],
|
|
"notes": []
|
|
} |