aoskit 0.1.0__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.
- aoskit-0.1.0/PKG-INFO +41 -0
- aoskit-0.1.0/README.md +23 -0
- aoskit-0.1.0/aoskit/__init__.py +10 -0
- aoskit-0.1.0/aoskit/agent.py +40 -0
- aoskit-0.1.0/aoskit/aos.py +47 -0
- aoskit-0.1.0/aoskit/memory.py +23 -0
- aoskit-0.1.0/aoskit/tool.py +19 -0
- aoskit-0.1.0/aoskit.egg-info/PKG-INFO +41 -0
- aoskit-0.1.0/aoskit.egg-info/SOURCES.txt +11 -0
- aoskit-0.1.0/aoskit.egg-info/dependency_links.txt +1 -0
- aoskit-0.1.0/aoskit.egg-info/top_level.txt +1 -0
- aoskit-0.1.0/pyproject.toml +25 -0
- aoskit-0.1.0/setup.cfg +4 -0
aoskit-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aoskit
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The reference SDK for building Agentic Operating Systems (AOS)
|
|
5
|
+
Author-email: XY and Z <milo@xyandz.io>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://aoskit.dev
|
|
8
|
+
Project-URL: Repository, https://github.com/XYANDZ-iO/aoskit
|
|
9
|
+
Keywords: aos,agentic,operating-system,ai-agents,mcp,xyandz
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# aoskit
|
|
20
|
+
|
|
21
|
+
The reference SDK for building Agentic Operating Systems (AOS).
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install aoskit
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from aoskit import AOS, AOSConfig
|
|
33
|
+
|
|
34
|
+
wiz = AOS(AOSConfig(name="wiz", domain="ad-intelligence", version="1.0.0"))
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Learn More
|
|
38
|
+
|
|
39
|
+
- [GitHub](https://github.com/XYANDZ-iO/aoskit)
|
|
40
|
+
- [aoskit.dev](https://aoskit.dev)
|
|
41
|
+
- [xyandz.io](https://xyandz.io)
|
aoskit-0.1.0/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# aoskit
|
|
2
|
+
|
|
3
|
+
The reference SDK for building Agentic Operating Systems (AOS).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install aoskit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
from aoskit import AOS, AOSConfig
|
|
15
|
+
|
|
16
|
+
wiz = AOS(AOSConfig(name="wiz", domain="ad-intelligence", version="1.0.0"))
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Learn More
|
|
20
|
+
|
|
21
|
+
- [GitHub](https://github.com/XYANDZ-iO/aoskit)
|
|
22
|
+
- [aoskit.dev](https://aoskit.dev)
|
|
23
|
+
- [xyandz.io](https://xyandz.io)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""Agent — PARA cycle (Plan → Act → Recover → Audit)"""
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from typing import Any, Dict, List, Optional
|
|
4
|
+
import time
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class AuditLog:
|
|
8
|
+
agent_name: str
|
|
9
|
+
duration_ms: float
|
|
10
|
+
total_cost: float
|
|
11
|
+
timestamp: float
|
|
12
|
+
success: bool
|
|
13
|
+
|
|
14
|
+
class Agent:
|
|
15
|
+
def __init__(self, name: str, config: dict):
|
|
16
|
+
self.name = name
|
|
17
|
+
self.description = config.get("description", "")
|
|
18
|
+
self.tools = config.get("tools", [])
|
|
19
|
+
self._plan_fn = config.get("plan")
|
|
20
|
+
self._act_fn = config.get("act")
|
|
21
|
+
self._recover_fn = config.get("recover")
|
|
22
|
+
|
|
23
|
+
async def run(self, context: dict) -> AuditLog:
|
|
24
|
+
start = time.time()
|
|
25
|
+
success = True
|
|
26
|
+
try:
|
|
27
|
+
plan = await self._plan_fn(context) if self._plan_fn else {}
|
|
28
|
+
result = await self._act_fn(plan) if self._act_fn else {}
|
|
29
|
+
except Exception as e:
|
|
30
|
+
if self._recover_fn:
|
|
31
|
+
await self._recover_fn(e, context)
|
|
32
|
+
success = False
|
|
33
|
+
|
|
34
|
+
return AuditLog(
|
|
35
|
+
agent_name=self.name,
|
|
36
|
+
duration_ms=(time.time() - start) * 1000,
|
|
37
|
+
total_cost=0.0,
|
|
38
|
+
timestamp=time.time(),
|
|
39
|
+
success=success,
|
|
40
|
+
)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""AOS — Agentic Operating System runtime"""
|
|
2
|
+
from dataclasses import dataclass, field
|
|
3
|
+
from typing import Dict, Optional, Any
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class AOSConfig:
|
|
7
|
+
name: str
|
|
8
|
+
domain: str
|
|
9
|
+
version: str
|
|
10
|
+
|
|
11
|
+
class AOS:
|
|
12
|
+
"""Core kernel that manages agents, tools, memory, and observability."""
|
|
13
|
+
|
|
14
|
+
def __init__(self, config: AOSConfig):
|
|
15
|
+
self.name = config.name
|
|
16
|
+
self.domain = config.domain
|
|
17
|
+
self.version = config.version
|
|
18
|
+
self._agents: Dict[str, Any] = {}
|
|
19
|
+
self._tools: Dict[str, Any] = {}
|
|
20
|
+
self._running = False
|
|
21
|
+
|
|
22
|
+
def agent(self, name: str, config: dict) -> "AOS":
|
|
23
|
+
from .agent import Agent
|
|
24
|
+
self._agents[name] = Agent(name, config)
|
|
25
|
+
return self
|
|
26
|
+
|
|
27
|
+
def tool(self, config: dict) -> "AOS":
|
|
28
|
+
from .tool import Tool
|
|
29
|
+
self._tools[config["name"]] = Tool(config)
|
|
30
|
+
return self
|
|
31
|
+
|
|
32
|
+
def observe(self, fid: Any) -> "AOS":
|
|
33
|
+
print(f"[{self.name}] FID observability connected")
|
|
34
|
+
return self
|
|
35
|
+
|
|
36
|
+
def identity(self, pid: Any) -> "AOS":
|
|
37
|
+
print(f"[{self.name}] PID identity connected")
|
|
38
|
+
return self
|
|
39
|
+
|
|
40
|
+
async def start(self):
|
|
41
|
+
self._running = True
|
|
42
|
+
print(f"[{self.name}] AOS v{self.version} started — domain: {self.domain}")
|
|
43
|
+
print(f"[{self.name}] {len(self._agents)} agents, {len(self._tools)} tools registered")
|
|
44
|
+
|
|
45
|
+
async def stop(self):
|
|
46
|
+
self._running = False
|
|
47
|
+
print(f"[{self.name}] AOS stopped")
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Memory — Agent memory and context persistence"""
|
|
2
|
+
from typing import List, Optional
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
|
|
5
|
+
@dataclass
|
|
6
|
+
class MemoryResult:
|
|
7
|
+
content: str
|
|
8
|
+
score: float
|
|
9
|
+
source: str
|
|
10
|
+
timestamp: float
|
|
11
|
+
|
|
12
|
+
class Memory:
|
|
13
|
+
def __init__(self, backend: str = "sqlite", **kwargs):
|
|
14
|
+
self.backend = backend
|
|
15
|
+
|
|
16
|
+
async def store(self, key: str, content: str, metadata: dict = None):
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
async def retrieve(self, query: str, limit: int = 10) -> List[MemoryResult]:
|
|
20
|
+
return []
|
|
21
|
+
|
|
22
|
+
async def forget(self, key: str):
|
|
23
|
+
pass
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Tool — MCP-compatible tool wrapper"""
|
|
2
|
+
|
|
3
|
+
class Tool:
|
|
4
|
+
def __init__(self, config: dict):
|
|
5
|
+
self.name = config["name"]
|
|
6
|
+
self.description = config.get("description", "")
|
|
7
|
+
self.input_schema = config.get("input_schema", {})
|
|
8
|
+
self._handler = config.get("handler")
|
|
9
|
+
|
|
10
|
+
async def execute(self, input_data: dict):
|
|
11
|
+
if self._handler:
|
|
12
|
+
return await self._handler(input_data)
|
|
13
|
+
|
|
14
|
+
def to_mcp(self) -> dict:
|
|
15
|
+
return {
|
|
16
|
+
"name": self.name,
|
|
17
|
+
"description": self.description,
|
|
18
|
+
"inputSchema": {"type": "object", "properties": self.input_schema},
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aoskit
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: The reference SDK for building Agentic Operating Systems (AOS)
|
|
5
|
+
Author-email: XY and Z <milo@xyandz.io>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://aoskit.dev
|
|
8
|
+
Project-URL: Repository, https://github.com/XYANDZ-iO/aoskit
|
|
9
|
+
Keywords: aos,agentic,operating-system,ai-agents,mcp,xyandz
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
15
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# aoskit
|
|
20
|
+
|
|
21
|
+
The reference SDK for building Agentic Operating Systems (AOS).
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install aoskit
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from aoskit import AOS, AOSConfig
|
|
33
|
+
|
|
34
|
+
wiz = AOS(AOSConfig(name="wiz", domain="ad-intelligence", version="1.0.0"))
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Learn More
|
|
38
|
+
|
|
39
|
+
- [GitHub](https://github.com/XYANDZ-iO/aoskit)
|
|
40
|
+
- [aoskit.dev](https://aoskit.dev)
|
|
41
|
+
- [xyandz.io](https://xyandz.io)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
aoskit
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "aoskit"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "The reference SDK for building Agentic Operating Systems (AOS)"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = {text = "MIT"}
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [{name = "XY and Z", email = "milo@xyandz.io"}]
|
|
13
|
+
keywords = ["aos", "agentic", "operating-system", "ai-agents", "mcp", "xyandz"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 3 - Alpha",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"License :: OSI Approved :: MIT License",
|
|
18
|
+
"Programming Language :: Python :: 3",
|
|
19
|
+
"Topic :: Software Development :: Libraries",
|
|
20
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
[project.urls]
|
|
24
|
+
Homepage = "https://aoskit.dev"
|
|
25
|
+
Repository = "https://github.com/XYANDZ-iO/aoskit"
|
aoskit-0.1.0/setup.cfg
ADDED