Repository: microsoft/botbuilder-python

Issue:
4.14.6 CloudAdapter fails to send Typing Activity in Teams
## Version
botbuilder-core                               4.14.6
botbuilder-integration-aiohttp     4.14.6
botbuilder-schema                        4.14.6

## Describe the bug

I am unable to send typing indicators with  the `ShowTypingMiddleware` middleware,  `turn_context.send_activity`, and 
`turn_context.send_activities`.

## To Reproduce

Create a bot


```
cfg = DefaultConfig()
adapter = CloudAdapter(ConfigurationBotFrameworkAuthentication(cfg))
bot = Bot()
```

define on_message_activity
[From documentation](https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-howto-send-messages?view=azure-bot-service-4.0&tabs=python)
```
    async def on_message_activity(self, turn_context: TurnContext):  # pylint: disable=unused-argument
        if turn_context.activity.text == "wait":
            return await turn_context.send_activities([
                Activity(
                    type=ActivityTypes.typing
                ),
                Activity(
                    type="delay",
                    value=3000
                ),
                Activity(
                    type=ActivityTypes.message,
                    text="Finished Typing"
                )
            ])
        else:
            return await turn_context.send_activity(
                f"You said {turn_context.activity.text}.  Say 'wait' to watch me type."
            )
```

Publish in azure, set up MS Teams channel.

send 'wait' via Microsoft Teams

stacktrace:

```
Traceback (most recent call last):
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/bot_adapter.py", line 174, in run_pipeline
    return await self._middleware.receive_activity_with_status(
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/middleware_set.py", line 69, in receive_activity_with_status
    return await self.receive_activity_internal(context, callback)
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/middleware_set.py", line 79, in receive_activity_internal
    return await callback(context)
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/activity_handler.py", line 70, in on_turn
    await self.on_message_activity(turn_context)
  File "/home/josh/ctrlstack/babelfish/askbot/microsoft-teams/src/bot.py", line 78, in on_message_activity
    return await turn_context.send_activities([
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 225, in send_activities
    return await self._emit(self._on_send_activities, output, logic())
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 303, in _emit
    return await logic
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/turn_context.py", line 220, in logic
    responses = await self.adapter.send_activities(self, output)
  File "path-to-virtual-env/lib/python3.10/site-packages/botbuilder/core/cloud_adapter_base.py", line 103, in send_activities
    response = response or ResourceResponse(activity.id or "")
```

## Expected behavior
the typing indicator for 3 seconds.



Discussion:
I encounter similar bug, it get trigger when deployed the bot to teams, run in emulator is fine.
the problem is position "*"  in `__init__function (class ResourceResponse(Model): ` in _models_py3.py , make it the `id` must be call as keyword, but the caller in `cloud_adapter_base.py:103`  doesn't specific the keyword for the parameter.  response = response or ResourceResponse(activity.id or "")

```python
class ResourceResponse(Model):
    """A response containing a resource ID.

    :param id: Id of the resource
    :type id: str
    """

    _attribute_map = {"id": {"key": "id", "type": "str"}}

    def __init__(self, *, id: str = None, **kwargs) -> None:
        super(ResourceResponse, self).__init__(**kwargs)
        self.id = id
```

cloud_adapter_base.py
```python
response = response or ResourceResponse(activity.id or "")
```


Suggest to update all callers include cloud_adapter_base.py to include the "id=" 
eg:
```python
response = response or ResourceResponse(id=activity.id or "")
```
Same issue encountered.

Resolving patch:
diff --git a/libraries/botbuilder-core/botbuilder/core/cloud_adapter_base.py b/libraries/botbuilder-core/botbuilder/core/cloud_adapter_base.py
--- a/libraries/botbuilder-core/botbuilder/core/cloud_adapter_base.py
+++ b/libraries/botbuilder-core/botbuilder/core/cloud_adapter_base.py
@@ -100,7 +100,7 @@ async def send_activities(
                         )
                     )
 
-            response = response or ResourceResponse(activity.id or "")
+            response = response or ResourceResponse(id=activity.id or "")
 
             responses.append(response)
 


Test patch:
diff --git a/libraries/botbuilder-core/tests/simple_adapter.py b/libraries/botbuilder-core/tests/simple_adapter.py
--- a/libraries/botbuilder-core/tests/simple_adapter.py
+++ b/libraries/botbuilder-core/tests/simple_adapter.py
@@ -75,7 +75,7 @@ async def update_activity(self, context: TurnContext, activity: Activity):
         if self._call_on_update is not None:
             self._call_on_update(activity)
 
-        return ResourceResponse(activity.id)
+        return ResourceResponse(id=activity.id)
 
     async def process_request(self, activity, handler):
         context = TurnContext(self, activity)
diff --git a/libraries/botbuilder-core/tests/teams/simple_adapter_with_create_conversation.py b/libraries/botbuilder-core/tests/teams/simple_adapter_with_create_conversation.py
--- a/libraries/botbuilder-core/tests/teams/simple_adapter_with_create_conversation.py
+++ b/libraries/botbuilder-core/tests/teams/simple_adapter_with_create_conversation.py
@@ -76,7 +76,7 @@ async def update_activity(self, context: TurnContext, activity: Activity):
         if self._call_on_update is not None:
             self._call_on_update(activity)
 
-        return ResourceResponse(activity.id)
+        return ResourceResponse(id=activity.id)
 
     async def process_request(self, activity, handler):
         context = TurnContext(self, activity)