mirror of
https://github.com/joelhooks/joelclaw.git
synced 2026-09-19 01:24:04 +08:00
997275cce6
joelclaw recall and voice recall now answer from Brain/observation stores (19 tests). memory_observations archived to NAS (28,050 docs, 238MB, sha d2f3038d, verified) and dropped. Zombie functions (reflect/review-promote/proposal-triage/batch-review) unregistered and deleted with the MEM/FRIC suites (-6,306 lines). System log retired: panda copy snapshotted (3,981 lines, sha 4e8e815d), slog write path / system-logger / sync + backup + PDS mirror removed. Per decisions decide-legacy-memory-retirement + decide-system-log-home.
87 lines
2.7 KiB
TypeScript
87 lines
2.7 KiB
TypeScript
import { syncPiMonoArtifacts } from "../../packages/restate/src/pi-mono-artifacts";
|
|
import { runDailyDigest } from "../../packages/system-bus/src/inngest/functions/daily-digest";
|
|
import {
|
|
runSkillGardenAudit,
|
|
} from "../../packages/system-bus/src/inngest/functions/skill-garden";
|
|
import { runSubscriptionCheckFeeds } from "../../packages/system-bus/src/inngest/functions/subscriptions";
|
|
import {
|
|
indexBlogPosts,
|
|
indexVaultNotes,
|
|
runTypesenseFullSync,
|
|
syncSystemKnowledge,
|
|
} from "../../packages/system-bus/src/inngest/functions/typesense-sync";
|
|
|
|
const args = process.argv.slice(2);
|
|
const getArg = (flag: string): string | undefined => {
|
|
const index = args.indexOf(flag);
|
|
return index === -1 ? undefined : args[index + 1];
|
|
};
|
|
|
|
const task = getArg("--task")?.trim();
|
|
const argsJson = getArg("--args-json")?.trim() ?? "{}";
|
|
|
|
if (!task) {
|
|
console.error("Missing required --task");
|
|
process.exit(1);
|
|
}
|
|
|
|
let parsedArgs: Record<string, unknown> = {};
|
|
try {
|
|
parsedArgs = JSON.parse(argsJson);
|
|
} catch (error) {
|
|
console.error(`Invalid --args-json payload: ${error instanceof Error ? error.message : String(error)}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
async function run() {
|
|
switch (task) {
|
|
case "skill-garden":
|
|
return runSkillGardenAudit({
|
|
deep: parsedArgs.deep === true,
|
|
});
|
|
|
|
case "typesense-vault-sync":
|
|
return indexVaultNotes();
|
|
|
|
case "typesense-blog-sync":
|
|
return indexBlogPosts();
|
|
|
|
case "typesense-system-knowledge-sync":
|
|
return syncSystemKnowledge();
|
|
|
|
case "typesense-full-sync":
|
|
return runTypesenseFullSync();
|
|
|
|
case "daily-digest":
|
|
return runDailyDigest();
|
|
|
|
case "subscription-check-feeds":
|
|
return runSubscriptionCheckFeeds({
|
|
forceAll: parsedArgs.forceAll === true,
|
|
source: typeof parsedArgs.source === "string" ? parsedArgs.source : "restate/dkron",
|
|
});
|
|
|
|
case "pi-mono-artifacts-sync":
|
|
return syncPiMonoArtifacts({
|
|
repo: typeof parsedArgs.repo === "string" ? parsedArgs.repo : undefined,
|
|
localClonePath: typeof parsedArgs.localClonePath === "string" ? parsedArgs.localClonePath : undefined,
|
|
fullBackfill: parsedArgs.fullBackfill === true,
|
|
maxPages: typeof parsedArgs.maxPages === "number" ? parsedArgs.maxPages : undefined,
|
|
perPage: typeof parsedArgs.perPage === "number" ? parsedArgs.perPage : undefined,
|
|
materializeProfile: parsedArgs.materializeProfile !== false,
|
|
});
|
|
|
|
default:
|
|
throw new Error(`Unknown tier-1 task: ${task}`);
|
|
}
|
|
}
|
|
|
|
try {
|
|
const result = await run();
|
|
console.log(JSON.stringify(result, null, 2));
|
|
} catch (error) {
|
|
const message = error instanceof Error ? error.message : String(error);
|
|
console.error(message);
|
|
process.exit(1);
|
|
}
|