@mplp/schema 1.0.1 → 1.0.2
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/README.md +11 -0
- package/dist/index.d.ts +0 -11
- package/dist/index.js +7 -11
- package/package.json +23 -4
- package/schemas/common/common-types.schema.json +49 -49
- package/schemas/common/events.schema.json +66 -66
- package/schemas/common/identifiers.schema.json +13 -13
- package/schemas/common/learning-sample.schema.json +194 -194
- package/schemas/common/metadata.schema.json +113 -113
- package/schemas/common/trace-base.schema.json +43 -43
- package/schemas/events/mplp-event-core.schema.json +58 -58
- package/schemas/events/mplp-graph-update-event.schema.json +58 -58
- package/schemas/events/mplp-map-event.schema.json +147 -147
- package/schemas/events/mplp-pipeline-stage-event.schema.json +56 -56
- package/schemas/events/mplp-runtime-execution-event.schema.json +58 -58
- package/schemas/events/mplp-sa-event.schema.json +109 -109
- package/schemas/integration/mplp-ci-event.schema.json +130 -130
- package/schemas/integration/mplp-file-update-event.schema.json +70 -70
- package/schemas/integration/mplp-git-event.schema.json +98 -98
- package/schemas/integration/mplp-tool-event.schema.json +83 -83
- package/schemas/invariants/integration-invariants.yaml +12 -8
- package/schemas/invariants/learning-invariants.yaml +12 -8
- package/schemas/invariants/map-invariants.yaml +12 -8
- package/schemas/invariants/observability-invariants.yaml +12 -8
- package/schemas/invariants/sa-invariants.yaml +12 -8
- package/schemas/learning/mplp-learning-sample-core.schema.json +94 -94
- package/schemas/learning/mplp-learning-sample-delta.schema.json +137 -137
- package/schemas/learning/mplp-learning-sample-intent.schema.json +119 -119
- package/schemas/mplp-collab.schema.json +243 -243
- package/schemas/mplp-confirm.schema.json +226 -226
- package/schemas/mplp-context.schema.json +246 -246
- package/schemas/mplp-core.schema.json +183 -183
- package/schemas/mplp-dialog.schema.json +198 -198
- package/schemas/mplp-extension.schema.json +179 -179
- package/schemas/mplp-network.schema.json +230 -230
- package/schemas/mplp-plan.schema.json +193 -193
- package/schemas/mplp-role.schema.json +139 -139
- package/schemas/mplp-trace.schema.json +216 -216
|
@@ -1,130 +1,130 @@
|
|
|
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/integration/mplp-ci-event.json",
|
|
5
|
-
"title": "MPLP CI Event v1.0",
|
|
6
|
-
"description": "CI pipeline execution status",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"ci_provider": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"minLength": 1,
|
|
13
|
-
"description": "CI platform identifier",
|
|
14
|
-
"examples": [
|
|
15
|
-
"github-actions",
|
|
16
|
-
"gitlab-ci",
|
|
17
|
-
"jenkins",
|
|
18
|
-
"circleci",
|
|
19
|
-
"travis-ci"
|
|
20
|
-
]
|
|
21
|
-
},
|
|
22
|
-
"pipeline_id": {
|
|
23
|
-
"type": "string",
|
|
24
|
-
"minLength": 1,
|
|
25
|
-
"description": "Pipeline or workflow identifier",
|
|
26
|
-
"examples": [
|
|
27
|
-
"build-and-test",
|
|
28
|
-
"deploy-production"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
"run_id": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"minLength": 1,
|
|
34
|
-
"description": "Unique identifier for this pipeline run",
|
|
35
|
-
"examples": [
|
|
36
|
-
"123456789",
|
|
37
|
-
"run-2025-11-30-001"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
"status": {
|
|
41
|
-
"type": "string",
|
|
42
|
-
"enum": [
|
|
43
|
-
"pending",
|
|
44
|
-
"running",
|
|
45
|
-
"succeeded",
|
|
46
|
-
"failed",
|
|
47
|
-
"cancelled"
|
|
48
|
-
],
|
|
49
|
-
"description": "Current pipeline status"
|
|
50
|
-
},
|
|
51
|
-
"started_at": {
|
|
52
|
-
"type": "string",
|
|
53
|
-
"format": "date-time",
|
|
54
|
-
"description": "Pipeline start timestamp (ISO 8601)"
|
|
55
|
-
},
|
|
56
|
-
"completed_at": {
|
|
57
|
-
"type": "string",
|
|
58
|
-
"format": "date-time",
|
|
59
|
-
"description": "Pipeline completion timestamp (ISO 8601)"
|
|
60
|
-
},
|
|
61
|
-
"branch_name": {
|
|
62
|
-
"type": "string",
|
|
63
|
-
"description": "Git branch that triggered the pipeline"
|
|
64
|
-
},
|
|
65
|
-
"commit_id": {
|
|
66
|
-
"type": "string",
|
|
67
|
-
"description": "Commit SHA that triggered the pipeline"
|
|
68
|
-
},
|
|
69
|
-
"run_url": {
|
|
70
|
-
"type": "string",
|
|
71
|
-
"format": "uri",
|
|
72
|
-
"description": "URL to view pipeline run details"
|
|
73
|
-
},
|
|
74
|
-
"duration_ms": {
|
|
75
|
-
"type": "integer",
|
|
76
|
-
"minimum": 0,
|
|
77
|
-
"description": "Pipeline execution duration in milliseconds"
|
|
78
|
-
},
|
|
79
|
-
"stages": {
|
|
80
|
-
"type": "array",
|
|
81
|
-
"items": {
|
|
82
|
-
"type": "object",
|
|
83
|
-
"additionalProperties": false,
|
|
84
|
-
"properties": {
|
|
85
|
-
"stage_name": {
|
|
86
|
-
"type": "string"
|
|
87
|
-
},
|
|
88
|
-
"status": {
|
|
89
|
-
"type": "string",
|
|
90
|
-
"enum": [
|
|
91
|
-
"pending",
|
|
92
|
-
"running",
|
|
93
|
-
"succeeded",
|
|
94
|
-
"failed",
|
|
95
|
-
"cancelled",
|
|
96
|
-
"skipped"
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
"duration_ms": {
|
|
100
|
-
"type": "integer",
|
|
101
|
-
"minimum": 0
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"required": [
|
|
105
|
-
"stage_name",
|
|
106
|
-
"status"
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
"description": "Pipeline stages and their statuses (optional)"
|
|
110
|
-
},
|
|
111
|
-
"trigger_kind": {
|
|
112
|
-
"type": "string",
|
|
113
|
-
"enum": [
|
|
114
|
-
"push",
|
|
115
|
-
"pull_request",
|
|
116
|
-
"schedule",
|
|
117
|
-
"manual",
|
|
118
|
-
"tag",
|
|
119
|
-
"other"
|
|
120
|
-
],
|
|
121
|
-
"description": "What triggered the pipeline"
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
"required": [
|
|
125
|
-
"ci_provider",
|
|
126
|
-
"pipeline_id",
|
|
127
|
-
"run_id",
|
|
128
|
-
"status"
|
|
129
|
-
]
|
|
130
|
-
}
|
|
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/integration/mplp-ci-event.json",
|
|
5
|
+
"title": "MPLP CI Event v1.0",
|
|
6
|
+
"description": "CI pipeline execution status",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"ci_provider": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "CI platform identifier",
|
|
14
|
+
"examples": [
|
|
15
|
+
"github-actions",
|
|
16
|
+
"gitlab-ci",
|
|
17
|
+
"jenkins",
|
|
18
|
+
"circleci",
|
|
19
|
+
"travis-ci"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"pipeline_id": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"description": "Pipeline or workflow identifier",
|
|
26
|
+
"examples": [
|
|
27
|
+
"build-and-test",
|
|
28
|
+
"deploy-production"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"run_id": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1,
|
|
34
|
+
"description": "Unique identifier for this pipeline run",
|
|
35
|
+
"examples": [
|
|
36
|
+
"123456789",
|
|
37
|
+
"run-2025-11-30-001"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"status": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": [
|
|
43
|
+
"pending",
|
|
44
|
+
"running",
|
|
45
|
+
"succeeded",
|
|
46
|
+
"failed",
|
|
47
|
+
"cancelled"
|
|
48
|
+
],
|
|
49
|
+
"description": "Current pipeline status"
|
|
50
|
+
},
|
|
51
|
+
"started_at": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"format": "date-time",
|
|
54
|
+
"description": "Pipeline start timestamp (ISO 8601)"
|
|
55
|
+
},
|
|
56
|
+
"completed_at": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"format": "date-time",
|
|
59
|
+
"description": "Pipeline completion timestamp (ISO 8601)"
|
|
60
|
+
},
|
|
61
|
+
"branch_name": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Git branch that triggered the pipeline"
|
|
64
|
+
},
|
|
65
|
+
"commit_id": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Commit SHA that triggered the pipeline"
|
|
68
|
+
},
|
|
69
|
+
"run_url": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"format": "uri",
|
|
72
|
+
"description": "URL to view pipeline run details"
|
|
73
|
+
},
|
|
74
|
+
"duration_ms": {
|
|
75
|
+
"type": "integer",
|
|
76
|
+
"minimum": 0,
|
|
77
|
+
"description": "Pipeline execution duration in milliseconds"
|
|
78
|
+
},
|
|
79
|
+
"stages": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"additionalProperties": false,
|
|
84
|
+
"properties": {
|
|
85
|
+
"stage_name": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
},
|
|
88
|
+
"status": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"enum": [
|
|
91
|
+
"pending",
|
|
92
|
+
"running",
|
|
93
|
+
"succeeded",
|
|
94
|
+
"failed",
|
|
95
|
+
"cancelled",
|
|
96
|
+
"skipped"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"duration_ms": {
|
|
100
|
+
"type": "integer",
|
|
101
|
+
"minimum": 0
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"required": [
|
|
105
|
+
"stage_name",
|
|
106
|
+
"status"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
"description": "Pipeline stages and their statuses (optional)"
|
|
110
|
+
},
|
|
111
|
+
"trigger_kind": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"enum": [
|
|
114
|
+
"push",
|
|
115
|
+
"pull_request",
|
|
116
|
+
"schedule",
|
|
117
|
+
"manual",
|
|
118
|
+
"tag",
|
|
119
|
+
"other"
|
|
120
|
+
],
|
|
121
|
+
"description": "What triggered the pipeline"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"ci_provider",
|
|
126
|
+
"pipeline_id",
|
|
127
|
+
"run_id",
|
|
128
|
+
"status"
|
|
129
|
+
]
|
|
130
|
+
}
|
|
@@ -1,70 +1,70 @@
|
|
|
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/integration/mplp-file-update-event.json",
|
|
5
|
-
"title": "MPLP File Update Event v1.0",
|
|
6
|
-
"description": "IDE file changes (save, refactor, batch modify)",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"file_path": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"minLength": 1,
|
|
13
|
-
"description": "Path to the file (absolute or workspace-relative)",
|
|
14
|
-
"examples": [
|
|
15
|
-
"src/components/App.tsx",
|
|
16
|
-
"/Users/dev/project/main.py"
|
|
17
|
-
]
|
|
18
|
-
},
|
|
19
|
-
"change_type": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"enum": [
|
|
22
|
-
"created",
|
|
23
|
-
"modified",
|
|
24
|
-
"deleted",
|
|
25
|
-
"renamed"
|
|
26
|
-
],
|
|
27
|
-
"description": "Type of file change"
|
|
28
|
-
},
|
|
29
|
-
"workspace_root": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"description": "Workspace root directory (for resolving relative paths)"
|
|
32
|
-
},
|
|
33
|
-
"change_summary": {
|
|
34
|
-
"type": "string",
|
|
35
|
-
"description": "Brief description of changes (e.g., 'Added error handling')"
|
|
36
|
-
},
|
|
37
|
-
"timestamp": {
|
|
38
|
-
"type": "string",
|
|
39
|
-
"format": "date-time",
|
|
40
|
-
"description": "When the change occurred (ISO 8601)"
|
|
41
|
-
},
|
|
42
|
-
"lines_added": {
|
|
43
|
-
"type": "integer",
|
|
44
|
-
"minimum": 0,
|
|
45
|
-
"description": "Number of lines added (if applicable)"
|
|
46
|
-
},
|
|
47
|
-
"lines_removed": {
|
|
48
|
-
"type": "integer",
|
|
49
|
-
"minimum": 0,
|
|
50
|
-
"description": "Number of lines removed (if applicable)"
|
|
51
|
-
},
|
|
52
|
-
"previous_path": {
|
|
53
|
-
"type": "string",
|
|
54
|
-
"description": "Previous path (for renamed files)"
|
|
55
|
-
},
|
|
56
|
-
"encoding": {
|
|
57
|
-
"type": "string",
|
|
58
|
-
"description": "File encoding (e.g., 'utf-8')"
|
|
59
|
-
},
|
|
60
|
-
"language": {
|
|
61
|
-
"type": "string",
|
|
62
|
-
"description": "Programming language or file type (e.g., 'typescript', 'python')"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"required": [
|
|
66
|
-
"file_path",
|
|
67
|
-
"change_type",
|
|
68
|
-
"timestamp"
|
|
69
|
-
]
|
|
70
|
-
}
|
|
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/integration/mplp-file-update-event.json",
|
|
5
|
+
"title": "MPLP File Update Event v1.0",
|
|
6
|
+
"description": "IDE file changes (save, refactor, batch modify)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"file_path": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Path to the file (absolute or workspace-relative)",
|
|
14
|
+
"examples": [
|
|
15
|
+
"src/components/App.tsx",
|
|
16
|
+
"/Users/dev/project/main.py"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"change_type": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": [
|
|
22
|
+
"created",
|
|
23
|
+
"modified",
|
|
24
|
+
"deleted",
|
|
25
|
+
"renamed"
|
|
26
|
+
],
|
|
27
|
+
"description": "Type of file change"
|
|
28
|
+
},
|
|
29
|
+
"workspace_root": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Workspace root directory (for resolving relative paths)"
|
|
32
|
+
},
|
|
33
|
+
"change_summary": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Brief description of changes (e.g., 'Added error handling')"
|
|
36
|
+
},
|
|
37
|
+
"timestamp": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"format": "date-time",
|
|
40
|
+
"description": "When the change occurred (ISO 8601)"
|
|
41
|
+
},
|
|
42
|
+
"lines_added": {
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"minimum": 0,
|
|
45
|
+
"description": "Number of lines added (if applicable)"
|
|
46
|
+
},
|
|
47
|
+
"lines_removed": {
|
|
48
|
+
"type": "integer",
|
|
49
|
+
"minimum": 0,
|
|
50
|
+
"description": "Number of lines removed (if applicable)"
|
|
51
|
+
},
|
|
52
|
+
"previous_path": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Previous path (for renamed files)"
|
|
55
|
+
},
|
|
56
|
+
"encoding": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"description": "File encoding (e.g., 'utf-8')"
|
|
59
|
+
},
|
|
60
|
+
"language": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Programming language or file type (e.g., 'typescript', 'python')"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"required": [
|
|
66
|
+
"file_path",
|
|
67
|
+
"change_type",
|
|
68
|
+
"timestamp"
|
|
69
|
+
]
|
|
70
|
+
}
|
|
@@ -1,98 +1,98 @@
|
|
|
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/integration/mplp-git-event.json",
|
|
5
|
-
"title": "MPLP Git Event v1.0",
|
|
6
|
-
"description": "Git operations (commit, push, branch/merge/tag)",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"repo_url": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"minLength": 1,
|
|
13
|
-
"description": "Repository URL or identifier",
|
|
14
|
-
"examples": [
|
|
15
|
-
"https://github.com/org/repo.git",
|
|
16
|
-
"git@github.com:org/repo.git"
|
|
17
|
-
]
|
|
18
|
-
},
|
|
19
|
-
"commit_id": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"minLength": 1,
|
|
22
|
-
"description": "Commit SHA or identifier",
|
|
23
|
-
"examples": [
|
|
24
|
-
"abc123def456",
|
|
25
|
-
"1a2b3c4d5e6f7g8h9i0j"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"ref_name": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"minLength": 1,
|
|
31
|
-
"description": "Branch, tag, or ref name",
|
|
32
|
-
"examples": [
|
|
33
|
-
"refs/heads/main",
|
|
34
|
-
"refs/tags/v1.0.0",
|
|
35
|
-
"main"
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
"event_kind": {
|
|
39
|
-
"type": "string",
|
|
40
|
-
"enum": [
|
|
41
|
-
"commit",
|
|
42
|
-
"push",
|
|
43
|
-
"merge",
|
|
44
|
-
"tag",
|
|
45
|
-
"branch_create",
|
|
46
|
-
"branch_delete"
|
|
47
|
-
],
|
|
48
|
-
"description": "Type of Git operation"
|
|
49
|
-
},
|
|
50
|
-
"author_name": {
|
|
51
|
-
"type": "string",
|
|
52
|
-
"description": "Commit author name"
|
|
53
|
-
},
|
|
54
|
-
"author_email": {
|
|
55
|
-
"type": "string",
|
|
56
|
-
"format": "email",
|
|
57
|
-
"description": "Commit author email"
|
|
58
|
-
},
|
|
59
|
-
"commit_message": {
|
|
60
|
-
"type": "string",
|
|
61
|
-
"description": "Commit message (first line or summary)"
|
|
62
|
-
},
|
|
63
|
-
"timestamp": {
|
|
64
|
-
"type": "string",
|
|
65
|
-
"format": "date-time",
|
|
66
|
-
"description": "When the Git operation occurred (ISO 8601)"
|
|
67
|
-
},
|
|
68
|
-
"files_changed": {
|
|
69
|
-
"type": "integer",
|
|
70
|
-
"minimum": 0,
|
|
71
|
-
"description": "Number of files changed in commit"
|
|
72
|
-
},
|
|
73
|
-
"insertions": {
|
|
74
|
-
"type": "integer",
|
|
75
|
-
"minimum": 0,
|
|
76
|
-
"description": "Total lines inserted"
|
|
77
|
-
},
|
|
78
|
-
"deletions": {
|
|
79
|
-
"type": "integer",
|
|
80
|
-
"minimum": 0,
|
|
81
|
-
"description": "Total lines deleted"
|
|
82
|
-
},
|
|
83
|
-
"parent_commits": {
|
|
84
|
-
"type": "array",
|
|
85
|
-
"items": {
|
|
86
|
-
"type": "string"
|
|
87
|
-
},
|
|
88
|
-
"description": "Parent commit SHA(s) - multiple for merges"
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
"required": [
|
|
92
|
-
"repo_url",
|
|
93
|
-
"commit_id",
|
|
94
|
-
"ref_name",
|
|
95
|
-
"event_kind",
|
|
96
|
-
"timestamp"
|
|
97
|
-
]
|
|
98
|
-
}
|
|
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/integration/mplp-git-event.json",
|
|
5
|
+
"title": "MPLP Git Event v1.0",
|
|
6
|
+
"description": "Git operations (commit, push, branch/merge/tag)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"repo_url": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Repository URL or identifier",
|
|
14
|
+
"examples": [
|
|
15
|
+
"https://github.com/org/repo.git",
|
|
16
|
+
"git@github.com:org/repo.git"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"commit_id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"description": "Commit SHA or identifier",
|
|
23
|
+
"examples": [
|
|
24
|
+
"abc123def456",
|
|
25
|
+
"1a2b3c4d5e6f7g8h9i0j"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"ref_name": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"minLength": 1,
|
|
31
|
+
"description": "Branch, tag, or ref name",
|
|
32
|
+
"examples": [
|
|
33
|
+
"refs/heads/main",
|
|
34
|
+
"refs/tags/v1.0.0",
|
|
35
|
+
"main"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"event_kind": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": [
|
|
41
|
+
"commit",
|
|
42
|
+
"push",
|
|
43
|
+
"merge",
|
|
44
|
+
"tag",
|
|
45
|
+
"branch_create",
|
|
46
|
+
"branch_delete"
|
|
47
|
+
],
|
|
48
|
+
"description": "Type of Git operation"
|
|
49
|
+
},
|
|
50
|
+
"author_name": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Commit author name"
|
|
53
|
+
},
|
|
54
|
+
"author_email": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"format": "email",
|
|
57
|
+
"description": "Commit author email"
|
|
58
|
+
},
|
|
59
|
+
"commit_message": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "Commit message (first line or summary)"
|
|
62
|
+
},
|
|
63
|
+
"timestamp": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"format": "date-time",
|
|
66
|
+
"description": "When the Git operation occurred (ISO 8601)"
|
|
67
|
+
},
|
|
68
|
+
"files_changed": {
|
|
69
|
+
"type": "integer",
|
|
70
|
+
"minimum": 0,
|
|
71
|
+
"description": "Number of files changed in commit"
|
|
72
|
+
},
|
|
73
|
+
"insertions": {
|
|
74
|
+
"type": "integer",
|
|
75
|
+
"minimum": 0,
|
|
76
|
+
"description": "Total lines inserted"
|
|
77
|
+
},
|
|
78
|
+
"deletions": {
|
|
79
|
+
"type": "integer",
|
|
80
|
+
"minimum": 0,
|
|
81
|
+
"description": "Total lines deleted"
|
|
82
|
+
},
|
|
83
|
+
"parent_commits": {
|
|
84
|
+
"type": "array",
|
|
85
|
+
"items": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
},
|
|
88
|
+
"description": "Parent commit SHA(s) - multiple for merges"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"required": [
|
|
92
|
+
"repo_url",
|
|
93
|
+
"commit_id",
|
|
94
|
+
"ref_name",
|
|
95
|
+
"event_kind",
|
|
96
|
+
"timestamp"
|
|
97
|
+
]
|
|
98
|
+
}
|