Coverage for node / src / stigmem_node / routes / wellknown.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-05-25 01:49 +0000

1"""Node metadata endpoint — Spec-03-HTTP-API /.well-known/stigmem.""" 

2 

3from __future__ import annotations 

4 

5from fastapi import APIRouter 

6 

7from ..db import get_or_create_node_id 

8from ..settings import settings as settings 

9 

10router = APIRouter(tags=["discovery"]) 

11 

12_NAMESPACES = [ 

13 "stigmem:", 

14 "rel:", 

15 "memory:", 

16 "intent:", 

17 "roadmap:", 

18 "preference:", 

19 "garden:", 

20] 

21 

22 

23@router.get("/.well-known/stigmem") 

24def node_metadata() -> dict[str, object]: 

25 """Return node identity, auth mode, and federation capability advertisement. 

26 

27 Covered by Spec-03-HTTP-API. 

28 """ 

29 node_id = get_or_create_node_id() 

30 result: dict[str, object] = { 

31 "version": "1.0", 

32 "node_id": node_id, 

33 "node_url": settings.node_url, 

34 "auth": "required" if settings.auth_required else "none", 

35 "federation": "enabled" if settings.federation_enabled else "disabled", 

36 "source_attestation": settings.source_attestation_mode, 

37 "namespaces": _NAMESPACES, 

38 "spec": "https://github.com/eidetic-labs/stigmem/blob/main/spec/stigmem-spec-v1.0.md", 

39 "cors": { 

40 "dev_localhost": settings.cors_dev_localhost, 

41 "configured": bool( 

42 settings.cors_allowed_origins 

43 or settings.cors_allowed_origin_regex 

44 or settings.cors_dev_localhost 

45 ), 

46 }, 

47 } 

48 

49 if settings.federation_enabled: 

50 from ..federation.peer_token import get_local_pubkey 

51 

52 result["federation_pubkey"] = get_local_pubkey() 

53 result["federation_version"] = "0.5" 

54 result["federation_endpoints"] = { 

55 "peers": "/v1/federation/peers", 

56 "facts": "/v1/federation/facts", 

57 "push": "/v1/federation/facts/push" if settings.federation_push_enabled else None, 

58 } 

59 

60 return result