Project-Rivet / v2 /kintsugi_core.py
HumboldtJoker's picture
Upload folder using huggingface_hub
4554903 verified
Raw
History Blame Contribute Delete
2.09 kB
"""Kintsugi core loader — real package first, vendored copy as fallback.
Resolution order:
1. `KINTSUGI_PATH` env var pointing at a Project-Kintsugi checkout
2. an installed/importable `kintsugi` package
3. the vendored verbatim copy in v2/kintsugi_vendor/
Everything downstream imports Kintsugi symbols from THIS module, so the
same Rivet code runs against the real engine on a dev box and against
the vendor copy on a bare deployment target.
"""
import os
import sys
from pathlib import Path
_VENDOR = Path(__file__).parent / "kintsugi_vendor"
KINTSUGI_SOURCE = "unresolved"
def _resolve() -> None:
global KINTSUGI_SOURCE
env_path = os.environ.get("KINTSUGI_PATH")
if env_path and (Path(env_path) / "kintsugi" / "__init__.py").exists():
sys.path.insert(0, env_path)
KINTSUGI_SOURCE = f"checkout:{env_path}"
return
try:
import kintsugi # noqa: F401
KINTSUGI_SOURCE = "installed"
return
except ImportError:
pass
sys.path.insert(0, str(_VENDOR))
KINTSUGI_SOURCE = f"vendor:{_VENDOR}"
_resolve()
from kintsugi.bdi import ( # noqa: E402
BDIBelief,
BDIDesire,
BDIIntention,
BDISnapshot,
BDIStore,
BeliefStatus,
DesireStatus,
IntentionStatus,
)
from kintsugi.skills.base import ( # noqa: E402
BaseSkillChip,
EFEWeights,
SkillCapability,
SkillContext,
SkillDomain,
SkillRequest,
SkillResponse,
)
from kintsugi.skills.dag import ( # noqa: E402
DAGBuilder,
DAGExecutor,
DAGNode,
DAGResult,
SkillDAG,
)
from kintsugi.skills.registry import SkillRegistry # noqa: E402
__all__ = [
"KINTSUGI_SOURCE",
"BDIBelief",
"BDIDesire",
"BDIIntention",
"BDISnapshot",
"BDIStore",
"BeliefStatus",
"DesireStatus",
"IntentionStatus",
"BaseSkillChip",
"EFEWeights",
"SkillCapability",
"SkillContext",
"SkillDomain",
"SkillRequest",
"SkillResponse",
"DAGBuilder",
"DAGExecutor",
"DAGNode",
"DAGResult",
"SkillDAG",
"SkillRegistry",
]