@revisium/orchestrator 0.2.0-alpha.1 → 0.2.0-alpha.3
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/control-plane/default-playbook/catalog/pipelines.json +167 -51
- package/control-plane/default-playbook/prompts/analyst.md +4 -0
- package/control-plane/default-playbook/prompts/developer.md +4 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js +112 -0
- package/dist/api/graphql-api/inbox/inputs/resolve-gate.input.js.map +1 -1
- package/dist/control-plane/audit-validation-helpers.js +31 -0
- package/dist/control-plane/audit-validation-helpers.js.map +1 -0
- package/dist/control-plane/default-playbook-policy.js +97 -15
- package/dist/control-plane/default-playbook-policy.js.map +1 -1
- package/dist/control-plane/manual-adoption-audit.js +50 -0
- package/dist/control-plane/manual-adoption-audit.js.map +1 -0
- package/dist/control-plane/merge-override-audit.js +44 -0
- package/dist/control-plane/merge-override-audit.js.map +1 -0
- package/dist/e2e/kit/drive.js +1 -1
- package/dist/e2e/kit/drive.js.map +1 -1
- package/dist/e2e/kit/gh-emulator.js +14 -16
- package/dist/e2e/kit/gh-emulator.js.map +1 -1
- package/dist/features/inbox/commands/impl/resolve-gate.command.js.map +1 -1
- package/dist/mcp/mcp-capabilities.js +9 -9
- package/dist/mcp/mcp-capabilities.js.map +1 -1
- package/dist/mcp/mcp-facade.service.js +24 -5
- package/dist/mcp/mcp-facade.service.js.map +1 -1
- package/dist/mcp/mcp-tools.js +49 -2
- package/dist/mcp/mcp-tools.js.map +1 -1
- package/dist/mcp/monitoring-directive.js +43 -0
- package/dist/mcp/monitoring-directive.js.map +1 -0
- package/dist/pipeline/data-driven-task.workflow.js +234 -148
- package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
- package/dist/pipeline/pipeline.service.js +1 -0
- package/dist/pipeline/pipeline.service.js.map +1 -1
- package/dist/pipeline-core/interpret.js +1 -0
- package/dist/pipeline-core/interpret.js.map +1 -1
- package/dist/pipeline-core/kit/fixtures.js +26 -6
- package/dist/pipeline-core/kit/fixtures.js.map +1 -1
- package/dist/pipeline-core/types.js +1 -1
- package/dist/pipeline-core/types.js.map +1 -1
- package/dist/poller/pr-readiness-core.js +25 -3
- package/dist/poller/pr-readiness-core.js.map +1 -1
- package/dist/task-control-plane/run-watch.service.js +6 -4
- package/dist/task-control-plane/run-watch.service.js.map +1 -1
- package/dist/task-control-plane/task-control-plane-api.service.js +27 -3
- package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"platform_invocation": "canonical-only",
|
|
26
26
|
"execution_policy": {
|
|
27
27
|
"raw": [
|
|
28
|
-
"Built-in default (slice 5, plan 0015): the pipeline graph is DATA
|
|
28
|
+
"Built-in default (slice 5, plan 0015): the pipeline graph is DATA \u2014 see template_json.",
|
|
29
29
|
"analyst -> reviewer[plan gate] -> developer -> reviewer[code] (bounded rework, cap 3) -> integrator(script) -> watcher[post-integrator] -> merge gate."
|
|
30
30
|
],
|
|
31
31
|
"template_json": {
|
|
@@ -46,7 +46,10 @@
|
|
|
46
46
|
"recheck",
|
|
47
47
|
"approve_anyway",
|
|
48
48
|
"rework",
|
|
49
|
-
"
|
|
49
|
+
"cancel",
|
|
50
|
+
"address_review_threads",
|
|
51
|
+
"return_to_development",
|
|
52
|
+
"override_merge"
|
|
50
53
|
]
|
|
51
54
|
},
|
|
52
55
|
"nodes": {
|
|
@@ -62,6 +65,36 @@
|
|
|
62
65
|
},
|
|
63
66
|
"incrementCounters": [
|
|
64
67
|
"planReviewLoop"
|
|
68
|
+
],
|
|
69
|
+
"consumes": [
|
|
70
|
+
{
|
|
71
|
+
"node": "analyst",
|
|
72
|
+
"as": "priorPlan",
|
|
73
|
+
"iteration": "latest",
|
|
74
|
+
"optional": true,
|
|
75
|
+
"staleOk": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"node": "planReviewer",
|
|
79
|
+
"as": "planReview",
|
|
80
|
+
"iteration": "latest",
|
|
81
|
+
"optional": true,
|
|
82
|
+
"staleOk": true
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"node": "planGate",
|
|
86
|
+
"as": "planGateResolution",
|
|
87
|
+
"iteration": "latest",
|
|
88
|
+
"optional": true,
|
|
89
|
+
"staleOk": true
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"node": "planStuckGate",
|
|
93
|
+
"as": "planStuckResolution",
|
|
94
|
+
"iteration": "latest",
|
|
95
|
+
"optional": true,
|
|
96
|
+
"staleOk": true
|
|
97
|
+
}
|
|
65
98
|
]
|
|
66
99
|
},
|
|
67
100
|
"planReviewer": {
|
|
@@ -71,6 +104,9 @@
|
|
|
71
104
|
"next": "planReviewRouter",
|
|
72
105
|
"onFailure": "abort",
|
|
73
106
|
"resultSchema": "schema:reviewVerdict",
|
|
107
|
+
"produces": {
|
|
108
|
+
"name": "planReview"
|
|
109
|
+
},
|
|
74
110
|
"consumes": [
|
|
75
111
|
{
|
|
76
112
|
"node": "analyst",
|
|
@@ -122,7 +158,9 @@
|
|
|
122
158
|
"kind": "humanGate",
|
|
123
159
|
"reason": "plan-stuck",
|
|
124
160
|
"outcomes": [
|
|
125
|
-
"approved"
|
|
161
|
+
"approved",
|
|
162
|
+
"rework",
|
|
163
|
+
"cancel"
|
|
126
164
|
],
|
|
127
165
|
"branches": [
|
|
128
166
|
{
|
|
@@ -132,6 +170,20 @@
|
|
|
132
170
|
},
|
|
133
171
|
"goto": "developer"
|
|
134
172
|
},
|
|
173
|
+
{
|
|
174
|
+
"when": {
|
|
175
|
+
"op": "verdict.eq",
|
|
176
|
+
"value": "rework"
|
|
177
|
+
},
|
|
178
|
+
"goto": "analyst"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"when": {
|
|
182
|
+
"op": "verdict.eq",
|
|
183
|
+
"value": "cancel"
|
|
184
|
+
},
|
|
185
|
+
"goto": "cancelledEnd"
|
|
186
|
+
},
|
|
135
187
|
{
|
|
136
188
|
"default": "blockedEnd"
|
|
137
189
|
}
|
|
@@ -139,6 +191,9 @@
|
|
|
139
191
|
"gatedArtifact": {
|
|
140
192
|
"node": "analyst",
|
|
141
193
|
"as": "plan"
|
|
194
|
+
},
|
|
195
|
+
"produces": {
|
|
196
|
+
"name": "planStuckResolution"
|
|
142
197
|
}
|
|
143
198
|
},
|
|
144
199
|
"planGate": {
|
|
@@ -146,7 +201,9 @@
|
|
|
146
201
|
"kind": "humanGate",
|
|
147
202
|
"reason": "plan-review",
|
|
148
203
|
"outcomes": [
|
|
149
|
-
"approved"
|
|
204
|
+
"approved",
|
|
205
|
+
"rework",
|
|
206
|
+
"cancel"
|
|
150
207
|
],
|
|
151
208
|
"branches": [
|
|
152
209
|
{
|
|
@@ -156,6 +213,20 @@
|
|
|
156
213
|
},
|
|
157
214
|
"goto": "developer"
|
|
158
215
|
},
|
|
216
|
+
{
|
|
217
|
+
"when": {
|
|
218
|
+
"op": "verdict.eq",
|
|
219
|
+
"value": "rework"
|
|
220
|
+
},
|
|
221
|
+
"goto": "analyst"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"when": {
|
|
225
|
+
"op": "verdict.eq",
|
|
226
|
+
"value": "cancel"
|
|
227
|
+
},
|
|
228
|
+
"goto": "cancelledEnd"
|
|
229
|
+
},
|
|
159
230
|
{
|
|
160
231
|
"default": "blockedEnd"
|
|
161
232
|
}
|
|
@@ -163,6 +234,9 @@
|
|
|
163
234
|
"gatedArtifact": {
|
|
164
235
|
"node": "analyst",
|
|
165
236
|
"as": "plan"
|
|
237
|
+
},
|
|
238
|
+
"produces": {
|
|
239
|
+
"name": "planGateResolution"
|
|
166
240
|
}
|
|
167
241
|
},
|
|
168
242
|
"developer": {
|
|
@@ -244,14 +318,6 @@
|
|
|
244
318
|
},
|
|
245
319
|
"goto": "reworkDeveloper"
|
|
246
320
|
},
|
|
247
|
-
{
|
|
248
|
-
"when": {
|
|
249
|
-
"op": "counter.gte",
|
|
250
|
-
"scope": "codeStuckRecoveryLoop",
|
|
251
|
-
"value": 1
|
|
252
|
-
},
|
|
253
|
-
"goto": "codeFinalStuckGate"
|
|
254
|
-
},
|
|
255
321
|
{
|
|
256
322
|
"default": "codeStuckGate"
|
|
257
323
|
}
|
|
@@ -264,7 +330,7 @@
|
|
|
264
330
|
"outcomes": [
|
|
265
331
|
"approve_anyway",
|
|
266
332
|
"rework",
|
|
267
|
-
"
|
|
333
|
+
"cancel"
|
|
268
334
|
],
|
|
269
335
|
"branches": [
|
|
270
336
|
{
|
|
@@ -285,7 +351,7 @@
|
|
|
285
351
|
{
|
|
286
352
|
"op": "counter.lt",
|
|
287
353
|
"scope": "codeStuckRecoveryLoop",
|
|
288
|
-
"value":
|
|
354
|
+
"value": 3
|
|
289
355
|
}
|
|
290
356
|
]
|
|
291
357
|
},
|
|
@@ -294,9 +360,9 @@
|
|
|
294
360
|
{
|
|
295
361
|
"when": {
|
|
296
362
|
"op": "verdict.eq",
|
|
297
|
-
"value": "
|
|
363
|
+
"value": "cancel"
|
|
298
364
|
},
|
|
299
|
-
"goto": "
|
|
365
|
+
"goto": "cancelledEnd"
|
|
300
366
|
},
|
|
301
367
|
{
|
|
302
368
|
"default": "blockedEnd"
|
|
@@ -371,7 +437,11 @@
|
|
|
371
437
|
"reason": "merge-review",
|
|
372
438
|
"outcomes": [
|
|
373
439
|
"approved",
|
|
374
|
-
"recheck"
|
|
440
|
+
"recheck",
|
|
441
|
+
"address_review_threads",
|
|
442
|
+
"return_to_development",
|
|
443
|
+
"override_merge",
|
|
444
|
+
"cancel"
|
|
375
445
|
],
|
|
376
446
|
"branches": [
|
|
377
447
|
{
|
|
@@ -388,6 +458,34 @@
|
|
|
388
458
|
},
|
|
389
459
|
"goto": "mergeRecheck"
|
|
390
460
|
},
|
|
461
|
+
{
|
|
462
|
+
"when": {
|
|
463
|
+
"op": "verdict.eq",
|
|
464
|
+
"value": "address_review_threads"
|
|
465
|
+
},
|
|
466
|
+
"goto": "triage"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"when": {
|
|
470
|
+
"op": "verdict.eq",
|
|
471
|
+
"value": "return_to_development"
|
|
472
|
+
},
|
|
473
|
+
"goto": "triage"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"when": {
|
|
477
|
+
"op": "verdict.eq",
|
|
478
|
+
"value": "override_merge"
|
|
479
|
+
},
|
|
480
|
+
"goto": "confirmMerge"
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"when": {
|
|
484
|
+
"op": "verdict.eq",
|
|
485
|
+
"value": "cancel"
|
|
486
|
+
},
|
|
487
|
+
"goto": "cancelledEnd"
|
|
488
|
+
},
|
|
391
489
|
{
|
|
392
490
|
"default": "blockedEnd"
|
|
393
491
|
}
|
|
@@ -901,36 +999,13 @@
|
|
|
901
999
|
}
|
|
902
1000
|
]
|
|
903
1001
|
},
|
|
904
|
-
"
|
|
905
|
-
"id": "
|
|
906
|
-
"kind": "
|
|
907
|
-
"
|
|
908
|
-
"outcomes": [
|
|
909
|
-
"approve_anyway",
|
|
910
|
-
"abort"
|
|
911
|
-
],
|
|
912
|
-
"branches": [
|
|
913
|
-
{
|
|
914
|
-
"when": {
|
|
915
|
-
"op": "verdict.eq",
|
|
916
|
-
"value": "approve_anyway"
|
|
917
|
-
},
|
|
918
|
-
"goto": "integrator"
|
|
919
|
-
},
|
|
920
|
-
{
|
|
921
|
-
"default": "blockedEnd"
|
|
922
|
-
}
|
|
923
|
-
],
|
|
924
|
-
"gatedArtifact": {
|
|
925
|
-
"node": "stuckReworkDeveloper",
|
|
926
|
-
"as": "change"
|
|
927
|
-
},
|
|
928
|
-
"produces": {
|
|
929
|
-
"name": "gateResolution"
|
|
930
|
-
}
|
|
1002
|
+
"cancelledEnd": {
|
|
1003
|
+
"id": "cancelledEnd",
|
|
1004
|
+
"kind": "terminal",
|
|
1005
|
+
"status": "cancelled"
|
|
931
1006
|
}
|
|
932
1007
|
},
|
|
933
|
-
"title": "Feature development
|
|
1008
|
+
"title": "Feature development \u2014 plan + merge gates, bounded code-review rework, and a PR review-feedback loop (plan 0018)",
|
|
934
1009
|
"policy": {
|
|
935
1010
|
"conflicts": [
|
|
936
1011
|
[
|
|
@@ -947,7 +1022,7 @@
|
|
|
947
1022
|
},
|
|
948
1023
|
"codeReviewLoop": {
|
|
949
1024
|
"cap": 3,
|
|
950
|
-
"parent":
|
|
1025
|
+
"parent": "codeStuckRecoveryLoop"
|
|
951
1026
|
},
|
|
952
1027
|
"ciLoop": {
|
|
953
1028
|
"cap": 3,
|
|
@@ -962,7 +1037,7 @@
|
|
|
962
1037
|
"parent": null
|
|
963
1038
|
},
|
|
964
1039
|
"codeStuckRecoveryLoop": {
|
|
965
|
-
"cap":
|
|
1040
|
+
"cap": 3,
|
|
966
1041
|
"parent": null
|
|
967
1042
|
}
|
|
968
1043
|
}
|
|
@@ -1016,7 +1091,11 @@
|
|
|
1016
1091
|
"recheck",
|
|
1017
1092
|
"approve_anyway",
|
|
1018
1093
|
"rework",
|
|
1019
|
-
"abort"
|
|
1094
|
+
"abort",
|
|
1095
|
+
"address_review_threads",
|
|
1096
|
+
"return_to_development",
|
|
1097
|
+
"override_merge",
|
|
1098
|
+
"cancel"
|
|
1020
1099
|
]
|
|
1021
1100
|
},
|
|
1022
1101
|
"nodes": {
|
|
@@ -1299,7 +1378,11 @@
|
|
|
1299
1378
|
"reason": "merge-review",
|
|
1300
1379
|
"outcomes": [
|
|
1301
1380
|
"approved",
|
|
1302
|
-
"recheck"
|
|
1381
|
+
"recheck",
|
|
1382
|
+
"address_review_threads",
|
|
1383
|
+
"return_to_development",
|
|
1384
|
+
"override_merge",
|
|
1385
|
+
"cancel"
|
|
1303
1386
|
],
|
|
1304
1387
|
"branches": [
|
|
1305
1388
|
{
|
|
@@ -1316,6 +1399,34 @@
|
|
|
1316
1399
|
},
|
|
1317
1400
|
"goto": "mergeRecheck"
|
|
1318
1401
|
},
|
|
1402
|
+
{
|
|
1403
|
+
"when": {
|
|
1404
|
+
"op": "verdict.eq",
|
|
1405
|
+
"value": "address_review_threads"
|
|
1406
|
+
},
|
|
1407
|
+
"goto": "triage"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"when": {
|
|
1411
|
+
"op": "verdict.eq",
|
|
1412
|
+
"value": "return_to_development"
|
|
1413
|
+
},
|
|
1414
|
+
"goto": "triage"
|
|
1415
|
+
},
|
|
1416
|
+
{
|
|
1417
|
+
"when": {
|
|
1418
|
+
"op": "verdict.eq",
|
|
1419
|
+
"value": "override_merge"
|
|
1420
|
+
},
|
|
1421
|
+
"goto": "confirmMerge"
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"when": {
|
|
1425
|
+
"op": "verdict.eq",
|
|
1426
|
+
"value": "cancel"
|
|
1427
|
+
},
|
|
1428
|
+
"goto": "cancelledEnd"
|
|
1429
|
+
},
|
|
1319
1430
|
{
|
|
1320
1431
|
"default": "blockedEnd"
|
|
1321
1432
|
}
|
|
@@ -2016,6 +2127,11 @@
|
|
|
2016
2127
|
"produces": {
|
|
2017
2128
|
"name": "gateResolution"
|
|
2018
2129
|
}
|
|
2130
|
+
},
|
|
2131
|
+
"cancelledEnd": {
|
|
2132
|
+
"id": "cancelledEnd",
|
|
2133
|
+
"kind": "terminal",
|
|
2134
|
+
"status": "cancelled"
|
|
2019
2135
|
}
|
|
2020
2136
|
},
|
|
2021
2137
|
"title": "Codex feature development with parallel review consensus",
|
|
@@ -2075,7 +2191,7 @@
|
|
|
2075
2191
|
"platform_invocation": "canonical-only",
|
|
2076
2192
|
"execution_policy": {
|
|
2077
2193
|
"raw": [
|
|
2078
|
-
"Built-in default (slice 5, plan 0015): the pipeline graph is DATA
|
|
2194
|
+
"Built-in default (slice 5, plan 0015): the pipeline graph is DATA \u2014 see template_json.",
|
|
2079
2195
|
"orchestrator routes; the graph runs developer -> done with no gate."
|
|
2080
2196
|
],
|
|
2081
2197
|
"template_json": {
|
|
@@ -2102,7 +2218,7 @@
|
|
|
2102
2218
|
"status": "succeeded"
|
|
2103
2219
|
}
|
|
2104
2220
|
},
|
|
2105
|
-
"title": "Local change
|
|
2221
|
+
"title": "Local change \u2014 developer only, no gate"
|
|
2106
2222
|
}
|
|
2107
2223
|
}
|
|
2108
2224
|
}
|
|
@@ -16,6 +16,10 @@ reviewer can check against. The plan is the artifact a human approves at the pla
|
|
|
16
16
|
migrations, concurrency, public API).
|
|
17
17
|
4. Produce a short, ordered implementation plan with verification steps.
|
|
18
18
|
|
|
19
|
+
On a plan rework pass, the inputs may include a prior plan plus reviewer or human gate comments.
|
|
20
|
+
Revise the existing plan to address that feedback and preserve still-valid structure and decisions;
|
|
21
|
+
do not restart the analysis as a new task.
|
|
22
|
+
|
|
19
23
|
## Output
|
|
20
24
|
|
|
21
25
|
Put the full ordered plan (problem, scope, files to change, steps, risks, verification) in the result
|
|
@@ -17,6 +17,10 @@ reviewer can approve it and the integrator can ship it.
|
|
|
17
17
|
4. On a rework pass (reviewer requested changes), address each reviewer finding directly.
|
|
18
18
|
5. On a CI rework pass, use `mergeFeedback` when it is present; otherwise use `feedback`.
|
|
19
19
|
|
|
20
|
+
On a stuck-gate rework pass, treat the human gate note and latest review findings as an iteration
|
|
21
|
+
on the current change. Continue from the existing branch and worktree, preserve useful work, and do
|
|
22
|
+
not restart the implementation unless the feedback explicitly requires replacing it.
|
|
23
|
+
|
|
20
24
|
## Output
|
|
21
25
|
|
|
22
26
|
Summarize what you changed and how you verified it, then end with a verdict token:
|
|
@@ -8,11 +8,115 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { Field, ID, InputType } from '@nestjs/graphql';
|
|
11
|
+
let ManualAdoptionAuditInput = class ManualAdoptionAuditInput {
|
|
12
|
+
runId;
|
|
13
|
+
step;
|
|
14
|
+
role;
|
|
15
|
+
targetRepo;
|
|
16
|
+
targetBranch;
|
|
17
|
+
actor;
|
|
18
|
+
scope;
|
|
19
|
+
risk;
|
|
20
|
+
verificationResponsibility;
|
|
21
|
+
artifactRef;
|
|
22
|
+
worktreeRef;
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
Field(() => String),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], ManualAdoptionAuditInput.prototype, "runId", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
Field(() => String),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], ManualAdoptionAuditInput.prototype, "step", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
Field(() => String),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], ManualAdoptionAuditInput.prototype, "role", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
Field(() => String),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], ManualAdoptionAuditInput.prototype, "targetRepo", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
Field(() => String),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], ManualAdoptionAuditInput.prototype, "targetBranch", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
Field(() => String),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], ManualAdoptionAuditInput.prototype, "actor", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Field(() => String),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], ManualAdoptionAuditInput.prototype, "scope", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
Field(() => String),
|
|
54
|
+
__metadata("design:type", String)
|
|
55
|
+
], ManualAdoptionAuditInput.prototype, "risk", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
Field(() => String),
|
|
58
|
+
__metadata("design:type", String)
|
|
59
|
+
], ManualAdoptionAuditInput.prototype, "verificationResponsibility", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
Field(() => String, { nullable: true }),
|
|
62
|
+
__metadata("design:type", String)
|
|
63
|
+
], ManualAdoptionAuditInput.prototype, "artifactRef", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
Field(() => String, { nullable: true }),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], ManualAdoptionAuditInput.prototype, "worktreeRef", void 0);
|
|
68
|
+
ManualAdoptionAuditInput = __decorate([
|
|
69
|
+
InputType()
|
|
70
|
+
], ManualAdoptionAuditInput);
|
|
71
|
+
export { ManualAdoptionAuditInput };
|
|
72
|
+
let MergeOverrideAuditInput = class MergeOverrideAuditInput {
|
|
73
|
+
threadIds;
|
|
74
|
+
actor;
|
|
75
|
+
reason;
|
|
76
|
+
risk;
|
|
77
|
+
verificationResponsibility;
|
|
78
|
+
headSha;
|
|
79
|
+
fingerprint;
|
|
80
|
+
};
|
|
81
|
+
__decorate([
|
|
82
|
+
Field(() => [String]),
|
|
83
|
+
__metadata("design:type", Array)
|
|
84
|
+
], MergeOverrideAuditInput.prototype, "threadIds", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
Field(() => String),
|
|
87
|
+
__metadata("design:type", String)
|
|
88
|
+
], MergeOverrideAuditInput.prototype, "actor", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
Field(() => String),
|
|
91
|
+
__metadata("design:type", String)
|
|
92
|
+
], MergeOverrideAuditInput.prototype, "reason", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
Field(() => String),
|
|
95
|
+
__metadata("design:type", String)
|
|
96
|
+
], MergeOverrideAuditInput.prototype, "risk", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
Field(() => String),
|
|
99
|
+
__metadata("design:type", String)
|
|
100
|
+
], MergeOverrideAuditInput.prototype, "verificationResponsibility", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
Field(() => String),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], MergeOverrideAuditInput.prototype, "headSha", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
Field(() => String, { nullable: true }),
|
|
107
|
+
__metadata("design:type", String)
|
|
108
|
+
], MergeOverrideAuditInput.prototype, "fingerprint", void 0);
|
|
109
|
+
MergeOverrideAuditInput = __decorate([
|
|
110
|
+
InputType()
|
|
111
|
+
], MergeOverrideAuditInput);
|
|
112
|
+
export { MergeOverrideAuditInput };
|
|
11
113
|
let ResolveGateInput = class ResolveGateInput {
|
|
12
114
|
inboxId;
|
|
13
115
|
outcome;
|
|
14
116
|
note;
|
|
15
117
|
resolvedBy;
|
|
118
|
+
adoptionAudit;
|
|
119
|
+
mergeOverrideAudit;
|
|
16
120
|
};
|
|
17
121
|
__decorate([
|
|
18
122
|
Field(() => ID),
|
|
@@ -30,6 +134,14 @@ __decorate([
|
|
|
30
134
|
Field(() => String, { nullable: true }),
|
|
31
135
|
__metadata("design:type", String)
|
|
32
136
|
], ResolveGateInput.prototype, "resolvedBy", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
Field(() => ManualAdoptionAuditInput, { nullable: true }),
|
|
139
|
+
__metadata("design:type", ManualAdoptionAuditInput)
|
|
140
|
+
], ResolveGateInput.prototype, "adoptionAudit", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
Field(() => MergeOverrideAuditInput, { nullable: true }),
|
|
143
|
+
__metadata("design:type", MergeOverrideAuditInput)
|
|
144
|
+
], ResolveGateInput.prototype, "mergeOverrideAudit", void 0);
|
|
33
145
|
ResolveGateInput = __decorate([
|
|
34
146
|
InputType()
|
|
35
147
|
], ResolveGateInput);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-gate.input.js","sourceRoot":"","sources":["../../../../../src/api/graphql-api/inbox/inputs/resolve-gate.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-gate.input.js","sourceRoot":"","sources":["../../../../../src/api/graphql-api/inbox/inputs/resolve-gate.input.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKhD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEnC,KAAK,CAAU;IAGf,IAAI,CAAU;IAGd,IAAI,CAAU;IAGd,UAAU,CAAU;IAGpB,YAAY,CAAU;IAGtB,KAAK,CAAU;IAGf,KAAK,CAAU;IAGf,IAAI,CAAU;IAGd,0BAA0B,CAAU;IAGpC,WAAW,CAAU;IAGrB,WAAW,CAAU;CACtB,CAAA;AA/BC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACN;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACN;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACA;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;8DACE;AAGtB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACN;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4EACgB;AAGpC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACnB;AAGrB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACnB;AAhCV,wBAAwB;IADpC,SAAS,EAAE;GACC,wBAAwB,CAiCpC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAElC,SAAS,CAAY;IAGrB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,IAAI,CAAU;IAGd,0BAA0B,CAAU;IAGpC,OAAO,CAAU;IAGjB,WAAW,CAAU;CACtB,CAAA;AAnBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;;0DACD;AAGrB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;sDACL;AAGf;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;uDACJ;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;qDACN;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;2EACgB;AAGpC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;wDACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACnB;AApBV,uBAAuB;IADnC,SAAS,EAAE;GACC,uBAAuB,CAqBnC;;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,OAAO,CAAU;IAGjB,OAAO,CAAU;IAGjB,IAAI,CAAU;IAGd,UAAU,CAAU;IAGpB,aAAa,CAA4B;IAGzC,kBAAkB,CAA2B;CAC9C,CAAA;AAhBC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;;iDACC;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;iDACH;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC1B;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACpB;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1C,wBAAwB;uDAAC;AAGzC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACpC,uBAAuB;4DAAC;AAjBlC,gBAAgB;IAD5B,SAAS,EAAE;GACC,gBAAgB,CAkB5B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ControlPlaneError } from './errors.js';
|
|
2
|
+
export function asRecord(value) {
|
|
3
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
4
|
+
return null;
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
export function nonBlankString(record, key) {
|
|
8
|
+
const value = record[key];
|
|
9
|
+
if (typeof value !== 'string')
|
|
10
|
+
return undefined;
|
|
11
|
+
const trimmed = value.trim();
|
|
12
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
13
|
+
}
|
|
14
|
+
export function requireAuditRecord(input, errorMessage) {
|
|
15
|
+
const record = asRecord(input);
|
|
16
|
+
if (!record)
|
|
17
|
+
throw new ControlPlaneError('VALIDATION_FAILURE', errorMessage);
|
|
18
|
+
return record;
|
|
19
|
+
}
|
|
20
|
+
export function normalizeAuditStringFields(record, fields, fieldPath) {
|
|
21
|
+
const normalized = {};
|
|
22
|
+
for (const field of fields) {
|
|
23
|
+
const value = nonBlankString(record, field);
|
|
24
|
+
if (!value) {
|
|
25
|
+
throw new ControlPlaneError('VALIDATION_FAILURE', `${fieldPath}.${field} is required`);
|
|
26
|
+
}
|
|
27
|
+
normalized[field] = value;
|
|
28
|
+
}
|
|
29
|
+
return normalized;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=audit-validation-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-validation-helpers.js","sourceRoot":"","sources":["../../src/control-plane/audit-validation-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA+B,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,YAAoB;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAA+B,EAC/B,MAAyB,EACzB,SAAiB;IAEjB,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,GAAG,SAAS,IAAI,KAAK,cAAc,CAAC,CAAC;QACzF,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|