mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-01 14:43:28 +08:00
fix: repair opencode config and project metadata
This commit is contained in:
committed by
Affaan Mustafa
parent
dba4c462c4
commit
da4db99c94
@@ -142,6 +142,7 @@ _clv2_update_project_registry() {
|
||||
local pname="$2"
|
||||
local proot="$3"
|
||||
local premote="$4"
|
||||
local pdir="$_CLV2_PROJECT_DIR"
|
||||
|
||||
mkdir -p "$(dirname "$_CLV2_REGISTRY_FILE")"
|
||||
|
||||
@@ -155,27 +156,55 @@ _clv2_update_project_registry() {
|
||||
_CLV2_REG_PNAME="$pname" \
|
||||
_CLV2_REG_PROOT="$proot" \
|
||||
_CLV2_REG_PREMOTE="$premote" \
|
||||
_CLV2_REG_PDIR="$pdir" \
|
||||
_CLV2_REG_FILE="$_CLV2_REGISTRY_FILE" \
|
||||
"$_CLV2_PYTHON_CMD" -c '
|
||||
import json, os
|
||||
import json, os, tempfile
|
||||
from datetime import datetime, timezone
|
||||
|
||||
registry_path = os.environ["_CLV2_REG_FILE"]
|
||||
project_dir = os.environ["_CLV2_REG_PDIR"]
|
||||
project_file = os.path.join(project_dir, "project.json")
|
||||
|
||||
os.makedirs(project_dir, exist_ok=True)
|
||||
|
||||
def atomic_write_json(path, payload):
|
||||
fd, tmp_path = tempfile.mkstemp(
|
||||
prefix=f".{os.path.basename(path)}.tmp.",
|
||||
dir=os.path.dirname(path),
|
||||
text=True,
|
||||
)
|
||||
try:
|
||||
with os.fdopen(fd, "w") as f:
|
||||
json.dump(payload, f, indent=2)
|
||||
f.write("\n")
|
||||
os.replace(tmp_path, path)
|
||||
finally:
|
||||
if os.path.exists(tmp_path):
|
||||
os.unlink(tmp_path)
|
||||
|
||||
try:
|
||||
with open(registry_path) as f:
|
||||
registry = json.load(f)
|
||||
except (FileNotFoundError, json.JSONDecodeError):
|
||||
registry = {}
|
||||
|
||||
registry[os.environ["_CLV2_REG_PID"]] = {
|
||||
now = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")
|
||||
entry = registry.get(os.environ["_CLV2_REG_PID"], {})
|
||||
|
||||
metadata = {
|
||||
"id": os.environ["_CLV2_REG_PID"],
|
||||
"name": os.environ["_CLV2_REG_PNAME"],
|
||||
"root": os.environ["_CLV2_REG_PROOT"],
|
||||
"remote": os.environ["_CLV2_REG_PREMOTE"],
|
||||
"last_seen": datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")
|
||||
"created_at": entry.get("created_at", now),
|
||||
"last_seen": now,
|
||||
}
|
||||
|
||||
with open(registry_path, "w") as f:
|
||||
json.dump(registry, f, indent=2)
|
||||
registry[os.environ["_CLV2_REG_PID"]] = metadata
|
||||
|
||||
atomic_write_json(project_file, metadata)
|
||||
atomic_write_json(registry_path, registry)
|
||||
' 2>/dev/null || true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user