sync: auto-sync from GURU-5070 at 2026-06-04 09:45:37

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-04 09:45:37
This commit is contained in:
2026-06-04 09:45:42 -07:00
parent c2b137a739
commit 9f565f5808
9 changed files with 404 additions and 53 deletions

View File

@@ -192,6 +192,17 @@ def c_lock_list(a):
print(f" {str(l.get('id',''))[:8]} {l.get('project_key')}:{l.get('resource')} by {l.get('session_id')} exp {l.get('expires_at')}")
def c_comp_set(a):
payload = {"state": a.state, "updated_by": SESSION}
if a.version:
payload["version"] = a.version
if a.notes:
payload["notes"] = a.notes
st, r = call("PUT", f"/components/{a.project}/{a.component}", payload)
die(st, r, ok=(200, 201))
print(f"[coord] component {a.project}/{a.component} -> state={a.state}" + (f" v{a.version}" if a.version else ""))
def main():
p = argparse.ArgumentParser(prog="coord.py", description="ClaudeTools coordination API helper")
sub = p.add_subparsers(dest="cmd", required=True)
@@ -212,6 +223,10 @@ def main():
tl.add_argument("--status", default="pending"); tl.set_defaults(fn=c_todo_list)
td = t.add_parser("done"); td.add_argument("id"); td.set_defaults(fn=c_todo_done)
cp = sub.add_parser("component").add_subparsers(dest="sub", required=True)
cs = cp.add_parser("set"); cs.add_argument("project"); cs.add_argument("component"); cs.add_argument("state")
cs.add_argument("--version"); cs.add_argument("--notes"); cs.set_defaults(fn=c_comp_set)
lk = sub.add_parser("lock").add_subparsers(dest="sub", required=True)
lc = lk.add_parser("claim"); lc.add_argument("project"); lc.add_argument("resource")
lc.add_argument("desc"); lc.add_argument("--ttl", type=int, default=2); lc.set_defaults(fn=c_lock_claim)