coreason-manifest 0.7.0__py3-none-any.whl → 0.9.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 +2 -2
- coreason_manifest/definitions/__init__.py +49 -0
- coreason_manifest/definitions/agent.py +93 -32
- coreason_manifest/definitions/audit.py +118 -3
- coreason_manifest/definitions/events.py +392 -0
- coreason_manifest/definitions/message.py +126 -0
- coreason_manifest/definitions/simulation.py +39 -8
- coreason_manifest/definitions/topology.py +119 -4
- coreason_manifest/recipes.py +43 -5
- coreason_manifest/schemas/agent.schema.json +652 -26
- {coreason_manifest-0.7.0.dist-info → coreason_manifest-0.9.0.dist-info}/METADATA +1 -1
- coreason_manifest-0.9.0.dist-info/RECORD +18 -0
- coreason_manifest-0.7.0.dist-info/RECORD +0 -16
- {coreason_manifest-0.7.0.dist-info → coreason_manifest-0.9.0.dist-info}/WHEEL +0 -0
- {coreason_manifest-0.7.0.dist-info → coreason_manifest-0.9.0.dist-info}/licenses/LICENSE +0 -0
- {coreason_manifest-0.7.0.dist-info → coreason_manifest-0.9.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
"$defs": {
|
|
3
3
|
"AgentDependencies": {
|
|
4
4
|
"additionalProperties": false,
|
|
5
|
-
"description": "External dependencies for the Agent.\n\nAttributes:\n tools: List of MCP
|
|
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
6
|
"properties": {
|
|
7
7
|
"tools": {
|
|
8
|
-
"description": "List of MCP
|
|
8
|
+
"description": "List of MCP tool requirements.",
|
|
9
9
|
"items": {
|
|
10
|
-
"
|
|
11
|
-
"minLength": 1,
|
|
12
|
-
"type": "string"
|
|
10
|
+
"$ref": "#/$defs/ToolRequirement"
|
|
13
11
|
},
|
|
14
12
|
"title": "Tools",
|
|
15
13
|
"type": "array"
|
|
@@ -109,28 +107,392 @@
|
|
|
109
107
|
"title": "AgentMetadata",
|
|
110
108
|
"type": "object"
|
|
111
109
|
},
|
|
112
|
-
"
|
|
110
|
+
"AgentNode": {
|
|
113
111
|
"additionalProperties": false,
|
|
114
|
-
"description": "
|
|
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.",
|
|
115
113
|
"properties": {
|
|
116
|
-
"
|
|
117
|
-
"description": "
|
|
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.",
|
|
118
204
|
"items": {
|
|
119
|
-
"$ref": "#/$defs/
|
|
205
|
+
"$ref": "#/$defs/Edge"
|
|
120
206
|
},
|
|
121
|
-
"title": "
|
|
207
|
+
"title": "Edges",
|
|
122
208
|
"type": "array"
|
|
123
209
|
},
|
|
210
|
+
"entry_point": {
|
|
211
|
+
"description": "The ID of the starting node.",
|
|
212
|
+
"title": "Entry Point",
|
|
213
|
+
"type": "string"
|
|
214
|
+
},
|
|
124
215
|
"model_config": {
|
|
125
216
|
"$ref": "#/$defs/ModelConfig",
|
|
126
217
|
"description": "Specific LLM parameters."
|
|
127
218
|
}
|
|
128
219
|
},
|
|
129
220
|
"required": [
|
|
130
|
-
"
|
|
221
|
+
"nodes",
|
|
222
|
+
"edges",
|
|
223
|
+
"entry_point",
|
|
131
224
|
"model_config"
|
|
132
225
|
],
|
|
133
|
-
"title": "
|
|
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",
|
|
134
496
|
"type": "object"
|
|
135
497
|
},
|
|
136
498
|
"ModelConfig": {
|
|
@@ -157,34 +519,274 @@
|
|
|
157
519
|
"title": "ModelConfig",
|
|
158
520
|
"type": "object"
|
|
159
521
|
},
|
|
160
|
-
"
|
|
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": {
|
|
161
586
|
"additionalProperties": false,
|
|
162
|
-
"description": "A
|
|
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).",
|
|
163
588
|
"properties": {
|
|
164
589
|
"id": {
|
|
165
|
-
"description": "Unique identifier for the
|
|
166
|
-
"minLength": 1,
|
|
590
|
+
"description": "Unique identifier for the node.",
|
|
167
591
|
"title": "Id",
|
|
168
592
|
"type": "string"
|
|
169
593
|
},
|
|
170
|
-
"
|
|
594
|
+
"council_config": {
|
|
171
595
|
"anyOf": [
|
|
172
596
|
{
|
|
173
|
-
"
|
|
597
|
+
"$ref": "#/$defs/CouncilConfig"
|
|
174
598
|
},
|
|
175
599
|
{
|
|
176
600
|
"type": "null"
|
|
177
601
|
}
|
|
178
602
|
],
|
|
179
603
|
"default": null,
|
|
180
|
-
"description": "
|
|
181
|
-
|
|
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"
|
|
182
659
|
}
|
|
183
660
|
},
|
|
184
661
|
"required": [
|
|
185
|
-
"id"
|
|
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"
|
|
186
725
|
],
|
|
187
|
-
"title": "
|
|
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",
|
|
188
790
|
"type": "object"
|
|
189
791
|
}
|
|
190
792
|
},
|
|
@@ -198,12 +800,36 @@
|
|
|
198
800
|
"interface": {
|
|
199
801
|
"$ref": "#/$defs/AgentInterface"
|
|
200
802
|
},
|
|
201
|
-
"
|
|
202
|
-
"$ref": "#/$defs/
|
|
803
|
+
"config": {
|
|
804
|
+
"$ref": "#/$defs/AgentRuntimeConfig"
|
|
203
805
|
},
|
|
204
806
|
"dependencies": {
|
|
205
807
|
"$ref": "#/$defs/AgentDependencies"
|
|
206
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
|
+
},
|
|
207
833
|
"integrity_hash": {
|
|
208
834
|
"description": "SHA256 hash of the source code.",
|
|
209
835
|
"pattern": "^[a-fA-F0-9]{64}$",
|
|
@@ -214,7 +840,7 @@
|
|
|
214
840
|
"required": [
|
|
215
841
|
"metadata",
|
|
216
842
|
"interface",
|
|
217
|
-
"
|
|
843
|
+
"config",
|
|
218
844
|
"dependencies",
|
|
219
845
|
"integrity_hash"
|
|
220
846
|
],
|