@mplp/schema 1.0.4 → 1.0.5

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 (38) hide show
  1. package/LICENSE +17 -0
  2. package/LICENSE.txt +201 -201
  3. package/README.md +7 -7
  4. package/package.json +5 -4
  5. package/schemas/common/common-types.schema.json +49 -49
  6. package/schemas/common/events.schema.json +66 -66
  7. package/schemas/common/identifiers.schema.json +13 -13
  8. package/schemas/common/learning-sample.schema.json +194 -194
  9. package/schemas/common/metadata.schema.json +113 -113
  10. package/schemas/common/trace-base.schema.json +43 -43
  11. package/schemas/events/mplp-event-core.schema.json +58 -58
  12. package/schemas/events/mplp-graph-update-event.schema.json +58 -58
  13. package/schemas/events/mplp-map-event.schema.json +147 -147
  14. package/schemas/events/mplp-pipeline-stage-event.schema.json +56 -56
  15. package/schemas/events/mplp-runtime-execution-event.schema.json +58 -58
  16. package/schemas/events/mplp-sa-event.schema.json +109 -109
  17. package/schemas/integration/mplp-ci-event.schema.json +130 -130
  18. package/schemas/integration/mplp-file-update-event.schema.json +70 -70
  19. package/schemas/integration/mplp-git-event.schema.json +98 -98
  20. package/schemas/integration/mplp-tool-event.schema.json +83 -83
  21. package/schemas/invariants/integration-invariants.yaml +139 -147
  22. package/schemas/invariants/learning-invariants.yaml +98 -106
  23. package/schemas/invariants/map-invariants.yaml +65 -73
  24. package/schemas/invariants/observability-invariants.yaml +98 -106
  25. package/schemas/invariants/sa-invariants.yaml +64 -72
  26. package/schemas/learning/mplp-learning-sample-core.schema.json +94 -94
  27. package/schemas/learning/mplp-learning-sample-delta.schema.json +137 -137
  28. package/schemas/learning/mplp-learning-sample-intent.schema.json +119 -119
  29. package/schemas/mplp-collab.schema.json +243 -243
  30. package/schemas/mplp-confirm.schema.json +226 -226
  31. package/schemas/mplp-context.schema.json +246 -246
  32. package/schemas/mplp-core.schema.json +183 -183
  33. package/schemas/mplp-dialog.schema.json +198 -198
  34. package/schemas/mplp-extension.schema.json +179 -179
  35. package/schemas/mplp-network.schema.json +230 -230
  36. package/schemas/mplp-plan.schema.json +193 -193
  37. package/schemas/mplp-role.schema.json +139 -139
  38. package/schemas/mplp-trace.schema.json +216 -216
@@ -1,66 +1,66 @@
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/events.schema.json",
4
- "$schema": "http://json-schema.org/draft-07/schema#",
5
- "title": "MPLP Base Event",
6
- "description": "Base model for all event structures in MPLP. Designed based on CloudEvents v1.0 core fields, providing unified event identification, type, source, and timestamp. ExecutionEvent, StateTransitionEvent, etc., are extensions of this.",
7
- "type": "object",
8
- "properties": {
9
- "event_id": {
10
- "$ref": "identifiers.schema.json",
11
- "description": "Unique identifier for the event (UUID v4)."
12
- },
13
- "event_type": {
14
- "type": "string",
15
- "description": "Event type identifier, e.g., execution.started / vsl.transition.applied / plan.created. Uses dot-separated namespace format.",
16
- "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9]*)*$",
17
- "examples": [
18
- "execution.started",
19
- "execution.completed",
20
- "vsl.transition.applied",
21
- "plan.created"
22
- ]
23
- },
24
- "source": {
25
- "type": "string",
26
- "description": "Event source, typically a module or component identifier. Can be a module name (e.g., 'context') or component path (e.g., 'runtime.ael').",
27
- "examples": [
28
- "context",
29
- "plan",
30
- "runtime.ael",
31
- "runtime.vsl"
32
- ]
33
- },
34
- "timestamp": {
35
- "type": "string",
36
- "format": "date-time",
37
- "description": "Event occurrence time (ISO 8601 format).",
38
- "examples": [
39
- "2025-01-28T15:30:00.000Z"
40
- ]
41
- },
42
- "trace_id": {
43
- "description": "Optional trace ID to associate the event with a specific Trace.",
44
- "$ref": "identifiers.schema.json"
45
- },
46
- "data": {
47
- "anyOf": [
48
- {
49
- "type": "object",
50
- "description": "Business data related to the event, constrained by upper-layer structures. Can be any JSON object or null."
51
- },
52
- {
53
- "type": "null",
54
- "description": "Business data related to the event, constrained by upper-layer structures. Can be any JSON object or null."
55
- }
56
- ]
57
- }
58
- },
59
- "required": [
60
- "event_id",
61
- "event_type",
62
- "source",
63
- "timestamp"
64
- ],
65
- "additionalProperties": false
66
- }
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/events.schema.json",
4
+ "$schema": "http://json-schema.org/draft-07/schema#",
5
+ "title": "MPLP Base Event",
6
+ "description": "Base model for all event structures in MPLP. Designed based on CloudEvents v1.0 core fields, providing unified event identification, type, source, and timestamp. ExecutionEvent, StateTransitionEvent, etc., are extensions of this.",
7
+ "type": "object",
8
+ "properties": {
9
+ "event_id": {
10
+ "$ref": "identifiers.schema.json",
11
+ "description": "Unique identifier for the event (UUID v4)."
12
+ },
13
+ "event_type": {
14
+ "type": "string",
15
+ "description": "Event type identifier, e.g., execution.started / vsl.transition.applied / plan.created. Uses dot-separated namespace format.",
16
+ "pattern": "^[a-z][a-z0-9]*(?:\\.[a-z][a-z0-9]*)*$",
17
+ "examples": [
18
+ "execution.started",
19
+ "execution.completed",
20
+ "vsl.transition.applied",
21
+ "plan.created"
22
+ ]
23
+ },
24
+ "source": {
25
+ "type": "string",
26
+ "description": "Event source, typically a module or component identifier. Can be a module name (e.g., 'context') or component path (e.g., 'runtime.ael').",
27
+ "examples": [
28
+ "context",
29
+ "plan",
30
+ "runtime.ael",
31
+ "runtime.vsl"
32
+ ]
33
+ },
34
+ "timestamp": {
35
+ "type": "string",
36
+ "format": "date-time",
37
+ "description": "Event occurrence time (ISO 8601 format).",
38
+ "examples": [
39
+ "2025-01-28T15:30:00.000Z"
40
+ ]
41
+ },
42
+ "trace_id": {
43
+ "description": "Optional trace ID to associate the event with a specific Trace.",
44
+ "$ref": "identifiers.schema.json"
45
+ },
46
+ "data": {
47
+ "anyOf": [
48
+ {
49
+ "type": "object",
50
+ "description": "Business data related to the event, constrained by upper-layer structures. Can be any JSON object or null."
51
+ },
52
+ {
53
+ "type": "null",
54
+ "description": "Business data related to the event, constrained by upper-layer structures. Can be any JSON object or null."
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ "required": [
60
+ "event_id",
61
+ "event_type",
62
+ "source",
63
+ "timestamp"
64
+ ],
65
+ "additionalProperties": false
66
+ }
@@ -1,13 +1,13 @@
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/identifiers.schema.json",
4
- "$schema": "http://json-schema.org/draft-07/schema#",
5
- "title": "MPLP Identifier",
6
- "description": "Unified identifier type used for contextId/planId/traceId/eventId, etc. Uses UUID v4 standard to ensure global uniqueness and collision-free generation in distributed environments.",
7
- "type": "string",
8
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
9
- "examples": [
10
- "123e4567-e89b-12d3-a456-426614174000",
11
- "550e8400-e29b-41d4-a716-446655440000"
12
- ]
13
- }
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/identifiers.schema.json",
4
+ "$schema": "http://json-schema.org/draft-07/schema#",
5
+ "title": "MPLP Identifier",
6
+ "description": "Unified identifier type used for contextId/planId/traceId/eventId, etc. Uses UUID v4 standard to ensure global uniqueness and collision-free generation in distributed environments.",
7
+ "type": "string",
8
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
9
+ "examples": [
10
+ "123e4567-e89b-12d3-a456-426614174000",
11
+ "550e8400-e29b-41d4-a716-446655440000"
12
+ ]
13
+ }
@@ -1,194 +1,194 @@
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://schemas.mplp.dev/v1.0/common/learning-sample.schema.json",
5
- "title": "MPLP Learning Sample – Schema v2.0",
6
- "description": "Structured learning sample for MPLP v1.0 runtimes.",
7
- "type": "object",
8
- "additionalProperties": false,
9
- "properties": {
10
- "sample_id": {
11
- "$ref": "identifiers.schema.json",
12
- "description": "Unique identifier for this learning sample."
13
- },
14
- "project_id": {
15
- "type": "string",
16
- "description": "Project identifier this sample belongs to."
17
- },
18
- "intent_before": {
19
- "type": "object",
20
- "description": "Structured representation of the original intent (can reference Context/Plan).",
21
- "additionalProperties": true
22
- },
23
- "plan": {
24
- "type": "object",
25
- "description": "Structured representation of the plan used (can reference Plan module).",
26
- "additionalProperties": true
27
- },
28
- "delta_intents": {
29
- "type": "array",
30
- "description": "Array of delta intents proposed/applied.",
31
- "items": {
32
- "type": "object",
33
- "additionalProperties": true
34
- }
35
- },
36
- "graph_before": {
37
- "type": "object",
38
- "description": "Optional snapshot or summary of the knowledge graph before the change.",
39
- "additionalProperties": true
40
- },
41
- "graph_after": {
42
- "type": "object",
43
- "description": "Optional snapshot or summary of the knowledge graph after the change.",
44
- "additionalProperties": true
45
- },
46
- "pipeline_path": {
47
- "type": "array",
48
- "description": "Sequence of pipeline stages traversed.",
49
- "items": {
50
- "type": "string"
51
- }
52
- },
53
- "success_flag": {
54
- "type": "boolean",
55
- "description": "Whether the action/intent succeeded."
56
- },
57
- "error_info": {
58
- "type": "object",
59
- "description": "Error details if action failed.",
60
- "additionalProperties": false,
61
- "properties": {
62
- "error_code": {
63
- "type": "string"
64
- },
65
- "error_message": {
66
- "type": "string"
67
- },
68
- "stack_trace": {
69
- "type": "string"
70
- }
71
- }
72
- },
73
- "token_usage": {
74
- "type": "object",
75
- "description": "LLM token consumption metrics.",
76
- "additionalProperties": false,
77
- "properties": {
78
- "total_tokens": {
79
- "type": "number",
80
- "minimum": 0
81
- },
82
- "prompt_tokens": {
83
- "type": "number",
84
- "minimum": 0
85
- },
86
- "completion_tokens": {
87
- "type": "number",
88
- "minimum": 0
89
- },
90
- "by_agent": {
91
- "type": "array",
92
- "description": "Token usage breakdown by agent.",
93
- "items": {
94
- "type": "object",
95
- "additionalProperties": false,
96
- "properties": {
97
- "agent_id": {
98
- "type": "string"
99
- },
100
- "role": {
101
- "type": "string"
102
- },
103
- "tokens": {
104
- "type": "number",
105
- "minimum": 0
106
- }
107
- },
108
- "required": [
109
- "agent_id",
110
- "tokens"
111
- ]
112
- }
113
- }
114
- }
115
- },
116
- "execution_time_ms": {
117
- "type": "number",
118
- "description": "Execution time in milliseconds.",
119
- "minimum": 0
120
- },
121
- "impact_score": {
122
- "type": "number",
123
- "description": "Impact score (0.0-1.0).",
124
- "minimum": 0,
125
- "maximum": 1
126
- },
127
- "user_feedback": {
128
- "type": "object",
129
- "description": "Human feedback on the action/result.",
130
- "additionalProperties": false,
131
- "properties": {
132
- "decision": {
133
- "type": "string",
134
- "enum": [
135
- "approve",
136
- "reject",
137
- "override",
138
- "unknown"
139
- ]
140
- },
141
- "comment": {
142
- "type": "string"
143
- },
144
- "rating": {
145
- "type": "number",
146
- "minimum": 0,
147
- "maximum": 5
148
- }
149
- }
150
- },
151
- "governance_decisions": {
152
- "type": "array",
153
- "description": "Governance rules evaluated during execution.",
154
- "items": {
155
- "type": "object",
156
- "additionalProperties": true
157
- }
158
- },
159
- "timestamps": {
160
- "type": "object",
161
- "description": "Execution timeline.",
162
- "additionalProperties": false,
163
- "properties": {
164
- "started_at": {
165
- "type": "string",
166
- "format": "date-time"
167
- },
168
- "completed_at": {
169
- "type": "string",
170
- "format": "date-time"
171
- }
172
- },
173
- "required": [
174
- "started_at"
175
- ]
176
- },
177
- "metadata": {
178
- "type": "object",
179
- "description": "Additional metadata (extensibility point).",
180
- "additionalProperties": true
181
- },
182
- "vendor_extensions": {
183
- "type": "object",
184
- "description": "Optional vendor-specific extensions. Structure is implementation-defined and MUST NOT conflict with core protocol fields.",
185
- "additionalProperties": true
186
- }
187
- },
188
- "required": [
189
- "sample_id",
190
- "project_id",
191
- "success_flag",
192
- "timestamps"
193
- ]
194
- }
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://schemas.mplp.dev/v1.0/common/learning-sample.schema.json",
5
+ "title": "MPLP Learning Sample – Schema v2.0",
6
+ "description": "Structured learning sample for MPLP v1.0 runtimes.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "sample_id": {
11
+ "$ref": "identifiers.schema.json",
12
+ "description": "Unique identifier for this learning sample."
13
+ },
14
+ "project_id": {
15
+ "type": "string",
16
+ "description": "Project identifier this sample belongs to."
17
+ },
18
+ "intent_before": {
19
+ "type": "object",
20
+ "description": "Structured representation of the original intent (can reference Context/Plan).",
21
+ "additionalProperties": true
22
+ },
23
+ "plan": {
24
+ "type": "object",
25
+ "description": "Structured representation of the plan used (can reference Plan module).",
26
+ "additionalProperties": true
27
+ },
28
+ "delta_intents": {
29
+ "type": "array",
30
+ "description": "Array of delta intents proposed/applied.",
31
+ "items": {
32
+ "type": "object",
33
+ "additionalProperties": true
34
+ }
35
+ },
36
+ "graph_before": {
37
+ "type": "object",
38
+ "description": "Optional snapshot or summary of the knowledge graph before the change.",
39
+ "additionalProperties": true
40
+ },
41
+ "graph_after": {
42
+ "type": "object",
43
+ "description": "Optional snapshot or summary of the knowledge graph after the change.",
44
+ "additionalProperties": true
45
+ },
46
+ "pipeline_path": {
47
+ "type": "array",
48
+ "description": "Sequence of pipeline stages traversed.",
49
+ "items": {
50
+ "type": "string"
51
+ }
52
+ },
53
+ "success_flag": {
54
+ "type": "boolean",
55
+ "description": "Whether the action/intent succeeded."
56
+ },
57
+ "error_info": {
58
+ "type": "object",
59
+ "description": "Error details if action failed.",
60
+ "additionalProperties": false,
61
+ "properties": {
62
+ "error_code": {
63
+ "type": "string"
64
+ },
65
+ "error_message": {
66
+ "type": "string"
67
+ },
68
+ "stack_trace": {
69
+ "type": "string"
70
+ }
71
+ }
72
+ },
73
+ "token_usage": {
74
+ "type": "object",
75
+ "description": "LLM token consumption metrics.",
76
+ "additionalProperties": false,
77
+ "properties": {
78
+ "total_tokens": {
79
+ "type": "number",
80
+ "minimum": 0
81
+ },
82
+ "prompt_tokens": {
83
+ "type": "number",
84
+ "minimum": 0
85
+ },
86
+ "completion_tokens": {
87
+ "type": "number",
88
+ "minimum": 0
89
+ },
90
+ "by_agent": {
91
+ "type": "array",
92
+ "description": "Token usage breakdown by agent.",
93
+ "items": {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "properties": {
97
+ "agent_id": {
98
+ "type": "string"
99
+ },
100
+ "role": {
101
+ "type": "string"
102
+ },
103
+ "tokens": {
104
+ "type": "number",
105
+ "minimum": 0
106
+ }
107
+ },
108
+ "required": [
109
+ "agent_id",
110
+ "tokens"
111
+ ]
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "execution_time_ms": {
117
+ "type": "number",
118
+ "description": "Execution time in milliseconds.",
119
+ "minimum": 0
120
+ },
121
+ "impact_score": {
122
+ "type": "number",
123
+ "description": "Impact score (0.0-1.0).",
124
+ "minimum": 0,
125
+ "maximum": 1
126
+ },
127
+ "user_feedback": {
128
+ "type": "object",
129
+ "description": "Human feedback on the action/result.",
130
+ "additionalProperties": false,
131
+ "properties": {
132
+ "decision": {
133
+ "type": "string",
134
+ "enum": [
135
+ "approve",
136
+ "reject",
137
+ "override",
138
+ "unknown"
139
+ ]
140
+ },
141
+ "comment": {
142
+ "type": "string"
143
+ },
144
+ "rating": {
145
+ "type": "number",
146
+ "minimum": 0,
147
+ "maximum": 5
148
+ }
149
+ }
150
+ },
151
+ "governance_decisions": {
152
+ "type": "array",
153
+ "description": "Governance rules evaluated during execution.",
154
+ "items": {
155
+ "type": "object",
156
+ "additionalProperties": true
157
+ }
158
+ },
159
+ "timestamps": {
160
+ "type": "object",
161
+ "description": "Execution timeline.",
162
+ "additionalProperties": false,
163
+ "properties": {
164
+ "started_at": {
165
+ "type": "string",
166
+ "format": "date-time"
167
+ },
168
+ "completed_at": {
169
+ "type": "string",
170
+ "format": "date-time"
171
+ }
172
+ },
173
+ "required": [
174
+ "started_at"
175
+ ]
176
+ },
177
+ "metadata": {
178
+ "type": "object",
179
+ "description": "Additional metadata (extensibility point).",
180
+ "additionalProperties": true
181
+ },
182
+ "vendor_extensions": {
183
+ "type": "object",
184
+ "description": "Optional vendor-specific extensions. Structure is implementation-defined and MUST NOT conflict with core protocol fields.",
185
+ "additionalProperties": true
186
+ }
187
+ },
188
+ "required": [
189
+ "sample_id",
190
+ "project_id",
191
+ "success_flag",
192
+ "timestamps"
193
+ ]
194
+ }