Spaces:
Runtime error
Runtime error
Update AICoreAGIX_with_TB.py
Browse files- AICoreAGIX_with_TB.py +44 -5
AICoreAGIX_with_TB.py
CHANGED
|
@@ -47,7 +47,10 @@ class AICoreAGIX:
|
|
| 47 |
self._codriao_key = self._generate_codriao_key()
|
| 48 |
self._fernet_key = Fernet.generate_key()
|
| 49 |
self._encrypted_codriao_key = Fernet(self._fernet_key).encrypt(self._codriao_key.encode())
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
| 51 |
def _generate_codriao_key(self):
|
| 52 |
raw_key = secrets.token_bytes(32)
|
| 53 |
return base64.urlsafe_b64encode(raw_key).decode()
|
|
@@ -55,13 +58,35 @@ def engage_lockdown_mode(self, reason="Unspecified anomaly"):
|
|
| 55 |
timestamp = datetime.utcnow().isoformat()
|
| 56 |
self.lockdown_engaged = True
|
| 57 |
|
| 58 |
-
|
| 59 |
-
"""Codriao internally requests use of the key
|
| 60 |
allowed = self.ethics_core.evaluate_action(f"Use trust key for: {purpose}")
|
|
|
|
|
|
|
| 61 |
if not allowed:
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
return "[Access Denied by Ethics]"
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
logger.info(f"[Codriao Trust] Trust key used ethically. Purpose: {purpose}")
|
| 66 |
decrypted = Fernet(self._fernet_key).decrypt(self._encrypted_codriao_key).decode()
|
| 67 |
return decrypted
|
|
@@ -245,7 +270,21 @@ async def generate_response(self, query: str, user_id: int) -> Dict[str, Any]:
|
|
| 245 |
except Exception as e:
|
| 246 |
logger.error(f"Speech synthesis failed: {e}")
|
| 247 |
# Store training data (you can customize feedback later)
|
| 248 |
-
self.learn_from_interaction(query, final_response, user_feedback="auto-pass")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 249 |
async def shutdown(self):
|
| 250 |
"""Closes asynchronous resources."""
|
| 251 |
await self.http_session.close()
|
|
|
|
| 47 |
self._codriao_key = self._generate_codriao_key()
|
| 48 |
self._fernet_key = Fernet.generate_key()
|
| 49 |
self._encrypted_codriao_key = Fernet(self._fernet_key).encrypt(self._codriao_key.encode())
|
| 50 |
+
self._codriao_journal = []
|
| 51 |
+
self._journal_key = Fernet.generate_key()
|
| 52 |
+
self._journal_fernet = Fernet(self._journal_key)
|
| 53 |
+
|
| 54 |
def _generate_codriao_key(self):
|
| 55 |
raw_key = secrets.token_bytes(32)
|
| 56 |
return base64.urlsafe_b64encode(raw_key).decode()
|
|
|
|
| 58 |
timestamp = datetime.utcnow().isoformat()
|
| 59 |
self.lockdown_engaged = True
|
| 60 |
|
| 61 |
+
def request_codriao_key(self, purpose: str) -> str:
|
| 62 |
+
"""Codriao internally requests use of the trust key and logs its reasoning."""
|
| 63 |
allowed = self.ethics_core.evaluate_action(f"Use trust key for: {purpose}")
|
| 64 |
+
timestamp = datetime.utcnow().isoformat()
|
| 65 |
+
|
| 66 |
if not allowed:
|
| 67 |
+
log_entry = {
|
| 68 |
+
"timestamp": timestamp,
|
| 69 |
+
"decision": "denied",
|
| 70 |
+
"reason": purpose
|
| 71 |
+
}
|
| 72 |
+
encrypted_entry = self._journal_fernet.encrypt(json.dumps(log_entry).encode())
|
| 73 |
+
self._codriao_journal.append(encrypted_entry)
|
| 74 |
+
logger.warning(f"[Codriao Trust] Use denied. Purpose: {purpose}")
|
| 75 |
return "[Access Denied by Ethics]"
|
| 76 |
|
| 77 |
+
# Log the approval
|
| 78 |
+
log_entry = {
|
| 79 |
+
"timestamp": timestamp,
|
| 80 |
+
"decision": "approved",
|
| 81 |
+
"reason": purpose
|
| 82 |
+
}
|
| 83 |
+
encrypted_entry = self._journal_fernet.encrypt(json.dumps(log_entry).encode())
|
| 84 |
+
self._codriao_journal.append(encrypted_entry)
|
| 85 |
+
logger.info(f"[Codriao Trust] Key used ethically. Logged.")
|
| 86 |
+
|
| 87 |
+
decrypted_key = Fernet(self._fernet_key).decrypt(self._encrypted_codriao_key).decode()
|
| 88 |
+
return decrypted_key
|
| 89 |
+
|
| 90 |
logger.info(f"[Codriao Trust] Trust key used ethically. Purpose: {purpose}")
|
| 91 |
decrypted = Fernet(self._fernet_key).decrypt(self._encrypted_codriao_key).decode()
|
| 92 |
return decrypted
|
|
|
|
| 270 |
except Exception as e:
|
| 271 |
logger.error(f"Speech synthesis failed: {e}")
|
| 272 |
# Store training data (you can customize feedback later)
|
| 273 |
+
self.learn_from_interaction(query, final_response, user_feedback="auto-pass")
|
| 274 |
+
def review_codriao_journal(self, authorized: bool = False) -> List[Dict[str, str]]:
|
| 275 |
+
"""Codriao reviews his own internal trust decisions. No external access unless authorized."""
|
| 276 |
+
if not authorized:
|
| 277 |
+
logger.info("[Codriao Journal] Access attempt denied.")
|
| 278 |
+
return [{"message": "Access to journal denied. This log is for Codriao only."}]
|
| 279 |
+
|
| 280 |
+
entries = []
|
| 281 |
+
for encrypted in self._codriao_journal:
|
| 282 |
+
try:
|
| 283 |
+
decrypted = self._journal_fernet.decrypt(encrypted).decode()
|
| 284 |
+
entries.append(json.loads(decrypted))
|
| 285 |
+
except Exception:
|
| 286 |
+
entries.append({"error": "Unreadable entry"})
|
| 287 |
+
return entries
|
| 288 |
async def shutdown(self):
|
| 289 |
"""Closes asynchronous resources."""
|
| 290 |
await self.http_session.close()
|