stackshift-agent 0.1.0__tar.gz → 0.1.1__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.
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/PKG-INFO +1 -1
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/pyproject.toml +1 -1
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/inbox.py +5 -1
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/PKG-INFO +1 -1
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/tests/test_platform.py +4 -3
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/README.md +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/setup.cfg +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/__init__.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/actions.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/adapters/__init__.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/adapters/claude.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/adapters/openai_agents.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/agent.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/agreements.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/api.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/config.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/egress.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/errors.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/http.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/models.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/platform.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/run.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/state.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/tokens.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/verify.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/SOURCES.txt +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/dependency_links.txt +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/requires.txt +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/top_level.txt +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/tests/test_actions.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/tests/test_adapters.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/tests/test_egress_models.py +0 -0
- {stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/tests/test_events.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackshift-agent
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Run an agent on StackShift: events, governed actions, StackShift calls, state and model access.
|
|
5
5
|
Author-email: StackShift <support@stackshift.cloud>
|
|
6
6
|
Project-URL: Homepage, https://stackshift.cloud
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "stackshift-agent"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.1"
|
|
8
8
|
description = "Run an agent on StackShift: events, governed actions, StackShift calls, state and model access."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -18,8 +18,11 @@ class Inbox:
|
|
|
18
18
|
raise StackShiftAgentError("This agent has no inbox. Add an inbox to the agent block in stackshift.yaml.", status=409, code="no_inbox")
|
|
19
19
|
return inbox
|
|
20
20
|
|
|
21
|
+
async def _account(self) -> str:
|
|
22
|
+
return (await self._self())["agent"]["account_id"]
|
|
23
|
+
|
|
21
24
|
async def info(self) -> Any:
|
|
22
|
-
return await self._platform.inspect("mail.agent_inboxes.get", {"inbox_id": await self.id()})
|
|
25
|
+
return await self._platform.inspect("mail.agent_inboxes.get", {"inbox_id": await self.id()}, resource_id=await self._account())
|
|
23
26
|
|
|
24
27
|
async def send(
|
|
25
28
|
self,
|
|
@@ -41,6 +44,7 @@ class Inbox:
|
|
|
41
44
|
"html": html,
|
|
42
45
|
"reply_to_message_id": reply_to_message_id,
|
|
43
46
|
}
|
|
47
|
+
options.setdefault("resource_id", await self._account())
|
|
44
48
|
return await self._platform.call("mail.agent_inbox.send", {key: value for key, value in configuration.items() if value is not None}, **options)
|
|
45
49
|
|
|
46
50
|
async def reply(self, message: dict[str, Any], text: str, **options: Any) -> dict[str, Any]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackshift-agent
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Run an agent on StackShift: events, governed actions, StackShift calls, state and model access.
|
|
5
5
|
Author-email: StackShift <support@stackshift.cloud>
|
|
6
6
|
Project-URL: Homepage, https://stackshift.cloud
|
|
@@ -84,7 +84,7 @@ class PlatformTest(AgentTestCase):
|
|
|
84
84
|
async def test_the_inbox_sends_and_replies_through_the_registry_actions_using_the_agent_inbox_id(self):
|
|
85
85
|
self.mcp(
|
|
86
86
|
lambda name, arguments: reply({"id": "op_3", "state": "succeeded"}),
|
|
87
|
-
lambda call: {"body": {"agent": {"id": "agt_1", "handle": "supplies", "name": "Supplies", "inbox_mailbox_id": "inbox_1"}, "actions": [], "platform": [], "models": []}} if call["path"] == "/api/v1/agents/self" else None,
|
|
87
|
+
lambda call: {"body": {"agent": {"id": "agt_1", "account_id": "acct_1", "handle": "supplies", "name": "Supplies", "inbox_mailbox_id": "inbox_1"}, "actions": [], "platform": [], "models": []}} if call["path"] == "/api/v1/agents/self" else None,
|
|
88
88
|
)
|
|
89
89
|
|
|
90
90
|
async def work():
|
|
@@ -93,7 +93,8 @@ class PlatformTest(AgentTestCase):
|
|
|
93
93
|
|
|
94
94
|
await self.in_run(work)
|
|
95
95
|
sends = [call["arguments"]["request"] for call in self.tool_calls()]
|
|
96
|
-
self.assertEqual(sends[0], {"action": "mail.agent_inbox.send", "configuration": {"inbox_id": "inbox_1", "to": ["buyer@example.com"], "subject": "Quote", "text": "Here it is"}})
|
|
96
|
+
self.assertEqual(sends[0], {"action": "mail.agent_inbox.send", "configuration": {"inbox_id": "inbox_1", "to": ["buyer@example.com"], "subject": "Quote", "text": "Here it is"}, "resource_id": "acct_1"})
|
|
97
|
+
self.assertEqual(sends[1]["resource_id"], "acct_1")
|
|
97
98
|
self.assertEqual(sends[1]["configuration"], {"inbox_id": "inbox_1", "to": ["ada@example.com"], "subject": "Re: Quote", "text": "Thanks", "reply_to_message_id": "m1"})
|
|
98
99
|
|
|
99
100
|
async def test_an_agent_without_an_inbox_says_so(self):
|
|
@@ -115,7 +116,7 @@ class PlatformTest(AgentTestCase):
|
|
|
115
116
|
async def test_agreements_use_the_agreements_registry_actions(self):
|
|
116
117
|
self.mcp(
|
|
117
118
|
lambda name, arguments: reply({"threads": []} if name == "inspect" else {"id": "op_4", "state": "succeeded"}),
|
|
118
|
-
lambda call: {"body": {"agent": {"id": "agt_1", "handle": "supplies", "name": "Supplies", "inbox_mailbox_id": "inbox_1"}, "actions": [], "platform": [], "models": []}} if call["path"] == "/api/v1/agents/self" else None,
|
|
119
|
+
lambda call: {"body": {"agent": {"id": "agt_1", "account_id": "acct_1", "handle": "supplies", "name": "Supplies", "inbox_mailbox_id": "inbox_1"}, "actions": [], "platform": [], "models": []}} if call["path"] == "/api/v1/agents/self" else None,
|
|
119
120
|
)
|
|
120
121
|
|
|
121
122
|
async def work():
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent/adapters/openai_agents.py
RENAMED
|
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
|
{stackshift_agent-0.1.0 → stackshift_agent-0.1.1}/stackshift_agent.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|