Skip to content

Commit 48f6871

Browse files
committed
sync from container_agent repo
1 parent 84d5584 commit 48f6871

File tree

11 files changed

+31
-28
lines changed

11 files changed

+31
-28
lines changed

sdk/agentserver/azure-ai-agentserver-agentframework/azure/ai/agentserver/agentframework/agent_framework.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from azure.ai.agentserver.core import AgentRunContext, FoundryCBAgent
1616
from azure.ai.agentserver.core.constants import Constants as AdapterConstants
17-
from azure.ai.agentserver.core.logger import get_logger
17+
from azure.ai.agentserver.core.logger import APPINSIGHT_CONNSTR_ENV_NAME, get_logger
1818
from azure.ai.agentserver.core.models import (
1919
CreateResponse,
2020
Response as OpenAIResponse,
@@ -77,7 +77,7 @@ def _resolve_stream_timeout(self, request_body: CreateResponse) -> float:
7777

7878
def init_tracing(self):
7979
exporter = os.environ.get(AdapterConstants.OTEL_EXPORTER_ENDPOINT)
80-
app_insights_conn_str = os.environ.get(AdapterConstants.APPLICATION_INSIGHTS_CONNECTION_STRING)
80+
app_insights_conn_str = os.environ.get(APPINSIGHT_CONNSTR_ENV_NAME)
8181
project_endpoint = os.environ.get(AdapterConstants.AZURE_AI_PROJECT_ENDPOINT)
8282

8383
if project_endpoint:

sdk/agentserver/azure-ai-agentserver-agentframework/azure/ai/agentserver/agentframework/models/agent_framework_output_non_streaming_converter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def _append_function_result_content(self, content: FunctionResultContent, sink:
169169
result = [raw]
170170
elif isinstance(raw, list):
171171
for item in raw:
172-
result.append(self._coerce_result_text(item)) # type: ignore
172+
result.append(self._coerce_result_text(item)) # type: ignore
173173
call_id = getattr(content, "call_id", None) or ""
174174
func_out_id = self._context.id_generator.generate_function_output_id()
175175
sink.append(

sdk/agentserver/azure-ai-agentserver-agentframework/azure/ai/agentserver/agentframework/models/agent_framework_output_streaming_converter.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,7 @@ def build_response(self, status: str) -> OpenAIResponse:
545545
"id": self._response_id,
546546
"status": status,
547547
"created_at": self._response_created_at,
548+
"conversation": self._context.get_conversation_object(),
548549
}
549550
if status == "completed" and self._completed_output_items:
550551
response_data["output"] = self._completed_output_items

sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/constants.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
# ---------------------------------------------------------
44
class Constants:
55
# well-known environment variables
6-
APPLICATION_INSIGHTS_CONNECTION_STRING = "_AGENT_RUNTIME_APP_INSIGHTS_CONNECTION_STRING"
76
AZURE_AI_PROJECT_ENDPOINT = "AZURE_AI_PROJECT_ENDPOINT"
87
AGENT_ID = "AGENT_ID"
98
AGENT_NAME = "AGENT_NAME"
109
AGENT_PROJECT_RESOURCE_ID = "AGENT_PROJECT_NAME"
1110
OTEL_EXPORTER_ENDPOINT = "OTEL_EXPORTER_ENDPOINT"
1211
AGENT_LOG_LEVEL = "AGENT_LOG_LEVEL"
1312
AGENT_DEBUG_ERRORS = "AGENT_DEBUG_ERRORS"
14-
ENABLE_APPLICATION_INSIGHTS_LOGGER = "ENABLE_APPLICATION_INSIGHTS_LOGGER"
13+
ENABLE_APPLICATION_INSIGHTS_LOGGER = "AGENT_APP_INSIGHTS_ENABLED"

sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/logger.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828

2929
request_context = contextvars.ContextVar("request_context", default=None)
3030

31+
APPINSIGHT_CONNSTR_ENV_NAME = "APPLICATIONINSIGHTS_CONNECTION_STRING"
32+
3133

3234
def get_dimensions():
3335
env_values = {name: value for name, value in vars(Constants).items() if not name.startswith("_")}
@@ -58,9 +60,9 @@ def get_project_endpoint():
5860

5961
def get_application_insights_connstr():
6062
try:
61-
conn_str = os.environ.get(Constants.APPLICATION_INSIGHTS_CONNECTION_STRING)
63+
conn_str = os.environ.get(APPINSIGHT_CONNSTR_ENV_NAME)
6264
if not conn_str:
63-
print("environment variable APPLICATION_INSIGHTS_CONNECTION_STRING not set.")
65+
print(f"environment variable {APPINSIGHT_CONNSTR_ENV_NAME} not set.")
6466
project_endpoint = get_project_endpoint()
6567
if project_endpoint:
6668
# try to get the project connected application insights
@@ -72,7 +74,7 @@ def get_application_insights_connstr():
7274
if not conn_str:
7375
print(f"no connected application insights found for project:{project_endpoint}")
7476
else:
75-
os.environ[Constants.APPLICATION_INSIGHTS_CONNECTION_STRING] = conn_str
77+
os.environ[APPINSIGHT_CONNSTR_ENV_NAME] = conn_str
7678
return conn_str
7779
except Exception as e:
7880
print(f"failed to get application insights with error: {e}")

sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/server/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from starlette.types import ASGIApp
2222

2323
from ..constants import Constants
24-
from ..logger import get_logger, request_context
24+
from ..logger import APPINSIGHT_CONNSTR_ENV_NAME, get_logger, request_context
2525
from ..models import (
2626
Response as OpenAIResponse,
2727
ResponseStreamEvent,
@@ -93,7 +93,7 @@ async def runs_endpoint(request):
9393
kind=trace.SpanKind.SERVER,
9494
):
9595
try:
96-
logger.info("Start processing CreateResponse request:")
96+
logger.info("Start processing CreateResponse request.")
9797

9898
context_carrier = {}
9999
TraceContextTextMapPropagator().inject(context_carrier)
@@ -126,7 +126,7 @@ def gen():
126126
yield "data: [DONE]\n\n"
127127
error_sent = True
128128
finally:
129-
logger.info("End of processing CreateResponse request:")
129+
logger.info("End of processing CreateResponse request.")
130130
otel_context.detach(token)
131131
if not error_sent:
132132
yield "data: [DONE]\n\n"
@@ -261,7 +261,7 @@ def run(self, port: int = int(os.environ.get("DEFAULT_AD_PORT", 8088))) -> None:
261261

262262
def init_tracing(self):
263263
exporter = os.environ.get(Constants.OTEL_EXPORTER_ENDPOINT)
264-
app_insights_conn_str = os.environ.get(Constants.APPLICATION_INSIGHTS_CONNECTION_STRING)
264+
app_insights_conn_str = os.environ.get(APPINSIGHT_CONNSTR_ENV_NAME)
265265
if exporter or app_insights_conn_str:
266266
from opentelemetry.sdk.resources import Resource
267267
from opentelemetry.sdk.trace import TracerProvider

sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/server/common/agent_run_context.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def stream(self) -> bool:
4646
def get_agent_id_object(self) -> AgentId:
4747
agent = self.request.get("agent")
4848
if not agent:
49-
return None # type: ignore
49+
return None # type: ignore
5050
return AgentId(
5151
{
5252
"type": agent.type,
@@ -57,7 +57,7 @@ def get_agent_id_object(self) -> AgentId:
5757

5858
def get_conversation_object(self) -> ResponseConversation1:
5959
if not self._conversation_id:
60-
return None # type: ignore
60+
return None # type: ignore
6161
return ResponseConversation1(id=self._conversation_id)
6262

6363

@@ -72,5 +72,5 @@ def _deserialize_create_response(payload: dict) -> CreateResponse:
7272

7373
def _deserialize_agent_reference(payload: dict) -> AgentReference:
7474
if not payload:
75-
return None # type: ignore
75+
return None # type: ignore
7676
return AgentReference(**payload)

sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/server/common/id_generator/foundry_id_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def _new_id(
8888

8989
infix = infix or ""
9090
prefix_part = f"{prefix}{delimiter}" if prefix else ""
91-
return f"{prefix_part}{entropy}{infix}{pkey}"
91+
return f"{prefix_part}{infix}{pkey}{entropy}"
9292

9393
@staticmethod
9494
def _secure_entropy(string_length: int) -> str:

sdk/agentserver/azure-ai-agentserver-langgraph/azure/ai/agentserver/langgraph/models/response_event_generators/response_content_part_event_generator.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def try_process_message(
6363

6464
return is_processed, next_processor, events
6565

66-
def on_start( # mypy: ignore[override]
66+
def on_start( # mypy: ignore[override]
6767
self, event, run_details, stream_state: StreamEventState
6868
) -> tuple[bool, List[project_models.ResponseStreamEvent]]:
6969
if self.started:
@@ -81,8 +81,9 @@ def on_start( # mypy: ignore[override]
8181

8282
return True, [start_event]
8383

84-
def on_end(self, message, context, stream_state: StreamEventState
85-
) -> List[project_models.ResponseStreamEvent]: # mypy: ignore[override]
84+
def on_end(
85+
self, message, context, stream_state: StreamEventState
86+
) -> List[project_models.ResponseStreamEvent]: # mypy: ignore[override]
8687
aggregated_content = self.item_content_helper.create_item_content()
8788
done_event = project_models.ResponseContentPartDoneEvent(
8889
item_id=self.item_id,

sdk/agentserver/azure-ai-agentserver-langgraph/azure/ai/agentserver/langgraph/models/response_event_generators/response_event_generator.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ def __init__(self, logger, parent):
3333
self.parent = parent # parent generator
3434

3535
def try_process_message(
36-
self,
37-
message: AnyMessage, # mypy: ignore[valid-type]
38-
context: AgentRunContext,
39-
stream_state: StreamEventState
40-
): # mypy: ignore[empty-body]
36+
self,
37+
message: AnyMessage, # mypy: ignore[valid-type]
38+
context: AgentRunContext,
39+
stream_state: StreamEventState,
40+
): # mypy: ignore[empty-body]
4141
"""
4242
Try to process the incoming message.
4343
@@ -63,8 +63,8 @@ def on_start(self) -> tuple[bool, List[project_models.ResponseStreamEvent]]:
6363
return False, []
6464

6565
def on_end(
66-
self, message: AnyMessage, context: AgentRunContext, stream_state: StreamEventState
67-
) -> tuple[bool, List[project_models.ResponseStreamEvent]]:
66+
self, message: AnyMessage, context: AgentRunContext, stream_state: StreamEventState
67+
) -> tuple[bool, List[project_models.ResponseStreamEvent]]:
6868
"""
6969
Generate the ending events for this layer.
7070
TODO: handle different end conditions, e.g. normal end, error end, etc.

0 commit comments

Comments
 (0)