@mplp/sdk-ts 1.0.2 → 1.0.4

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 (58) hide show
  1. package/CHANGELOG.md +15 -5
  2. package/README.md +61 -11
  3. package/dist/coordination/index.d.ts +8 -0
  4. package/dist/coordination/index.js +11 -0
  5. package/dist/core/index.d.ts +28 -0
  6. package/dist/core/index.js +21 -0
  7. package/dist/core/validators/index.d.ts +12 -0
  8. package/dist/core/validators/index.js +22 -0
  9. package/dist/runtime/index.d.ts +11 -0
  10. package/dist/runtime/index.js +14 -0
  11. package/dist/runtime-minimal/index.d.ts +52 -0
  12. package/dist/runtime-minimal/index.js +28 -0
  13. package/dist/types/index.d.ts +21 -0
  14. package/dist/types/index.js +2 -0
  15. package/package.json +47 -34
  16. package/schemas/common/common-types.schema.json +55 -0
  17. package/schemas/common/events.schema.json +72 -0
  18. package/schemas/common/identifiers.schema.json +19 -0
  19. package/schemas/common/learning-sample.schema.json +200 -0
  20. package/schemas/common/metadata.schema.json +119 -0
  21. package/schemas/common/trace-base.schema.json +49 -0
  22. package/schemas/events/mplp-event-core.schema.json +64 -0
  23. package/schemas/events/mplp-graph-update-event.schema.json +64 -0
  24. package/schemas/events/mplp-map-event.schema.json +153 -0
  25. package/schemas/events/mplp-pipeline-stage-event.schema.json +62 -0
  26. package/schemas/events/mplp-runtime-execution-event.schema.json +64 -0
  27. package/schemas/events/mplp-sa-event.schema.json +115 -0
  28. package/schemas/integration/mplp-ci-event.schema.json +136 -0
  29. package/schemas/integration/mplp-file-update-event.schema.json +76 -0
  30. package/schemas/integration/mplp-git-event.schema.json +104 -0
  31. package/schemas/integration/mplp-tool-event.schema.json +89 -0
  32. package/schemas/invariants/integration-invariants.yaml +147 -0
  33. package/schemas/invariants/learning-invariants.yaml +106 -0
  34. package/schemas/invariants/map-invariants.yaml +73 -0
  35. package/schemas/invariants/observability-invariants.yaml +106 -0
  36. package/schemas/invariants/sa-invariants.yaml +72 -0
  37. package/schemas/learning/mplp-learning-sample-core.schema.json +100 -0
  38. package/schemas/learning/mplp-learning-sample-delta.schema.json +143 -0
  39. package/schemas/learning/mplp-learning-sample-intent.schema.json +125 -0
  40. package/schemas/mplp-collab.schema.json +249 -0
  41. package/schemas/mplp-confirm.schema.json +232 -0
  42. package/schemas/mplp-context.schema.json +252 -0
  43. package/schemas/mplp-core.schema.json +189 -0
  44. package/schemas/mplp-dialog.schema.json +204 -0
  45. package/schemas/mplp-extension.schema.json +185 -0
  46. package/schemas/mplp-network.schema.json +236 -0
  47. package/schemas/mplp-plan.schema.json +199 -0
  48. package/schemas/mplp-role.schema.json +145 -0
  49. package/schemas/mplp-trace.schema.json +222 -0
  50. package/src/builders/confirm-builder.ts +0 -39
  51. package/src/builders/context-builder.ts +0 -51
  52. package/src/builders/plan-builder.ts +0 -51
  53. package/src/builders/trace-builder.ts +0 -50
  54. package/src/client/runtime-client.ts +0 -98
  55. package/src/index.ts +0 -13
  56. package/tests/builders.test.ts +0 -80
  57. package/tests/client-single-agent.test.ts +0 -48
  58. package/tsconfig.json +0 -23
@@ -0,0 +1,232 @@
1
+ {
2
+ "$comment": "MPLP v1.0.0 FROZEN – © 2025 邦士(北京)网络科技有限公司 – Apache-2.0 – Governance: MPGC",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "$id": "https://schemas.mplp.dev/v1.0/mplp-confirm.schema.json",
5
+ "title": "MPLP Confirm Module – Core Protocol v1.0",
6
+ "description": "Confirm Module Core Protocol: Describes the minimal required semantics (Core Profile) for approval requests and decision records.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "meta": {
11
+ "$ref": "common/metadata.schema.json",
12
+ "description": "[PROTOCOL-CORE] MPLP protocol schema metadata (version, source, cross-cutting tags, etc.)."
13
+ },
14
+ "governance": {
15
+ "type": "object",
16
+ "description": "[PROTOCOL-CORE] Governance metadata for lifecycle management, truth domain authority, and locking status.",
17
+ "properties": {
18
+ "lifecyclePhase": {
19
+ "type": "string",
20
+ "description": "Current phase in the lifecycle fence (e.g., 'design', 'implementation', 'review')."
21
+ },
22
+ "truthDomain": {
23
+ "type": "string",
24
+ "description": "The truth domain this object belongs to (e.g., 'requirements', 'architecture')."
25
+ },
26
+ "locked": {
27
+ "type": "boolean",
28
+ "description": "If true, this object cannot be modified except by specific governance overrides."
29
+ },
30
+ "lastConfirmRef": {
31
+ "$ref": "common/common-types.schema.json#/definitions/Ref",
32
+ "description": "Reference to the last Confirm decision that validated this state."
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "confirm_id": {
38
+ "$ref": "common/identifiers.schema.json",
39
+ "description": "[PROTOCOL-CORE] Global unique identifier for the approval request."
40
+ },
41
+ "target_type": {
42
+ "type": "string",
43
+ "description": "[PROTOCOL-CORE] Approval target type (type of the resource being approved).",
44
+ "enum": [
45
+ "context",
46
+ "plan",
47
+ "trace",
48
+ "extension",
49
+ "other"
50
+ ]
51
+ },
52
+ "target_id": {
53
+ "$ref": "common/identifiers.schema.json",
54
+ "description": "[PROTOCOL-CORE] Global unique identifier of the resource being approved."
55
+ },
56
+ "status": {
57
+ "type": "string",
58
+ "description": "[PROTOCOL-CORE] Current status of the approval request.",
59
+ "enum": [
60
+ "pending",
61
+ "approved",
62
+ "rejected",
63
+ "cancelled"
64
+ ]
65
+ },
66
+ "requested_by_role": {
67
+ "type": "string",
68
+ "description": "[PROTOCOL-CORE] Identifier of the role initiating the approval request (should correspond to role_id in Role module)."
69
+ },
70
+ "requested_at": {
71
+ "type": "string",
72
+ "format": "date-time",
73
+ "description": "[PROTOCOL-CORE] Approval request creation time (ISO 8601)."
74
+ },
75
+ "reason": {
76
+ "type": "string",
77
+ "description": "[PROTOCOL-CORE] Reason for the request, for humans and Agents."
78
+ },
79
+ "decisions": {
80
+ "type": "array",
81
+ "description": "[PROTOCOL-CORE] List of decision records related to this Confirm request.",
82
+ "items": {
83
+ "$ref": "#/$defs/confirm_decision_core"
84
+ }
85
+ },
86
+ "trace": {
87
+ "$ref": "common/trace-base.schema.json",
88
+ "description": "[PROTOCOL-CORE] Trace reference bound to this Confirm request (for cross-module tracing)."
89
+ },
90
+ "events": {
91
+ "type": "array",
92
+ "description": "[PROTOCOL-CORE] List of key events directly related to this Confirm request (creation, decision, cancellation, etc.).",
93
+ "items": {
94
+ "$ref": "common/events.schema.json"
95
+ }
96
+ }
97
+ },
98
+ "required": [
99
+ "meta",
100
+ "confirm_id",
101
+ "target_type",
102
+ "target_id",
103
+ "status",
104
+ "requested_by_role",
105
+ "requested_at"
106
+ ],
107
+ "$defs": {
108
+ "confirm_core_properties": {
109
+ "type": "object",
110
+ "properties": {
111
+ "meta": {
112
+ "$ref": "common/metadata.schema.json",
113
+ "description": "[PROTOCOL-CORE] MPLP protocol schema metadata (version, source, cross-cutting tags, etc.)."
114
+ },
115
+ "confirm_id": {
116
+ "$ref": "common/identifiers.schema.json",
117
+ "description": "[PROTOCOL-CORE] Global unique identifier for the approval request."
118
+ },
119
+ "target_type": {
120
+ "type": "string",
121
+ "description": "[PROTOCOL-CORE] Approval target type (type of the resource being approved).",
122
+ "enum": [
123
+ "context",
124
+ "plan",
125
+ "trace",
126
+ "extension",
127
+ "other"
128
+ ]
129
+ },
130
+ "target_id": {
131
+ "$ref": "common/identifiers.schema.json",
132
+ "description": "[PROTOCOL-CORE] Global unique identifier of the resource being approved."
133
+ },
134
+ "status": {
135
+ "type": "string",
136
+ "description": "[PROTOCOL-CORE] Current status of the approval request.",
137
+ "enum": [
138
+ "pending",
139
+ "approved",
140
+ "rejected",
141
+ "cancelled"
142
+ ]
143
+ },
144
+ "requested_by_role": {
145
+ "type": "string",
146
+ "description": "[PROTOCOL-CORE] Identifier of the role initiating the approval request (should correspond to role_id in Role module)."
147
+ },
148
+ "requested_at": {
149
+ "type": "string",
150
+ "format": "date-time",
151
+ "description": "[PROTOCOL-CORE] Approval request creation time (ISO 8601)."
152
+ },
153
+ "reason": {
154
+ "type": "string",
155
+ "description": "[PROTOCOL-CORE] Reason for the request, for humans and Agents."
156
+ },
157
+ "decisions": {
158
+ "type": "array",
159
+ "description": "[PROTOCOL-CORE] List of decision records related to this Confirm request.",
160
+ "items": {
161
+ "$ref": "#/$defs/confirm_decision_core"
162
+ }
163
+ },
164
+ "trace": {
165
+ "$ref": "common/trace-base.schema.json",
166
+ "description": "[PROTOCOL-CORE] Trace reference bound to this Confirm request (for cross-module tracing)."
167
+ },
168
+ "events": {
169
+ "type": "array",
170
+ "description": "[PROTOCOL-CORE] List of key events directly related to this Confirm request (creation, decision, cancellation, etc.).",
171
+ "items": {
172
+ "$ref": "common/events.schema.json"
173
+ }
174
+ }
175
+ },
176
+ "required": [
177
+ "meta",
178
+ "confirm_id",
179
+ "target_type",
180
+ "target_id",
181
+ "status",
182
+ "requested_by_role",
183
+ "requested_at"
184
+ ]
185
+ },
186
+ "confirm_decision_core": {
187
+ "type": "object",
188
+ "description": "[PROTOCOL-CORE] Minimal required semantics for a single approval decision record.",
189
+ "additionalProperties": false,
190
+ "properties": {
191
+ "decision_id": {
192
+ "$ref": "common/identifiers.schema.json",
193
+ "description": "[PROTOCOL-CORE] Global unique identifier for the decision record."
194
+ },
195
+ "status": {
196
+ "type": "string",
197
+ "description": "[PROTOCOL-CORE] Decision result status.",
198
+ "enum": [
199
+ "approved",
200
+ "rejected",
201
+ "cancelled"
202
+ ]
203
+ },
204
+ "decided_by_role": {
205
+ "type": "string",
206
+ "description": "[PROTOCOL-CORE] Identifier of the role making the decision (should correspond to role_id in Role module)."
207
+ },
208
+ "decided_at": {
209
+ "type": "string",
210
+ "format": "date-time",
211
+ "description": "[PROTOCOL-CORE] Decision time (ISO 8601)."
212
+ },
213
+ "reason": {
214
+ "type": "string",
215
+ "description": "[PROTOCOL-CORE] Summary of the decision reason (optional)."
216
+ }
217
+ },
218
+ "required": [
219
+ "decision_id",
220
+ "status",
221
+ "decided_by_role",
222
+ "decided_at"
223
+ ]
224
+ }
225
+ },
226
+ "x-mplp-meta": {
227
+ "protocolVersion": "1.0.0",
228
+ "frozen": true,
229
+ "freezeDate": "2025-12-03",
230
+ "governance": "MPGC"
231
+ }
232
+ }
@@ -0,0 +1,252 @@
1
+ {
2
+ "$comment": "MPLP v1.0.0 FROZEN – © 2025 邦士(北京)网络科技有限公司 – Apache-2.0 – Governance: MPGC",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "$id": "https://schemas.mplp.dev/v1.0/mplp-context.schema.json",
5
+ "title": "MPLP Context Module – Core Protocol v1.0",
6
+ "description": "Context Module Core Protocol: Describes the context resources and their minimal required semantics (Core Profile) for a multi-agent collaboration project/session.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "meta": {
11
+ "$ref": "common/metadata.schema.json",
12
+ "description": "[PROTOCOL-CORE] MPLP protocol and schema metadata (version, source, cross-cutting tags, etc.)."
13
+ },
14
+ "governance": {
15
+ "type": "object",
16
+ "description": "[PROTOCOL-CORE] Governance metadata for lifecycle management, truth domain authority, and locking status.",
17
+ "properties": {
18
+ "lifecyclePhase": {
19
+ "type": "string",
20
+ "description": "Current phase in the lifecycle fence (e.g., 'design', 'implementation', 'review')."
21
+ },
22
+ "truthDomain": {
23
+ "type": "string",
24
+ "description": "The truth domain this object belongs to (e.g., 'requirements', 'architecture')."
25
+ },
26
+ "locked": {
27
+ "type": "boolean",
28
+ "description": "If true, this object cannot be modified except by specific governance overrides."
29
+ },
30
+ "lastConfirmRef": {
31
+ "$ref": "common/common-types.schema.json#/definitions/Ref",
32
+ "description": "Reference to the last Confirm decision that validated this state."
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "context_id": {
38
+ "$ref": "common/identifiers.schema.json",
39
+ "description": "[PROTOCOL-CORE] Global unique identifier for the Context."
40
+ },
41
+ "root": {
42
+ "type": "object",
43
+ "description": "[PROTOCOL-CORE] Context root node definition (business domain, environment, entry point resources, etc.).",
44
+ "properties": {
45
+ "domain": {
46
+ "type": "string",
47
+ "description": "[PROTOCOL-CORE] Business domain identifier."
48
+ },
49
+ "environment": {
50
+ "type": "string",
51
+ "description": "[PROTOCOL-CORE] Runtime environment identifier (e.g., development, production)."
52
+ },
53
+ "entry_point": {
54
+ "type": "string",
55
+ "description": "[PROTOCOL-CORE] Entry point resource identifier."
56
+ }
57
+ },
58
+ "required": [
59
+ "domain",
60
+ "environment"
61
+ ],
62
+ "additionalProperties": true
63
+ },
64
+ "title": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "description": "[PROTOCOL-CORE] Context title, used for human and Agent identification of the project/session."
68
+ },
69
+ "summary": {
70
+ "type": "string",
71
+ "description": "[PROTOCOL-CORE] Brief summary of the Context (background, scope, etc.)."
72
+ },
73
+ "status": {
74
+ "type": "string",
75
+ "description": "[PROTOCOL-CORE] Current lifecycle status of the Context.",
76
+ "enum": [
77
+ "draft",
78
+ "active",
79
+ "suspended",
80
+ "archived",
81
+ "closed"
82
+ ]
83
+ },
84
+ "tags": {
85
+ "type": "array",
86
+ "description": "[PROTOCOL-CORE] List of tags for classification and retrieval.",
87
+ "items": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ }
91
+ },
92
+ "language": {
93
+ "type": "string",
94
+ "description": "[PROTOCOL-CORE] Primary working language of the Context (e.g., en, zh-CN)."
95
+ },
96
+ "owner_role": {
97
+ "type": "string",
98
+ "description": "[PROTOCOL-CORE] Identifier of the primary owner role (should correspond to role_id in Role module)."
99
+ },
100
+ "constraints": {
101
+ "type": "object",
102
+ "description": "[PROTOCOL-CORE] Key constraints for the Context, such as security boundaries, compliance requirements, budget, or deadlines.",
103
+ "additionalProperties": true
104
+ },
105
+ "created_at": {
106
+ "type": "string",
107
+ "format": "date-time",
108
+ "description": "[PROTOCOL-CORE] Context creation time (ISO 8601)."
109
+ },
110
+ "updated_at": {
111
+ "type": "string",
112
+ "format": "date-time",
113
+ "description": "[PROTOCOL-CORE] Context last update time (ISO 8601)."
114
+ },
115
+ "trace": {
116
+ "$ref": "common/trace-base.schema.json",
117
+ "description": "[PROTOCOL-CORE] Main Trace reference bound to this Context (for global tracing)."
118
+ },
119
+ "events": {
120
+ "type": "array",
121
+ "description": "[PROTOCOL-CORE] List of key events directly related to this Context (creation, status change, archiving, etc.).",
122
+ "items": {
123
+ "$ref": "common/events.schema.json"
124
+ }
125
+ }
126
+ },
127
+ "required": [
128
+ "meta",
129
+ "context_id",
130
+ "root",
131
+ "title",
132
+ "status"
133
+ ],
134
+ "$defs": {
135
+ "context_core_properties": {
136
+ "type": "object",
137
+ "properties": {
138
+ "meta": {
139
+ "$ref": "common/metadata.schema.json",
140
+ "description": "[PROTOCOL-CORE] MPLP protocol and schema metadata (version, source, cross-cutting tags, etc.)."
141
+ },
142
+ "context_id": {
143
+ "$ref": "common/identifiers.schema.json",
144
+ "description": "[PROTOCOL-CORE] Global unique identifier for the Context."
145
+ },
146
+ "root": {
147
+ "type": "object",
148
+ "description": "[PROTOCOL-CORE] Context root node definition (business domain, environment, entry point resources, etc.).",
149
+ "properties": {
150
+ "domain": {
151
+ "type": "string",
152
+ "description": "[PROTOCOL-CORE] Business domain identifier."
153
+ },
154
+ "environment": {
155
+ "type": "string",
156
+ "description": "[PROTOCOL-CORE] Runtime environment identifier (e.g., development, production)."
157
+ },
158
+ "entry_point": {
159
+ "type": "string",
160
+ "description": "[PROTOCOL-CORE] Entry point resource identifier."
161
+ }
162
+ },
163
+ "required": [
164
+ "domain",
165
+ "environment"
166
+ ],
167
+ "additionalProperties": true
168
+ },
169
+ "title": {
170
+ "type": "string",
171
+ "minLength": 1,
172
+ "description": "[PROTOCOL-CORE] Context title, used for human and Agent identification of the project/session."
173
+ },
174
+ "summary": {
175
+ "type": "string",
176
+ "description": "[PROTOCOL-CORE] Brief summary of the Context (background, scope, etc.)."
177
+ },
178
+ "status": {
179
+ "type": "string",
180
+ "description": "[PROTOCOL-CORE] Current lifecycle status of the Context.",
181
+ "enum": [
182
+ "draft",
183
+ "active",
184
+ "suspended",
185
+ "archived",
186
+ "closed"
187
+ ]
188
+ },
189
+ "tags": {
190
+ "type": "array",
191
+ "description": "[PROTOCOL-CORE] List of tags for classification and retrieval.",
192
+ "items": {
193
+ "type": "string",
194
+ "minLength": 1
195
+ }
196
+ },
197
+ "language": {
198
+ "type": "string",
199
+ "description": "[PROTOCOL-CORE] Primary working language of the Context (e.g., en, zh-CN)."
200
+ },
201
+ "owner_role": {
202
+ "type": "string",
203
+ "description": "[PROTOCOL-CORE] Identifier of the primary owner role (should correspond to role_id in Role module)."
204
+ },
205
+ "constraints": {
206
+ "type": "object",
207
+ "description": "[PROTOCOL-CORE] Key constraints for the Context, such as security boundaries, compliance requirements, budget, or deadlines.",
208
+ "additionalProperties": true
209
+ },
210
+ "created_at": {
211
+ "type": "string",
212
+ "format": "date-time",
213
+ "description": "[PROTOCOL-CORE] Context creation time (ISO 8601)."
214
+ },
215
+ "updated_at": {
216
+ "type": "string",
217
+ "format": "date-time",
218
+ "description": "[PROTOCOL-CORE] Context last update time (ISO 8601)."
219
+ },
220
+ "trace": {
221
+ "$ref": "common/trace-base.schema.json",
222
+ "description": "[PROTOCOL-CORE] Main Trace reference bound to this Context (for global tracing)."
223
+ },
224
+ "events": {
225
+ "type": "array",
226
+ "description": "[PROTOCOL-CORE] List of key events directly related to this Context (creation, status change, archiving, etc.).",
227
+ "items": {
228
+ "$ref": "common/events.schema.json"
229
+ }
230
+ }
231
+ },
232
+ "required": [
233
+ "meta",
234
+ "context_id",
235
+ "root",
236
+ "title",
237
+ "status"
238
+ ]
239
+ },
240
+ "uuid": {
241
+ "type": "string",
242
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
243
+ "description": "[DEPRECATED] Please use common/identifiers.schema.json. This definition is retained for backward compatibility only and is no longer recommended for reference."
244
+ }
245
+ },
246
+ "x-mplp-meta": {
247
+ "protocolVersion": "1.0.0",
248
+ "frozen": true,
249
+ "freezeDate": "2025-12-03",
250
+ "governance": "MPGC"
251
+ }
252
+ }
@@ -0,0 +1,189 @@
1
+ {
2
+ "$comment": "MPLP v1.0.0 FROZEN – © 2025 邦士(北京)网络科技有限公司 – Apache-2.0 – Governance: MPGC",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "$id": "https://schemas.mplp.dev/v1.0/mplp-core.schema.json",
5
+ "title": "MPLP Core Module – Core Protocol v1.0",
6
+ "description": "Core Module Core Protocol: Describes the minimal required semantics (Core Profile) for an MPLP protocol instance's version, enabled modules, and overall state.",
7
+ "type": "object",
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "meta": {
11
+ "$ref": "common/metadata.schema.json",
12
+ "description": "[PROTOCOL-CORE] MPLP protocol and schema metadata."
13
+ },
14
+ "governance": {
15
+ "type": "object",
16
+ "description": "[PROTOCOL-CORE] Governance metadata for lifecycle management, truth domain authority, and locking status.",
17
+ "properties": {
18
+ "lifecyclePhase": {
19
+ "type": "string",
20
+ "description": "Current phase in the lifecycle fence (e.g., 'design', 'implementation', 'review')."
21
+ },
22
+ "truthDomain": {
23
+ "type": "string",
24
+ "description": "The truth domain this object belongs to (e.g., 'requirements', 'architecture')."
25
+ },
26
+ "locked": {
27
+ "type": "boolean",
28
+ "description": "If true, this object cannot be modified except by specific governance overrides."
29
+ },
30
+ "lastConfirmRef": {
31
+ "$ref": "common/common-types.schema.json#/definitions/Ref",
32
+ "description": "Reference to the last Confirm decision that validated this state."
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "core_id": {
38
+ "$ref": "common/identifiers.schema.json",
39
+ "description": "[PROTOCOL-CORE] Global unique identifier for the current Core instance."
40
+ },
41
+ "protocol_version": {
42
+ "type": "string",
43
+ "minLength": 1,
44
+ "description": "[PROTOCOL-CORE] Major version number of the current MPLP protocol instance (e.g., 1.0.0)."
45
+ },
46
+ "status": {
47
+ "type": "string",
48
+ "description": "[PROTOCOL-CORE] Lifecycle status of the current Core instance.",
49
+ "enum": [
50
+ "draft",
51
+ "active",
52
+ "deprecated",
53
+ "archived"
54
+ ]
55
+ },
56
+ "modules": {
57
+ "type": "array",
58
+ "description": "[PROTOCOL-CORE] List of L2 modules enabled in the current protocol instance.",
59
+ "minItems": 1,
60
+ "items": {
61
+ "$ref": "#/$defs/core_module_descriptor"
62
+ }
63
+ },
64
+ "trace": {
65
+ "$ref": "common/trace-base.schema.json",
66
+ "description": "[PROTOCOL-CORE] Main Trace reference bound to this Core instance, used for auditing Core layer configuration changes."
67
+ },
68
+ "events": {
69
+ "type": "array",
70
+ "description": "[PROTOCOL-CORE] List of key events related to this Core instance (version upgrades, module enable/disable, etc.).",
71
+ "items": {
72
+ "$ref": "common/events.schema.json"
73
+ }
74
+ }
75
+ },
76
+ "required": [
77
+ "meta",
78
+ "core_id",
79
+ "protocol_version",
80
+ "status",
81
+ "modules"
82
+ ],
83
+ "$defs": {
84
+ "core_core_properties": {
85
+ "type": "object",
86
+ "properties": {
87
+ "meta": {
88
+ "$ref": "common/metadata.schema.json"
89
+ },
90
+ "core_id": {
91
+ "$ref": "common/identifiers.schema.json"
92
+ },
93
+ "protocol_version": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ },
97
+ "status": {
98
+ "type": "string",
99
+ "enum": [
100
+ "draft",
101
+ "active",
102
+ "deprecated",
103
+ "archived"
104
+ ]
105
+ },
106
+ "modules": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "items": {
110
+ "$ref": "#/$defs/core_module_descriptor"
111
+ }
112
+ },
113
+ "trace": {
114
+ "$ref": "common/trace-base.schema.json"
115
+ },
116
+ "events": {
117
+ "type": "array",
118
+ "items": {
119
+ "$ref": "common/events.schema.json"
120
+ }
121
+ }
122
+ },
123
+ "required": [
124
+ "meta",
125
+ "core_id",
126
+ "protocol_version",
127
+ "status",
128
+ "modules"
129
+ ]
130
+ },
131
+ "core_module_descriptor": {
132
+ "type": "object",
133
+ "description": "[PROTOCOL-CORE] L2 module descriptor (used to declare which modules are enabled in the current instance).",
134
+ "additionalProperties": false,
135
+ "properties": {
136
+ "module_id": {
137
+ "type": "string",
138
+ "description": "[PROTOCOL-CORE] Module identifier.",
139
+ "enum": [
140
+ "context",
141
+ "plan",
142
+ "confirm",
143
+ "trace",
144
+ "role",
145
+ "extension",
146
+ "dialog",
147
+ "collab",
148
+ "core",
149
+ "network"
150
+ ]
151
+ },
152
+ "version": {
153
+ "type": "string",
154
+ "minLength": 1,
155
+ "description": "[PROTOCOL-CORE] Protocol version used by this module in the current instance (SemVer recommended)."
156
+ },
157
+ "status": {
158
+ "type": "string",
159
+ "description": "[PROTOCOL-CORE] Status of this module in the current instance.",
160
+ "enum": [
161
+ "enabled",
162
+ "disabled",
163
+ "experimental",
164
+ "deprecated"
165
+ ]
166
+ },
167
+ "required": {
168
+ "type": "boolean",
169
+ "description": "[PROTOCOL-CORE] Whether this module is mandatory for the current instance."
170
+ },
171
+ "description": {
172
+ "type": "string",
173
+ "description": "[PROTOCOL-CORE] Brief description of the module, for humans and Agents."
174
+ }
175
+ },
176
+ "required": [
177
+ "module_id",
178
+ "version",
179
+ "status"
180
+ ]
181
+ }
182
+ },
183
+ "x-mplp-meta": {
184
+ "protocolVersion": "1.0.0",
185
+ "frozen": true,
186
+ "freezeDate": "2025-12-03",
187
+ "governance": "MPGC"
188
+ }
189
+ }