Files
arcrun-collector/config.js
T
Leo 4ca94c17ca T3: collector 骨架——watch→轉檔→git commit/push(design §4)
Node 單檔服務(非 arcrun workflow,跑客戶端機器):chokidar watch 事件驅動、debounce
合併批次 commit、.md passthrough(非 md 格式誠實丟 NotImplemented 待 T4 Markitdown)、
刪檔→target repo 移除對應檔(deprecated 標記留給 ingest workflow,collector 只管檔案鏡像)。

已驗(雲端 sandbox scratch 環境,非真實客戶環境):node --check 全過;起 scratch watch dir
+ scratch git repo + bare remote,實測 add/change/delete 三種事件皆正確偵測、debounce 正確
合併成一次 commit、git push 真的送達 remote(git log 驗證)、非 md 格式正確跳過並警告。

端到端待本機/客戶環境驗(README.md 已列):真實 NAS/VM watch、真實 Gitea remote+憑證、
Gitea push webhook 真觸發 ingest、systemd 常駐穩定性。
2026-07-07 21:08:21 +00:00

21 lines
622 B
JavaScript

function requireEnv(name) {
const v = process.env[name];
if (!v) {
throw new Error(`collector: 缺少環境變數 ${name}(見 README.md 設定表)`);
}
return v;
}
function loadConfig() {
return {
watchDir: requireEnv('WATCH_DIR'),
targetRepoDir: requireEnv('TARGET_REPO_DIR'),
targetSubdir: process.env.TARGET_SUBDIR || 'collected/',
debounceMs: parseInt(process.env.DEBOUNCE_MS || '3000', 10),
gitAuthorName: process.env.GIT_AUTHOR_NAME || 'collector',
gitAuthorEmail: process.env.GIT_AUTHOR_EMAIL || 'collector@localhost',
};
}
module.exports = { loadConfig, requireEnv };