coreason-manifest 0.15.0__tar.gz → 0.16.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.
Files changed (26) hide show
  1. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/PKG-INFO +3 -1
  2. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/README.md +2 -0
  3. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/pyproject.toml +2 -2
  4. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/__init__.py +6 -0
  5. coreason_manifest-0.16.0/src/coreason_manifest/definitions/capabilities.py +28 -0
  6. coreason_manifest-0.16.0/src/coreason_manifest/definitions/service.py +37 -0
  7. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/spec/definitions.py +4 -0
  8. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/LICENSE +0 -0
  9. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/NOTICE +0 -0
  10. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/common.py +0 -0
  11. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/definitions/identity.py +0 -0
  12. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/definitions/message.py +0 -0
  13. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/definitions/presentation.py +0 -0
  14. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/governance.py +0 -0
  15. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/schemas/__init__.py +0 -0
  16. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/schemas/coreason-v2.schema.json +0 -0
  17. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/spec/cap.py +0 -0
  18. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/utils/__init__.py +0 -0
  19. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/utils/logger.py +0 -0
  20. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/__init__.py +0 -0
  21. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/governance.py +0 -0
  22. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/io.py +0 -0
  23. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/resolver.py +0 -0
  24. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/spec/__init__.py +0 -0
  25. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/spec/contracts.py +0 -0
  26. {coreason_manifest-0.15.0 → coreason_manifest-0.16.0}/src/coreason_manifest/v2/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coreason_manifest
3
- Version: 0.15.0
3
+ Version: 0.16.0
4
4
  Summary: This package is the definitive source of truth. If it isn't in the manifest, it doesn't exist. If it violates the manifest, it doesn't run.
5
5
  License: # The Prosperity Public License 3.0.0
6
6
 
@@ -168,6 +168,8 @@ For full details, see the [Usage Documentation](docs/usage.md).
168
168
 
169
169
  ## Documentation
170
170
 
171
+ **[Full Documentation Index](docs/index.md)**
172
+
171
173
  * [Usage Guide](docs/usage.md): How to load and create manifests.
172
174
  * [Governance & Policy Enforcement](docs/governance_policy_enforcement.md): Validating agents against organizational rules.
173
175
  * [Coreason Agent Manifest (CAM)](docs/cap/specification.md): The Canonical YAML Authoring Format.
@@ -90,6 +90,8 @@ For full details, see the [Usage Documentation](docs/usage.md).
90
90
 
91
91
  ## Documentation
92
92
 
93
+ **[Full Documentation Index](docs/index.md)**
94
+
93
95
  * [Usage Guide](docs/usage.md): How to load and create manifests.
94
96
  * [Governance & Policy Enforcement](docs/governance_policy_enforcement.md): Validating agents against organizational rules.
95
97
  * [Coreason Agent Manifest (CAM)](docs/cap/specification.md): The Canonical YAML Authoring Format.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "coreason_manifest"
3
- version = "0.15.0"
3
+ version = "0.16.0"
4
4
  description = "This package is the definitive source of truth. If it isn't in the manifest, it doesn't exist. If it violates the manifest, it doesn't run."
5
5
  authors = ["Gowtham A Rao <gowtham.rao@coreason.ai>"]
6
6
  license = "Prosperity-3.0"
@@ -32,7 +32,7 @@ build-backend = "poetry.core.masonry.api"
32
32
 
33
33
  [project]
34
34
  name = "coreason_manifest"
35
- version = "0.15.0"
35
+ version = "0.16.0"
36
36
  description = "This package is the definitive source of truth. If it isn't in the manifest, it doesn't exist. If it violates the manifest, it doesn't run."
37
37
  readme = "README.md"
38
38
  requires-python = ">=3.12"
@@ -9,6 +9,7 @@
9
9
  # Source Code: https://github.com/CoReason-AI/coreason-manifest
10
10
 
11
11
  from .common import ToolRiskLevel
12
+ from .definitions.capabilities import AgentCapabilities, DeliveryMode
12
13
  from .definitions.identity import Identity
13
14
  from .definitions.message import ChatMessage, Role
14
15
  from .definitions.presentation import (
@@ -18,6 +19,7 @@ from .definitions.presentation import (
18
19
  PresentationEvent,
19
20
  PresentationEventType,
20
21
  )
22
+ from .definitions.service import AgentRequest, ServiceContract
21
23
  from .governance import ComplianceReport, ComplianceViolation, GovernanceConfig
22
24
  from .spec.cap import (
23
25
  ErrorSeverity,
@@ -72,6 +74,8 @@ __all__ = [
72
74
  "StateDefinition",
73
75
  "PolicyDefinition",
74
76
  "ToolRiskLevel",
77
+ "AgentCapabilities",
78
+ "DeliveryMode",
75
79
  "GovernanceConfig",
76
80
  "ComplianceReport",
77
81
  "ComplianceViolation",
@@ -94,4 +98,6 @@ __all__ = [
94
98
  "validate_integrity",
95
99
  "validate_loose",
96
100
  "check_compliance_v2",
101
+ "AgentRequest",
102
+ "ServiceContract",
97
103
  ]
@@ -0,0 +1,28 @@
1
+ from enum import Enum
2
+ from typing import List
3
+
4
+ from pydantic import ConfigDict, Field
5
+
6
+ from ..common import CoReasonBaseModel
7
+
8
+
9
+ class DeliveryMode(str, Enum):
10
+ """Supported transport mechanisms."""
11
+
12
+ REQUEST_RESPONSE = "request_response"
13
+ SSE = "sse"
14
+
15
+
16
+ class AgentCapabilities(CoReasonBaseModel):
17
+ """Feature flags and capabilities for the agent."""
18
+
19
+ model_config = ConfigDict(frozen=True, extra="forbid")
20
+
21
+ delivery_mode: List[DeliveryMode] = Field(
22
+ default_factory=lambda: [DeliveryMode.SSE],
23
+ description="Supported transport mechanisms.",
24
+ )
25
+ history_support: bool = Field(
26
+ default=True,
27
+ description="Whether the agent supports conversation history/context.",
28
+ )
@@ -0,0 +1,37 @@
1
+ from typing import Any, Dict, List, Optional
2
+
3
+ from pydantic import ConfigDict
4
+
5
+ from ..common import CoReasonBaseModel
6
+ from ..spec.cap import ServiceRequest, ServiceResponse
7
+
8
+
9
+ class AgentRequest(CoReasonBaseModel):
10
+ """Strictly typed payload inside a ServiceRequest."""
11
+
12
+ model_config = ConfigDict(frozen=True)
13
+
14
+ query: str
15
+ files: List[str] = []
16
+ conversation_id: Optional[str] = None
17
+ meta: Dict[str, Any] = {}
18
+
19
+
20
+ class ServiceContract:
21
+ """Utility class to generate the OpenAPI specification."""
22
+
23
+ @staticmethod
24
+ def generate_openapi() -> Dict[str, Any]:
25
+ """Generate the OpenAPI 3.1 Path Item Object for the agent service."""
26
+ return {
27
+ "post": {
28
+ "summary": "Invoke Agent",
29
+ "requestBody": {"content": {"application/json": {"schema": ServiceRequest.model_json_schema()}}},
30
+ "responses": {
31
+ "200": {
32
+ "description": "Successful Response",
33
+ "content": {"application/json": {"schema": ServiceResponse.model_json_schema()}},
34
+ }
35
+ },
36
+ }
37
+ }
@@ -3,6 +3,7 @@ from typing import Annotated, Any, Dict, List, Literal, Optional, Union
3
3
  from pydantic import ConfigDict, Field
4
4
 
5
5
  from coreason_manifest.common import CoReasonBaseModel, StrictUri, ToolRiskLevel
6
+ from coreason_manifest.definitions.capabilities import AgentCapabilities
6
7
  from coreason_manifest.v2.spec.contracts import InterfaceDefinition, PolicyDefinition, StateDefinition
7
8
 
8
9
 
@@ -47,6 +48,9 @@ class AgentDefinition(CoReasonBaseModel):
47
48
  model: Optional[str] = Field(None, description="LLM identifier.")
48
49
  tools: List[str] = Field(default_factory=list, description="List of Tool IDs or URI references.")
49
50
  knowledge: List[str] = Field(default_factory=list, description="List of file paths or knowledge base IDs.")
51
+ capabilities: AgentCapabilities = Field(
52
+ default_factory=AgentCapabilities, description="Feature flags and capabilities for the agent."
53
+ )
50
54
 
51
55
 
52
56
  class GenericDefinition(CoReasonBaseModel):