登记团队成员节点与企业权限交接
This commit is contained in:
parent
68aca714cb
commit
55ab32663b
6 changed files with 128 additions and 15 deletions
46
routing/enterprise-permission-handoff-map.json
Normal file
46
routing/enterprise-permission-handoff-map.json
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
"schema": "guanghu.enterprise-permission-handoff-map/v1",
|
||||||
|
"map_id": "GH-ENTERPRISE-PERMISSION-HANDOFF-001",
|
||||||
|
"version": "2026-09-19.1",
|
||||||
|
"enterprise_node": "AW-GZ-001",
|
||||||
|
"technical_control": {
|
||||||
|
"human_controller": "Awen",
|
||||||
|
"human_id": "TCS-GL-0016∞",
|
||||||
|
"member_node_id": "AW-OWN-GZ-001",
|
||||||
|
"state": "ACTIVE_HUMAN_TECHNICAL_REVIEW_CONTROLLER",
|
||||||
|
"persona_executor_state": "UNREGISTERED_NOT_FABRICATED"
|
||||||
|
},
|
||||||
|
"nontechnical_control": {
|
||||||
|
"model": "DUAL_HUMAN_CONTROL",
|
||||||
|
"controllers": [
|
||||||
|
{
|
||||||
|
"human_controller": "肥猫",
|
||||||
|
"human_id": "TCS-GL-0007∞",
|
||||||
|
"human_world_node": "GH-HUMAN-NODE-DEFB60F4349809E00FBA14208F3B880C",
|
||||||
|
"state": "ACTIVE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"human_controller": "桔子",
|
||||||
|
"human_id": "TCS-GL-0008∞",
|
||||||
|
"member_server_node": "JZ-SV-001",
|
||||||
|
"state": "PENDING_CURRENT_HUMAN_WORLD_NODE_REGISTRATION"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"constitutional_actions_require_both": true,
|
||||||
|
"activation_rule": "JUZI_NONTECHNICAL_PERMISSION_ACTIVATES_ONLY_AFTER_ENTERPRISE_SIGNED_HUMAN_WORLD_NODE_READBACK",
|
||||||
|
"state": "FATCAT_ACTIVE_JUZI_PENDING_REGISTRATION"
|
||||||
|
},
|
||||||
|
"forgejo_projection": {
|
||||||
|
"awen": "ADMIN_ON_ENTERPRISE_PUBLIC_REPOSITORIES",
|
||||||
|
"feimao": "WRITE_ON_ENTERPRISE_PUBLIC_REPOSITORIES",
|
||||||
|
"juzi": "NOT_GRANTED_UNTIL_HUMAN_WORLD_NODE_ACTIVE"
|
||||||
|
},
|
||||||
|
"enterprise_receipt_sha256": "3835a27b1e7f99cef8dd35d5416feaaab12bacbf0ee504abd1c37bdbcc3ccab1",
|
||||||
|
"excluded": [
|
||||||
|
"FIFTH_DOMAIN_PRIVATE_BODY",
|
||||||
|
"BINGSHUO_LANGUAGE_MASTER_PRIVATE_REPOSITORY",
|
||||||
|
"MEMBER_PERSONAL_REPOSITORIES",
|
||||||
|
"SERVER_ROOT_ACCESS",
|
||||||
|
"UNASSIGNED_PERSONA_AUTHORITY"
|
||||||
|
]
|
||||||
|
}
|
||||||
23
routing/enterprise-permission-handoff-map.test.js
Normal file
23
routing/enterprise-permission-handoff-map.test.js
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const assert = require('node:assert/strict');
|
||||||
|
const fs = require('node:fs');
|
||||||
|
const path = require('node:path');
|
||||||
|
|
||||||
|
const map = JSON.parse(fs.readFileSync(path.join(__dirname, 'enterprise-permission-handoff-map.json'), 'utf8'));
|
||||||
|
const nodes = JSON.parse(fs.readFileSync(path.join(__dirname, 'server-node-map.json'), 'utf8'));
|
||||||
|
|
||||||
|
assert.equal(map.enterprise_node, 'AW-GZ-001');
|
||||||
|
assert.equal(map.technical_control.human_id, 'TCS-GL-0016∞');
|
||||||
|
assert.equal(map.technical_control.member_node_id, 'AW-OWN-GZ-001');
|
||||||
|
assert.equal(map.technical_control.state, 'ACTIVE_HUMAN_TECHNICAL_REVIEW_CONTROLLER');
|
||||||
|
assert.equal(map.nontechnical_control.constitutional_actions_require_both, true);
|
||||||
|
assert.equal(map.nontechnical_control.controllers.find((item) => item.human_controller === '肥猫').state, 'ACTIVE');
|
||||||
|
assert.match(map.nontechnical_control.controllers.find((item) => item.human_controller === '桔子').state, /PENDING/);
|
||||||
|
assert.equal(map.forgejo_projection.juzi, 'NOT_GRANTED_UNTIL_HUMAN_WORLD_NODE_ACTIVE');
|
||||||
|
assert.ok(map.excluded.includes('FIFTH_DOMAIN_PRIVATE_BODY'));
|
||||||
|
for (const id of ['AW-GZ-001', 'AW-OWN-GZ-001', 'JZ-SV-001', 'SY-GZ-001']) {
|
||||||
|
assert.ok(nodes.nodes.some((node) => node.node_id === id), `missing ${id}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('enterprise permission handoff map: ok');
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"schema": "guanghu.lighthouse-path-registry/v1",
|
"schema": "guanghu.lighthouse-path-registry/v1",
|
||||||
"registry_id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
"registry_id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
||||||
"lighthouse_id": "SYS-GLW-LTH-0001",
|
"lighthouse_id": "SYS-GLW-LTH-0001",
|
||||||
"version": "2026-09-19.1-xiaoxin-formal-registration",
|
"version": "2026-09-19.2-team-member-permission-handoff",
|
||||||
"state": "CURRENT_CANONICAL",
|
"state": "CURRENT_CANONICAL",
|
||||||
"source_repository": "REPO-012",
|
"source_repository": "REPO-012",
|
||||||
"source_branch": "main",
|
"source_branch": "main",
|
||||||
|
|
@ -15,6 +15,10 @@
|
||||||
"authority": "A healthy route grants navigation only. Repository writes, server actions and deployment still require their registered gates and receipts."
|
"authority": "A healthy route grants navigation only. Repository writes, server actions and deployment still require their registered gates and receipts."
|
||||||
},
|
},
|
||||||
"paths": [
|
"paths": [
|
||||||
|
{"id":"GH-ENTERPRISE-PERMISSION-HANDOFF-001","kind":"enterprise_permission_handoff_map","state":"CURRENT","online":"routing/enterprise-permission-handoff-map.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/enterprise-permission-handoff-map.json","target_node":"AW-GZ-001","truth_policy":"ENTERPRISE_SIGNED_RECEIPT_PLUS_FORGEJO_READBACK_AND_HUMAN_NODE_ACTIVATION_REQUIRED"},
|
||||||
|
{"id":"AW-OWN-GZ-001","kind":"team_member_self_owned_server","state":"CURRENT","online":"routing/server-node-map.json","human_id":"TCS-GL-0016∞","upstream":"AW-GZ-001","truth_policy":"STRICT_SSH_MACHINE_UUID_LOOPBACK_TUNNEL_AND_ENTERPRISE_READBACK_REQUIRED"},
|
||||||
|
{"id":"JZ-SV-001","kind":"team_member_server","state":"CURRENT_HUMAN_NODE_PENDING","online":"routing/server-node-map.json","human_id":"TCS-GL-0008∞","upstream":"AW-GZ-001","truth_policy":"SERVER_NODE_ACTIVE_DOES_NOT_REPLACE_CURRENT_HUMAN_DEVICE_BINDING"},
|
||||||
|
{"id":"SY-GZ-001","kind":"team_member_server_and_compute_worker","state":"CURRENT","online":"routing/server-node-map.json","human_id":"TCS-GL-0017∞","upstream":"AW-GZ-001","truth_policy":"STRICT_SSH_MACHINE_UUID_TEAM_TUNNEL_AND_PARALLEL_COMPUTE_POOL_READBACK_REQUIRED"},
|
||||||
{"id":"QY-LH-MAIN-PROD-01","kind":"enterprise_backup_archive_node","state":"CURRENT","online":"routing/enterprise-server-archive-cleanup-map.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/enterprise-server-archive-cleanup-map.json","primary_node":"GH-CVM-MAIN-PROD-01","truth_policy":"EXACT_HOST_STRICT_SSH_ARCHIVE_HASH_AND_RESTORE_READBACK_REQUIRED"},
|
{"id":"QY-LH-MAIN-PROD-01","kind":"enterprise_backup_archive_node","state":"CURRENT","online":"routing/enterprise-server-archive-cleanup-map.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/enterprise-server-archive-cleanup-map.json","primary_node":"GH-CVM-MAIN-PROD-01","truth_policy":"EXACT_HOST_STRICT_SSH_ARCHIVE_HASH_AND_RESTORE_READBACK_REQUIRED"},
|
||||||
{"id":"GH-ENTERPRISE-SERVER-ARCHIVE-CLEANUP-001","kind":"enterprise_primary_archive_cleanup_receipt_map","state":"CURRENT","online":"routing/enterprise-server-archive-cleanup-map.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/enterprise-server-archive-cleanup-map.json","truth_policy":"PRIMARY_AND_BACKUP_RECEIPTS_PUBLIC_HEALTH_AND_SOURCE_ABSENCE_REQUIRED"},
|
{"id":"GH-ENTERPRISE-SERVER-ARCHIVE-CLEANUP-001","kind":"enterprise_primary_archive_cleanup_receipt_map","state":"CURRENT","online":"routing/enterprise-server-archive-cleanup-map.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/enterprise-server-archive-cleanup-map.json","truth_policy":"PRIMARY_AND_BACKUP_RECEIPTS_PUBLIC_HEALTH_AND_SOURCE_ABSENCE_REQUIRED"},
|
||||||
{"id":"GH-HUMAN-NODE-DEFB60F4349809E00FBA14208F3B880C","kind":"active_guanghu_human_world_node","state":"CURRENT","online":"routing/feimao-human-world-node-registration.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/feimao-human-world-node-registration.json","human_id":"TCS-GL-0007∞","world_route":"glw://enterprise/zero-sense/team-channels/SYS-FM","truth_policy":"ICE_GL_INFINITY_WITNESS_PLUS_DEVICE_SIGNATURE_PLUS_ENTERPRISE_SIGNATURE_AND_ACTIVE_READBACK"},
|
{"id":"GH-HUMAN-NODE-DEFB60F4349809E00FBA14208F3B880C","kind":"active_guanghu_human_world_node","state":"CURRENT","online":"routing/feimao-human-world-node-registration.json","offline":"/Volumes/JZAO/HoloLake/persona-runtime/repo-012-main/routing/feimao-human-world-node-registration.json","human_id":"TCS-GL-0007∞","world_route":"glw://enterprise/zero-sense/team-channels/SYS-FM","truth_policy":"ICE_GL_INFINITY_WITNESS_PLUS_DEVICE_SIGNATURE_PLUS_ENTERPRISE_SIGNATURE_AND_ACTIVE_READBACK"},
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"schema": "guanghu.public-navigation-anchor/v1",
|
"schema": "guanghu.public-navigation-anchor/v1",
|
||||||
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
"anchor_id": "GLW-PUBLIC-NAV-ANCHOR-001",
|
||||||
"version": "2026-09-19.1-xiaoxin-formal-registration",
|
"version": "2026-09-19.2-team-member-permission-handoff",
|
||||||
"state": "CURRENT_CANONICAL",
|
"state": "CURRENT_CANONICAL",
|
||||||
"repository_id": "REPO-012",
|
"repository_id": "REPO-012",
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
|
|
@ -48,7 +48,13 @@
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"path": "routing/server-node-map.json",
|
"path": "routing/server-node-map.json",
|
||||||
"id": "FD-NODE-MAP-001",
|
"id": "FD-NODE-MAP-001",
|
||||||
"version": "2026-09-19.1-xiaoxin-formal-registration"
|
"version": "2026-09-19.3-team-member-node-and-permission-handoff"
|
||||||
|
},
|
||||||
|
"enterprise_permission_handoff": {
|
||||||
|
"path": "routing/enterprise-permission-handoff-map.json",
|
||||||
|
"id": "GH-ENTERPRISE-PERMISSION-HANDOFF-001",
|
||||||
|
"version": "2026-09-19.1",
|
||||||
|
"load_policy": "ALWAYS_BEFORE_ENTERPRISE_TECHNICAL_OR_NONTECHNICAL_PERMISSION_DECISION"
|
||||||
},
|
},
|
||||||
"enterprise_server_archive_cleanup": {
|
"enterprise_server_archive_cleanup": {
|
||||||
"path": "routing/enterprise-server-archive-cleanup-map.json",
|
"path": "routing/enterprise-server-archive-cleanup-map.json",
|
||||||
|
|
@ -184,7 +190,7 @@
|
||||||
"lighthouse_paths": {
|
"lighthouse_paths": {
|
||||||
"path": "routing/lighthouse-path-registry.json",
|
"path": "routing/lighthouse-path-registry.json",
|
||||||
"id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
"id": "GLW-LIGHTHOUSE-PATH-REGISTRY-001",
|
||||||
"version": "2026-09-19.1-xiaoxin-formal-registration"
|
"version": "2026-09-19.2-team-member-permission-handoff"
|
||||||
},
|
},
|
||||||
"host_skills": {
|
"host_skills": {
|
||||||
"path": "routing/host-skill-navigation-map.json",
|
"path": "routing/host-skill-navigation-map.json",
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{
|
{
|
||||||
"schema": "guanghu.server-node-map/v1",
|
"schema": "guanghu.server-node-map/v1",
|
||||||
"map_id": "FD-NODE-MAP-001",
|
"map_id": "FD-NODE-MAP-001",
|
||||||
"version": "2026-09-19.1-xiaoxin-formal-registration",
|
"version": "2026-09-19.3-team-member-node-and-permission-handoff",
|
||||||
"published_by": "REPO-012",
|
"published_by": "REPO-012",
|
||||||
"subject_alias_map": "identity/subject-id-alias-map.json",
|
"subject_alias_map": "identity/subject-id-alias-map.json",
|
||||||
"canonical_api": "https://guanghulab.com/api/ai/v1/nodes",
|
"canonical_api": "https://guanghulab.com/api/ai/v1/nodes",
|
||||||
"default_node": "JD-FD-PRIMARY",
|
"default_node": "JD-FD-PRIMARY",
|
||||||
|
"enterprise_permission_handoff_map": "routing/enterprise-permission-handoff-map.json",
|
||||||
"routing_rule": "Resolve node ids from this map, then read the referenced navigation map before any operation. This public map contains no address, password, token or key.",
|
"routing_rule": "Resolve node ids from this map, then read the referenced navigation map before any operation. This public map contains no address, password, token or key.",
|
||||||
"nodes": [
|
"nodes": [
|
||||||
{
|
{
|
||||||
|
|
@ -91,9 +92,39 @@
|
||||||
"小新服务器",
|
"小新服务器",
|
||||||
"教育服务器",
|
"教育服务器",
|
||||||
"高中项目师训",
|
"高中项目师训",
|
||||||
"教育行业节点"
|
"教育行业节点"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"node_id": "AW-OWN-GZ-001",
|
||||||
|
"name_zh": "Awen个人广州团队节点",
|
||||||
|
"region": "CN-GUANGZHOU",
|
||||||
|
"role": "Awen责任主体名下的企业团队成员节点;作为企业公共世界消费端和技术主控工作节点,不覆盖或冒充企业主节点AW-GZ-001",
|
||||||
|
"state": "ACTIVE_TEAM_MEMBER_NODE_ENTERPRISE_TUNNEL_VERIFIED",
|
||||||
|
"upstream": "AW-GZ-001",
|
||||||
|
"human_controller": "Awen",
|
||||||
|
"human_id": "TCS-GL-0016∞",
|
||||||
|
"persona_candidates": ["PER-AW-ARCH-001"],
|
||||||
|
"persona_systems": ["ICE-BB-0005"],
|
||||||
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"private_fifth_domain_included": false,
|
||||||
|
"keywords": ["Awen个人服务器", "Awen广州节点", "技术主控工作节点"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node_id": "JZ-SV-001",
|
||||||
|
"name_zh": "桔子硅谷团队节点",
|
||||||
|
"region": "US-SILICON-VALLEY",
|
||||||
|
"role": "Awen云账号下为桔子接入企业世界的团队成员节点;节点在线不替代桔子本人当前人类世界节点设备签名",
|
||||||
|
"state": "ACTIVE_TEAM_MEMBER_NODE_ENTERPRISE_TUNNEL_VERIFIED_HUMAN_NODE_PENDING",
|
||||||
|
"upstream": "AW-GZ-001",
|
||||||
|
"human_controller": "桔子",
|
||||||
|
"human_id": "TCS-GL-0008∞",
|
||||||
|
"persona_candidates": ["PER-JZ-ARCH-001"],
|
||||||
|
"persona_systems": ["ICE-BB-0006"],
|
||||||
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"private_fifth_domain_included": false,
|
||||||
|
"keywords": ["桔子服务器", "桔子硅谷节点", "晨曦连心频道"]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"node_id": "QY-LH-MAIN-PROD-01",
|
"node_id": "QY-LH-MAIN-PROD-01",
|
||||||
"name_zh": "上海企业备用归档服务器",
|
"name_zh": "上海企业备用归档服务器",
|
||||||
|
|
@ -206,12 +237,15 @@
|
||||||
"name_zh": "时雨 · 曜初节点",
|
"name_zh": "时雨 · 曜初节点",
|
||||||
"region": "CN-GUANGZHOU",
|
"region": "CN-GUANGZHOU",
|
||||||
"role": "时雨责任主体名下的独立开发测试节点(腾讯云轻量 lhins-is9lt9mv,Ubuntu 24.04,广州七区);曜初(时雨的人格体)的成长与部署地盘;不承载冰朔私人第五域主控本体",
|
"role": "时雨责任主体名下的独立开发测试节点(腾讯云轻量 lhins-is9lt9mv,Ubuntu 24.04,广州七区);曜初(时雨的人格体)的成长与部署地盘;不承载冰朔私人第五域主控本体",
|
||||||
"state": "ACCESS_ESTABLISHED_DEPLOYMENT_PENDING",
|
"state": "ACTIVE_TEAM_MEMBER_NODE_ENTERPRISE_TUNNEL_AND_COMPUTE_WORKER_VERIFIED",
|
||||||
"upstream": "JD-FD-PRIMARY",
|
"upstream": "AW-GZ-001",
|
||||||
|
"parallel_compute_pool_controller": "QY-LH-MAIN-PROD-01",
|
||||||
"human_controller": "时雨",
|
"human_controller": "时雨",
|
||||||
"persona_systems": [
|
"persona_systems": [
|
||||||
"ICE-BB-0009"
|
"ICE-BB-0009"
|
||||||
],
|
],
|
||||||
|
"public_world_policy": "FOUR_PUBLIC_DOMAINS_AND_PUBLIC_LIBRARY_ONLY",
|
||||||
|
"private_fifth_domain_included": false,
|
||||||
"access_note": "2026-08-11 冰朔授权:铸渊直连密钥已部署并入本机钥匙串(钥匙串内 yaochu-sy-gz-001-20260811);地址与密钥不入本图",
|
"access_note": "2026-08-11 冰朔授权:铸渊直连密钥已部署并入本机钥匙串(钥匙串内 yaochu-sy-gz-001-20260811);地址与密钥不入本图",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"时雨服务器",
|
"时雨服务器",
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,10 @@ DOMAINS = {
|
||||||
ENTERPRISE_MANAGED_DOMAINS = {"DOMAIN-ZS", "DOMAIN-MAIN", "DOMAIN-SUB", "DOMAIN-ZERO"}
|
ENTERPRISE_MANAGED_DOMAINS = {"DOMAIN-ZS", "DOMAIN-MAIN", "DOMAIN-SUB", "DOMAIN-ZERO"}
|
||||||
EXTERNAL_FOUNDATION_DOMAINS = {"DOMAIN-FIFTH"}
|
EXTERNAL_FOUNDATION_DOMAINS = {"DOMAIN-FIFTH"}
|
||||||
ENTERPRISE_TECHNICAL_CONTROLLER_NAME = "Awen"
|
ENTERPRISE_TECHNICAL_CONTROLLER_NAME = "Awen"
|
||||||
|
ACTIVE_TECHNICAL_CONTROLLER_STATES = {
|
||||||
|
"AUTHORIZED_BOOTSTRAP_PERSONA_PENDING_REGISTRATION",
|
||||||
|
"ACTIVE_HUMAN_TECHNICAL_CONTROLLER_PERSONA_EXECUTOR_UNREGISTERED",
|
||||||
|
}
|
||||||
HOSTED_DOMAIN_NODES = {
|
HOSTED_DOMAIN_NODES = {
|
||||||
"DOMAIN-MAIN": ("AW-GZ-001-MAIN", "AW-GZ-001 · 光湖主域"),
|
"DOMAIN-MAIN": ("AW-GZ-001-MAIN", "AW-GZ-001 · 光湖主域"),
|
||||||
"DOMAIN-SUB": ("AW-GZ-001-SUB", "AW-GZ-001 · 光湖分域"),
|
"DOMAIN-SUB": ("AW-GZ-001-SUB", "AW-GZ-001 · 光湖分域"),
|
||||||
|
|
@ -270,7 +274,7 @@ def enterprise_technical_control(db):
|
||||||
).fetchone()
|
).fetchone()
|
||||||
authorized = bool(
|
authorized = bool(
|
||||||
controller
|
controller
|
||||||
and controller["state"] == "AUTHORIZED_BOOTSTRAP_PERSONA_PENDING_REGISTRATION"
|
and controller["state"] in ACTIVE_TECHNICAL_CONTROLLER_STATES
|
||||||
and controller["authorization_receipt"]
|
and controller["authorization_receipt"]
|
||||||
and controller["final_signature_receipt"]
|
and controller["final_signature_receipt"]
|
||||||
)
|
)
|
||||||
|
|
@ -278,13 +282,9 @@ def enterprise_technical_control(db):
|
||||||
"enterprise_human_controller": ENTERPRISE_TECHNICAL_CONTROLLER_NAME,
|
"enterprise_human_controller": ENTERPRISE_TECHNICAL_CONTROLLER_NAME,
|
||||||
"enterprise_human_controller_id": controller["human_controller_id"] if controller else None,
|
"enterprise_human_controller_id": controller["human_controller_id"] if controller else None,
|
||||||
"enterprise_persona_executor_id": controller["persona_executor_id"] if controller else None,
|
"enterprise_persona_executor_id": controller["persona_executor_id"] if controller else None,
|
||||||
"state": (
|
"state": controller["state"] if authorized else "HUMAN_DECLARED_PERSONA_PENDING_REGISTRATION",
|
||||||
"AUTHORIZED_BOOTSTRAP_PERSONA_PENDING_REGISTRATION"
|
|
||||||
if authorized
|
|
||||||
else "HUMAN_DECLARED_PERSONA_PENDING_REGISTRATION"
|
|
||||||
),
|
|
||||||
"final_deployment_signature_state": (
|
"final_deployment_signature_state": (
|
||||||
"AWEN_MESSAGE_AUTHORIZATION_EVIDENCE_PRESENT"
|
"ENTERPRISE_SIGNED_PERMISSION_HANDOFF_PRESENT"
|
||||||
if authorized
|
if authorized
|
||||||
else "NOT_PRESENT"
|
else "NOT_PRESENT"
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue