petter2025 commited on
Commit
2dbe6d3
·
verified ·
1 Parent(s): f7959b4

Update app/services/intent_adapter.py

Browse files
Files changed (1) hide show
  1. app/services/intent_adapter.py +38 -11
app/services/intent_adapter.py CHANGED
@@ -1,25 +1,52 @@
1
- from agentic_reliability_framework.core.governance.intents import (
2
- ProvisionResourceIntent,
3
- GrantAccessIntent,
4
- DeployConfigurationIntent,
5
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
 
8
  def to_oss_intent(api_request):
9
  if api_request.intent_type == "provision_resource":
10
  return ProvisionResourceIntent(
11
- resource_type=api_request.resource_type,
12
  region=api_request.region,
13
  size=api_request.size,
14
  configuration=api_request.configuration,
15
- environment=api_request.environment,
16
  requester=api_request.requester,
17
  provenance=api_request.provenance,
18
  )
19
  elif api_request.intent_type == "grant_access":
20
  return GrantAccessIntent(
21
  principal=api_request.principal,
22
- permission_level=api_request.permission_level,
23
  resource_scope=api_request.resource_scope,
24
  justification=api_request.justification,
25
  requester=api_request.requester,
@@ -28,12 +55,12 @@ def to_oss_intent(api_request):
28
  elif api_request.intent_type == "deploy_config":
29
  return DeployConfigurationIntent(
30
  service_name=api_request.service_name,
31
- change_scope=api_request.change_scope,
32
- deployment_target=api_request.deployment_target,
33
  risk_level_hint=api_request.risk_level_hint,
34
  configuration=api_request.configuration,
35
  requester=api_request.requester,
36
  provenance=api_request.provenance,
37
  )
38
  else:
39
- raise ValueError(f"Unknown intent type: {api_request.intent_type}")
 
1
+ from pydantic import BaseModel
2
+ from typing import Optional, Dict, Any
3
+
4
+ # ---------------------------------------------------------------------------
5
+ # Local fallback intent classes – mirrors the proprietary core engine's contracts
6
+ # ---------------------------------------------------------------------------
7
+ class ProvisionResourceIntent(BaseModel):
8
+ resource_type: str
9
+ region: str
10
+ size: str
11
+ configuration: Dict[str, Any] = {}
12
+ environment: str
13
+ requester: str
14
+ provenance: Dict[str, Any] = {}
15
+
16
+ class GrantAccessIntent(BaseModel):
17
+ principal: str
18
+ permission_level: str
19
+ resource_scope: str
20
+ justification: Optional[str] = None
21
+ requester: str
22
+ provenance: Dict[str, Any] = {}
23
+
24
+ class DeployConfigurationIntent(BaseModel):
25
+ service_name: str
26
+ change_scope: str
27
+ deployment_target: str
28
+ risk_level_hint: Optional[float] = None
29
+ configuration: Dict[str, Any] = {}
30
+ requester: str
31
+ provenance: Dict[str, Any] = {}
32
+ # ---------------------------------------------------------------------------
33
 
34
 
35
  def to_oss_intent(api_request):
36
  if api_request.intent_type == "provision_resource":
37
  return ProvisionResourceIntent(
38
+ resource_type=api_request.resource_type.value if hasattr(api_request.resource_type, 'value') else str(api_request.resource_type),
39
  region=api_request.region,
40
  size=api_request.size,
41
  configuration=api_request.configuration,
42
+ environment=api_request.environment.value if hasattr(api_request.environment, 'value') else str(api_request.environment),
43
  requester=api_request.requester,
44
  provenance=api_request.provenance,
45
  )
46
  elif api_request.intent_type == "grant_access":
47
  return GrantAccessIntent(
48
  principal=api_request.principal,
49
+ permission_level=api_request.permission_level.value if hasattr(api_request.permission_level, 'value') else str(api_request.permission_level),
50
  resource_scope=api_request.resource_scope,
51
  justification=api_request.justification,
52
  requester=api_request.requester,
 
55
  elif api_request.intent_type == "deploy_config":
56
  return DeployConfigurationIntent(
57
  service_name=api_request.service_name,
58
+ change_scope=api_request.change_scope.value if hasattr(api_request.change_scope, 'value') else str(api_request.change_scope),
59
+ deployment_target=api_request.deployment_target.value if hasattr(api_request.deployment_target, 'value') else str(api_request.deployment_target),
60
  risk_level_hint=api_request.risk_level_hint,
61
  configuration=api_request.configuration,
62
  requester=api_request.requester,
63
  provenance=api_request.provenance,
64
  )
65
  else:
66
+ raise ValueError(f"Unknown intent type: {api_request.intent_type}")