From cd7659d1f01b1d8a2f4aadf7946c98a78cd7d68c Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 10:18:51 -0700 Subject: [PATCH 1/9] Add replay tests for MCP --- .../histories/mcp-history-stateful.json | 1193 +++++++++++++++++ .../histories/mcp-history-stateless.json | 918 +++++++++++++ .../openai_agents/mcp_history_stateless.json | 1159 ++++++++++++++++ tests/contrib/openai_agents/test_openai.py | 12 +- .../openai_agents/test_openai_replay.py | 6 +- 5 files changed, 3285 insertions(+), 3 deletions(-) create mode 100644 tests/contrib/openai_agents/histories/mcp-history-stateful.json create mode 100644 tests/contrib/openai_agents/histories/mcp-history-stateless.json create mode 100644 tests/contrib/openai_agents/mcp_history_stateless.json diff --git a/tests/contrib/openai_agents/histories/mcp-history-stateful.json b/tests/contrib/openai_agents/histories/mcp-history-stateful.json new file mode 100644 index 000000000..4a362f105 --- /dev/null +++ b/tests/contrib/openai_agents/histories/mcp-history-stateful.json @@ -0,0 +1,1193 @@ +{ + "events": [ + { + "eventId": "1", + "eventTime": "2025-10-08T17:17:55.581486Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", + "taskId": "1048587", + "workflowExecutionStartedEventAttributes": { + "workflowType": { + "name": "McpServerStatefulWorkflow" + }, + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlBUMzBTIg==" + } + ] + }, + "workflowExecutionTimeout": "30s", + "workflowRunTimeout": "30s", + "workflowTaskTimeout": "10s", + "originalExecutionRunId": "0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "identity": "38317@Tims-MacBook-Pro.local", + "firstExecutionRunId": "0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "attempt": 1, + "workflowExecutionExpirationTime": "2025-10-08T17:18:25.581Z", + "firstWorkflowTaskBackoff": "0s", + "workflowId": "mcp-server-9a9a28b7-a23e-4878-a31d-332442b3c345", + "priority": {} + } + }, + { + "eventId": "2", + "eventTime": "2025-10-08T17:17:55.581539Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048588", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "3", + "eventTime": "2025-10-08T17:17:55.584095Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048594", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "2", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "0c4e6816-3ada-4b09-8e7a-ac9e72fdecab", + "historySizeBytes": "403", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "4", + "eventTime": "2025-10-08T17:17:55.627981Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048598", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "2", + "startedEventId": "3", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": { + "coreUsedFlags": [ + 1, + 2, + 3 + ], + "sdkName": "temporal-python", + "sdkVersion": "1.18.1" + }, + "meteringMetadata": {} + } + }, + { + "eventId": "5", + "eventTime": "2025-10-08T17:17:55.628054Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048599", + "activityTaskScheduledEventAttributes": { + "activityId": "1", + "activityType": { + "name": "HelloServer-stateful-server-session" + }, + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": {}, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "4", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "6", + "eventTime": "2025-10-08T17:17:55.628176Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048600", + "activityTaskScheduledEventAttributes": { + "activityId": "2", + "activityType": { + "name": "HelloServer-stateful-list-tools" + }, + "taskQueue": { + "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYWI4NGRlMDY1ZmFiNGQzOWFiZDNiM2I0IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "4", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "priority": {} + } + }, + { + "eventId": "7", + "eventTime": "2025-10-08T17:17:55.632338Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048607", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "6", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "cda03631-b3e1-49a8-84ee-3173f17721de", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "8", + "eventTime": "2025-10-08T17:17:55.634155Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048608", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "6", + "startedEventId": "7", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "9", + "eventTime": "2025-10-08T17:17:55.634158Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048609", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "10", + "eventTime": "2025-10-08T17:17:55.634852Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048613", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "9", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "dfb850d2-98a6-4283-b26d-c4ca6372bf51", + "historySizeBytes": "1688", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "11", + "eventTime": "2025-10-08T17:17:55.637197Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048617", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "9", + "startedEventId": "10", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "12", + "eventTime": "2025-10-08T17:17:55.637219Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048618", + "activityTaskScheduledEventAttributes": { + "activityId": "3", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMDRjMzZkN2E5OTBiNDJlMWIzM2E2NmQ1IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "11", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "13", + "eventTime": "2025-10-08T17:17:55.637906Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048622", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "12", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "2d8258d5-08ea-4581-a1e7-27480f26efcc", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "14", + "eventTime": "2025-10-08T17:17:55.653069Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048623", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "12", + "startedEventId": "13", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "15", + "eventTime": "2025-10-08T17:17:55.653072Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048624", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "16", + "eventTime": "2025-10-08T17:17:55.653797Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048628", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "15", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "042387d1-591d-49c2-a1e1-f55653c0d8b3", + "historySizeBytes": "3869", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "17", + "eventTime": "2025-10-08T17:17:55.656178Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048632", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "15", + "startedEventId": "16", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "18", + "eventTime": "2025-10-08T17:17:55.656197Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048633", + "activityTaskScheduledEventAttributes": { + "activityId": "4", + "activityType": { + "name": "HelloServer-stateful-call-tool" + }, + "taskQueue": { + "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fN2EyNTQ4N2U1ZTc5NDA0YzgyYzQ0ODY4IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVG9tIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "17", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "priority": {} + } + }, + { + "eventId": "19", + "eventTime": "2025-10-08T17:17:55.656797Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048637", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "18", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "056bc5a9-226f-4d90-952c-04b31525166b", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "20", + "eventTime": "2025-10-08T17:17:55.658347Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048638", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" + } + ] + }, + "scheduledEventId": "18", + "startedEventId": "19", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "21", + "eventTime": "2025-10-08T17:17:55.658350Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048639", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "22", + "eventTime": "2025-10-08T17:17:55.658899Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048643", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "21", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "6ce286ae-71a8-4347-9415-183d6e59da5a", + "historySizeBytes": "4931", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "23", + "eventTime": "2025-10-08T17:17:55.660650Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048647", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "21", + "startedEventId": "22", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "24", + "eventTime": "2025-10-08T17:17:55.660663Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048648", + "activityTaskScheduledEventAttributes": { + "activityId": "5", + "activityType": { + "name": "HelloServer-stateful-list-tools" + }, + "taskQueue": { + "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYTdjOTcyODljNzlmNGE0M2I4M2JkMmIzIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "23", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "priority": {} + } + }, + { + "eventId": "25", + "eventTime": "2025-10-08T17:17:55.661123Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048652", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "24", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "77ddbb73-5588-47c0-9042-09e7b54ff0ff", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "26", + "eventTime": "2025-10-08T17:17:55.662502Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048653", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "24", + "startedEventId": "25", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "27", + "eventTime": "2025-10-08T17:17:55.662505Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048654", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "28", + "eventTime": "2025-10-08T17:17:55.662986Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048658", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "27", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "e3cf160a-3eec-4dd5-96a0-63c3f2051dab", + "historySizeBytes": "6033", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "29", + "eventTime": "2025-10-08T17:17:55.664773Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048662", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "27", + "startedEventId": "28", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "30", + "eventTime": "2025-10-08T17:17:55.664788Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048663", + "activityTaskScheduledEventAttributes": { + "activityId": "6", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOTQ2ZTAwZDcxYzdlNDJmZWE1MDFjOGZhIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "29", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "31", + "eventTime": "2025-10-08T17:17:55.665291Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048667", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "30", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "5585b7f9-ea35-47ce-89c5-295cfa96064a", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "32", + "eventTime": "2025-10-08T17:17:55.678747Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048668", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "30", + "startedEventId": "31", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "33", + "eventTime": "2025-10-08T17:17:55.678753Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048669", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "34", + "eventTime": "2025-10-08T17:17:55.679415Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048673", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "33", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "d3a12bb7-d690-4394-a38f-b84cbe8999a7", + "historySizeBytes": "8477", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "35", + "eventTime": "2025-10-08T17:17:55.681451Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048677", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "33", + "startedEventId": "34", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "36", + "eventTime": "2025-10-08T17:17:55.681470Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048678", + "activityTaskScheduledEventAttributes": { + "activityId": "7", + "activityType": { + "name": "HelloServer-stateful-call-tool" + }, + "taskQueue": { + "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYWNmMzk2MmIxOWExNDAyM2FkYjQzYWFiIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVGltIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "35", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "priority": {} + } + }, + { + "eventId": "37", + "eventTime": "2025-10-08T17:17:55.682061Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048682", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "36", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "a460445f-891c-4efd-ba93-4a90d94a3f8b", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "38", + "eventTime": "2025-10-08T17:17:55.683770Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048683", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" + } + ] + }, + "scheduledEventId": "36", + "startedEventId": "37", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "39", + "eventTime": "2025-10-08T17:17:55.683774Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048684", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "40", + "eventTime": "2025-10-08T17:17:55.684249Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048688", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "39", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "fa460f0a-2d57-4e95-b1e2-aa0276b77c3a", + "historySizeBytes": "9539", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "41", + "eventTime": "2025-10-08T17:17:55.686001Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048692", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "39", + "startedEventId": "40", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "42", + "eventTime": "2025-10-08T17:17:55.686014Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048693", + "activityTaskScheduledEventAttributes": { + "activityId": "8", + "activityType": { + "name": "HelloServer-stateful-list-tools" + }, + "taskQueue": { + "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNmRhZmM5ZTRlNGVhNDliZmFkZmZkYTY2IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "41", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "priority": {} + } + }, + { + "eventId": "43", + "eventTime": "2025-10-08T17:17:55.686571Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048697", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "42", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "d85f1469-1038-41d0-9ca3-bb2927aca11f", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "44", + "eventTime": "2025-10-08T17:17:55.687958Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048698", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "42", + "startedEventId": "43", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "45", + "eventTime": "2025-10-08T17:17:55.687960Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048699", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "46", + "eventTime": "2025-10-08T17:17:55.688472Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048703", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "45", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "9a9eb4a4-785b-4f3b-a4fe-8e7d7f079fd3", + "historySizeBytes": "10641", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "47", + "eventTime": "2025-10-08T17:17:55.690301Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048707", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "45", + "startedEventId": "46", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "48", + "eventTime": "2025-10-08T17:17:55.690319Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048708", + "activityTaskScheduledEventAttributes": { + "activityId": "9", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNGRiYzE0OTdmNDdiNDAyZmFkZWU0YTliIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "47", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "49", + "eventTime": "2025-10-08T17:17:55.690760Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048712", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "48", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "27a54917-e08b-40cb-a16a-cb032b493ae3", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "50", + "eventTime": "2025-10-08T17:17:55.703511Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048713", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" + } + ] + }, + "scheduledEventId": "48", + "startedEventId": "49", + "identity": "38317@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "51", + "eventTime": "2025-10-08T17:17:55.703514Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048714", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "52", + "eventTime": "2025-10-08T17:17:55.704072Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048718", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "51", + "identity": "38317@Tims-MacBook-Pro.local", + "requestId": "128d91a8-68ce-48a5-b751-9482f7e375a1", + "suggestContinueAsNew": true, + "historySizeBytes": "13367", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "53", + "eventTime": "2025-10-08T17:17:55.706654Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048722", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "51", + "startedEventId": "52", + "identity": "38317@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "54", + "eventTime": "2025-10-08T17:17:55.706682Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED", + "taskId": "1048723", + "activityTaskCancelRequestedEventAttributes": { + "scheduledEventId": "5", + "workflowTaskCompletedEventId": "53" + } + }, + { + "eventId": "55", + "eventTime": "2025-10-08T17:17:55.706695Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", + "taskId": "1048724", + "workflowExecutionCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IkhpIFRvbSBhbmQgVGltISI=" + } + ] + }, + "workflowTaskCompletedEventId": "53" + } + } + ] +} \ No newline at end of file diff --git a/tests/contrib/openai_agents/histories/mcp-history-stateless.json b/tests/contrib/openai_agents/histories/mcp-history-stateless.json new file mode 100644 index 000000000..6ccf19a86 --- /dev/null +++ b/tests/contrib/openai_agents/histories/mcp-history-stateless.json @@ -0,0 +1,918 @@ +{ + "events": [ + { + "eventId": "1", + "eventTime": "2025-10-08T17:13:47.139664Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", + "taskId": "1048587", + "workflowExecutionStartedEventAttributes": { + "workflowType": { + "name": "McpServerWorkflow" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "dHJ1ZQ==" + } + ] + }, + "workflowExecutionTimeout": "30s", + "workflowRunTimeout": "30s", + "workflowTaskTimeout": "10s", + "originalExecutionRunId": "0199c4d0-9183-7a1d-864f-8918a11fafda", + "identity": "38116@Tims-MacBook-Pro.local", + "firstExecutionRunId": "0199c4d0-9183-7a1d-864f-8918a11fafda", + "attempt": 1, + "workflowExecutionExpirationTime": "2025-10-08T17:14:17.139Z", + "firstWorkflowTaskBackoff": "0s", + "workflowId": "mcp-server-1785ba69-07ec-418c-8a25-02dcee785aeb", + "priority": {} + } + }, + { + "eventId": "2", + "eventTime": "2025-10-08T17:13:47.139703Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048588", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "3", + "eventTime": "2025-10-08T17:13:47.144385Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048594", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "2", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "91df111f-c3f9-49d7-b612-88cedc2d484f", + "historySizeBytes": "389", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "4", + "eventTime": "2025-10-08T17:13:47.187160Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048598", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "2", + "startedEventId": "3", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": { + "coreUsedFlags": [ + 1, + 3, + 2 + ], + "sdkName": "temporal-python", + "sdkVersion": "1.18.1" + }, + "meteringMetadata": {} + } + }, + { + "eventId": "5", + "eventTime": "2025-10-08T17:13:47.187241Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048599", + "activityTaskScheduledEventAttributes": { + "activityId": "1", + "activityType": { + "name": "HelloServer-stateless-list-tools" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNzcyYzRlYzQzMzYxNGNjNTkwMzM1ODMwIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "4", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "6", + "eventTime": "2025-10-08T17:13:47.188256Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048604", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "5", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "a39aab37-1f29-401c-a7ad-b3cf10be410f", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "7", + "eventTime": "2025-10-08T17:13:47.190639Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048605", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "5", + "startedEventId": "6", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "8", + "eventTime": "2025-10-08T17:13:47.190642Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048606", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "9", + "eventTime": "2025-10-08T17:13:47.191261Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048610", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "8", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "03ffa549-3583-4eee-9b8a-36ed8113451b", + "historySizeBytes": "1497", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "10", + "eventTime": "2025-10-08T17:13:47.193538Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048614", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "8", + "startedEventId": "9", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "11", + "eventTime": "2025-10-08T17:13:47.193557Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048615", + "activityTaskScheduledEventAttributes": { + "activityId": "2", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOTQxNWZiMjkxMmI4NDgzNGE0NmI1N2Y5IiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "10", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "12", + "eventTime": "2025-10-08T17:13:47.194142Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048619", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "11", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "c09d725a-f0b1-4670-8f0f-568cc8f751a3", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "13", + "eventTime": "2025-10-08T17:13:47.209094Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048620", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "11", + "startedEventId": "12", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "14", + "eventTime": "2025-10-08T17:13:47.209096Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048621", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "15", + "eventTime": "2025-10-08T17:13:47.209685Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048625", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "14", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "2369a735-9fac-4d98-b08a-35455ab4583e", + "historySizeBytes": "3672", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "16", + "eventTime": "2025-10-08T17:13:47.211945Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048629", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "14", + "startedEventId": "15", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "17", + "eventTime": "2025-10-08T17:13:47.211964Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048630", + "activityTaskScheduledEventAttributes": { + "activityId": "3", + "activityType": { + "name": "HelloServer-stateless-call-tool" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYjQ5YTkwYzQ5NTVjNGNlNGFhNjE3YjAzIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVG9tIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "16", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "18", + "eventTime": "2025-10-08T17:13:47.212425Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048634", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "17", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "eda101c8-0e40-46f0-9bc0-67e6f95d19fe", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "19", + "eventTime": "2025-10-08T17:13:47.214090Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048635", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" + } + ] + }, + "scheduledEventId": "17", + "startedEventId": "18", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "20", + "eventTime": "2025-10-08T17:13:47.214093Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048636", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "21", + "eventTime": "2025-10-08T17:13:47.214685Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048640", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "20", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "fbbfe603-b76e-4f2d-bcb6-69cdb347e5d4", + "historySizeBytes": "4710", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "22", + "eventTime": "2025-10-08T17:13:47.217042Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048644", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "20", + "startedEventId": "21", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "23", + "eventTime": "2025-10-08T17:13:47.217063Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048645", + "activityTaskScheduledEventAttributes": { + "activityId": "4", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNjczN2Q5YmY2YjdhNDhkYThmMzhhYjJhIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "22", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "24", + "eventTime": "2025-10-08T17:13:47.217736Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048649", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "23", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "8406eb4f-4bde-41ad-b560-f24ae017e44d", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "25", + "eventTime": "2025-10-08T17:13:47.230910Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048650", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "23", + "startedEventId": "24", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "26", + "eventTime": "2025-10-08T17:13:47.230913Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048651", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "27", + "eventTime": "2025-10-08T17:13:47.231570Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048655", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "26", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "02893da5-9b14-45af-ab3b-839bec4f91cb", + "historySizeBytes": "7148", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "28", + "eventTime": "2025-10-08T17:13:47.233565Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048659", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "26", + "startedEventId": "27", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "29", + "eventTime": "2025-10-08T17:13:47.233584Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048660", + "activityTaskScheduledEventAttributes": { + "activityId": "5", + "activityType": { + "name": "HelloServer-stateless-call-tool" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNWEyMTBmNmM5MTZlNDQ2MTliZDZhZjk1IiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVGltIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "28", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "30", + "eventTime": "2025-10-08T17:13:47.234169Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048664", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "29", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "b349f01c-c7d2-4fb2-b2c3-3883286412fe", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "31", + "eventTime": "2025-10-08T17:13:47.235757Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048665", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" + } + ] + }, + "scheduledEventId": "29", + "startedEventId": "30", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "32", + "eventTime": "2025-10-08T17:13:47.235759Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048666", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "33", + "eventTime": "2025-10-08T17:13:47.236186Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048670", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "32", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "f8d41874-025b-4f55-9335-40929bc9e931", + "historySizeBytes": "8186", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "34", + "eventTime": "2025-10-08T17:13:47.238Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048674", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "32", + "startedEventId": "33", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "35", + "eventTime": "2025-10-08T17:13:47.238017Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048675", + "activityTaskScheduledEventAttributes": { + "activityId": "6", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOGZhMmM0Mzk2ODJmNDljZGE5NmU4NDAxIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "34", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "36", + "eventTime": "2025-10-08T17:13:47.238528Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048679", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "35", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "b5038e1e-5203-4340-94be-ddf9f9f6064b", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "37", + "eventTime": "2025-10-08T17:13:47.250823Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048680", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" + } + ] + }, + "scheduledEventId": "35", + "startedEventId": "36", + "identity": "38116@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "38", + "eventTime": "2025-10-08T17:13:47.250825Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048681", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "39", + "eventTime": "2025-10-08T17:13:47.251340Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048685", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "38", + "identity": "38116@Tims-MacBook-Pro.local", + "requestId": "ae1b3ec5-675d-4834-9abf-8edadf870702", + "historySizeBytes": "10906", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "40", + "eventTime": "2025-10-08T17:13:47.253044Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048689", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "38", + "startedEventId": "39", + "identity": "38116@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "41", + "eventTime": "2025-10-08T17:13:47.253086Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", + "taskId": "1048690", + "workflowExecutionCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IkhpIFRvbSBhbmQgVGltISI=" + } + ] + }, + "workflowTaskCompletedEventId": "40" + } + } + ] +} \ No newline at end of file diff --git a/tests/contrib/openai_agents/mcp_history_stateless.json b/tests/contrib/openai_agents/mcp_history_stateless.json new file mode 100644 index 000000000..815595531 --- /dev/null +++ b/tests/contrib/openai_agents/mcp_history_stateless.json @@ -0,0 +1,1159 @@ +{ + "events": [ + { + "eventId": "1", + "eventTime": "2025-10-08T17:16:44.636164Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", + "taskId": "1048837", + "workflowExecutionStartedEventAttributes": { + "workflowType": { + "name": "McpServerWorkflow" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "ZmFsc2U=" + } + ] + }, + "workflowExecutionTimeout": "30s", + "workflowRunTimeout": "30s", + "workflowTaskTimeout": "10s", + "originalExecutionRunId": "0199c4d3-46dc-7280-91a8-8f1b72e89f22", + "identity": "38263@Tims-MacBook-Pro.local", + "firstExecutionRunId": "0199c4d3-46dc-7280-91a8-8f1b72e89f22", + "attempt": 1, + "workflowExecutionExpirationTime": "2025-10-08T17:17:14.636Z", + "firstWorkflowTaskBackoff": "0s", + "workflowId": "mcp-server-2de00204-512f-4337-8fda-9ef2eb4ea49b", + "priority": {} + } + }, + { + "eventId": "2", + "eventTime": "2025-10-08T17:16:44.636199Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048838", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "3", + "eventTime": "2025-10-08T17:16:44.639549Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048844", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "2", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "04041848-ca0c-4146-9db7-4151eefcdfb8", + "historySizeBytes": "393", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "4", + "eventTime": "2025-10-08T17:16:44.677596Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048848", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "2", + "startedEventId": "3", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": { + "coreUsedFlags": [ + 3, + 1, + 2 + ], + "sdkName": "temporal-python", + "sdkVersion": "1.18.1" + }, + "meteringMetadata": {} + } + }, + { + "eventId": "5", + "eventTime": "2025-10-08T17:16:44.677620Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048849", + "activityTaskScheduledEventAttributes": { + "activityId": "1", + "activityType": { + "name": "HelloServer-stateless-list-tools" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMWFhMzQzNDIzZDhiNDRmMWE3OWFlYzY1IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "4", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "6", + "eventTime": "2025-10-08T17:16:44.690550Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048854", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "5", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "948baa26-1596-4c47-9527-0a2eb8479360", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "7", + "eventTime": "2025-10-08T17:16:44.692095Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048855", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "5", + "startedEventId": "6", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "8", + "eventTime": "2025-10-08T17:16:44.692099Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048856", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "9", + "eventTime": "2025-10-08T17:16:44.740587Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048860", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "8", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "471dae5a-9f9f-457a-9495-72c855217b85", + "historySizeBytes": "1508", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "10", + "eventTime": "2025-10-08T17:16:44.742989Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048864", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "8", + "startedEventId": "9", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "11", + "eventTime": "2025-10-08T17:16:44.743012Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048865", + "activityTaskScheduledEventAttributes": { + "activityId": "2", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNjM5YzUwZjE3Y2ZmNGI1ZWFiNTgwOTgxIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "10", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "12", + "eventTime": "2025-10-08T17:16:44.790505Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048869", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "11", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "87ee5870-e914-4195-aecb-ea2bc840ff26", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "13", + "eventTime": "2025-10-08T17:16:44.809516Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048870", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "11", + "startedEventId": "12", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "14", + "eventTime": "2025-10-08T17:16:44.809519Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048871", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "15", + "eventTime": "2025-10-08T17:16:44.839911Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048875", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "14", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "fc2c0527-0922-4adf-a209-d8e729a4722f", + "historySizeBytes": "3689", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "16", + "eventTime": "2025-10-08T17:16:44.843006Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048879", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "14", + "startedEventId": "15", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "17", + "eventTime": "2025-10-08T17:16:44.843033Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048880", + "activityTaskScheduledEventAttributes": { + "activityId": "3", + "activityType": { + "name": "HelloServer-stateless-call-tool" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMjMwNTE3MjNkNWY5NGM2NmFjNjE4MjNiIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVG9tIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "16", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "18", + "eventTime": "2025-10-08T17:16:44.890662Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048884", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "17", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "8a01d56b-fbc0-464d-a68f-1fb0eae814be", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "19", + "eventTime": "2025-10-08T17:16:44.893295Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048885", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" + } + ] + }, + "scheduledEventId": "17", + "startedEventId": "18", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "20", + "eventTime": "2025-10-08T17:16:44.893299Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048886", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "21", + "eventTime": "2025-10-08T17:16:44.940718Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048890", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "20", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "bc9344ba-8ad4-4baf-9bc3-a7cfd988394a", + "historySizeBytes": "4733", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "22", + "eventTime": "2025-10-08T17:16:44.944630Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048894", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "20", + "startedEventId": "21", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "23", + "eventTime": "2025-10-08T17:16:44.944686Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048895", + "activityTaskScheduledEventAttributes": { + "activityId": "4", + "activityType": { + "name": "HelloServer-stateless-list-tools" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZTM5OTNiZTM3ZmIwNGQyYmE0MDljNzI2IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "22", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "24", + "eventTime": "2025-10-08T17:16:44.991023Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048899", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "23", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "5b10e2d6-3315-4c4e-9191-4f80c4abe23f", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "25", + "eventTime": "2025-10-08T17:16:44.993678Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048900", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "23", + "startedEventId": "24", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "26", + "eventTime": "2025-10-08T17:16:44.993682Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048901", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "27", + "eventTime": "2025-10-08T17:16:45.040614Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048905", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "26", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "7df1848c-8b07-46ed-bafd-1b104183de65", + "historySizeBytes": "5817", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "28", + "eventTime": "2025-10-08T17:16:45.044140Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048909", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "26", + "startedEventId": "27", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "29", + "eventTime": "2025-10-08T17:16:45.044170Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048910", + "activityTaskScheduledEventAttributes": { + "activityId": "5", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYjcwNjQwYzMzODc0NDYzNmIyYzE0OGYyIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "28", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "30", + "eventTime": "2025-10-08T17:16:45.090793Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048914", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "29", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "2146b2cf-9c68-464d-95b2-7416051461fe", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "31", + "eventTime": "2025-10-08T17:16:45.109193Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048915", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" + } + ] + }, + "scheduledEventId": "29", + "startedEventId": "30", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "32", + "eventTime": "2025-10-08T17:16:45.109197Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048916", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "33", + "eventTime": "2025-10-08T17:16:45.140796Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048920", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "32", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "11b93c4e-22bd-4c72-a0f8-b95a83fe3042", + "historySizeBytes": "8255", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "34", + "eventTime": "2025-10-08T17:16:45.143859Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048924", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "32", + "startedEventId": "33", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "35", + "eventTime": "2025-10-08T17:16:45.143883Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048925", + "activityTaskScheduledEventAttributes": { + "activityId": "6", + "activityType": { + "name": "HelloServer-stateless-call-tool" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZjdjYjZmM2ZjNWEyNDEzYWI2NzA2M2I2IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IlNheS1IZWxsbyI=" + }, + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJuYW1lIjoiVGltIn0=" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "34", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "36", + "eventTime": "2025-10-08T17:16:45.190026Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048929", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "35", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "e96291f9-590a-48cc-92de-fd52b37b93b9", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "37", + "eventTime": "2025-10-08T17:16:45.193051Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048930", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" + } + ] + }, + "scheduledEventId": "35", + "startedEventId": "36", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "38", + "eventTime": "2025-10-08T17:16:45.193056Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048931", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "39", + "eventTime": "2025-10-08T17:16:45.240007Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048935", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "38", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "db41d2d5-e0fa-40e6-86d3-e934e368a6fd", + "historySizeBytes": "9293", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "40", + "eventTime": "2025-10-08T17:16:45.244034Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048939", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "38", + "startedEventId": "39", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "41", + "eventTime": "2025-10-08T17:16:45.244065Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048940", + "activityTaskScheduledEventAttributes": { + "activityId": "7", + "activityType": { + "name": "HelloServer-stateless-list-tools" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZTYzNzRiZGYwMGE0NDZhNmE5MDY5ZjFmIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "40", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + } + }, + { + "eventId": "42", + "eventTime": "2025-10-08T17:16:45.290586Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048944", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "41", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "0faaf242-ce1b-4779-91a2-9d4c02af7b1a", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "43", + "eventTime": "2025-10-08T17:16:45.293320Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048945", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" + } + ] + }, + "scheduledEventId": "41", + "startedEventId": "42", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "44", + "eventTime": "2025-10-08T17:16:45.293326Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048946", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "45", + "eventTime": "2025-10-08T17:16:45.340704Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048950", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "44", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "c677cea9-7eeb-4520-8dd6-1ac8411150f2", + "historySizeBytes": "10374", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "46", + "eventTime": "2025-10-08T17:16:45.344189Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048954", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "44", + "startedEventId": "45", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "47", + "eventTime": "2025-10-08T17:16:45.344218Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + "taskId": "1048955", + "activityTaskScheduledEventAttributes": { + "activityId": "8", + "activityType": { + "name": "invoke_model_activity" + }, + "taskQueue": { + "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", + "kind": "TASK_QUEUE_KIND_NORMAL" + }, + "header": { + "fields": { + "__openai_span": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMzk3NWIzOTU0NDAzNDUxMThiODUyMWNjIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" + } + } + }, + "input": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" + } + ] + }, + "scheduleToCloseTimeout": "30s", + "scheduleToStartTimeout": "30s", + "startToCloseTimeout": "30s", + "heartbeatTimeout": "0s", + "workflowTaskCompletedEventId": "46", + "retryPolicy": { + "initialInterval": "1s", + "backoffCoefficient": 2.0, + "maximumInterval": "100s" + }, + "useWorkflowBuildId": true, + "priority": {} + }, + "userMetadata": { + "summary": { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" + } + } + }, + { + "eventId": "48", + "eventTime": "2025-10-08T17:16:45.390786Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", + "taskId": "1048959", + "activityTaskStartedEventAttributes": { + "scheduledEventId": "47", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "a264bfd4-c23f-4171-a533-9db331a2cefd", + "attempt": 1, + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "49", + "eventTime": "2025-10-08T17:16:45.413865Z", + "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + "taskId": "1048960", + "activityTaskCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" + } + ] + }, + "scheduledEventId": "47", + "startedEventId": "48", + "identity": "38263@Tims-MacBook-Pro.local" + } + }, + { + "eventId": "50", + "eventTime": "2025-10-08T17:16:45.413871Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + "taskId": "1048961", + "workflowTaskScheduledEventAttributes": { + "taskQueue": { + "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", + "kind": "TASK_QUEUE_KIND_STICKY", + "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" + }, + "startToCloseTimeout": "10s", + "attempt": 1 + } + }, + { + "eventId": "51", + "eventTime": "2025-10-08T17:16:45.440623Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", + "taskId": "1048965", + "workflowTaskStartedEventAttributes": { + "scheduledEventId": "50", + "identity": "38263@Tims-MacBook-Pro.local", + "requestId": "a68ef39a-8c1a-456d-bdc7-4f85fffe8459", + "suggestContinueAsNew": true, + "historySizeBytes": "13100", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + } + } + }, + { + "eventId": "52", + "eventTime": "2025-10-08T17:16:45.443191Z", + "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + "taskId": "1048969", + "workflowTaskCompletedEventAttributes": { + "scheduledEventId": "50", + "startedEventId": "51", + "identity": "38263@Tims-MacBook-Pro.local", + "workerVersion": { + "buildId": "0431ec62bf7593adcdb7465d8a03421c" + }, + "sdkMetadata": {}, + "meteringMetadata": {} + } + }, + { + "eventId": "53", + "eventTime": "2025-10-08T17:16:45.443209Z", + "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", + "taskId": "1048970", + "workflowExecutionCompletedEventAttributes": { + "result": { + "payloads": [ + { + "metadata": { + "encoding": "anNvbi9wbGFpbg==" + }, + "data": "IkhpIFRvbSBhbmQgVGltISI=" + } + ] + }, + "workflowTaskCompletedEventId": "52" + } + } + ] +} \ No newline at end of file diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index aa81e32c8..c5c03474a 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -2480,21 +2480,29 @@ async def get_prompt( client, McpServerStatefulWorkflow, McpServerWorkflow ) as worker: if stateful: - result = await client.execute_workflow( + handle = await client.start_workflow( McpServerStatefulWorkflow.run, args=[timedelta(seconds=30)], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), ) + result = await handle.result() + history = await handle.fetch_history() + with open(f"mcp_history_{"stateful" if stateful else "stateless"}.json", "w") as f: + f.write(history.to_json()) else: - result = await client.execute_workflow( + handle = await client.start_workflow( McpServerWorkflow.run, args=[caching], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), ) + result = await handle.result() + history = await handle.fetch_history() + with open(f"mcp_history_{"stateful" if stateful else "stateless"}.json", "w") as f: + f.write(history.to_json()) if use_local_model: assert result == "Hi Tom and Tim!" if use_local_model: diff --git a/tests/contrib/openai_agents/test_openai_replay.py b/tests/contrib/openai_agents/test_openai_replay.py index 2d76cf765..bd9919ae3 100644 --- a/tests/contrib/openai_agents/test_openai_replay.py +++ b/tests/contrib/openai_agents/test_openai_replay.py @@ -14,7 +14,7 @@ InputGuardrailWorkflow, OutputGuardrailWorkflow, ResearchWorkflow, - ToolsWorkflow, + ToolsWorkflow, McpServerWorkflow, McpServerStatefulWorkflow, ) @@ -28,6 +28,8 @@ "output-guardrail-workflow-history.json", "research-workflow-history.json", "tools-workflow-history.json", + "mcp-history-stateless.json", + "mcp-history-stateful.json", ], ) async def test_replay(file_name: str) -> None: @@ -43,6 +45,8 @@ async def test_replay(file_name: str) -> None: HelloWorldAgent, InputGuardrailWorkflow, OutputGuardrailWorkflow, + McpServerWorkflow, + McpServerStatefulWorkflow, ], plugins=[OpenAIAgentsPlugin()], ).replay_workflow(WorkflowHistory.from_json("fake", history_json)) From 005f613b8b82fcd6a8f3c77050822cf5b6d3f952 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 10:21:03 -0700 Subject: [PATCH 2/9] Remove history generation --- temporalio/contrib/openai_agents/_mcp.py | 30 +- .../openai_agents/mcp_history_stateless.json | 1159 ----------------- tests/contrib/openai_agents/test_openai.py | 14 +- 3 files changed, 19 insertions(+), 1184 deletions(-) delete mode 100644 tests/contrib/openai_agents/mcp_history_stateless.json diff --git a/temporalio/contrib/openai_agents/_mcp.py b/temporalio/contrib/openai_agents/_mcp.py index e41cc2d3a..22f8377a2 100644 --- a/temporalio/contrib/openai_agents/_mcp.py +++ b/temporalio/contrib/openai_agents/_mcp.py @@ -35,6 +35,7 @@ def __init__( server: str, config: Optional[ActivityConfig], cache_tools_list: bool, + factory_arguments: Optional[Any] = None, ): self._name = server + "-stateless" self._config = config or ActivityConfig( @@ -42,6 +43,7 @@ def __init__( ) self._cache_tools_list = cache_tools_list self._tools = None + self._factory_arguments = factory_arguments super().__init__() @property @@ -63,7 +65,7 @@ async def list_tools( return self._tools tools = await workflow.execute_activity( self.name + "-list-tools", - args=[], + args=[self._factory_arguments], result_type=list[MCPTool], **self._config, ) @@ -76,7 +78,7 @@ async def call_tool( ) -> CallToolResult: return await workflow.execute_activity( self.name + "-call-tool", - args=[tool_name, arguments], + args=[tool_name, arguments, self._factory_arguments], result_type=CallToolResult, **self._config, ) @@ -84,7 +86,7 @@ async def call_tool( async def list_prompts(self) -> ListPromptsResult: return await workflow.execute_activity( self.name + "-list-prompts", - args=[], + args=[self._factory_arguments], result_type=ListPromptsResult, **self._config, ) @@ -94,7 +96,7 @@ async def get_prompt( ) -> GetPromptResult: return await workflow.execute_activity( self.name + "-get-prompt", - args=[name, arguments], + args=[name, arguments, self._factory_arguments], result_type=GetPromptResult, **self._config, ) @@ -111,7 +113,7 @@ class StatelessMCPServerProvider: function, this cannot be used. """ - def __init__(self, server_factory: Callable[[], MCPServer]): + def __init__(self, server_factory: Callable[[Optional[Any]], MCPServer]): """Initialize the stateless temporal MCP server. Args: @@ -119,7 +121,7 @@ def __init__(self, server_factory: Callable[[], MCPServer]): so that state is not shared between workflow runs """ self._server_factory = server_factory - self._name = server_factory().name + "-stateless" + self._name = server_factory(None).name + "-stateless" super().__init__() @property @@ -129,8 +131,8 @@ def name(self) -> str: def _get_activities(self) -> Sequence[Callable]: @activity.defn(name=self.name + "-list-tools") - async def list_tools() -> list[MCPTool]: - server = self._server_factory() + async def list_tools(factory_arguments: Optional[Any]) -> list[MCPTool]: + server = self._server_factory(factory_arguments) try: await server.connect() return await server.list_tools() @@ -139,9 +141,9 @@ async def list_tools() -> list[MCPTool]: @activity.defn(name=self.name + "-call-tool") async def call_tool( - tool_name: str, arguments: Optional[dict[str, Any]] + tool_name: str, arguments: Optional[dict[str, Any]], factory_arguments: Optional[Any] ) -> CallToolResult: - server = self._server_factory() + server = self._server_factory(factory_arguments) try: await server.connect() return await server.call_tool(tool_name, arguments) @@ -149,8 +151,8 @@ async def call_tool( await server.cleanup() @activity.defn(name=self.name + "-list-prompts") - async def list_prompts() -> ListPromptsResult: - server = self._server_factory() + async def list_prompts(factory_arguments: Optional[Any]) -> ListPromptsResult: + server = self._server_factory(factory_arguments) try: await server.connect() return await server.list_prompts() @@ -159,9 +161,9 @@ async def list_prompts() -> ListPromptsResult: @activity.defn(name=self.name + "-get-prompt") async def get_prompt( - name: str, arguments: Optional[dict[str, Any]] + name: str, arguments: Optional[dict[str, Any]], factory_arguments: Optional[Any] ) -> GetPromptResult: - server = self._server_factory() + server = self._server_factory(factory_arguments) try: await server.connect() return await server.get_prompt(name, arguments) diff --git a/tests/contrib/openai_agents/mcp_history_stateless.json b/tests/contrib/openai_agents/mcp_history_stateless.json deleted file mode 100644 index 815595531..000000000 --- a/tests/contrib/openai_agents/mcp_history_stateless.json +++ /dev/null @@ -1,1159 +0,0 @@ -{ - "events": [ - { - "eventId": "1", - "eventTime": "2025-10-08T17:16:44.636164Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", - "taskId": "1048837", - "workflowExecutionStartedEventAttributes": { - "workflowType": { - "name": "McpServerWorkflow" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "ZmFsc2U=" - } - ] - }, - "workflowExecutionTimeout": "30s", - "workflowRunTimeout": "30s", - "workflowTaskTimeout": "10s", - "originalExecutionRunId": "0199c4d3-46dc-7280-91a8-8f1b72e89f22", - "identity": "38263@Tims-MacBook-Pro.local", - "firstExecutionRunId": "0199c4d3-46dc-7280-91a8-8f1b72e89f22", - "attempt": 1, - "workflowExecutionExpirationTime": "2025-10-08T17:17:14.636Z", - "firstWorkflowTaskBackoff": "0s", - "workflowId": "mcp-server-2de00204-512f-4337-8fda-9ef2eb4ea49b", - "priority": {} - } - }, - { - "eventId": "2", - "eventTime": "2025-10-08T17:16:44.636199Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048838", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "3", - "eventTime": "2025-10-08T17:16:44.639549Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048844", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "2", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "04041848-ca0c-4146-9db7-4151eefcdfb8", - "historySizeBytes": "393", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "4", - "eventTime": "2025-10-08T17:16:44.677596Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048848", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "2", - "startedEventId": "3", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": { - "coreUsedFlags": [ - 3, - 1, - 2 - ], - "sdkName": "temporal-python", - "sdkVersion": "1.18.1" - }, - "meteringMetadata": {} - } - }, - { - "eventId": "5", - "eventTime": "2025-10-08T17:16:44.677620Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048849", - "activityTaskScheduledEventAttributes": { - "activityId": "1", - "activityType": { - "name": "HelloServer-stateless-list-tools" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMWFhMzQzNDIzZDhiNDRmMWE3OWFlYzY1IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "4", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "6", - "eventTime": "2025-10-08T17:16:44.690550Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048854", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "5", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "948baa26-1596-4c47-9527-0a2eb8479360", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "7", - "eventTime": "2025-10-08T17:16:44.692095Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048855", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "5", - "startedEventId": "6", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "8", - "eventTime": "2025-10-08T17:16:44.692099Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048856", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "9", - "eventTime": "2025-10-08T17:16:44.740587Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048860", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "8", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "471dae5a-9f9f-457a-9495-72c855217b85", - "historySizeBytes": "1508", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "10", - "eventTime": "2025-10-08T17:16:44.742989Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048864", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "8", - "startedEventId": "9", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "11", - "eventTime": "2025-10-08T17:16:44.743012Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048865", - "activityTaskScheduledEventAttributes": { - "activityId": "2", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNjM5YzUwZjE3Y2ZmNGI1ZWFiNTgwOTgxIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "10", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "12", - "eventTime": "2025-10-08T17:16:44.790505Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048869", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "11", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "87ee5870-e914-4195-aecb-ea2bc840ff26", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "13", - "eventTime": "2025-10-08T17:16:44.809516Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048870", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "11", - "startedEventId": "12", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "14", - "eventTime": "2025-10-08T17:16:44.809519Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048871", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "15", - "eventTime": "2025-10-08T17:16:44.839911Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048875", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "14", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "fc2c0527-0922-4adf-a209-d8e729a4722f", - "historySizeBytes": "3689", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "16", - "eventTime": "2025-10-08T17:16:44.843006Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048879", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "14", - "startedEventId": "15", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "17", - "eventTime": "2025-10-08T17:16:44.843033Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048880", - "activityTaskScheduledEventAttributes": { - "activityId": "3", - "activityType": { - "name": "HelloServer-stateless-call-tool" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMjMwNTE3MjNkNWY5NGM2NmFjNjE4MjNiIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVG9tIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "16", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "18", - "eventTime": "2025-10-08T17:16:44.890662Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048884", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "17", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "8a01d56b-fbc0-464d-a68f-1fb0eae814be", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "19", - "eventTime": "2025-10-08T17:16:44.893295Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048885", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" - } - ] - }, - "scheduledEventId": "17", - "startedEventId": "18", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "20", - "eventTime": "2025-10-08T17:16:44.893299Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048886", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "21", - "eventTime": "2025-10-08T17:16:44.940718Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048890", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "20", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "bc9344ba-8ad4-4baf-9bc3-a7cfd988394a", - "historySizeBytes": "4733", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "22", - "eventTime": "2025-10-08T17:16:44.944630Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048894", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "20", - "startedEventId": "21", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "23", - "eventTime": "2025-10-08T17:16:44.944686Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048895", - "activityTaskScheduledEventAttributes": { - "activityId": "4", - "activityType": { - "name": "HelloServer-stateless-list-tools" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZTM5OTNiZTM3ZmIwNGQyYmE0MDljNzI2IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "22", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "24", - "eventTime": "2025-10-08T17:16:44.991023Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048899", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "23", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "5b10e2d6-3315-4c4e-9191-4f80c4abe23f", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "25", - "eventTime": "2025-10-08T17:16:44.993678Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048900", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "23", - "startedEventId": "24", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "26", - "eventTime": "2025-10-08T17:16:44.993682Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048901", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "27", - "eventTime": "2025-10-08T17:16:45.040614Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048905", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "26", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "7df1848c-8b07-46ed-bafd-1b104183de65", - "historySizeBytes": "5817", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "28", - "eventTime": "2025-10-08T17:16:45.044140Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048909", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "26", - "startedEventId": "27", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "29", - "eventTime": "2025-10-08T17:16:45.044170Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048910", - "activityTaskScheduledEventAttributes": { - "activityId": "5", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYjcwNjQwYzMzODc0NDYzNmIyYzE0OGYyIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "28", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "30", - "eventTime": "2025-10-08T17:16:45.090793Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048914", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "29", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "2146b2cf-9c68-464d-95b2-7416051461fe", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "31", - "eventTime": "2025-10-08T17:16:45.109193Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048915", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "29", - "startedEventId": "30", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "32", - "eventTime": "2025-10-08T17:16:45.109197Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048916", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "33", - "eventTime": "2025-10-08T17:16:45.140796Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048920", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "32", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "11b93c4e-22bd-4c72-a0f8-b95a83fe3042", - "historySizeBytes": "8255", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "34", - "eventTime": "2025-10-08T17:16:45.143859Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048924", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "32", - "startedEventId": "33", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "35", - "eventTime": "2025-10-08T17:16:45.143883Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048925", - "activityTaskScheduledEventAttributes": { - "activityId": "6", - "activityType": { - "name": "HelloServer-stateless-call-tool" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZjdjYjZmM2ZjNWEyNDEzYWI2NzA2M2I2IiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVGltIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "34", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "36", - "eventTime": "2025-10-08T17:16:45.190026Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048929", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "35", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "e96291f9-590a-48cc-92de-fd52b37b93b9", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "37", - "eventTime": "2025-10-08T17:16:45.193051Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048930", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" - } - ] - }, - "scheduledEventId": "35", - "startedEventId": "36", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "38", - "eventTime": "2025-10-08T17:16:45.193056Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048931", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "39", - "eventTime": "2025-10-08T17:16:45.240007Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048935", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "38", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "db41d2d5-e0fa-40e6-86d3-e934e368a6fd", - "historySizeBytes": "9293", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "40", - "eventTime": "2025-10-08T17:16:45.244034Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048939", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "38", - "startedEventId": "39", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "41", - "eventTime": "2025-10-08T17:16:45.244065Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048940", - "activityTaskScheduledEventAttributes": { - "activityId": "7", - "activityType": { - "name": "HelloServer-stateless-list-tools" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fZTYzNzRiZGYwMGE0NDZhNmE5MDY5ZjFmIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "40", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "42", - "eventTime": "2025-10-08T17:16:45.290586Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048944", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "41", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "0faaf242-ce1b-4779-91a2-9d4c02af7b1a", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "43", - "eventTime": "2025-10-08T17:16:45.293320Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048945", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "41", - "startedEventId": "42", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "44", - "eventTime": "2025-10-08T17:16:45.293326Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048946", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "45", - "eventTime": "2025-10-08T17:16:45.340704Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048950", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "44", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "c677cea9-7eeb-4520-8dd6-1ac8411150f2", - "historySizeBytes": "10374", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "46", - "eventTime": "2025-10-08T17:16:45.344189Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048954", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "44", - "startedEventId": "45", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "47", - "eventTime": "2025-10-08T17:16:45.344218Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048955", - "activityTaskScheduledEventAttributes": { - "activityId": "8", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "7bc80714-eaf7-4933-a5ae-b0036e660dba", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMzk3NWIzOTU0NDAzNDUxMThiODUyMWNjIiwidHJhY2VJZCI6InRyYWNlXzNlYWJiYzgwNDViNTQ5YjVhMmZiYjQ4NSJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "46", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "48", - "eventTime": "2025-10-08T17:16:45.390786Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048959", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "47", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "a264bfd4-c23f-4171-a533-9db331a2cefd", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "49", - "eventTime": "2025-10-08T17:16:45.413865Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048960", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" - } - ] - }, - "scheduledEventId": "47", - "startedEventId": "48", - "identity": "38263@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "50", - "eventTime": "2025-10-08T17:16:45.413871Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048961", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38263@Tims-MacBook-Pro.local-89d588f23d4f4857adcaf0847f72d4e9", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "7bc80714-eaf7-4933-a5ae-b0036e660dba" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "51", - "eventTime": "2025-10-08T17:16:45.440623Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048965", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "50", - "identity": "38263@Tims-MacBook-Pro.local", - "requestId": "a68ef39a-8c1a-456d-bdc7-4f85fffe8459", - "suggestContinueAsNew": true, - "historySizeBytes": "13100", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "52", - "eventTime": "2025-10-08T17:16:45.443191Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048969", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "50", - "startedEventId": "51", - "identity": "38263@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "53", - "eventTime": "2025-10-08T17:16:45.443209Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", - "taskId": "1048970", - "workflowExecutionCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IkhpIFRvbSBhbmQgVGltISI=" - } - ] - }, - "workflowTaskCompletedEventId": "52" - } - } - ] -} \ No newline at end of file diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index c5c03474a..88f74cfe7 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -2459,7 +2459,7 @@ async def get_prompt( server: Union[StatefulMCPServerProvider, StatelessMCPServerProvider] = ( StatefulMCPServerProvider(lambda: tracking_server) if stateful - else StatelessMCPServerProvider(lambda: tracking_server) + else StatelessMCPServerProvider(lambda _: tracking_server) ) new_config = client.config() @@ -2480,29 +2480,21 @@ async def get_prompt( client, McpServerStatefulWorkflow, McpServerWorkflow ) as worker: if stateful: - handle = await client.start_workflow( + result = await client.execute_workflow( McpServerStatefulWorkflow.run, args=[timedelta(seconds=30)], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), ) - result = await handle.result() - history = await handle.fetch_history() - with open(f"mcp_history_{"stateful" if stateful else "stateless"}.json", "w") as f: - f.write(history.to_json()) else: - handle = await client.start_workflow( + result = await client.execute_workflow( McpServerWorkflow.run, args=[caching], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), ) - result = await handle.result() - history = await handle.fetch_history() - with open(f"mcp_history_{"stateful" if stateful else "stateless"}.json", "w") as f: - f.write(history.to_json()) if use_local_model: assert result == "Hi Tom and Tim!" if use_local_model: From 14d82ffe466d50d12d62b8807b6fd65f32004b8c Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 11:00:43 -0700 Subject: [PATCH 3/9] Stateful too --- temporalio/contrib/openai_agents/_mcp.py | 44 +++--- temporalio/contrib/openai_agents/workflow.py | 12 +- tests/contrib/openai_agents/test_openai.py | 129 ++++++++++++++---- .../openai_agents/test_openai_replay.py | 4 +- 4 files changed, 140 insertions(+), 49 deletions(-) diff --git a/temporalio/contrib/openai_agents/_mcp.py b/temporalio/contrib/openai_agents/_mcp.py index 22f8377a2..68c4747ef 100644 --- a/temporalio/contrib/openai_agents/_mcp.py +++ b/temporalio/contrib/openai_agents/_mcp.py @@ -35,7 +35,7 @@ def __init__( server: str, config: Optional[ActivityConfig], cache_tools_list: bool, - factory_arguments: Optional[Any] = None, + factory_argument: Optional[Any] = None, ): self._name = server + "-stateless" self._config = config or ActivityConfig( @@ -43,7 +43,7 @@ def __init__( ) self._cache_tools_list = cache_tools_list self._tools = None - self._factory_arguments = factory_arguments + self._factory_argument = factory_argument super().__init__() @property @@ -65,7 +65,7 @@ async def list_tools( return self._tools tools = await workflow.execute_activity( self.name + "-list-tools", - args=[self._factory_arguments], + args=[self._factory_argument], result_type=list[MCPTool], **self._config, ) @@ -78,7 +78,7 @@ async def call_tool( ) -> CallToolResult: return await workflow.execute_activity( self.name + "-call-tool", - args=[tool_name, arguments, self._factory_arguments], + args=[tool_name, arguments, self._factory_argument], result_type=CallToolResult, **self._config, ) @@ -86,7 +86,7 @@ async def call_tool( async def list_prompts(self) -> ListPromptsResult: return await workflow.execute_activity( self.name + "-list-prompts", - args=[self._factory_arguments], + args=[self._factory_argument], result_type=ListPromptsResult, **self._config, ) @@ -96,7 +96,7 @@ async def get_prompt( ) -> GetPromptResult: return await workflow.execute_activity( self.name + "-get-prompt", - args=[name, arguments, self._factory_arguments], + args=[name, arguments, self._factory_argument], result_type=GetPromptResult, **self._config, ) @@ -131,8 +131,8 @@ def name(self) -> str: def _get_activities(self) -> Sequence[Callable]: @activity.defn(name=self.name + "-list-tools") - async def list_tools(factory_arguments: Optional[Any]) -> list[MCPTool]: - server = self._server_factory(factory_arguments) + async def list_tools(factory_argument: Optional[Any]) -> list[MCPTool]: + server = self._server_factory(factory_argument) try: await server.connect() return await server.list_tools() @@ -141,9 +141,11 @@ async def list_tools(factory_arguments: Optional[Any]) -> list[MCPTool]: @activity.defn(name=self.name + "-call-tool") async def call_tool( - tool_name: str, arguments: Optional[dict[str, Any]], factory_arguments: Optional[Any] + tool_name: str, + arguments: Optional[dict[str, Any]], + factory_argument: Optional[Any], ) -> CallToolResult: - server = self._server_factory(factory_arguments) + server = self._server_factory(factory_argument) try: await server.connect() return await server.call_tool(tool_name, arguments) @@ -151,8 +153,8 @@ async def call_tool( await server.cleanup() @activity.defn(name=self.name + "-list-prompts") - async def list_prompts(factory_arguments: Optional[Any]) -> ListPromptsResult: - server = self._server_factory(factory_arguments) + async def list_prompts(factory_argument: Optional[Any]) -> ListPromptsResult: + server = self._server_factory(factory_argument) try: await server.connect() return await server.list_prompts() @@ -161,9 +163,11 @@ async def list_prompts(factory_arguments: Optional[Any]) -> ListPromptsResult: @activity.defn(name=self.name + "-get-prompt") async def get_prompt( - name: str, arguments: Optional[dict[str, Any]], factory_arguments: Optional[Any] + name: str, + arguments: Optional[dict[str, Any]], + factory_argument: Optional[Any], ) -> GetPromptResult: - server = self._server_factory(factory_arguments) + server = self._server_factory(factory_argument) try: await server.connect() return await server.get_prompt(name, arguments) @@ -210,6 +214,7 @@ def __init__( server: str, config: Optional[ActivityConfig], server_session_config: Optional[ActivityConfig], + factory_argument: Optional[Any], ): self._name = server + "-stateful" self._config = config or ActivityConfig( @@ -220,6 +225,7 @@ def __init__( start_to_close_timeout=timedelta(hours=1), ) self._connect_handle: Optional[ActivityHandle] = None + self._factory_argument = factory_argument super().__init__() @property @@ -230,7 +236,7 @@ async def connect(self) -> None: self._config["task_queue"] = self.name + "@" + workflow.info().run_id self._connect_handle = workflow.start_activity( self.name + "-server-session", - args=[], + args=[self._factory_argument], **self._server_session_config, ) @@ -331,7 +337,7 @@ class StatefulMCPServerProvider: def __init__( self, - server_factory: Callable[[], MCPServer], + server_factory: Callable[[Optional[Any]], MCPServer], ): """Initialize the stateful temporal MCP server. @@ -340,7 +346,7 @@ def __init__( so that state is not shared between workflow runs """ self._server_factory = server_factory - self._name = server_factory().name + "-stateful" + self._name = server_factory(None).name + "-stateful" self._connect_handle: Optional[ActivityHandle] = None self._servers: dict[str, MCPServer] = {} super().__init__() @@ -381,7 +387,7 @@ async def heartbeat_every(delay: float, *details: Any) -> None: activity.heartbeat(*details) @activity.defn(name=self.name + "-server-session") - async def connect() -> None: + async def connect(factory_argument: Optional[Any]) -> None: heartbeat_task = asyncio.create_task(heartbeat_every(30)) server_id = self.name + "@" + activity.info().workflow_run_id @@ -389,7 +395,7 @@ async def connect() -> None: raise ApplicationError( "Cannot connect to an already running server. Use a distinct name if running multiple servers in one workflow." ) - server = self._server_factory() + server = self._server_factory(factory_argument) try: self._servers[server_id] = server try: diff --git a/temporalio/contrib/openai_agents/workflow.py b/temporalio/contrib/openai_agents/workflow.py index 51eff86a3..1023531a1 100644 --- a/temporalio/contrib/openai_agents/workflow.py +++ b/temporalio/contrib/openai_agents/workflow.py @@ -250,6 +250,7 @@ def stateless_mcp_server( name: str, config: Optional[ActivityConfig] = None, cache_tools_list: bool = False, + factory_argument: Optional[Any] = None, ) -> "MCPServer": """A stateless MCP server implementation for Temporal workflows. @@ -269,18 +270,22 @@ def stateless_mcp_server( config: Optional activity configuration for MCP operation activities. Defaults to 1-minute start-to-close timeout. cache_tools_list: If true, the list of tools will be cached for the duration of the server + factory_argument: Optional argument to be provided to the factory when producing an MCPServer """ from temporalio.contrib.openai_agents._mcp import ( _StatelessMCPServerReference, ) - return _StatelessMCPServerReference(name, config, cache_tools_list) + return _StatelessMCPServerReference( + name, config, cache_tools_list, factory_argument + ) def stateful_mcp_server( name: str, config: Optional[ActivityConfig] = None, server_session_config: Optional[ActivityConfig] = None, + factory_argument: Optional[Any] = None, ) -> AbstractAsyncContextManager["MCPServer"]: """A stateful MCP server implementation for Temporal workflows. @@ -305,12 +310,15 @@ def stateful_mcp_server( Defaults to 1-minute start-to-close and 30-second schedule-to-start timeouts. server_session_config: Optional activity configuration for the connection activity. Defaults to 1-hour start-to-close timeout. + factory_argument: Optional argument to be provided to the factory when producing an MCPServer """ from temporalio.contrib.openai_agents._mcp import ( _StatefulMCPServerReference, ) - return _StatefulMCPServerReference(name, config, server_session_config) + return _StatefulMCPServerReference( + name, config, server_session_config, factory_argument + ) class ToolSerializationError(TemporalError): diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index 88f74cfe7..e9d2b3941 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -92,6 +92,7 @@ from temporalio.contrib import openai_agents from temporalio.contrib.openai_agents import ( ModelActivityParameters, + StatefulMCPServerProvider, TestModel, TestModelProvider, ) @@ -2322,11 +2323,11 @@ async def test_output_type(client: Client): @workflow.defn class McpServerWorkflow: @workflow.run - async def run(self, caching: bool) -> str: + async def run(self, caching: bool, factory_argument: Optional[Any]) -> str: from agents.mcp import MCPServer server: MCPServer = openai_agents.workflow.stateless_mcp_server( - "HelloServer", cache_tools_list=caching + "HelloServer", cache_tools_list=caching, factory_argument=factory_argument ) agent = Agent[str]( name="MCP ServerWorkflow", @@ -2342,13 +2343,14 @@ async def run(self, caching: bool) -> str: @workflow.defn class McpServerStatefulWorkflow: @workflow.run - async def run(self, timeout: timedelta) -> str: + async def run(self, timeout: timedelta, factory_argument: Optional[Any]) -> str: async with openai_agents.workflow.stateful_mcp_server( "HelloServer", config=ActivityConfig( schedule_to_start_timeout=timeout, start_to_close_timeout=timedelta(seconds=30), ), + factory_argument=factory_argument, ) as server: agent = Agent[str]( name="MCP ServerWorkflow", @@ -2375,31 +2377,12 @@ class TrackingMCPModel(StaticTestModel): ] -@pytest.mark.parametrize("use_local_model", [True, False]) -@pytest.mark.parametrize("stateful", [True, False]) -@pytest.mark.parametrize("caching", [True, False]) -async def test_mcp_server( - client: Client, use_local_model: bool, stateful: bool, caching: bool -): - if not use_local_model and not os.environ.get("OPENAI_API_KEY"): - pytest.skip("No openai API key") - - if sys.version_info < (3, 10): - pytest.skip("Mcp not supported on Python 3.9") - - if stateful and caching: - pytest.skip("Caching is only supported for stateless MCP servers") - - from agents.mcp import MCPServer +def get_tracking_server(name: str): + from agents.mcp import MCPServer # type: ignore from mcp import GetPromptResult, ListPromptsResult # type: ignore from mcp import Tool as MCPTool # type: ignore from mcp.types import CallToolResult, TextContent # type: ignore - from temporalio.contrib.openai_agents import ( - StatefulMCPServerProvider, - StatelessMCPServerProvider, - ) - class TrackingMCPServer(MCPServer): calls: list[str] @@ -2455,9 +2438,34 @@ async def get_prompt( ) -> GetPromptResult: raise NotImplementedError() - tracking_server = TrackingMCPServer(name="HelloServer") + return TrackingMCPServer(name) + + +@pytest.mark.parametrize("use_local_model", [True, False]) +@pytest.mark.parametrize("stateful", [True, False]) +@pytest.mark.parametrize("caching", [True, False]) +async def test_mcp_server( + client: Client, use_local_model: bool, stateful: bool, caching: bool +): + if not use_local_model and not os.environ.get("OPENAI_API_KEY"): + pytest.skip("No openai API key") + + if sys.version_info < (3, 10): + pytest.skip("Mcp not supported on Python 3.9") + + if stateful and caching: + pytest.skip("Caching is only supported for stateless MCP servers") + + from agents.mcp import MCPServer # type: ignore + + from temporalio.contrib.openai_agents import ( + StatefulMCPServerProvider, + StatelessMCPServerProvider, + ) + + tracking_server = get_tracking_server(name="HelloServer") server: Union[StatefulMCPServerProvider, StatelessMCPServerProvider] = ( - StatefulMCPServerProvider(lambda: tracking_server) + StatefulMCPServerProvider(lambda _: tracking_server) if stateful else StatelessMCPServerProvider(lambda _: tracking_server) ) @@ -2543,6 +2551,73 @@ async def get_prompt( ] +@pytest.mark.parametrize("stateful", [True, False]) +async def test_mcp_server_factory_argument(client: Client, stateful: bool): + if sys.version_info < (3, 10): + pytest.skip("Mcp not supported on Python 3.9") + + from agents.mcp import MCPServer # type: ignore + from mcp import GetPromptResult, ListPromptsResult # type: ignore + from mcp import Tool as MCPTool # type: ignore + from mcp.types import CallToolResult, TextContent # type: ignore + + from temporalio.contrib.openai_agents import ( + StatefulMCPServerProvider, + StatelessMCPServerProvider, + ) + + args_seen = False + + def factory(args: Optional[Any]) -> MCPServer: + print("Invoking factory: ", args) + if args is not None: + nonlocal args_seen + args_seen = True + assert cast(dict[str, str], args).get("user") == "blah" + + return get_tracking_server("HelloServer") + + server: Union[StatefulMCPServerProvider, StatelessMCPServerProvider] = ( + StatefulMCPServerProvider(factory) + if stateful + else StatelessMCPServerProvider(factory) + ) + + new_config = client.config() + new_config["plugins"] = [ + openai_agents.OpenAIAgentsPlugin( + model_params=ModelActivityParameters( + start_to_close_timeout=timedelta(seconds=120) + ), + model_provider=TestModelProvider(TrackingMCPModel()), + mcp_server_providers=[server], + ) + ] + client = Client(**new_config) + + headers = {"user": "blah"} + async with new_worker( + client, McpServerStatefulWorkflow, McpServerWorkflow + ) as worker: + if stateful: + result = await client.execute_workflow( + McpServerStatefulWorkflow.run, + args=[timedelta(seconds=30), headers], + id=f"mcp-server-{uuid.uuid4()}", + task_queue=worker.task_queue, + execution_timeout=timedelta(seconds=30), + ) + else: + result = await client.execute_workflow( + McpServerWorkflow.run, + args=[False, headers], + id=f"mcp-server-{uuid.uuid4()}", + task_queue=worker.task_queue, + execution_timeout=timedelta(seconds=30), + ) + assert args_seen + + async def test_stateful_mcp_server_no_worker(client: Client): if sys.version_info < (3, 10): pytest.skip("Mcp not supported on Python 3.9") @@ -2551,7 +2626,7 @@ async def test_stateful_mcp_server_no_worker(client: Client): from temporalio.contrib.openai_agents import StatefulMCPServerProvider server = StatefulMCPServerProvider( - lambda: MCPServerStdio( + lambda _: MCPServerStdio( name="Filesystem-Server", params={ "command": "npx", diff --git a/tests/contrib/openai_agents/test_openai_replay.py b/tests/contrib/openai_agents/test_openai_replay.py index bd9919ae3..b8cbf99a7 100644 --- a/tests/contrib/openai_agents/test_openai_replay.py +++ b/tests/contrib/openai_agents/test_openai_replay.py @@ -12,9 +12,11 @@ CustomerServiceWorkflow, HelloWorldAgent, InputGuardrailWorkflow, + McpServerStatefulWorkflow, + McpServerWorkflow, OutputGuardrailWorkflow, ResearchWorkflow, - ToolsWorkflow, McpServerWorkflow, McpServerStatefulWorkflow, + ToolsWorkflow, ) From 3b4b9045d8e816f033a20cb0c4b8326fd4a94ff3 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 12:13:40 -0700 Subject: [PATCH 4/9] Deprecate exisitng activities, add dataclasses --- temporalio/contrib/openai_agents/_mcp.py | 177 ++- .../histories/mcp-history-stateful.json | 1193 ----------------- .../histories/mcp-history-stateless.json | 918 ------------- tests/contrib/openai_agents/test_openai.py | 4 +- .../openai_agents/test_openai_replay.py | 4 - 5 files changed, 139 insertions(+), 2157 deletions(-) delete mode 100644 tests/contrib/openai_agents/histories/mcp-history-stateful.json delete mode 100644 tests/contrib/openai_agents/histories/mcp-history-stateless.json diff --git a/temporalio/contrib/openai_agents/_mcp.py b/temporalio/contrib/openai_agents/_mcp.py index 68c4747ef..9fdcd4836 100644 --- a/temporalio/contrib/openai_agents/_mcp.py +++ b/temporalio/contrib/openai_agents/_mcp.py @@ -1,10 +1,12 @@ import abc import asyncio +import dataclasses import functools +import inspect import logging from contextlib import AbstractAsyncContextManager from datetime import timedelta -from typing import Any, Callable, Optional, Sequence, Union +from typing import Any, Callable, Optional, Sequence, Union, cast from agents import AgentBase, RunContextWrapper from agents.mcp import MCPServer @@ -29,6 +31,30 @@ logger = logging.getLogger(__name__) +@dataclasses.dataclass +class _StatelessListToolsArguments: + factory_argument: Optional[Any] + + +@dataclasses.dataclass +class _StatelessCallToolsArguments: + tool_name: str + arguments: Optional[dict[str, Any]] + factory_argument: Optional[Any] + + +@dataclasses.dataclass +class _StatelessListPromptsArguments: + factory_argument: Optional[Any] + + +@dataclasses.dataclass +class _StatelessGetPromptArguments: + name: str + arguments: Optional[dict[str, Any]] + factory_argument: Optional[Any] + + class _StatelessMCPServerReference(MCPServer): def __init__( self, @@ -65,7 +91,7 @@ async def list_tools( return self._tools tools = await workflow.execute_activity( self.name + "-list-tools", - args=[self._factory_argument], + _StatelessListToolsArguments(self._factory_argument), result_type=list[MCPTool], **self._config, ) @@ -77,8 +103,8 @@ async def call_tool( self, tool_name: str, arguments: Optional[dict[str, Any]] ) -> CallToolResult: return await workflow.execute_activity( - self.name + "-call-tool", - args=[tool_name, arguments, self._factory_argument], + self.name + "-call-tool-v2", + _StatelessCallToolsArguments(tool_name, arguments, self._factory_argument), result_type=CallToolResult, **self._config, ) @@ -86,7 +112,7 @@ async def call_tool( async def list_prompts(self) -> ListPromptsResult: return await workflow.execute_activity( self.name + "-list-prompts", - args=[self._factory_argument], + _StatelessListPromptsArguments(self._factory_argument), result_type=ListPromptsResult, **self._config, ) @@ -95,8 +121,8 @@ async def get_prompt( self, name: str, arguments: Optional[dict[str, Any]] = None ) -> GetPromptResult: return await workflow.execute_activity( - self.name + "-get-prompt", - args=[name, arguments, self._factory_argument], + self.name + "-get-prompt-v2", + _StatelessGetPromptArguments(name, arguments, self._factory_argument), result_type=GetPromptResult, **self._config, ) @@ -113,7 +139,12 @@ class StatelessMCPServerProvider: function, this cannot be used. """ - def __init__(self, server_factory: Callable[[Optional[Any]], MCPServer]): + def __init__( + self, + server_factory: Union[ + Callable[[], MCPServer], Callable[[Optional[Any]], MCPServer] + ], + ): """Initialize the stateless temporal MCP server. Args: @@ -121,9 +152,18 @@ def __init__(self, server_factory: Callable[[Optional[Any]], MCPServer]): so that state is not shared between workflow runs """ self._server_factory = server_factory - self._name = server_factory(None).name + "-stateless" + self._name = self._create_server(None).name + "-stateless" super().__init__() + def _create_server(self, factory_argument: Optional[Any]) -> MCPServer: + sig = inspect.signature(self._server_factory) + if len(sig.parameters) == 0: + return cast(Callable[[], MCPServer], self._server_factory)() + else: + return cast(Callable[[Optional[Any]], MCPServer], self._server_factory)( + factory_argument + ) + @property def name(self) -> str: """Get the server name.""" @@ -131,50 +171,69 @@ def name(self) -> str: def _get_activities(self) -> Sequence[Callable]: @activity.defn(name=self.name + "-list-tools") - async def list_tools(factory_argument: Optional[Any]) -> list[MCPTool]: - server = self._server_factory(factory_argument) + async def list_tools( + args: Optional[_StatelessListToolsArguments] = None, + ) -> list[MCPTool]: + server = self._create_server(args.factory_argument if args else None) try: await server.connect() return await server.list_tools() finally: await server.cleanup() - @activity.defn(name=self.name + "-call-tool") - async def call_tool( - tool_name: str, - arguments: Optional[dict[str, Any]], - factory_argument: Optional[Any], - ) -> CallToolResult: - server = self._server_factory(factory_argument) + @activity.defn(name=self.name + "-call-tool-v2") + async def call_tool(args: _StatelessCallToolsArguments) -> CallToolResult: + server = self._create_server(args.factory_argument) try: await server.connect() - return await server.call_tool(tool_name, arguments) + return await server.call_tool(args.tool_name, args.arguments) finally: await server.cleanup() @activity.defn(name=self.name + "-list-prompts") - async def list_prompts(factory_argument: Optional[Any]) -> ListPromptsResult: - server = self._server_factory(factory_argument) + async def list_prompts( + args: Optional[_StatelessListPromptsArguments] = None, + ) -> ListPromptsResult: + server = self._create_server(args.factory_argument if args else None) try: await server.connect() return await server.list_prompts() finally: await server.cleanup() - @activity.defn(name=self.name + "-get-prompt") - async def get_prompt( - name: str, - arguments: Optional[dict[str, Any]], - factory_argument: Optional[Any], - ) -> GetPromptResult: - server = self._server_factory(factory_argument) + @activity.defn(name=self.name + "-get-prompt-v2") + async def get_prompt(args: _StatelessGetPromptArguments) -> GetPromptResult: + server = self._create_server(args.factory_argument) try: await server.connect() - return await server.get_prompt(name, arguments) + return await server.get_prompt(args.name, args.arguments) finally: await server.cleanup() - return list_tools, call_tool, list_prompts, get_prompt + @activity.defn(name=self.name + "-call-tool") + async def call_tool_deprecated( + tool_name: str, + arguments: Optional[dict[str, Any]], + ) -> CallToolResult: + return await call_tool( + _StatelessCallToolsArguments(tool_name, arguments, None) + ) + + @activity.defn(name=self.name + "-get-prompt") + async def get_prompt_deprecated( + name: str, + arguments: Optional[dict[str, Any]], + ) -> GetPromptResult: + return await get_prompt(_StatelessGetPromptArguments(name, arguments, None)) + + return ( + list_tools, + call_tool, + list_prompts, + get_prompt, + call_tool_deprecated, + get_prompt_deprecated, + ) def _handle_worker_failure(func): @@ -208,6 +267,23 @@ async def wrapper(*args, **kwargs): return wrapper +@dataclasses.dataclass +class _StatefulCallToolsArguments: + tool_name: str + arguments: Optional[dict[str, Any]] + + +@dataclasses.dataclass +class _StatefulGetPromptArguments: + name: str + arguments: Optional[dict[str, Any]] + + +@dataclasses.dataclass +class _StatefulServerSessionArguments: + factory_argument: Optional[Any] + + class _StatefulMCPServerReference(MCPServer, AbstractAsyncContextManager): def __init__( self, @@ -236,7 +312,7 @@ async def connect(self) -> None: self._config["task_queue"] = self.name + "@" + workflow.info().run_id self._connect_handle = workflow.start_activity( self.name + "-server-session", - args=[self._factory_argument], + _StatefulServerSessionArguments(self._factory_argument), **self._server_session_config, ) @@ -284,8 +360,8 @@ async def call_tool( "Stateful MCP Server not connected. Call connect first." ) return await workflow.execute_activity( - self.name + "-call-tool", - args=[tool_name, arguments], + self.name + "-call-tool-v2", + _StatefulCallToolsArguments(tool_name, arguments), result_type=CallToolResult, **self._config, ) @@ -312,8 +388,8 @@ async def get_prompt( "Stateful MCP Server not connected. Call connect first." ) return await workflow.execute_activity( - self.name + "-get-prompt", - args=[name, arguments], + self.name + "-get-prompt-v2", + _StatefulGetPromptArguments(name, arguments), result_type=GetPromptResult, **self._config, ) @@ -365,21 +441,33 @@ async def list_tools() -> list[MCPTool]: return await self._servers[_server_id()].list_tools() @activity.defn(name=self.name + "-call-tool") - async def call_tool( + async def call_tool_deprecated( tool_name: str, arguments: Optional[dict[str, Any]] ) -> CallToolResult: return await self._servers[_server_id()].call_tool(tool_name, arguments) + @activity.defn(name=self.name + "-call-tool-v2") + async def call_tool(args: _StatefulCallToolsArguments) -> CallToolResult: + return await self._servers[_server_id()].call_tool( + args.tool_name, args.arguments + ) + @activity.defn(name=self.name + "-list-prompts") async def list_prompts() -> ListPromptsResult: return await self._servers[_server_id()].list_prompts() @activity.defn(name=self.name + "-get-prompt") - async def get_prompt( + async def get_prompt_deprecated( name: str, arguments: Optional[dict[str, Any]] ) -> GetPromptResult: return await self._servers[_server_id()].get_prompt(name, arguments) + @activity.defn(name=self.name + "-get-prompt-v2") + async def get_prompt(args: _StatefulGetPromptArguments) -> GetPromptResult: + return await self._servers[_server_id()].get_prompt( + args.name, args.arguments + ) + async def heartbeat_every(delay: float, *details: Any) -> None: """Heartbeat every so often while not cancelled""" while True: @@ -387,7 +475,9 @@ async def heartbeat_every(delay: float, *details: Any) -> None: activity.heartbeat(*details) @activity.defn(name=self.name + "-server-session") - async def connect(factory_argument: Optional[Any]) -> None: + async def connect( + args: Optional[_StatefulServerSessionArguments] = None, + ) -> None: heartbeat_task = asyncio.create_task(heartbeat_every(30)) server_id = self.name + "@" + activity.info().workflow_run_id @@ -395,7 +485,7 @@ async def connect(factory_argument: Optional[Any]) -> None: raise ApplicationError( "Cannot connect to an already running server. Use a distinct name if running multiple servers in one workflow." ) - server = self._server_factory(factory_argument) + server = self._server_factory(args.factory_argument if args else None) try: self._servers[server_id] = server try: @@ -404,7 +494,14 @@ async def connect(factory_argument: Optional[Any]) -> None: worker = Worker( activity.client(), task_queue=server_id, - activities=[list_tools, call_tool, list_prompts, get_prompt], + activities=[ + list_tools, + call_tool, + list_prompts, + get_prompt, + call_tool_deprecated, + get_prompt_deprecated, + ], activity_task_poller_behavior=PollerBehaviorSimpleMaximum(1), ) diff --git a/tests/contrib/openai_agents/histories/mcp-history-stateful.json b/tests/contrib/openai_agents/histories/mcp-history-stateful.json deleted file mode 100644 index 4a362f105..000000000 --- a/tests/contrib/openai_agents/histories/mcp-history-stateful.json +++ /dev/null @@ -1,1193 +0,0 @@ -{ - "events": [ - { - "eventId": "1", - "eventTime": "2025-10-08T17:17:55.581486Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", - "taskId": "1048587", - "workflowExecutionStartedEventAttributes": { - "workflowType": { - "name": "McpServerStatefulWorkflow" - }, - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlBUMzBTIg==" - } - ] - }, - "workflowExecutionTimeout": "30s", - "workflowRunTimeout": "30s", - "workflowTaskTimeout": "10s", - "originalExecutionRunId": "0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "identity": "38317@Tims-MacBook-Pro.local", - "firstExecutionRunId": "0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "attempt": 1, - "workflowExecutionExpirationTime": "2025-10-08T17:18:25.581Z", - "firstWorkflowTaskBackoff": "0s", - "workflowId": "mcp-server-9a9a28b7-a23e-4878-a31d-332442b3c345", - "priority": {} - } - }, - { - "eventId": "2", - "eventTime": "2025-10-08T17:17:55.581539Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048588", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "3", - "eventTime": "2025-10-08T17:17:55.584095Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048594", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "2", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "0c4e6816-3ada-4b09-8e7a-ac9e72fdecab", - "historySizeBytes": "403", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "4", - "eventTime": "2025-10-08T17:17:55.627981Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048598", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "2", - "startedEventId": "3", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": { - "coreUsedFlags": [ - 1, - 2, - 3 - ], - "sdkName": "temporal-python", - "sdkVersion": "1.18.1" - }, - "meteringMetadata": {} - } - }, - { - "eventId": "5", - "eventTime": "2025-10-08T17:17:55.628054Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048599", - "activityTaskScheduledEventAttributes": { - "activityId": "1", - "activityType": { - "name": "HelloServer-stateful-server-session" - }, - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": {}, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "4", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "6", - "eventTime": "2025-10-08T17:17:55.628176Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048600", - "activityTaskScheduledEventAttributes": { - "activityId": "2", - "activityType": { - "name": "HelloServer-stateful-list-tools" - }, - "taskQueue": { - "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYWI4NGRlMDY1ZmFiNGQzOWFiZDNiM2I0IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "4", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "priority": {} - } - }, - { - "eventId": "7", - "eventTime": "2025-10-08T17:17:55.632338Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048607", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "6", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "cda03631-b3e1-49a8-84ee-3173f17721de", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "8", - "eventTime": "2025-10-08T17:17:55.634155Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048608", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "6", - "startedEventId": "7", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "9", - "eventTime": "2025-10-08T17:17:55.634158Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048609", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "10", - "eventTime": "2025-10-08T17:17:55.634852Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048613", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "9", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "dfb850d2-98a6-4283-b26d-c4ca6372bf51", - "historySizeBytes": "1688", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "11", - "eventTime": "2025-10-08T17:17:55.637197Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048617", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "9", - "startedEventId": "10", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "12", - "eventTime": "2025-10-08T17:17:55.637219Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048618", - "activityTaskScheduledEventAttributes": { - "activityId": "3", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fMDRjMzZkN2E5OTBiNDJlMWIzM2E2NmQ1IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "11", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "13", - "eventTime": "2025-10-08T17:17:55.637906Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048622", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "12", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "2d8258d5-08ea-4581-a1e7-27480f26efcc", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "14", - "eventTime": "2025-10-08T17:17:55.653069Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048623", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "12", - "startedEventId": "13", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "15", - "eventTime": "2025-10-08T17:17:55.653072Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048624", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "16", - "eventTime": "2025-10-08T17:17:55.653797Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048628", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "15", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "042387d1-591d-49c2-a1e1-f55653c0d8b3", - "historySizeBytes": "3869", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "17", - "eventTime": "2025-10-08T17:17:55.656178Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048632", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "15", - "startedEventId": "16", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "18", - "eventTime": "2025-10-08T17:17:55.656197Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048633", - "activityTaskScheduledEventAttributes": { - "activityId": "4", - "activityType": { - "name": "HelloServer-stateful-call-tool" - }, - "taskQueue": { - "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fN2EyNTQ4N2U1ZTc5NDA0YzgyYzQ0ODY4IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVG9tIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "17", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "priority": {} - } - }, - { - "eventId": "19", - "eventTime": "2025-10-08T17:17:55.656797Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048637", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "18", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "056bc5a9-226f-4d90-952c-04b31525166b", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "20", - "eventTime": "2025-10-08T17:17:55.658347Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048638", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" - } - ] - }, - "scheduledEventId": "18", - "startedEventId": "19", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "21", - "eventTime": "2025-10-08T17:17:55.658350Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048639", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "22", - "eventTime": "2025-10-08T17:17:55.658899Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048643", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "21", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "6ce286ae-71a8-4347-9415-183d6e59da5a", - "historySizeBytes": "4931", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "23", - "eventTime": "2025-10-08T17:17:55.660650Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048647", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "21", - "startedEventId": "22", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "24", - "eventTime": "2025-10-08T17:17:55.660663Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048648", - "activityTaskScheduledEventAttributes": { - "activityId": "5", - "activityType": { - "name": "HelloServer-stateful-list-tools" - }, - "taskQueue": { - "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYTdjOTcyODljNzlmNGE0M2I4M2JkMmIzIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "23", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "priority": {} - } - }, - { - "eventId": "25", - "eventTime": "2025-10-08T17:17:55.661123Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048652", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "24", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "77ddbb73-5588-47c0-9042-09e7b54ff0ff", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "26", - "eventTime": "2025-10-08T17:17:55.662502Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048653", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "24", - "startedEventId": "25", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "27", - "eventTime": "2025-10-08T17:17:55.662505Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048654", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "28", - "eventTime": "2025-10-08T17:17:55.662986Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048658", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "27", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "e3cf160a-3eec-4dd5-96a0-63c3f2051dab", - "historySizeBytes": "6033", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "29", - "eventTime": "2025-10-08T17:17:55.664773Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048662", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "27", - "startedEventId": "28", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "30", - "eventTime": "2025-10-08T17:17:55.664788Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048663", - "activityTaskScheduledEventAttributes": { - "activityId": "6", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOTQ2ZTAwZDcxYzdlNDJmZWE1MDFjOGZhIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "29", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "31", - "eventTime": "2025-10-08T17:17:55.665291Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048667", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "30", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "5585b7f9-ea35-47ce-89c5-295cfa96064a", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "32", - "eventTime": "2025-10-08T17:17:55.678747Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048668", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "30", - "startedEventId": "31", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "33", - "eventTime": "2025-10-08T17:17:55.678753Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048669", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "34", - "eventTime": "2025-10-08T17:17:55.679415Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048673", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "33", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "d3a12bb7-d690-4394-a38f-b84cbe8999a7", - "historySizeBytes": "8477", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "35", - "eventTime": "2025-10-08T17:17:55.681451Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048677", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "33", - "startedEventId": "34", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "36", - "eventTime": "2025-10-08T17:17:55.681470Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048678", - "activityTaskScheduledEventAttributes": { - "activityId": "7", - "activityType": { - "name": "HelloServer-stateful-call-tool" - }, - "taskQueue": { - "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYWNmMzk2MmIxOWExNDAyM2FkYjQzYWFiIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVGltIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "35", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "priority": {} - } - }, - { - "eventId": "37", - "eventTime": "2025-10-08T17:17:55.682061Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048682", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "36", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "a460445f-891c-4efd-ba93-4a90d94a3f8b", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "38", - "eventTime": "2025-10-08T17:17:55.683770Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048683", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" - } - ] - }, - "scheduledEventId": "36", - "startedEventId": "37", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "39", - "eventTime": "2025-10-08T17:17:55.683774Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048684", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "40", - "eventTime": "2025-10-08T17:17:55.684249Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048688", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "39", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "fa460f0a-2d57-4e95-b1e2-aa0276b77c3a", - "historySizeBytes": "9539", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "41", - "eventTime": "2025-10-08T17:17:55.686001Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048692", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "39", - "startedEventId": "40", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "42", - "eventTime": "2025-10-08T17:17:55.686014Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048693", - "activityTaskScheduledEventAttributes": { - "activityId": "8", - "activityType": { - "name": "HelloServer-stateful-list-tools" - }, - "taskQueue": { - "name": "HelloServer-stateful@0199c4d4-5bfd-7766-be99-d290ab6e2c4d", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNmRhZmM5ZTRlNGVhNDliZmFkZmZkYTY2IiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "41", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "priority": {} - } - }, - { - "eventId": "43", - "eventTime": "2025-10-08T17:17:55.686571Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048697", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "42", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "d85f1469-1038-41d0-9ca3-bb2927aca11f", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "44", - "eventTime": "2025-10-08T17:17:55.687958Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048698", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "42", - "startedEventId": "43", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "45", - "eventTime": "2025-10-08T17:17:55.687960Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048699", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "46", - "eventTime": "2025-10-08T17:17:55.688472Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048703", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "45", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "9a9eb4a4-785b-4f3b-a4fe-8e7d7f079fd3", - "historySizeBytes": "10641", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "47", - "eventTime": "2025-10-08T17:17:55.690301Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048707", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "45", - "startedEventId": "46", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "48", - "eventTime": "2025-10-08T17:17:55.690319Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048708", - "activityTaskScheduledEventAttributes": { - "activityId": "9", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "e0ba2c38-0354-4c0a-943a-8df9407de17f", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNGRiYzE0OTdmNDdiNDAyZmFkZWU0YTliIiwidHJhY2VJZCI6InRyYWNlXzVlZDA2MDZhYTUyODQ1YjNhOWE5OTdiZiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "47", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "49", - "eventTime": "2025-10-08T17:17:55.690760Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048712", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "48", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "27a54917-e08b-40cb-a16a-cb032b493ae3", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "50", - "eventTime": "2025-10-08T17:17:55.703511Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048713", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" - } - ] - }, - "scheduledEventId": "48", - "startedEventId": "49", - "identity": "38317@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "51", - "eventTime": "2025-10-08T17:17:55.703514Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048714", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38317@Tims-MacBook-Pro.local-efed6e7a7a7848ce9a874044407c20f4", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "e0ba2c38-0354-4c0a-943a-8df9407de17f" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "52", - "eventTime": "2025-10-08T17:17:55.704072Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048718", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "51", - "identity": "38317@Tims-MacBook-Pro.local", - "requestId": "128d91a8-68ce-48a5-b751-9482f7e375a1", - "suggestContinueAsNew": true, - "historySizeBytes": "13367", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "53", - "eventTime": "2025-10-08T17:17:55.706654Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048722", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "51", - "startedEventId": "52", - "identity": "38317@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "54", - "eventTime": "2025-10-08T17:17:55.706682Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED", - "taskId": "1048723", - "activityTaskCancelRequestedEventAttributes": { - "scheduledEventId": "5", - "workflowTaskCompletedEventId": "53" - } - }, - { - "eventId": "55", - "eventTime": "2025-10-08T17:17:55.706695Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", - "taskId": "1048724", - "workflowExecutionCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IkhpIFRvbSBhbmQgVGltISI=" - } - ] - }, - "workflowTaskCompletedEventId": "53" - } - } - ] -} \ No newline at end of file diff --git a/tests/contrib/openai_agents/histories/mcp-history-stateless.json b/tests/contrib/openai_agents/histories/mcp-history-stateless.json deleted file mode 100644 index 6ccf19a86..000000000 --- a/tests/contrib/openai_agents/histories/mcp-history-stateless.json +++ /dev/null @@ -1,918 +0,0 @@ -{ - "events": [ - { - "eventId": "1", - "eventTime": "2025-10-08T17:13:47.139664Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", - "taskId": "1048587", - "workflowExecutionStartedEventAttributes": { - "workflowType": { - "name": "McpServerWorkflow" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "dHJ1ZQ==" - } - ] - }, - "workflowExecutionTimeout": "30s", - "workflowRunTimeout": "30s", - "workflowTaskTimeout": "10s", - "originalExecutionRunId": "0199c4d0-9183-7a1d-864f-8918a11fafda", - "identity": "38116@Tims-MacBook-Pro.local", - "firstExecutionRunId": "0199c4d0-9183-7a1d-864f-8918a11fafda", - "attempt": 1, - "workflowExecutionExpirationTime": "2025-10-08T17:14:17.139Z", - "firstWorkflowTaskBackoff": "0s", - "workflowId": "mcp-server-1785ba69-07ec-418c-8a25-02dcee785aeb", - "priority": {} - } - }, - { - "eventId": "2", - "eventTime": "2025-10-08T17:13:47.139703Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048588", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "3", - "eventTime": "2025-10-08T17:13:47.144385Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048594", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "2", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "91df111f-c3f9-49d7-b612-88cedc2d484f", - "historySizeBytes": "389", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "4", - "eventTime": "2025-10-08T17:13:47.187160Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048598", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "2", - "startedEventId": "3", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": { - "coreUsedFlags": [ - 1, - 3, - 2 - ], - "sdkName": "temporal-python", - "sdkVersion": "1.18.1" - }, - "meteringMetadata": {} - } - }, - { - "eventId": "5", - "eventTime": "2025-10-08T17:13:47.187241Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048599", - "activityTaskScheduledEventAttributes": { - "activityId": "1", - "activityType": { - "name": "HelloServer-stateless-list-tools" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNzcyYzRlYzQzMzYxNGNjNTkwMzM1ODMwIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "4", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "6", - "eventTime": "2025-10-08T17:13:47.188256Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048604", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "5", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "a39aab37-1f29-401c-a7ad-b3cf10be410f", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "7", - "eventTime": "2025-10-08T17:13:47.190639Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048605", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "W3sibmFtZSI6IlNheS1IZWxsbyIsImlucHV0U2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XQ==" - } - ] - }, - "scheduledEventId": "5", - "startedEventId": "6", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "8", - "eventTime": "2025-10-08T17:13:47.190642Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048606", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "9", - "eventTime": "2025-10-08T17:13:47.191261Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048610", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "8", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "03ffa549-3583-4eee-9b8a-36ed8113451b", - "historySizeBytes": "1497", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "10", - "eventTime": "2025-10-08T17:13:47.193538Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048614", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "8", - "startedEventId": "9", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "11", - "eventTime": "2025-10-08T17:13:47.193557Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048615", - "activityTaskScheduledEventAttributes": { - "activityId": "2", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOTQxNWZiMjkxMmI4NDgzNGE0NmI1N2Y5IiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn1dLCJtb2RlbF9zZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6bnVsbCwidG9wX3AiOm51bGwsImZyZXF1ZW5jeV9wZW5hbHR5IjpudWxsLCJwcmVzZW5jZV9wZW5hbHR5IjpudWxsLCJ0b29sX2Nob2ljZSI6bnVsbCwicGFyYWxsZWxfdG9vbF9jYWxscyI6bnVsbCwidHJ1bmNhdGlvbiI6bnVsbCwibWF4X3Rva2VucyI6bnVsbCwicmVhc29uaW5nIjpudWxsLCJ2ZXJib3NpdHkiOm51bGwsIm1ldGFkYXRhIjpudWxsLCJzdG9yZSI6bnVsbCwiaW5jbHVkZV91c2FnZSI6bnVsbCwicmVzcG9uc2VfaW5jbHVkZSI6bnVsbCwidG9wX2xvZ3Byb2JzIjpudWxsLCJleHRyYV9xdWVyeSI6bnVsbCwiZXh0cmFfYm9keSI6bnVsbCwiZXh0cmFfaGVhZGVycyI6bnVsbCwiZXh0cmFfYXJncyI6bnVsbH0sInRvb2xzIjpbeyJuYW1lIjoiU2F5LUhlbGxvIiwiZGVzY3JpcHRpb24iOiIiLCJwYXJhbXNfanNvbl9zY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifSwic3RyaWN0X2pzb25fc2NoZW1hIjpmYWxzZX1dLCJvdXRwdXRfc2NoZW1hIjpudWxsLCJoYW5kb2ZmcyI6W10sInRyYWNpbmciOjEsInByZXZpb3VzX3Jlc3BvbnNlX2lkIjpudWxsLCJjb252ZXJzYXRpb25faWQiOm51bGwsInByb21wdCI6bnVsbH0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "10", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "12", - "eventTime": "2025-10-08T17:13:47.194142Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048619", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "11", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "c09d725a-f0b1-4670-8f0f-568cc8f751a3", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "13", - "eventTime": "2025-10-08T17:13:47.209094Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048620", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRvbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "11", - "startedEventId": "12", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "14", - "eventTime": "2025-10-08T17:13:47.209096Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048621", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "15", - "eventTime": "2025-10-08T17:13:47.209685Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048625", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "14", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "2369a735-9fac-4d98-b08a-35455ab4583e", - "historySizeBytes": "3672", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "16", - "eventTime": "2025-10-08T17:13:47.211945Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048629", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "14", - "startedEventId": "15", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "17", - "eventTime": "2025-10-08T17:13:47.211964Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048630", - "activityTaskScheduledEventAttributes": { - "activityId": "3", - "activityType": { - "name": "HelloServer-stateless-call-tool" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fYjQ5YTkwYzQ5NTVjNGNlNGFhNjE3YjAzIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVG9tIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "16", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "18", - "eventTime": "2025-10-08T17:13:47.212425Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048634", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "17", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "eda101c8-0e40-46f0-9bc0-67e6f95d19fe", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "19", - "eventTime": "2025-10-08T17:13:47.214090Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048635", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUb20ifV19" - } - ] - }, - "scheduledEventId": "17", - "startedEventId": "18", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "20", - "eventTime": "2025-10-08T17:13:47.214093Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048636", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "21", - "eventTime": "2025-10-08T17:13:47.214685Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048640", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "20", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "fbbfe603-b76e-4f2d-bcb6-69cdb347e5d4", - "historySizeBytes": "4710", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "22", - "eventTime": "2025-10-08T17:13:47.217042Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048644", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "20", - "startedEventId": "21", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "23", - "eventTime": "2025-10-08T17:13:47.217063Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048645", - "activityTaskScheduledEventAttributes": { - "activityId": "4", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNjczN2Q5YmY2YjdhNDhkYThmMzhhYjJhIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifV0sIm1vZGVsX3NldHRpbmdzIjp7InRlbXBlcmF0dXJlIjpudWxsLCJ0b3BfcCI6bnVsbCwiZnJlcXVlbmN5X3BlbmFsdHkiOm51bGwsInByZXNlbmNlX3BlbmFsdHkiOm51bGwsInRvb2xfY2hvaWNlIjpudWxsLCJwYXJhbGxlbF90b29sX2NhbGxzIjpudWxsLCJ0cnVuY2F0aW9uIjpudWxsLCJtYXhfdG9rZW5zIjpudWxsLCJyZWFzb25pbmciOm51bGwsInZlcmJvc2l0eSI6bnVsbCwibWV0YWRhdGEiOm51bGwsInN0b3JlIjpudWxsLCJpbmNsdWRlX3VzYWdlIjpudWxsLCJyZXNwb25zZV9pbmNsdWRlIjpudWxsLCJ0b3BfbG9ncHJvYnMiOm51bGwsImV4dHJhX3F1ZXJ5IjpudWxsLCJleHRyYV9ib2R5IjpudWxsLCJleHRyYV9oZWFkZXJzIjpudWxsLCJleHRyYV9hcmdzIjpudWxsfSwidG9vbHMiOlt7Im5hbWUiOiJTYXktSGVsbG8iLCJkZXNjcmlwdGlvbiI6IiIsInBhcmFtc19qc29uX3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiJHNjaGVtYSI6Imh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIyJ9LCJzdHJpY3RfanNvbl9zY2hlbWEiOmZhbHNlfV0sIm91dHB1dF9zY2hlbWEiOm51bGwsImhhbmRvZmZzIjpbXSwidHJhY2luZyI6MSwicHJldmlvdXNfcmVzcG9uc2VfaWQiOm51bGwsImNvbnZlcnNhdGlvbl9pZCI6bnVsbCwicHJvbXB0IjpudWxsfQ==" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "22", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "24", - "eventTime": "2025-10-08T17:13:47.217736Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048649", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "23", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "8406eb4f-4bde-41ad-b560-f24ae017e44d", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "25", - "eventTime": "2025-10-08T17:13:47.230910Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048650", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9XSwidXNhZ2UiOnsicmVxdWVzdHMiOjAsImlucHV0X3Rva2VucyI6MCwiaW5wdXRfdG9rZW5zX2RldGFpbHMiOnsiY2FjaGVkX3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjAsIm91dHB1dF90b2tlbnNfZGV0YWlscyI6eyJyZWFzb25pbmdfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjowfSwicmVzcG9uc2VfaWQiOm51bGx9" - } - ] - }, - "scheduledEventId": "23", - "startedEventId": "24", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "26", - "eventTime": "2025-10-08T17:13:47.230913Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048651", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "27", - "eventTime": "2025-10-08T17:13:47.231570Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048655", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "26", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "02893da5-9b14-45af-ab3b-839bec4f91cb", - "historySizeBytes": "7148", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "28", - "eventTime": "2025-10-08T17:13:47.233565Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048659", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "26", - "startedEventId": "27", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "29", - "eventTime": "2025-10-08T17:13:47.233584Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048660", - "activityTaskScheduledEventAttributes": { - "activityId": "5", - "activityType": { - "name": "HelloServer-stateless-call-tool" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fNWEyMTBmNmM5MTZlNDQ2MTliZDZhZjk1IiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IlNheS1IZWxsbyI=" - }, - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJuYW1lIjoiVGltIn0=" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "28", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - } - }, - { - "eventId": "30", - "eventTime": "2025-10-08T17:13:47.234169Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048664", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "29", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "b349f01c-c7d2-4fb2-b2c3-3883286412fe", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "31", - "eventTime": "2025-10-08T17:13:47.235757Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048665", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJIZWxsbyBUaW0ifV19" - } - ] - }, - "scheduledEventId": "29", - "startedEventId": "30", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "32", - "eventTime": "2025-10-08T17:13:47.235759Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048666", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "33", - "eventTime": "2025-10-08T17:13:47.236186Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048670", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "32", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "f8d41874-025b-4f55-9335-40929bc9e931", - "historySizeBytes": "8186", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "34", - "eventTime": "2025-10-08T17:13:47.238Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048674", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "32", - "startedEventId": "33", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "35", - "eventTime": "2025-10-08T17:13:47.238017Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", - "taskId": "1048675", - "activityTaskScheduledEventAttributes": { - "activityId": "6", - "activityType": { - "name": "invoke_model_activity" - }, - "taskQueue": { - "name": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8", - "kind": "TASK_QUEUE_KIND_NORMAL" - }, - "header": { - "fields": { - "__openai_span": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJ0cmFjZU5hbWUiOiJBZ2VudCB3b3JrZmxvdyIsInNwYW5JZCI6InNwYW5fOGZhMmM0Mzk2ODJmNDljZGE5NmU4NDAxIiwidHJhY2VJZCI6InRyYWNlX2JjN2RkMzYwNjgwODQxYTQ4OGNkOTNjNiJ9" - } - } - }, - "input": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJtb2RlbF9uYW1lIjpudWxsLCJzeXN0ZW1faW5zdHJ1Y3Rpb25zIjoiVXNlIHRoZSB0b29scyB0byBhc3Npc3QgdGhlIGN1c3RvbWVyLiIsImlucHV0IjpbeyJjb250ZW50IjoiU2F5IGhlbGxvIHRvIFRvbSBhbmQgVGltLiIsInJvbGUiOiJ1c2VyIn0seyJhcmd1bWVudHMiOiJ7XCJuYW1lXCI6XCJUb21cIn0iLCJjYWxsX2lkIjoiY2FsbCIsIm5hbWUiOiJTYXktSGVsbG8iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbCIsImlkIjoiaWQiLCJzdGF0dXMiOiJjb21wbGV0ZWQifSx7ImNhbGxfaWQiOiJjYWxsIiwib3V0cHV0Ijoie1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiSGVsbG8gVG9tXCIsXCJhbm5vdGF0aW9uc1wiOm51bGwsXCJtZXRhXCI6bnVsbH0iLCJ0eXBlIjoiZnVuY3Rpb25fY2FsbF9vdXRwdXQifSx7ImFyZ3VtZW50cyI6IntcIm5hbWVcIjpcIlRpbVwifSIsImNhbGxfaWQiOiJjYWxsIiwibmFtZSI6IlNheS1IZWxsbyIsInR5cGUiOiJmdW5jdGlvbl9jYWxsIiwiaWQiOiJpZCIsInN0YXR1cyI6ImNvbXBsZXRlZCJ9LHsiY2FsbF9pZCI6ImNhbGwiLCJvdXRwdXQiOiJ7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJIZWxsbyBUaW1cIixcImFubm90YXRpb25zXCI6bnVsbCxcIm1ldGFcIjpudWxsfSIsInR5cGUiOiJmdW5jdGlvbl9jYWxsX291dHB1dCJ9XSwibW9kZWxfc2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOm51bGwsInRvcF9wIjpudWxsLCJmcmVxdWVuY3lfcGVuYWx0eSI6bnVsbCwicHJlc2VuY2VfcGVuYWx0eSI6bnVsbCwidG9vbF9jaG9pY2UiOm51bGwsInBhcmFsbGVsX3Rvb2xfY2FsbHMiOm51bGwsInRydW5jYXRpb24iOm51bGwsIm1heF90b2tlbnMiOm51bGwsInJlYXNvbmluZyI6bnVsbCwidmVyYm9zaXR5IjpudWxsLCJtZXRhZGF0YSI6bnVsbCwic3RvcmUiOm51bGwsImluY2x1ZGVfdXNhZ2UiOm51bGwsInJlc3BvbnNlX2luY2x1ZGUiOm51bGwsInRvcF9sb2dwcm9icyI6bnVsbCwiZXh0cmFfcXVlcnkiOm51bGwsImV4dHJhX2JvZHkiOm51bGwsImV4dHJhX2hlYWRlcnMiOm51bGwsImV4dHJhX2FyZ3MiOm51bGx9LCJ0b29scyI6W3sibmFtZSI6IlNheS1IZWxsbyIsImRlc2NyaXB0aW9uIjoiIiwicGFyYW1zX2pzb25fc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn0sInN0cmljdF9qc29uX3NjaGVtYSI6ZmFsc2V9XSwib3V0cHV0X3NjaGVtYSI6bnVsbCwiaGFuZG9mZnMiOltdLCJ0cmFjaW5nIjoxLCJwcmV2aW91c19yZXNwb25zZV9pZCI6bnVsbCwiY29udmVyc2F0aW9uX2lkIjpudWxsLCJwcm9tcHQiOm51bGx9" - } - ] - }, - "scheduleToCloseTimeout": "30s", - "scheduleToStartTimeout": "30s", - "startToCloseTimeout": "30s", - "heartbeatTimeout": "0s", - "workflowTaskCompletedEventId": "34", - "retryPolicy": { - "initialInterval": "1s", - "backoffCoefficient": 2.0, - "maximumInterval": "100s" - }, - "useWorkflowBuildId": true, - "priority": {} - }, - "userMetadata": { - "summary": { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "Ik1DUCBTZXJ2ZXJXb3JrZmxvdyI=" - } - } - }, - { - "eventId": "36", - "eventTime": "2025-10-08T17:13:47.238528Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_STARTED", - "taskId": "1048679", - "activityTaskStartedEventAttributes": { - "scheduledEventId": "35", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "b5038e1e-5203-4340-94be-ddf9f9f6064b", - "attempt": 1, - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "37", - "eventTime": "2025-10-08T17:13:47.250823Z", - "eventType": "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", - "taskId": "1048680", - "activityTaskCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "eyJvdXRwdXQiOlt7ImlkIjoiIiwiY29udGVudCI6W3siYW5ub3RhdGlvbnMiOltdLCJ0ZXh0IjoiSGkgVG9tIGFuZCBUaW0hIiwidHlwZSI6Im91dHB1dF90ZXh0In1dLCJyb2xlIjoiYXNzaXN0YW50Iiwic3RhdHVzIjoiY29tcGxldGVkIiwidHlwZSI6Im1lc3NhZ2UifV0sInVzYWdlIjp7InJlcXVlc3RzIjowLCJpbnB1dF90b2tlbnMiOjAsImlucHV0X3Rva2Vuc19kZXRhaWxzIjp7ImNhY2hlZF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zX2RldGFpbHMiOnsicmVhc29uaW5nX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MH0sInJlc3BvbnNlX2lkIjpudWxsfQ==" - } - ] - }, - "scheduledEventId": "35", - "startedEventId": "36", - "identity": "38116@Tims-MacBook-Pro.local" - } - }, - { - "eventId": "38", - "eventTime": "2025-10-08T17:13:47.250825Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", - "taskId": "1048681", - "workflowTaskScheduledEventAttributes": { - "taskQueue": { - "name": "38116@Tims-MacBook-Pro.local-5f8e6cc070ff47bcb6b7c65b5d06acee", - "kind": "TASK_QUEUE_KIND_STICKY", - "normalName": "fe243394-dd6f-4d3b-ade3-e7d95527e3d8" - }, - "startToCloseTimeout": "10s", - "attempt": 1 - } - }, - { - "eventId": "39", - "eventTime": "2025-10-08T17:13:47.251340Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_STARTED", - "taskId": "1048685", - "workflowTaskStartedEventAttributes": { - "scheduledEventId": "38", - "identity": "38116@Tims-MacBook-Pro.local", - "requestId": "ae1b3ec5-675d-4834-9abf-8edadf870702", - "historySizeBytes": "10906", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - } - } - }, - { - "eventId": "40", - "eventTime": "2025-10-08T17:13:47.253044Z", - "eventType": "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", - "taskId": "1048689", - "workflowTaskCompletedEventAttributes": { - "scheduledEventId": "38", - "startedEventId": "39", - "identity": "38116@Tims-MacBook-Pro.local", - "workerVersion": { - "buildId": "0431ec62bf7593adcdb7465d8a03421c" - }, - "sdkMetadata": {}, - "meteringMetadata": {} - } - }, - { - "eventId": "41", - "eventTime": "2025-10-08T17:13:47.253086Z", - "eventType": "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", - "taskId": "1048690", - "workflowExecutionCompletedEventAttributes": { - "result": { - "payloads": [ - { - "metadata": { - "encoding": "anNvbi9wbGFpbg==" - }, - "data": "IkhpIFRvbSBhbmQgVGltISI=" - } - ] - }, - "workflowTaskCompletedEventId": "40" - } - } - ] -} \ No newline at end of file diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index e9d2b3941..2df9635a0 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -2490,7 +2490,7 @@ async def test_mcp_server( if stateful: result = await client.execute_workflow( McpServerStatefulWorkflow.run, - args=[timedelta(seconds=30)], + args=[timedelta(seconds=30), None], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), @@ -2498,7 +2498,7 @@ async def test_mcp_server( else: result = await client.execute_workflow( McpServerWorkflow.run, - args=[caching], + args=[caching, None], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), diff --git a/tests/contrib/openai_agents/test_openai_replay.py b/tests/contrib/openai_agents/test_openai_replay.py index b8cbf99a7..381e6ed85 100644 --- a/tests/contrib/openai_agents/test_openai_replay.py +++ b/tests/contrib/openai_agents/test_openai_replay.py @@ -30,8 +30,6 @@ "output-guardrail-workflow-history.json", "research-workflow-history.json", "tools-workflow-history.json", - "mcp-history-stateless.json", - "mcp-history-stateful.json", ], ) async def test_replay(file_name: str) -> None: @@ -47,8 +45,6 @@ async def test_replay(file_name: str) -> None: HelloWorldAgent, InputGuardrailWorkflow, OutputGuardrailWorkflow, - McpServerWorkflow, - McpServerStatefulWorkflow, ], plugins=[OpenAIAgentsPlugin()], ).replay_workflow(WorkflowHistory.from_json("fake", history_json)) From c11393d5389999cbd04747173639714bb4d582e5 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 12:21:00 -0700 Subject: [PATCH 5/9] Clean up imports --- tests/contrib/openai_agents/test_openai_replay.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/contrib/openai_agents/test_openai_replay.py b/tests/contrib/openai_agents/test_openai_replay.py index 381e6ed85..6db463392 100644 --- a/tests/contrib/openai_agents/test_openai_replay.py +++ b/tests/contrib/openai_agents/test_openai_replay.py @@ -1,19 +1,15 @@ from pathlib import Path import pytest -from agents import OpenAIProvider -from openai import AsyncOpenAI from temporalio.client import WorkflowHistory -from temporalio.contrib.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin +from temporalio.contrib.openai_agents import OpenAIAgentsPlugin from temporalio.worker import Replayer from tests.contrib.openai_agents.test_openai import ( AgentsAsToolsWorkflow, CustomerServiceWorkflow, HelloWorldAgent, InputGuardrailWorkflow, - McpServerStatefulWorkflow, - McpServerWorkflow, OutputGuardrailWorkflow, ResearchWorkflow, ToolsWorkflow, From b56e13e26abcc8c3f7ade7cd9893869daaf7f474 Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 12:59:10 -0700 Subject: [PATCH 6/9] Fix tests --- tests/contrib/openai_agents/test_openai.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index 2df9635a0..ed9ed7422 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -92,7 +92,6 @@ from temporalio.contrib import openai_agents from temporalio.contrib.openai_agents import ( ModelActivityParameters, - StatefulMCPServerProvider, TestModel, TestModelProvider, ) @@ -109,7 +108,7 @@ from tests.contrib.openai_agents.research_agents.research_manager import ( ResearchManager, ) -from tests.helpers import assert_eventually, assert_task_fail_eventually, new_worker +from tests.helpers import assert_eventually, new_worker from tests.helpers.nexus import create_nexus_endpoint, make_nexus_endpoint_name @@ -2667,7 +2666,7 @@ def override_get_activities() -> Sequence[Callable]: ) as worker: workflow_handle = await client.start_workflow( McpServerStatefulWorkflow.run, - args=[timedelta(seconds=1)], + args=[timedelta(seconds=1), None], id=f"mcp-server-{uuid.uuid4()}", task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), From ce14ca22ea8fb225546c6a2aff0104a9e29f9aff Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Wed, 8 Oct 2025 16:00:57 -0700 Subject: [PATCH 7/9] Cache server function needing args --- temporalio/contrib/openai_agents/_mcp.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/temporalio/contrib/openai_agents/_mcp.py b/temporalio/contrib/openai_agents/_mcp.py index 9fdcd4836..a6ec16459 100644 --- a/temporalio/contrib/openai_agents/_mcp.py +++ b/temporalio/contrib/openai_agents/_mcp.py @@ -152,17 +152,21 @@ def __init__( so that state is not shared between workflow runs """ self._server_factory = server_factory + + # Cache whether the server factory needs to be provided with arguments + sig = inspect.signature(self._server_factory) + self._server_accepts_arguments = len(sig.parameters) != 0 + self._name = self._create_server(None).name + "-stateless" super().__init__() def _create_server(self, factory_argument: Optional[Any]) -> MCPServer: - sig = inspect.signature(self._server_factory) - if len(sig.parameters) == 0: - return cast(Callable[[], MCPServer], self._server_factory)() - else: + if self._server_accepts_arguments: return cast(Callable[[Optional[Any]], MCPServer], self._server_factory)( factory_argument ) + else: + return cast(Callable[[], MCPServer], self._server_factory)() @property def name(self) -> str: From aa3e1eae568e417f7276a84323f7e203f0feb0ee Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Thu, 9 Oct 2025 08:47:06 -0700 Subject: [PATCH 8/9] Add name argument --- temporalio/contrib/openai_agents/_mcp.py | 10 +++++++--- tests/contrib/openai_agents/test_openai.py | 11 ++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/temporalio/contrib/openai_agents/_mcp.py b/temporalio/contrib/openai_agents/_mcp.py index a6ec16459..07ae8d838 100644 --- a/temporalio/contrib/openai_agents/_mcp.py +++ b/temporalio/contrib/openai_agents/_mcp.py @@ -141,6 +141,7 @@ class StatelessMCPServerProvider: def __init__( self, + name: str, server_factory: Union[ Callable[[], MCPServer], Callable[[Optional[Any]], MCPServer] ], @@ -148,8 +149,9 @@ def __init__( """Initialize the stateless temporal MCP server. Args: + name: The name of the MCP server. server_factory: A function which will produce MCPServer instances. It should return a new server each time - so that state is not shared between workflow runs + so that state is not shared between workflow runs. """ self._server_factory = server_factory @@ -157,7 +159,7 @@ def __init__( sig = inspect.signature(self._server_factory) self._server_accepts_arguments = len(sig.parameters) != 0 - self._name = self._create_server(None).name + "-stateless" + self._name = name + "-stateless" super().__init__() def _create_server(self, factory_argument: Optional[Any]) -> MCPServer: @@ -417,16 +419,18 @@ class StatefulMCPServerProvider: def __init__( self, + name: str, server_factory: Callable[[Optional[Any]], MCPServer], ): """Initialize the stateful temporal MCP server. Args: + name: The name of the MCP server. server_factory: A function which will produce MCPServer instances. It should return a new server each time so that state is not shared between workflow runs """ self._server_factory = server_factory - self._name = server_factory(None).name + "-stateful" + self._name = name + "-stateful" self._connect_handle: Optional[ActivityHandle] = None self._servers: dict[str, MCPServer] = {} super().__init__() diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index ed9ed7422..ee874c0fa 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -2464,9 +2464,9 @@ async def test_mcp_server( tracking_server = get_tracking_server(name="HelloServer") server: Union[StatefulMCPServerProvider, StatelessMCPServerProvider] = ( - StatefulMCPServerProvider(lambda _: tracking_server) + StatefulMCPServerProvider("HelloServer", lambda _: tracking_server) if stateful - else StatelessMCPServerProvider(lambda _: tracking_server) + else StatelessMCPServerProvider("HelloServer", lambda _: tracking_server) ) new_config = client.config() @@ -2577,9 +2577,9 @@ def factory(args: Optional[Any]) -> MCPServer: return get_tracking_server("HelloServer") server: Union[StatefulMCPServerProvider, StatelessMCPServerProvider] = ( - StatefulMCPServerProvider(factory) + StatefulMCPServerProvider("HelloServer", factory) if stateful - else StatelessMCPServerProvider(factory) + else StatelessMCPServerProvider("HelloServer", factory) ) new_config = client.config() @@ -2625,6 +2625,7 @@ async def test_stateful_mcp_server_no_worker(client: Client): from temporalio.contrib.openai_agents import StatefulMCPServerProvider server = StatefulMCPServerProvider( + "Filesystem-Server", lambda _: MCPServerStdio( name="Filesystem-Server", params={ @@ -2635,7 +2636,7 @@ async def test_stateful_mcp_server_no_worker(client: Client): os.path.dirname(os.path.abspath(__file__)), ], }, - ) + ), ) # Override the connect activity to not actually start a worker From 69cd7dc0f0283ffb4bd8044db4ae757bf391847d Mon Sep 17 00:00:00 2001 From: Tim Conley Date: Thu, 9 Oct 2025 08:49:08 -0700 Subject: [PATCH 9/9] Tighten test assertions --- tests/contrib/openai_agents/test_openai.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/contrib/openai_agents/test_openai.py b/tests/contrib/openai_agents/test_openai.py index ee874c0fa..812731be2 100644 --- a/tests/contrib/openai_agents/test_openai.py +++ b/tests/contrib/openai_agents/test_openai.py @@ -2565,13 +2565,10 @@ async def test_mcp_server_factory_argument(client: Client, stateful: bool): StatelessMCPServerProvider, ) - args_seen = False - def factory(args: Optional[Any]) -> MCPServer: print("Invoking factory: ", args) if args is not None: - nonlocal args_seen - args_seen = True + assert args is not None assert cast(dict[str, str], args).get("user") == "blah" return get_tracking_server("HelloServer") @@ -2614,7 +2611,6 @@ def factory(args: Optional[Any]) -> MCPServer: task_queue=worker.task_queue, execution_timeout=timedelta(seconds=30), ) - assert args_seen async def test_stateful_mcp_server_no_worker(client: Client):