@mplp/schema 1.0.0
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.
- package/LICENSE.txt +201 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.js +63 -0
- package/package.json +38 -0
- package/schemas/common/common-types.schema.json +49 -0
- package/schemas/common/events.schema.json +66 -0
- package/schemas/common/identifiers.schema.json +13 -0
- package/schemas/common/learning-sample.schema.json +194 -0
- package/schemas/common/metadata.schema.json +113 -0
- package/schemas/common/trace-base.schema.json +43 -0
- package/schemas/events/mplp-event-core.schema.json +58 -0
- package/schemas/events/mplp-graph-update-event.schema.json +58 -0
- package/schemas/events/mplp-map-event.schema.json +147 -0
- package/schemas/events/mplp-pipeline-stage-event.schema.json +56 -0
- package/schemas/events/mplp-runtime-execution-event.schema.json +58 -0
- package/schemas/events/mplp-sa-event.schema.json +109 -0
- package/schemas/integration/mplp-ci-event.schema.json +130 -0
- package/schemas/integration/mplp-file-update-event.schema.json +70 -0
- package/schemas/integration/mplp-git-event.schema.json +98 -0
- package/schemas/integration/mplp-tool-event.schema.json +83 -0
- package/schemas/invariants/integration-invariants.yaml +143 -0
- package/schemas/invariants/learning-invariants.yaml +102 -0
- package/schemas/invariants/map-invariants.yaml +69 -0
- package/schemas/invariants/observability-invariants.yaml +102 -0
- package/schemas/invariants/sa-invariants.yaml +68 -0
- package/schemas/learning/mplp-learning-sample-core.schema.json +94 -0
- package/schemas/learning/mplp-learning-sample-delta.schema.json +137 -0
- package/schemas/learning/mplp-learning-sample-intent.schema.json +119 -0
- package/schemas/mplp-collab.schema.json +243 -0
- package/schemas/mplp-confirm.schema.json +226 -0
- package/schemas/mplp-context.schema.json +246 -0
- package/schemas/mplp-core.schema.json +183 -0
- package/schemas/mplp-dialog.schema.json +198 -0
- package/schemas/mplp-extension.schema.json +179 -0
- package/schemas/mplp-network.schema.json +230 -0
- package/schemas/mplp-plan.schema.json +193 -0
- package/schemas/mplp-role.schema.json +139 -0
- package/schemas/mplp-trace.schema.json +216 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$id": "https://schemas.mplp.dev/v1.0/common/metadata.schema.json",
|
|
4
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
+
"title": "MPLP Metadata",
|
|
6
|
+
"description": "Common metadata structure for all MPLP objects. Provides version control, creation info, tags, and cross-cutting concern declarations. All top-level objects in L2/L3/L4 should include the meta field.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"protocol_version": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
|
|
12
|
+
"description": "MPLP protocol version, using Semantic Versioning.",
|
|
13
|
+
"examples": [
|
|
14
|
+
"1.0.0",
|
|
15
|
+
"1.1.0"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"schema_version": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
|
|
21
|
+
"description": "Schema version used by the current object, using Semantic Versioning.",
|
|
22
|
+
"examples": [
|
|
23
|
+
"2.0.0",
|
|
24
|
+
"2.1.0"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"created_at": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"format": "date-time",
|
|
30
|
+
"description": "Object creation time (ISO 8601 format).",
|
|
31
|
+
"examples": [
|
|
32
|
+
"2025-01-28T15:30:00.000Z"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"created_by": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Creator identifier (User ID / Agent Name / System ID).",
|
|
38
|
+
"examples": [
|
|
39
|
+
"user-123",
|
|
40
|
+
"agent-planner",
|
|
41
|
+
"system"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"updated_at": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"format": "date-time",
|
|
47
|
+
"description": "Object last update time (ISO 8601 format).",
|
|
48
|
+
"examples": [
|
|
49
|
+
"2025-01-28T16:45:00.000Z"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"updated_by": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Last updater identifier.",
|
|
55
|
+
"examples": [
|
|
56
|
+
"user-456",
|
|
57
|
+
"agent-executor"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"tags": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"description": "Set of tags for indexing/search. Supports custom classification and retrieval.",
|
|
66
|
+
"uniqueItems": true,
|
|
67
|
+
"examples": [
|
|
68
|
+
[
|
|
69
|
+
"production",
|
|
70
|
+
"high-priority"
|
|
71
|
+
],
|
|
72
|
+
[
|
|
73
|
+
"development",
|
|
74
|
+
"experimental"
|
|
75
|
+
]
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"cross_cutting": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"description": "Declares cross-cutting concerns enabled for the current object (one of the 9 concerns in Governance Plane).",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"enum": [
|
|
84
|
+
"coordination",
|
|
85
|
+
"error-handling",
|
|
86
|
+
"event-bus",
|
|
87
|
+
"orchestration",
|
|
88
|
+
"performance",
|
|
89
|
+
"protocol-version",
|
|
90
|
+
"security",
|
|
91
|
+
"state-sync",
|
|
92
|
+
"transaction"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"uniqueItems": true,
|
|
96
|
+
"examples": [
|
|
97
|
+
[
|
|
98
|
+
"security",
|
|
99
|
+
"transaction"
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
"performance",
|
|
103
|
+
"event-bus"
|
|
104
|
+
]
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"required": [
|
|
109
|
+
"protocol_version",
|
|
110
|
+
"schema_version"
|
|
111
|
+
],
|
|
112
|
+
"additionalProperties": false
|
|
113
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$id": "https://schemas.mplp.dev/v1.0/common/trace-base.schema.json",
|
|
4
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
+
"title": "MPLP Trace Base",
|
|
6
|
+
"description": "Common base fields for Trace / Span structures. Designed based on W3C Trace Context standard, providing a unified tracing context for the MPLP execution chain. Supports distributed tracing and parent-child relationships of execution steps.",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"trace_id": {
|
|
10
|
+
"$ref": "identifiers.schema.json",
|
|
11
|
+
"description": "Identifier for a complete execution chain. All related Spans share the same trace_id."
|
|
12
|
+
},
|
|
13
|
+
"span_id": {
|
|
14
|
+
"$ref": "identifiers.schema.json",
|
|
15
|
+
"description": "Identifier for the current step or operation. Each Span has a unique span_id."
|
|
16
|
+
},
|
|
17
|
+
"parent_span_id": {
|
|
18
|
+
"$ref": "identifiers.schema.json",
|
|
19
|
+
"description": "Identifier of the parent step's span_id. Can be omitted if it is a root span."
|
|
20
|
+
},
|
|
21
|
+
"context_id": {
|
|
22
|
+
"$ref": "identifiers.schema.json",
|
|
23
|
+
"description": "Identifier of the Context Root. Associates the Trace with a specific project context."
|
|
24
|
+
},
|
|
25
|
+
"attributes": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"description": "Additional attributes (key-value pairs) to extend trace information. Can contain custom metadata, tags, etc.",
|
|
28
|
+
"additionalProperties": true,
|
|
29
|
+
"examples": [
|
|
30
|
+
{
|
|
31
|
+
"module": "plan",
|
|
32
|
+
"operation": "create",
|
|
33
|
+
"user_id": "user-123"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": [
|
|
39
|
+
"trace_id",
|
|
40
|
+
"span_id"
|
|
41
|
+
],
|
|
42
|
+
"additionalProperties": false
|
|
43
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-event-core.schema.json",
|
|
5
|
+
"title": "MPLP Core Event v1.0",
|
|
6
|
+
"description": "Base structure for MPLP observability events - provides common fields inherited by all event families",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"event_id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"format": "uuid",
|
|
12
|
+
"description": "Unique identifier for this event (UUID v4)"
|
|
13
|
+
},
|
|
14
|
+
"event_type": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Specific event subtype (e.g., 'import_started', 'pipeline_stage_completed')"
|
|
17
|
+
},
|
|
18
|
+
"event_family": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"enum": [
|
|
21
|
+
"import_process",
|
|
22
|
+
"intent",
|
|
23
|
+
"delta_intent",
|
|
24
|
+
"impact_analysis",
|
|
25
|
+
"compensation_plan",
|
|
26
|
+
"methodology",
|
|
27
|
+
"reasoning_graph",
|
|
28
|
+
"pipeline_stage",
|
|
29
|
+
"graph_update",
|
|
30
|
+
"runtime_execution",
|
|
31
|
+
"cost_budget",
|
|
32
|
+
"external_integration"
|
|
33
|
+
],
|
|
34
|
+
"description": "Event family classification - determines which minimal fields are required"
|
|
35
|
+
},
|
|
36
|
+
"timestamp": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"format": "date-time",
|
|
39
|
+
"description": "ISO 8601 timestamp when event occurred"
|
|
40
|
+
},
|
|
41
|
+
"project_id": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"format": "uuid",
|
|
44
|
+
"description": "Project context identifier (optional for system-level events)"
|
|
45
|
+
},
|
|
46
|
+
"payload": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"description": "Event-specific payload data (schema varies by event_family)"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [
|
|
52
|
+
"event_id",
|
|
53
|
+
"event_type",
|
|
54
|
+
"event_family",
|
|
55
|
+
"timestamp"
|
|
56
|
+
],
|
|
57
|
+
"additionalProperties": true
|
|
58
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-graph-update-event.schema.json",
|
|
5
|
+
"title": "MPLP GraphUpdateEvent v1.0",
|
|
6
|
+
"description": "**REQUIRED** - PSG structural update events (MANDATORY for v1.0 compliance)",
|
|
7
|
+
"allOf": [
|
|
8
|
+
{
|
|
9
|
+
"$ref": "mplp-event-core.schema.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"event_family": {
|
|
15
|
+
"const": "graph_update",
|
|
16
|
+
"description": "Must be 'graph_update' for this event type"
|
|
17
|
+
},
|
|
18
|
+
"graph_id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "uuid",
|
|
21
|
+
"description": "PSG identifier (typically project-level graph)"
|
|
22
|
+
},
|
|
23
|
+
"update_kind": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"node_add",
|
|
27
|
+
"node_update",
|
|
28
|
+
"node_delete",
|
|
29
|
+
"edge_add",
|
|
30
|
+
"edge_update",
|
|
31
|
+
"edge_delete",
|
|
32
|
+
"bulk"
|
|
33
|
+
],
|
|
34
|
+
"description": "Type of graph mutation"
|
|
35
|
+
},
|
|
36
|
+
"node_delta": {
|
|
37
|
+
"type": "integer",
|
|
38
|
+
"description": "Node count delta (+/- or 0)"
|
|
39
|
+
},
|
|
40
|
+
"edge_delta": {
|
|
41
|
+
"type": "integer",
|
|
42
|
+
"description": "Edge count delta (+/- or 0)"
|
|
43
|
+
},
|
|
44
|
+
"source_module": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "L2 module emitting this update (e.g., 'context', 'plan', 'collab')"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"event_family",
|
|
51
|
+
"graph_id",
|
|
52
|
+
"update_kind",
|
|
53
|
+
"node_delta",
|
|
54
|
+
"edge_delta"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-map-event.schema.json",
|
|
5
|
+
"title": "MPLP MAP Event v1.0",
|
|
6
|
+
"description": "Events emitted by Multi-Agent Profile (MAP) collaboration sessions in MPLP v1.0 protocol",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"event_id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"format": "uuid",
|
|
12
|
+
"description": "Unique identifier for this event"
|
|
13
|
+
},
|
|
14
|
+
"event_type": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"enum": [
|
|
17
|
+
"MAPSessionStarted",
|
|
18
|
+
"MAPRolesAssigned",
|
|
19
|
+
"MAPTurnDispatched",
|
|
20
|
+
"MAPTurnCompleted",
|
|
21
|
+
"MAPBroadcastSent",
|
|
22
|
+
"MAPBroadcastReceived",
|
|
23
|
+
"MAPConflictDetected",
|
|
24
|
+
"MAPConflictResolved",
|
|
25
|
+
"MAPSessionCompleted"
|
|
26
|
+
],
|
|
27
|
+
"description": "Type of MAP session lifecycle event"
|
|
28
|
+
},
|
|
29
|
+
"timestamp": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"format": "date-time",
|
|
32
|
+
"description": "ISO 8601 timestamp when event occurred"
|
|
33
|
+
},
|
|
34
|
+
"session_id": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"format": "uuid",
|
|
37
|
+
"description": "Collaboration session ID (corresponds to Collab.collab_id)"
|
|
38
|
+
},
|
|
39
|
+
"initiator_role": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Role ID of the initiating agent (optional, depends on event type)"
|
|
42
|
+
},
|
|
43
|
+
"target_roles": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"description": "Array of target role IDs for this event (e.g., broadcast targets)"
|
|
49
|
+
},
|
|
50
|
+
"payload": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"description": "Event-specific data payload",
|
|
53
|
+
"additionalProperties": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": [
|
|
57
|
+
"event_id",
|
|
58
|
+
"event_type",
|
|
59
|
+
"timestamp",
|
|
60
|
+
"session_id"
|
|
61
|
+
],
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"$defs": {
|
|
64
|
+
"turn_dispatched_payload": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"properties": {
|
|
67
|
+
"role_id": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"format": "uuid",
|
|
70
|
+
"description": "Role receiving execution token"
|
|
71
|
+
},
|
|
72
|
+
"turn_number": {
|
|
73
|
+
"type": "integer",
|
|
74
|
+
"description": "Sequential turn number"
|
|
75
|
+
},
|
|
76
|
+
"token_id": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"format": "uuid",
|
|
79
|
+
"description": "Execution token identifier"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"required": [
|
|
83
|
+
"role_id",
|
|
84
|
+
"turn_number"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"turn_completed_payload": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"properties": {
|
|
90
|
+
"role_id": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"format": "uuid",
|
|
93
|
+
"description": "Role that completed the turn"
|
|
94
|
+
},
|
|
95
|
+
"turn_number": {
|
|
96
|
+
"type": "integer",
|
|
97
|
+
"description": "Sequential turn number"
|
|
98
|
+
},
|
|
99
|
+
"result": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"description": "Turn execution result"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"required": [
|
|
105
|
+
"role_id",
|
|
106
|
+
"turn_number"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"broadcast_sent_payload": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"broadcaster_role_id": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "Role sending broadcast"
|
|
115
|
+
},
|
|
116
|
+
"target_count": {
|
|
117
|
+
"type": "integer",
|
|
118
|
+
"description": "Number of target agents"
|
|
119
|
+
},
|
|
120
|
+
"message": {
|
|
121
|
+
"type": "object",
|
|
122
|
+
"description": "Broadcast message content"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"required": [
|
|
126
|
+
"broadcaster_role_id",
|
|
127
|
+
"target_count"
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
"broadcast_received_payload": {
|
|
131
|
+
"type": "object",
|
|
132
|
+
"properties": {
|
|
133
|
+
"receiver_role_id": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "Role that received broadcast"
|
|
136
|
+
},
|
|
137
|
+
"response": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"description": "Agent response to broadcast"
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"required": [
|
|
143
|
+
"receiver_role_id"
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-pipeline-stage-event.schema.json",
|
|
5
|
+
"title": "MPLP PipelineStageEvent v1.0",
|
|
6
|
+
"description": "**REQUIRED** - Pipeline stage transition events (MANDATORY for v1.0 compliance)",
|
|
7
|
+
"allOf": [
|
|
8
|
+
{
|
|
9
|
+
"$ref": "mplp-event-core.schema.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"event_family": {
|
|
15
|
+
"const": "pipeline_stage",
|
|
16
|
+
"description": "Must be 'pipeline_stage' for this event type"
|
|
17
|
+
},
|
|
18
|
+
"pipeline_id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "uuid",
|
|
21
|
+
"description": "Pipeline instance identifier"
|
|
22
|
+
},
|
|
23
|
+
"stage_id": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Stage identifier (e.g., 'import', 'analyze', 'execute')"
|
|
26
|
+
},
|
|
27
|
+
"stage_name": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Human-readable stage name"
|
|
30
|
+
},
|
|
31
|
+
"stage_status": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": [
|
|
34
|
+
"pending",
|
|
35
|
+
"running",
|
|
36
|
+
"completed",
|
|
37
|
+
"failed",
|
|
38
|
+
"skipped"
|
|
39
|
+
],
|
|
40
|
+
"description": "Current status of the pipeline stage"
|
|
41
|
+
},
|
|
42
|
+
"stage_order": {
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"minimum": 0,
|
|
45
|
+
"description": "Sequential order of this stage in pipeline"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"required": [
|
|
49
|
+
"event_family",
|
|
50
|
+
"pipeline_id",
|
|
51
|
+
"stage_id",
|
|
52
|
+
"stage_status"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-runtime-execution-event.schema.json",
|
|
5
|
+
"title": "MPLP RuntimeExecutionEvent v1.0",
|
|
6
|
+
"description": "Runtime execution lifecycle events (agents, tools, LLMs, workers)",
|
|
7
|
+
"allOf": [
|
|
8
|
+
{
|
|
9
|
+
"$ref": "mplp-event-core.schema.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"event_family": {
|
|
15
|
+
"const": "runtime_execution",
|
|
16
|
+
"description": "Must be 'runtime_execution' for this event type"
|
|
17
|
+
},
|
|
18
|
+
"execution_id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "uuid",
|
|
21
|
+
"description": "Execution instance identifier"
|
|
22
|
+
},
|
|
23
|
+
"executor_kind": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"agent",
|
|
27
|
+
"tool",
|
|
28
|
+
"llm",
|
|
29
|
+
"worker",
|
|
30
|
+
"external"
|
|
31
|
+
],
|
|
32
|
+
"description": "Type of executor performing this execution"
|
|
33
|
+
},
|
|
34
|
+
"executor_role": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "Role identifier (e.g., 'planner', 'reviewer', 'curl_executor')"
|
|
37
|
+
},
|
|
38
|
+
"status": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": [
|
|
41
|
+
"pending",
|
|
42
|
+
"running",
|
|
43
|
+
"completed",
|
|
44
|
+
"failed",
|
|
45
|
+
"cancelled"
|
|
46
|
+
],
|
|
47
|
+
"description": "Current execution status"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"required": [
|
|
51
|
+
"event_family",
|
|
52
|
+
"execution_id",
|
|
53
|
+
"executor_kind",
|
|
54
|
+
"status"
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2025 邦士(北京)网络科技有限公司\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/events/mplp-sa-event.schema.json",
|
|
5
|
+
"title": "MPLP SA Event v1.0",
|
|
6
|
+
"description": "Events emitted by a Single Agent (SA) execution in MPLP v1.0 protocol",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"event_id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"format": "uuid",
|
|
12
|
+
"description": "Unique identifier for this event"
|
|
13
|
+
},
|
|
14
|
+
"event_type": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"enum": [
|
|
17
|
+
"SAInitialized",
|
|
18
|
+
"SAContextLoaded",
|
|
19
|
+
"SAPlanEvaluated",
|
|
20
|
+
"SAStepStarted",
|
|
21
|
+
"SAStepCompleted",
|
|
22
|
+
"SAStepFailed",
|
|
23
|
+
"SATraceEmitted",
|
|
24
|
+
"SACompleted"
|
|
25
|
+
],
|
|
26
|
+
"description": "Type of SA lifecycle event"
|
|
27
|
+
},
|
|
28
|
+
"timestamp": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"format": "date-time",
|
|
31
|
+
"description": "ISO 8601 timestamp when event occurred"
|
|
32
|
+
},
|
|
33
|
+
"sa_id": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"format": "uuid",
|
|
36
|
+
"description": "Identifier of the SA instance emitting this event"
|
|
37
|
+
},
|
|
38
|
+
"context_id": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"format": "uuid",
|
|
41
|
+
"description": "Context ID bound to this SA execution"
|
|
42
|
+
},
|
|
43
|
+
"plan_id": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"format": "uuid",
|
|
46
|
+
"description": "Plan ID being executed by this SA"
|
|
47
|
+
},
|
|
48
|
+
"trace_id": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"format": "uuid",
|
|
51
|
+
"description": "Trace ID where this event is recorded"
|
|
52
|
+
},
|
|
53
|
+
"payload": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"description": "Event-specific data payload",
|
|
56
|
+
"additionalProperties": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"required": [
|
|
60
|
+
"event_id",
|
|
61
|
+
"event_type",
|
|
62
|
+
"timestamp",
|
|
63
|
+
"sa_id"
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false,
|
|
66
|
+
"$defs": {
|
|
67
|
+
"step_started_payload": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"properties": {
|
|
70
|
+
"step_id": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"format": "uuid"
|
|
73
|
+
},
|
|
74
|
+
"agent_role": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
"description": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"required": [
|
|
82
|
+
"step_id"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"step_completed_payload": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"properties": {
|
|
88
|
+
"step_id": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"format": "uuid"
|
|
91
|
+
},
|
|
92
|
+
"status": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"enum": [
|
|
95
|
+
"completed",
|
|
96
|
+
"failed"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"result": {
|
|
100
|
+
"type": "object"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"required": [
|
|
104
|
+
"step_id",
|
|
105
|
+
"status"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|