pipecatcloud 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/CHANGELOG.md +10 -0
- {pipecatcloud-0.1.1/src/pipecatcloud.egg-info → pipecatcloud-0.1.2}/PKG-INFO +1 -1
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/pyproject.toml +1 -1
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__init__.py +7 -2
- pipecatcloud-0.1.2/src/pipecatcloud/agent.py +52 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/agent.py +0 -1
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/deploy.py +26 -7
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/exception.py +3 -1
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2/src/pipecatcloud.egg-info}/PKG-INFO +1 -1
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/SOURCES.txt +1 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/publish-pypi.yml +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/publish-test.yml +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.github/workflows/python-publish.yml +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/.gitignore +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/LICENSE +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/README.md +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/dev-requirements.txt +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/pipecat-cloud.png +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/setup.cfg +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__main__.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/__version__.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/__init__.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/async_utils.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/auth_utils.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/console_utils.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/deploy_utils.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/_utils/local_runner.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/api.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/__init__.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/api.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/__init__.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/auth.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/init.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/organizations.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/run.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/commands/secrets.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/config.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/cli/entry_point.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/config.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud/session.py +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/dependency_links.txt +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/entry_points.txt +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/requires.txt +0 -0
- {pipecatcloud-0.1.1 → pipecatcloud-0.1.2}/src/pipecatcloud.egg-info/top_level.txt +0 -0
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.2] - 2025-03-12
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `agent.py` data classes for use in base images, providing guidance on params
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Lookup issue when passing an image pull secret to the `deploy` command
|
|
19
|
+
|
|
10
20
|
### Changed
|
|
11
21
|
|
|
12
22
|
- Change the of deploy checks from 30 to 18, reducing the overall time for a
|
|
@@ -9,7 +9,8 @@ import sys
|
|
|
9
9
|
|
|
10
10
|
from loguru import logger
|
|
11
11
|
|
|
12
|
-
from .
|
|
12
|
+
from pipecatcloud.agent import DailySessionArguments, SessionArguments, WebSocketSessionArguments
|
|
13
|
+
from pipecatcloud.exception import (
|
|
13
14
|
AgentNotHealthyError,
|
|
14
15
|
AgentStartError,
|
|
15
16
|
AuthError,
|
|
@@ -18,13 +19,17 @@ from .exception import (
|
|
|
18
19
|
Error,
|
|
19
20
|
InvalidError,
|
|
20
21
|
)
|
|
21
|
-
from .session import Session, SessionParams
|
|
22
|
+
from pipecatcloud.session import Session, SessionParams
|
|
22
23
|
|
|
23
24
|
logger.remove()
|
|
24
25
|
logger.add(sys.stderr, level=str(os.getenv("PCC_LOG_LEVEL", "INFO")))
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
__all__ = [
|
|
29
|
+
# Agent classes
|
|
30
|
+
"SessionArguments",
|
|
31
|
+
"DailySessionArguments",
|
|
32
|
+
"WebSocketSessionArguments",
|
|
28
33
|
# Session classes
|
|
29
34
|
"Session",
|
|
30
35
|
"SessionParams",
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (c) 2025, Daily
|
|
3
|
+
#
|
|
4
|
+
# SPDX-License-Identifier: BSD 2-Clause License
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
from dataclasses import dataclass
|
|
8
|
+
from typing import Any, Optional
|
|
9
|
+
|
|
10
|
+
from fastapi import WebSocket
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass
|
|
14
|
+
class SessionArguments:
|
|
15
|
+
"""Base class for common agent session arguments. The arguments are received
|
|
16
|
+
by the bot() entry point.
|
|
17
|
+
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
session_id: Optional[str]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dataclass
|
|
24
|
+
class PipecatSessionArguments(SessionArguments):
|
|
25
|
+
"""Standard Pipecat Cloud agent session arguments. The arguments are
|
|
26
|
+
received by the bot() entry point.
|
|
27
|
+
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
body: Any
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@dataclass
|
|
34
|
+
class DailySessionArguments(SessionArguments):
|
|
35
|
+
"""Daily based agent session arguments. The arguments are received by the
|
|
36
|
+
bot() entry point.
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
room_url: str
|
|
41
|
+
token: str
|
|
42
|
+
body: Any
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@dataclass
|
|
46
|
+
class WebSocketSessionArguments(SessionArguments):
|
|
47
|
+
"""Websocket based agent session arguments. The arguments are received by
|
|
48
|
+
the bot() entry point.
|
|
49
|
+
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
websocket: WebSocket
|
|
@@ -94,7 +94,7 @@ async def _deploy(params: DeployConfigParams, org, force: bool = False):
|
|
|
94
94
|
)
|
|
95
95
|
|
|
96
96
|
if error:
|
|
97
|
-
if error == 400:
|
|
97
|
+
if error.get("code") == "400":
|
|
98
98
|
creds_exist = True
|
|
99
99
|
else:
|
|
100
100
|
API.print_error()
|
|
@@ -182,13 +182,32 @@ async def _deploy(params: DeployConfigParams, org, force: bool = False):
|
|
|
182
182
|
console.error("Deployment failed with the above error")
|
|
183
183
|
return typer.Exit()
|
|
184
184
|
|
|
185
|
+
# check for org secret
|
|
186
|
+
default_public_api_key = config.get("default_public_key")
|
|
187
|
+
|
|
185
188
|
if is_ready:
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
if not default_public_api_key:
|
|
190
|
+
console.print(
|
|
191
|
+
Panel(
|
|
192
|
+
f"No public API key provided. Please provide a public API key using the --api-key flag or set a default using [bold cyan]{PIPECAT_CLI_NAME} organizations keys use[/bold cyan].\n\n"
|
|
193
|
+
f"If you have not yet created a public API key, you can do so by running [bold cyan]{PIPECAT_CLI_NAME} organizations keys create[/bold cyan].\n\n"
|
|
194
|
+
f"Then...\n\n"
|
|
195
|
+
f"[dim]Start a session with your new agent by running:\n[/dim]"
|
|
196
|
+
f"[bold]`{PIPECAT_CLI_NAME} agent start {params.agent_name}`[/bold]",
|
|
197
|
+
title="Public API Key Required",
|
|
198
|
+
title_align="left",
|
|
199
|
+
border_style="yellow",
|
|
200
|
+
)
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
return typer.Exit(1)
|
|
204
|
+
else:
|
|
205
|
+
console.success(
|
|
206
|
+
f"Agent deployment [bold]'{params.agent_name}'[/bold] is ready\n\n"
|
|
207
|
+
f"[dim]Start a session with your new agent by running:\n[/dim]"
|
|
208
|
+
f"[bold]`{PIPECAT_CLI_NAME} agent start {params.agent_name}`[/bold]",
|
|
209
|
+
title_extra=f"{'Update' if existing_agent else 'Deployment'} complete",
|
|
210
|
+
)
|
|
192
211
|
else:
|
|
193
212
|
console.error(
|
|
194
213
|
f"Deployment did not enter ready state within {MAX_ALIVE_CHECKS * ALIVE_CHECK_SLEEP} seconds. "
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
from typing import Optional, Union
|
|
8
8
|
|
|
9
|
+
from pipecatcloud.cli import PIPECAT_CLI_NAME
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|
class Error(Exception):
|
|
11
13
|
"""Base class for exceptions in this module."""
|
|
@@ -24,7 +26,7 @@ class AuthError(Error):
|
|
|
24
26
|
|
|
25
27
|
def __init__(
|
|
26
28
|
self,
|
|
27
|
-
message: str = "Unauthorized / token expired. Please run `
|
|
29
|
+
message: str = f"Unauthorized / token expired. Please run `{PIPECAT_CLI_NAME} auth login` to login again.",
|
|
28
30
|
):
|
|
29
31
|
self.message = message
|
|
30
32
|
super().__init__(self.message)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|