coreason-manifest 0.9.0__py3-none-any.whl → 0.12.0__py3-none-any.whl
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.
- coreason_manifest/__init__.py +47 -13
- coreason_manifest/common.py +64 -0
- coreason_manifest/governance.py +83 -0
- coreason_manifest/schemas/__init__.py +9 -1
- coreason_manifest/schemas/coreason-v2.schema.json +462 -0
- coreason_manifest/utils/__init__.py +10 -0
- coreason_manifest/utils/logger.py +10 -0
- coreason_manifest/v2/__init__.py +1 -0
- coreason_manifest/v2/governance.py +144 -0
- coreason_manifest/v2/io.py +132 -0
- coreason_manifest/v2/resolver.py +67 -0
- coreason_manifest/v2/spec/__init__.py +1 -0
- coreason_manifest/v2/spec/contracts.py +34 -0
- coreason_manifest/v2/spec/definitions.py +196 -0
- coreason_manifest/v2/validator.py +48 -0
- {coreason_manifest-0.9.0.dist-info → coreason_manifest-0.12.0.dist-info}/METADATA +68 -29
- coreason_manifest-0.12.0.dist-info/RECORD +20 -0
- {coreason_manifest-0.9.0.dist-info → coreason_manifest-0.12.0.dist-info}/WHEEL +1 -1
- coreason_manifest/definitions/__init__.py +0 -49
- coreason_manifest/definitions/agent.py +0 -292
- coreason_manifest/definitions/audit.py +0 -122
- coreason_manifest/definitions/events.py +0 -392
- coreason_manifest/definitions/message.py +0 -126
- coreason_manifest/definitions/simulation.py +0 -50
- coreason_manifest/definitions/topology.py +0 -255
- coreason_manifest/recipes.py +0 -76
- coreason_manifest/schemas/agent.schema.json +0 -849
- coreason_manifest-0.9.0.dist-info/RECORD +0 -18
- {coreason_manifest-0.9.0.dist-info → coreason_manifest-0.12.0.dist-info}/licenses/LICENSE +0 -0
- {coreason_manifest-0.9.0.dist-info → coreason_manifest-0.12.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,849 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$defs": {
|
|
3
|
-
"AgentDependencies": {
|
|
4
|
-
"additionalProperties": false,
|
|
5
|
-
"description": "External dependencies for the Agent.\n\nAttributes:\n tools: List of MCP tool requirements.\n libraries: List of Python packages required (if code execution is allowed).",
|
|
6
|
-
"properties": {
|
|
7
|
-
"tools": {
|
|
8
|
-
"description": "List of MCP tool requirements.",
|
|
9
|
-
"items": {
|
|
10
|
-
"$ref": "#/$defs/ToolRequirement"
|
|
11
|
-
},
|
|
12
|
-
"title": "Tools",
|
|
13
|
-
"type": "array"
|
|
14
|
-
},
|
|
15
|
-
"libraries": {
|
|
16
|
-
"description": "List of Python packages required (if code execution is allowed).",
|
|
17
|
-
"items": {
|
|
18
|
-
"type": "string"
|
|
19
|
-
},
|
|
20
|
-
"title": "Libraries",
|
|
21
|
-
"type": "array"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"title": "AgentDependencies",
|
|
25
|
-
"type": "object"
|
|
26
|
-
},
|
|
27
|
-
"AgentInterface": {
|
|
28
|
-
"additionalProperties": false,
|
|
29
|
-
"description": "Interface definition for the Agent.\n\nAttributes:\n inputs: Typed arguments the agent accepts (JSON Schema).\n outputs: Typed structure of the result.",
|
|
30
|
-
"properties": {
|
|
31
|
-
"inputs": {
|
|
32
|
-
"additionalProperties": true,
|
|
33
|
-
"description": "Typed arguments the agent accepts (JSON Schema).",
|
|
34
|
-
"title": "Inputs",
|
|
35
|
-
"type": "object"
|
|
36
|
-
},
|
|
37
|
-
"outputs": {
|
|
38
|
-
"additionalProperties": true,
|
|
39
|
-
"description": "Typed structure of the result.",
|
|
40
|
-
"title": "Outputs",
|
|
41
|
-
"type": "object"
|
|
42
|
-
},
|
|
43
|
-
"injected_params": {
|
|
44
|
-
"description": "List of parameters injected by the system.",
|
|
45
|
-
"items": {
|
|
46
|
-
"type": "string"
|
|
47
|
-
},
|
|
48
|
-
"title": "Injected Params",
|
|
49
|
-
"type": "array"
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"required": [
|
|
53
|
-
"inputs",
|
|
54
|
-
"outputs"
|
|
55
|
-
],
|
|
56
|
-
"title": "AgentInterface",
|
|
57
|
-
"type": "object"
|
|
58
|
-
},
|
|
59
|
-
"AgentMetadata": {
|
|
60
|
-
"additionalProperties": false,
|
|
61
|
-
"description": "Metadata for the Agent.\n\nAttributes:\n id: Unique Identifier for the Agent (UUID).\n version: Semantic Version of the Agent.\n name: Name of the Agent.\n author: Author of the Agent.\n created_at: Creation timestamp (ISO 8601).",
|
|
62
|
-
"properties": {
|
|
63
|
-
"id": {
|
|
64
|
-
"description": "Unique Identifier for the Agent (UUID).",
|
|
65
|
-
"format": "uuid",
|
|
66
|
-
"title": "Id",
|
|
67
|
-
"type": "string"
|
|
68
|
-
},
|
|
69
|
-
"version": {
|
|
70
|
-
"description": "Semantic Version of the Agent.",
|
|
71
|
-
"pattern": "^[vV]*(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
|
|
72
|
-
"title": "Version",
|
|
73
|
-
"type": "string"
|
|
74
|
-
},
|
|
75
|
-
"name": {
|
|
76
|
-
"description": "Name of the Agent.",
|
|
77
|
-
"minLength": 1,
|
|
78
|
-
"title": "Name",
|
|
79
|
-
"type": "string"
|
|
80
|
-
},
|
|
81
|
-
"author": {
|
|
82
|
-
"description": "Author of the Agent.",
|
|
83
|
-
"minLength": 1,
|
|
84
|
-
"title": "Author",
|
|
85
|
-
"type": "string"
|
|
86
|
-
},
|
|
87
|
-
"created_at": {
|
|
88
|
-
"description": "Creation timestamp (ISO 8601).",
|
|
89
|
-
"format": "date-time",
|
|
90
|
-
"title": "Created At",
|
|
91
|
-
"type": "string"
|
|
92
|
-
},
|
|
93
|
-
"requires_auth": {
|
|
94
|
-
"default": false,
|
|
95
|
-
"description": "Whether the agent requires user authentication.",
|
|
96
|
-
"title": "Requires Auth",
|
|
97
|
-
"type": "boolean"
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
"required": [
|
|
101
|
-
"id",
|
|
102
|
-
"version",
|
|
103
|
-
"name",
|
|
104
|
-
"author",
|
|
105
|
-
"created_at"
|
|
106
|
-
],
|
|
107
|
-
"title": "AgentMetadata",
|
|
108
|
-
"type": "object"
|
|
109
|
-
},
|
|
110
|
-
"AgentNode": {
|
|
111
|
-
"additionalProperties": false,
|
|
112
|
-
"description": "A node that calls a specific atomic agent.\n\nAttributes:\n type: The type of the node (must be 'agent').\n agent_name: The name of the atomic agent to call.",
|
|
113
|
-
"properties": {
|
|
114
|
-
"id": {
|
|
115
|
-
"description": "Unique identifier for the node.",
|
|
116
|
-
"title": "Id",
|
|
117
|
-
"type": "string"
|
|
118
|
-
},
|
|
119
|
-
"council_config": {
|
|
120
|
-
"anyOf": [
|
|
121
|
-
{
|
|
122
|
-
"$ref": "#/$defs/CouncilConfig"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"type": "null"
|
|
126
|
-
}
|
|
127
|
-
],
|
|
128
|
-
"default": null,
|
|
129
|
-
"description": "Optional configuration for architectural triangulation."
|
|
130
|
-
},
|
|
131
|
-
"visual": {
|
|
132
|
-
"anyOf": [
|
|
133
|
-
{
|
|
134
|
-
"$ref": "#/$defs/VisualMetadata"
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
"type": "null"
|
|
138
|
-
}
|
|
139
|
-
],
|
|
140
|
-
"default": null,
|
|
141
|
-
"description": "Visual metadata for the UI."
|
|
142
|
-
},
|
|
143
|
-
"type": {
|
|
144
|
-
"const": "agent",
|
|
145
|
-
"default": "agent",
|
|
146
|
-
"description": "Discriminator for AgentNode.",
|
|
147
|
-
"title": "Type",
|
|
148
|
-
"type": "string"
|
|
149
|
-
},
|
|
150
|
-
"agent_name": {
|
|
151
|
-
"description": "The name of the atomic agent to call.",
|
|
152
|
-
"title": "Agent Name",
|
|
153
|
-
"type": "string"
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
"required": [
|
|
157
|
-
"id",
|
|
158
|
-
"agent_name"
|
|
159
|
-
],
|
|
160
|
-
"title": "AgentNode",
|
|
161
|
-
"type": "object"
|
|
162
|
-
},
|
|
163
|
-
"AgentRuntimeConfig": {
|
|
164
|
-
"additionalProperties": false,
|
|
165
|
-
"description": "Configuration of the Agent execution.\n\nAttributes:\n nodes: A collection of execution units (Agents, Tools, Logic).\n edges: Directed connections defining control flow.\n entry_point: The ID of the starting node.\n llm_config: Specific LLM parameters.",
|
|
166
|
-
"properties": {
|
|
167
|
-
"nodes": {
|
|
168
|
-
"description": "A collection of execution units.",
|
|
169
|
-
"items": {
|
|
170
|
-
"description": "Polymorphic node definition.",
|
|
171
|
-
"discriminator": {
|
|
172
|
-
"mapping": {
|
|
173
|
-
"agent": "#/$defs/AgentNode",
|
|
174
|
-
"human": "#/$defs/HumanNode",
|
|
175
|
-
"logic": "#/$defs/LogicNode",
|
|
176
|
-
"map": "#/$defs/MapNode",
|
|
177
|
-
"recipe": "#/$defs/RecipeNode"
|
|
178
|
-
},
|
|
179
|
-
"propertyName": "type"
|
|
180
|
-
},
|
|
181
|
-
"oneOf": [
|
|
182
|
-
{
|
|
183
|
-
"$ref": "#/$defs/AgentNode"
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
"$ref": "#/$defs/HumanNode"
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
"$ref": "#/$defs/LogicNode"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"$ref": "#/$defs/RecipeNode"
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
"$ref": "#/$defs/MapNode"
|
|
196
|
-
}
|
|
197
|
-
]
|
|
198
|
-
},
|
|
199
|
-
"title": "Nodes",
|
|
200
|
-
"type": "array"
|
|
201
|
-
},
|
|
202
|
-
"edges": {
|
|
203
|
-
"description": "Directed connections defining control flow.",
|
|
204
|
-
"items": {
|
|
205
|
-
"$ref": "#/$defs/Edge"
|
|
206
|
-
},
|
|
207
|
-
"title": "Edges",
|
|
208
|
-
"type": "array"
|
|
209
|
-
},
|
|
210
|
-
"entry_point": {
|
|
211
|
-
"description": "The ID of the starting node.",
|
|
212
|
-
"title": "Entry Point",
|
|
213
|
-
"type": "string"
|
|
214
|
-
},
|
|
215
|
-
"model_config": {
|
|
216
|
-
"$ref": "#/$defs/ModelConfig",
|
|
217
|
-
"description": "Specific LLM parameters."
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
"required": [
|
|
221
|
-
"nodes",
|
|
222
|
-
"edges",
|
|
223
|
-
"entry_point",
|
|
224
|
-
"model_config"
|
|
225
|
-
],
|
|
226
|
-
"title": "AgentRuntimeConfig",
|
|
227
|
-
"type": "object"
|
|
228
|
-
},
|
|
229
|
-
"CouncilConfig": {
|
|
230
|
-
"additionalProperties": false,
|
|
231
|
-
"description": "Configuration for 'Architectural Triangulation'.\n\nAttributes:\n strategy: The strategy for the council (e.g., 'consensus').\n voters: List of agents or models that vote.",
|
|
232
|
-
"properties": {
|
|
233
|
-
"strategy": {
|
|
234
|
-
"default": "consensus",
|
|
235
|
-
"description": "The strategy for the council, e.g., 'consensus'.",
|
|
236
|
-
"title": "Strategy",
|
|
237
|
-
"type": "string"
|
|
238
|
-
},
|
|
239
|
-
"voters": {
|
|
240
|
-
"description": "List of agents or models that vote.",
|
|
241
|
-
"items": {
|
|
242
|
-
"type": "string"
|
|
243
|
-
},
|
|
244
|
-
"title": "Voters",
|
|
245
|
-
"type": "array"
|
|
246
|
-
}
|
|
247
|
-
},
|
|
248
|
-
"required": [
|
|
249
|
-
"voters"
|
|
250
|
-
],
|
|
251
|
-
"title": "CouncilConfig",
|
|
252
|
-
"type": "object"
|
|
253
|
-
},
|
|
254
|
-
"DataMapping": {
|
|
255
|
-
"additionalProperties": false,
|
|
256
|
-
"description": "Defines how to transform data between parent and child.",
|
|
257
|
-
"properties": {
|
|
258
|
-
"source": {
|
|
259
|
-
"description": "The path/key source.",
|
|
260
|
-
"title": "Source",
|
|
261
|
-
"type": "string"
|
|
262
|
-
},
|
|
263
|
-
"strategy": {
|
|
264
|
-
"$ref": "#/$defs/DataMappingStrategy",
|
|
265
|
-
"default": "direct",
|
|
266
|
-
"description": "The mapping strategy."
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
"required": [
|
|
270
|
-
"source"
|
|
271
|
-
],
|
|
272
|
-
"title": "DataMapping",
|
|
273
|
-
"type": "object"
|
|
274
|
-
},
|
|
275
|
-
"DataMappingStrategy": {
|
|
276
|
-
"description": "Strategy for mapping data.",
|
|
277
|
-
"enum": [
|
|
278
|
-
"direct",
|
|
279
|
-
"jsonpath",
|
|
280
|
-
"literal"
|
|
281
|
-
],
|
|
282
|
-
"title": "DataMappingStrategy",
|
|
283
|
-
"type": "string"
|
|
284
|
-
},
|
|
285
|
-
"Edge": {
|
|
286
|
-
"additionalProperties": false,
|
|
287
|
-
"description": "Represents a connection between two nodes.\n\nAttributes:\n source_node_id: The ID of the source node.\n target_node_id: The ID of the target node.\n condition: Optional Python expression for conditional branching.",
|
|
288
|
-
"properties": {
|
|
289
|
-
"source_node_id": {
|
|
290
|
-
"description": "The ID of the source node.",
|
|
291
|
-
"title": "Source Node Id",
|
|
292
|
-
"type": "string"
|
|
293
|
-
},
|
|
294
|
-
"target_node_id": {
|
|
295
|
-
"description": "The ID of the target node.",
|
|
296
|
-
"title": "Target Node Id",
|
|
297
|
-
"type": "string"
|
|
298
|
-
},
|
|
299
|
-
"condition": {
|
|
300
|
-
"anyOf": [
|
|
301
|
-
{
|
|
302
|
-
"type": "string"
|
|
303
|
-
},
|
|
304
|
-
{
|
|
305
|
-
"type": "null"
|
|
306
|
-
}
|
|
307
|
-
],
|
|
308
|
-
"default": null,
|
|
309
|
-
"description": "Optional Python expression for conditional branching.",
|
|
310
|
-
"title": "Condition"
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
"required": [
|
|
314
|
-
"source_node_id",
|
|
315
|
-
"target_node_id"
|
|
316
|
-
],
|
|
317
|
-
"title": "Edge",
|
|
318
|
-
"type": "object"
|
|
319
|
-
},
|
|
320
|
-
"HumanNode": {
|
|
321
|
-
"additionalProperties": false,
|
|
322
|
-
"description": "A node that pauses execution for user input/approval.\n\nAttributes:\n type: The type of the node (must be 'human').\n timeout_seconds: Optional timeout in seconds for the user interaction.",
|
|
323
|
-
"properties": {
|
|
324
|
-
"id": {
|
|
325
|
-
"description": "Unique identifier for the node.",
|
|
326
|
-
"title": "Id",
|
|
327
|
-
"type": "string"
|
|
328
|
-
},
|
|
329
|
-
"council_config": {
|
|
330
|
-
"anyOf": [
|
|
331
|
-
{
|
|
332
|
-
"$ref": "#/$defs/CouncilConfig"
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
"type": "null"
|
|
336
|
-
}
|
|
337
|
-
],
|
|
338
|
-
"default": null,
|
|
339
|
-
"description": "Optional configuration for architectural triangulation."
|
|
340
|
-
},
|
|
341
|
-
"visual": {
|
|
342
|
-
"anyOf": [
|
|
343
|
-
{
|
|
344
|
-
"$ref": "#/$defs/VisualMetadata"
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
"type": "null"
|
|
348
|
-
}
|
|
349
|
-
],
|
|
350
|
-
"default": null,
|
|
351
|
-
"description": "Visual metadata for the UI."
|
|
352
|
-
},
|
|
353
|
-
"type": {
|
|
354
|
-
"const": "human",
|
|
355
|
-
"default": "human",
|
|
356
|
-
"description": "Discriminator for HumanNode.",
|
|
357
|
-
"title": "Type",
|
|
358
|
-
"type": "string"
|
|
359
|
-
},
|
|
360
|
-
"timeout_seconds": {
|
|
361
|
-
"anyOf": [
|
|
362
|
-
{
|
|
363
|
-
"type": "integer"
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
"type": "null"
|
|
367
|
-
}
|
|
368
|
-
],
|
|
369
|
-
"default": null,
|
|
370
|
-
"description": "Optional timeout in seconds for the user interaction.",
|
|
371
|
-
"title": "Timeout Seconds"
|
|
372
|
-
}
|
|
373
|
-
},
|
|
374
|
-
"required": [
|
|
375
|
-
"id"
|
|
376
|
-
],
|
|
377
|
-
"title": "HumanNode",
|
|
378
|
-
"type": "object"
|
|
379
|
-
},
|
|
380
|
-
"LogicNode": {
|
|
381
|
-
"additionalProperties": false,
|
|
382
|
-
"description": "A node that executes pure Python logic.\n\nAttributes:\n type: The type of the node (must be 'logic').\n code: The Python logic code to execute.",
|
|
383
|
-
"properties": {
|
|
384
|
-
"id": {
|
|
385
|
-
"description": "Unique identifier for the node.",
|
|
386
|
-
"title": "Id",
|
|
387
|
-
"type": "string"
|
|
388
|
-
},
|
|
389
|
-
"council_config": {
|
|
390
|
-
"anyOf": [
|
|
391
|
-
{
|
|
392
|
-
"$ref": "#/$defs/CouncilConfig"
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
"type": "null"
|
|
396
|
-
}
|
|
397
|
-
],
|
|
398
|
-
"default": null,
|
|
399
|
-
"description": "Optional configuration for architectural triangulation."
|
|
400
|
-
},
|
|
401
|
-
"visual": {
|
|
402
|
-
"anyOf": [
|
|
403
|
-
{
|
|
404
|
-
"$ref": "#/$defs/VisualMetadata"
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
"type": "null"
|
|
408
|
-
}
|
|
409
|
-
],
|
|
410
|
-
"default": null,
|
|
411
|
-
"description": "Visual metadata for the UI."
|
|
412
|
-
},
|
|
413
|
-
"type": {
|
|
414
|
-
"const": "logic",
|
|
415
|
-
"default": "logic",
|
|
416
|
-
"description": "Discriminator for LogicNode.",
|
|
417
|
-
"title": "Type",
|
|
418
|
-
"type": "string"
|
|
419
|
-
},
|
|
420
|
-
"code": {
|
|
421
|
-
"description": "The Python logic code to execute.",
|
|
422
|
-
"title": "Code",
|
|
423
|
-
"type": "string"
|
|
424
|
-
}
|
|
425
|
-
},
|
|
426
|
-
"required": [
|
|
427
|
-
"id",
|
|
428
|
-
"code"
|
|
429
|
-
],
|
|
430
|
-
"title": "LogicNode",
|
|
431
|
-
"type": "object"
|
|
432
|
-
},
|
|
433
|
-
"MapNode": {
|
|
434
|
-
"additionalProperties": false,
|
|
435
|
-
"description": "A node that spawns multiple parallel executions of a sub-branch.\n\nAttributes:\n type: The type of the node (must be 'map').\n items_path: Dot-notation path to the list in the state.\n processor_node_id: The node (or subgraph) to run for each item.\n concurrency_limit: Max parallel executions.",
|
|
436
|
-
"properties": {
|
|
437
|
-
"id": {
|
|
438
|
-
"description": "Unique identifier for the node.",
|
|
439
|
-
"title": "Id",
|
|
440
|
-
"type": "string"
|
|
441
|
-
},
|
|
442
|
-
"council_config": {
|
|
443
|
-
"anyOf": [
|
|
444
|
-
{
|
|
445
|
-
"$ref": "#/$defs/CouncilConfig"
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"type": "null"
|
|
449
|
-
}
|
|
450
|
-
],
|
|
451
|
-
"default": null,
|
|
452
|
-
"description": "Optional configuration for architectural triangulation."
|
|
453
|
-
},
|
|
454
|
-
"visual": {
|
|
455
|
-
"anyOf": [
|
|
456
|
-
{
|
|
457
|
-
"$ref": "#/$defs/VisualMetadata"
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"type": "null"
|
|
461
|
-
}
|
|
462
|
-
],
|
|
463
|
-
"default": null,
|
|
464
|
-
"description": "Visual metadata for the UI."
|
|
465
|
-
},
|
|
466
|
-
"type": {
|
|
467
|
-
"const": "map",
|
|
468
|
-
"default": "map",
|
|
469
|
-
"description": "Discriminator for MapNode.",
|
|
470
|
-
"title": "Type",
|
|
471
|
-
"type": "string"
|
|
472
|
-
},
|
|
473
|
-
"items_path": {
|
|
474
|
-
"description": "Dot-notation path to the list in the state.",
|
|
475
|
-
"title": "Items Path",
|
|
476
|
-
"type": "string"
|
|
477
|
-
},
|
|
478
|
-
"processor_node_id": {
|
|
479
|
-
"description": "The node (or subgraph) to run for each item.",
|
|
480
|
-
"title": "Processor Node Id",
|
|
481
|
-
"type": "string"
|
|
482
|
-
},
|
|
483
|
-
"concurrency_limit": {
|
|
484
|
-
"description": "Max parallel executions.",
|
|
485
|
-
"title": "Concurrency Limit",
|
|
486
|
-
"type": "integer"
|
|
487
|
-
}
|
|
488
|
-
},
|
|
489
|
-
"required": [
|
|
490
|
-
"id",
|
|
491
|
-
"items_path",
|
|
492
|
-
"processor_node_id",
|
|
493
|
-
"concurrency_limit"
|
|
494
|
-
],
|
|
495
|
-
"title": "MapNode",
|
|
496
|
-
"type": "object"
|
|
497
|
-
},
|
|
498
|
-
"ModelConfig": {
|
|
499
|
-
"additionalProperties": false,
|
|
500
|
-
"description": "LLM Configuration parameters.\n\nAttributes:\n model: The LLM model identifier.\n temperature: Temperature for generation.",
|
|
501
|
-
"properties": {
|
|
502
|
-
"model": {
|
|
503
|
-
"description": "The LLM model identifier.",
|
|
504
|
-
"title": "Model",
|
|
505
|
-
"type": "string"
|
|
506
|
-
},
|
|
507
|
-
"temperature": {
|
|
508
|
-
"description": "Temperature for generation.",
|
|
509
|
-
"maximum": 2.0,
|
|
510
|
-
"minimum": 0.0,
|
|
511
|
-
"title": "Temperature",
|
|
512
|
-
"type": "number"
|
|
513
|
-
}
|
|
514
|
-
},
|
|
515
|
-
"required": [
|
|
516
|
-
"model",
|
|
517
|
-
"temperature"
|
|
518
|
-
],
|
|
519
|
-
"title": "ModelConfig",
|
|
520
|
-
"type": "object"
|
|
521
|
-
},
|
|
522
|
-
"ObservabilityConfig": {
|
|
523
|
-
"additionalProperties": false,
|
|
524
|
-
"description": "Observability configuration.\n\nAttributes:\n trace_level: Level of tracing detail.\n retention_policy: Retention policy identifier (e.g., '30_days').\n encryption_key_id: Optional ID of the key used for log encryption.",
|
|
525
|
-
"properties": {
|
|
526
|
-
"trace_level": {
|
|
527
|
-
"$ref": "#/$defs/TraceLevel",
|
|
528
|
-
"default": "full"
|
|
529
|
-
},
|
|
530
|
-
"retention_policy": {
|
|
531
|
-
"default": "30_days",
|
|
532
|
-
"description": "Retention policy identifier.",
|
|
533
|
-
"title": "Retention Policy",
|
|
534
|
-
"type": "string"
|
|
535
|
-
},
|
|
536
|
-
"encryption_key_id": {
|
|
537
|
-
"anyOf": [
|
|
538
|
-
{
|
|
539
|
-
"type": "string"
|
|
540
|
-
},
|
|
541
|
-
{
|
|
542
|
-
"type": "null"
|
|
543
|
-
}
|
|
544
|
-
],
|
|
545
|
-
"default": null,
|
|
546
|
-
"description": "Optional ID of the key used for log encryption.",
|
|
547
|
-
"title": "Encryption Key Id"
|
|
548
|
-
}
|
|
549
|
-
},
|
|
550
|
-
"title": "ObservabilityConfig",
|
|
551
|
-
"type": "object"
|
|
552
|
-
},
|
|
553
|
-
"PolicyConfig": {
|
|
554
|
-
"additionalProperties": false,
|
|
555
|
-
"description": "Governance policy configuration.\n\nAttributes:\n budget_caps: Dictionary defining budget limits (e.g., {\"total_cost\": 10.0, \"total_tokens\": 1000}).\n human_in_the_loop: List of Node IDs that require human approval.\n allowed_domains: List of allowed domains for external access.",
|
|
556
|
-
"properties": {
|
|
557
|
-
"budget_caps": {
|
|
558
|
-
"additionalProperties": {
|
|
559
|
-
"type": "number"
|
|
560
|
-
},
|
|
561
|
-
"description": "Budget limits.",
|
|
562
|
-
"title": "Budget Caps",
|
|
563
|
-
"type": "object"
|
|
564
|
-
},
|
|
565
|
-
"human_in_the_loop": {
|
|
566
|
-
"description": "Node IDs requiring human approval.",
|
|
567
|
-
"items": {
|
|
568
|
-
"type": "string"
|
|
569
|
-
},
|
|
570
|
-
"title": "Human In The Loop",
|
|
571
|
-
"type": "array"
|
|
572
|
-
},
|
|
573
|
-
"allowed_domains": {
|
|
574
|
-
"description": "Allowed domains for external access.",
|
|
575
|
-
"items": {
|
|
576
|
-
"type": "string"
|
|
577
|
-
},
|
|
578
|
-
"title": "Allowed Domains",
|
|
579
|
-
"type": "array"
|
|
580
|
-
}
|
|
581
|
-
},
|
|
582
|
-
"title": "PolicyConfig",
|
|
583
|
-
"type": "object"
|
|
584
|
-
},
|
|
585
|
-
"RecipeNode": {
|
|
586
|
-
"additionalProperties": false,
|
|
587
|
-
"description": "A node that executes another Recipe as a sub-graph.\n\nAttributes:\n type: The type of the node (must be 'recipe').\n recipe_id: The ID of the recipe to execute.\n input_mapping: How parent state maps to child inputs (parent_key -> child_key).\n output_mapping: How child result maps back to parent state (child_key -> parent_key).",
|
|
588
|
-
"properties": {
|
|
589
|
-
"id": {
|
|
590
|
-
"description": "Unique identifier for the node.",
|
|
591
|
-
"title": "Id",
|
|
592
|
-
"type": "string"
|
|
593
|
-
},
|
|
594
|
-
"council_config": {
|
|
595
|
-
"anyOf": [
|
|
596
|
-
{
|
|
597
|
-
"$ref": "#/$defs/CouncilConfig"
|
|
598
|
-
},
|
|
599
|
-
{
|
|
600
|
-
"type": "null"
|
|
601
|
-
}
|
|
602
|
-
],
|
|
603
|
-
"default": null,
|
|
604
|
-
"description": "Optional configuration for architectural triangulation."
|
|
605
|
-
},
|
|
606
|
-
"visual": {
|
|
607
|
-
"anyOf": [
|
|
608
|
-
{
|
|
609
|
-
"$ref": "#/$defs/VisualMetadata"
|
|
610
|
-
},
|
|
611
|
-
{
|
|
612
|
-
"type": "null"
|
|
613
|
-
}
|
|
614
|
-
],
|
|
615
|
-
"default": null,
|
|
616
|
-
"description": "Visual metadata for the UI."
|
|
617
|
-
},
|
|
618
|
-
"type": {
|
|
619
|
-
"const": "recipe",
|
|
620
|
-
"default": "recipe",
|
|
621
|
-
"description": "Discriminator for RecipeNode.",
|
|
622
|
-
"title": "Type",
|
|
623
|
-
"type": "string"
|
|
624
|
-
},
|
|
625
|
-
"recipe_id": {
|
|
626
|
-
"description": "The ID of the recipe to execute.",
|
|
627
|
-
"title": "Recipe Id",
|
|
628
|
-
"type": "string"
|
|
629
|
-
},
|
|
630
|
-
"input_mapping": {
|
|
631
|
-
"additionalProperties": {
|
|
632
|
-
"anyOf": [
|
|
633
|
-
{
|
|
634
|
-
"type": "string"
|
|
635
|
-
},
|
|
636
|
-
{
|
|
637
|
-
"$ref": "#/$defs/DataMapping"
|
|
638
|
-
}
|
|
639
|
-
]
|
|
640
|
-
},
|
|
641
|
-
"description": "Mapping of parent state keys to child input keys.",
|
|
642
|
-
"title": "Input Mapping",
|
|
643
|
-
"type": "object"
|
|
644
|
-
},
|
|
645
|
-
"output_mapping": {
|
|
646
|
-
"additionalProperties": {
|
|
647
|
-
"anyOf": [
|
|
648
|
-
{
|
|
649
|
-
"type": "string"
|
|
650
|
-
},
|
|
651
|
-
{
|
|
652
|
-
"$ref": "#/$defs/DataMapping"
|
|
653
|
-
}
|
|
654
|
-
]
|
|
655
|
-
},
|
|
656
|
-
"description": "Mapping of child output keys to parent state keys.",
|
|
657
|
-
"title": "Output Mapping",
|
|
658
|
-
"type": "object"
|
|
659
|
-
}
|
|
660
|
-
},
|
|
661
|
-
"required": [
|
|
662
|
-
"id",
|
|
663
|
-
"recipe_id",
|
|
664
|
-
"input_mapping",
|
|
665
|
-
"output_mapping"
|
|
666
|
-
],
|
|
667
|
-
"title": "RecipeNode",
|
|
668
|
-
"type": "object"
|
|
669
|
-
},
|
|
670
|
-
"ToolRequirement": {
|
|
671
|
-
"additionalProperties": false,
|
|
672
|
-
"description": "Requirement for an MCP tool.\n\nAttributes:\n uri: The MCP endpoint URI.\n hash: Integrity check for the tool definition (SHA256).\n scopes: List of permissions required.\n risk_level: The risk level of the tool.",
|
|
673
|
-
"properties": {
|
|
674
|
-
"uri": {
|
|
675
|
-
"description": "The MCP endpoint URI.",
|
|
676
|
-
"format": "uri",
|
|
677
|
-
"minLength": 1,
|
|
678
|
-
"title": "Uri",
|
|
679
|
-
"type": "string"
|
|
680
|
-
},
|
|
681
|
-
"hash": {
|
|
682
|
-
"description": "Integrity check for the tool definition (SHA256).",
|
|
683
|
-
"pattern": "^[a-fA-F0-9]{64}$",
|
|
684
|
-
"title": "Hash",
|
|
685
|
-
"type": "string"
|
|
686
|
-
},
|
|
687
|
-
"scopes": {
|
|
688
|
-
"description": "List of permissions required.",
|
|
689
|
-
"items": {
|
|
690
|
-
"type": "string"
|
|
691
|
-
},
|
|
692
|
-
"title": "Scopes",
|
|
693
|
-
"type": "array"
|
|
694
|
-
},
|
|
695
|
-
"risk_level": {
|
|
696
|
-
"$ref": "#/$defs/ToolRiskLevel",
|
|
697
|
-
"description": "The risk level of the tool."
|
|
698
|
-
}
|
|
699
|
-
},
|
|
700
|
-
"required": [
|
|
701
|
-
"uri",
|
|
702
|
-
"hash",
|
|
703
|
-
"scopes",
|
|
704
|
-
"risk_level"
|
|
705
|
-
],
|
|
706
|
-
"title": "ToolRequirement",
|
|
707
|
-
"type": "object"
|
|
708
|
-
},
|
|
709
|
-
"ToolRiskLevel": {
|
|
710
|
-
"description": "Risk level for the tool.",
|
|
711
|
-
"enum": [
|
|
712
|
-
"safe",
|
|
713
|
-
"standard",
|
|
714
|
-
"critical"
|
|
715
|
-
],
|
|
716
|
-
"title": "ToolRiskLevel",
|
|
717
|
-
"type": "string"
|
|
718
|
-
},
|
|
719
|
-
"TraceLevel": {
|
|
720
|
-
"description": "Level of tracing detail.",
|
|
721
|
-
"enum": [
|
|
722
|
-
"full",
|
|
723
|
-
"metadata_only",
|
|
724
|
-
"none"
|
|
725
|
-
],
|
|
726
|
-
"title": "TraceLevel",
|
|
727
|
-
"type": "string"
|
|
728
|
-
},
|
|
729
|
-
"VisualMetadata": {
|
|
730
|
-
"additionalProperties": false,
|
|
731
|
-
"description": "Data explicitly for the UI.\n\nAttributes:\n label: The label to display for the node.\n x_y_coordinates: The X and Y coordinates for the node on the canvas.\n icon: The icon to represent the node.\n animation_style: The animation style for the node.",
|
|
732
|
-
"properties": {
|
|
733
|
-
"label": {
|
|
734
|
-
"anyOf": [
|
|
735
|
-
{
|
|
736
|
-
"type": "string"
|
|
737
|
-
},
|
|
738
|
-
{
|
|
739
|
-
"type": "null"
|
|
740
|
-
}
|
|
741
|
-
],
|
|
742
|
-
"default": null,
|
|
743
|
-
"description": "The label to display for the node.",
|
|
744
|
-
"title": "Label"
|
|
745
|
-
},
|
|
746
|
-
"x_y_coordinates": {
|
|
747
|
-
"anyOf": [
|
|
748
|
-
{
|
|
749
|
-
"items": {
|
|
750
|
-
"type": "number"
|
|
751
|
-
},
|
|
752
|
-
"type": "array"
|
|
753
|
-
},
|
|
754
|
-
{
|
|
755
|
-
"type": "null"
|
|
756
|
-
}
|
|
757
|
-
],
|
|
758
|
-
"default": null,
|
|
759
|
-
"description": "The X and Y coordinates for the node on the canvas.",
|
|
760
|
-
"title": "X Y Coordinates"
|
|
761
|
-
},
|
|
762
|
-
"icon": {
|
|
763
|
-
"anyOf": [
|
|
764
|
-
{
|
|
765
|
-
"type": "string"
|
|
766
|
-
},
|
|
767
|
-
{
|
|
768
|
-
"type": "null"
|
|
769
|
-
}
|
|
770
|
-
],
|
|
771
|
-
"default": null,
|
|
772
|
-
"description": "The icon to represent the node.",
|
|
773
|
-
"title": "Icon"
|
|
774
|
-
},
|
|
775
|
-
"animation_style": {
|
|
776
|
-
"anyOf": [
|
|
777
|
-
{
|
|
778
|
-
"type": "string"
|
|
779
|
-
},
|
|
780
|
-
{
|
|
781
|
-
"type": "null"
|
|
782
|
-
}
|
|
783
|
-
],
|
|
784
|
-
"default": null,
|
|
785
|
-
"description": "The animation style for the node.",
|
|
786
|
-
"title": "Animation Style"
|
|
787
|
-
}
|
|
788
|
-
},
|
|
789
|
-
"title": "VisualMetadata",
|
|
790
|
-
"type": "object"
|
|
791
|
-
}
|
|
792
|
-
},
|
|
793
|
-
"$id": "https://coreason.ai/schemas/agent.schema.json",
|
|
794
|
-
"additionalProperties": false,
|
|
795
|
-
"description": "The definitive source of truth for CoReason Agent definitions.",
|
|
796
|
-
"properties": {
|
|
797
|
-
"metadata": {
|
|
798
|
-
"$ref": "#/$defs/AgentMetadata"
|
|
799
|
-
},
|
|
800
|
-
"interface": {
|
|
801
|
-
"$ref": "#/$defs/AgentInterface"
|
|
802
|
-
},
|
|
803
|
-
"config": {
|
|
804
|
-
"$ref": "#/$defs/AgentRuntimeConfig"
|
|
805
|
-
},
|
|
806
|
-
"dependencies": {
|
|
807
|
-
"$ref": "#/$defs/AgentDependencies"
|
|
808
|
-
},
|
|
809
|
-
"policy": {
|
|
810
|
-
"anyOf": [
|
|
811
|
-
{
|
|
812
|
-
"$ref": "#/$defs/PolicyConfig"
|
|
813
|
-
},
|
|
814
|
-
{
|
|
815
|
-
"type": "null"
|
|
816
|
-
}
|
|
817
|
-
],
|
|
818
|
-
"default": null,
|
|
819
|
-
"description": "Governance policy configuration."
|
|
820
|
-
},
|
|
821
|
-
"observability": {
|
|
822
|
-
"anyOf": [
|
|
823
|
-
{
|
|
824
|
-
"$ref": "#/$defs/ObservabilityConfig"
|
|
825
|
-
},
|
|
826
|
-
{
|
|
827
|
-
"type": "null"
|
|
828
|
-
}
|
|
829
|
-
],
|
|
830
|
-
"default": null,
|
|
831
|
-
"description": "Observability configuration."
|
|
832
|
-
},
|
|
833
|
-
"integrity_hash": {
|
|
834
|
-
"description": "SHA256 hash of the source code.",
|
|
835
|
-
"pattern": "^[a-fA-F0-9]{64}$",
|
|
836
|
-
"title": "Integrity Hash",
|
|
837
|
-
"type": "string"
|
|
838
|
-
}
|
|
839
|
-
},
|
|
840
|
-
"required": [
|
|
841
|
-
"metadata",
|
|
842
|
-
"interface",
|
|
843
|
-
"config",
|
|
844
|
-
"dependencies",
|
|
845
|
-
"integrity_hash"
|
|
846
|
-
],
|
|
847
|
-
"title": "CoReason Agent Manifest",
|
|
848
|
-
"type": "object"
|
|
849
|
-
}
|