securewithtrace 0.28.1 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +514 -6
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -22463,10 +22463,23 @@ var AgentSessionEventResponseSchema = external_exports.object({
|
|
|
22463
22463
|
hasOverflowPayload: external_exports.boolean(),
|
|
22464
22464
|
createdAt: external_exports.coerce.date()
|
|
22465
22465
|
});
|
|
22466
|
+
var AgentSessionSpawnContextSchema = external_exports.object({
|
|
22467
|
+
/** The spawn's tool-use id = the child thread's `parentToolUseId`. */
|
|
22468
|
+
toolUseId: external_exports.string(),
|
|
22469
|
+
subagentType: external_exports.string().nullable(),
|
|
22470
|
+
description: external_exports.string().nullable(),
|
|
22471
|
+
prompt: external_exports.string().nullable()
|
|
22472
|
+
});
|
|
22466
22473
|
var ListAgentSessionEventsResponseSchema = external_exports.object({
|
|
22467
22474
|
events: external_exports.array(AgentSessionEventResponseSchema),
|
|
22468
22475
|
/** Session-wide high-water mark (poll cursor even when `events` is capped). */
|
|
22469
|
-
lastEventSeq: external_exports.number().int().nonnegative()
|
|
22476
|
+
lastEventSeq: external_exports.number().int().nonnegative(),
|
|
22477
|
+
/**
|
|
22478
|
+
* Spawn descriptors for subagent threads referenced by children in `events`
|
|
22479
|
+
* whose `Agent` tool-use is outside this window. Optional for deploy-skew
|
|
22480
|
+
* tolerance — an older API omits it and the client defaults to none.
|
|
22481
|
+
*/
|
|
22482
|
+
ancestorSpawns: external_exports.array(AgentSessionSpawnContextSchema).optional()
|
|
22470
22483
|
});
|
|
22471
22484
|
var AgentSessionEventPayloadUrlResponseSchema = external_exports.object({
|
|
22472
22485
|
/** Presigned S3 GET for the overflow payload (short TTL). */
|
|
@@ -28510,14 +28523,33 @@ var PentestFindingListItemSchema = PentestFindingResponseSchema.omit({
|
|
|
28510
28523
|
verification: true
|
|
28511
28524
|
});
|
|
28512
28525
|
var ListPentestFindingsResponseSchema = external_exports.array(PentestFindingListItemSchema);
|
|
28526
|
+
var OperatorFindingEvidenceSchema = external_exports.object({
|
|
28527
|
+
artifactId: external_exports.uuid(),
|
|
28528
|
+
kind: PentestExploitArtifactKind,
|
|
28529
|
+
description: external_exports.string().nullable(),
|
|
28530
|
+
customerFacing: external_exports.boolean(),
|
|
28531
|
+
section: ValidationEvidenceSection.nullable(),
|
|
28532
|
+
displayOrder: external_exports.number().int().nullable()
|
|
28533
|
+
});
|
|
28534
|
+
var OperatorFindingContestSchema = external_exports.object({
|
|
28535
|
+
contestId: external_exports.uuid(),
|
|
28536
|
+
reason: ContestReason,
|
|
28537
|
+
justification: external_exports.string(),
|
|
28538
|
+
contestedAt: external_exports.coerce.date(),
|
|
28539
|
+
resolution: external_exports.string().nullable(),
|
|
28540
|
+
resolvedAt: external_exports.coerce.date().nullable()
|
|
28541
|
+
});
|
|
28513
28542
|
var OperatorFindingReadSchema = PentestFindingResponseSchema.omit({
|
|
28514
28543
|
organizationId: true,
|
|
28515
28544
|
pentestId: true,
|
|
28516
28545
|
createdById: true,
|
|
28517
28546
|
createdByName: true,
|
|
28518
28547
|
reportProseAt: true,
|
|
28519
|
-
reportProseStatus: true
|
|
28520
|
-
|
|
28548
|
+
reportProseStatus: true
|
|
28549
|
+
});
|
|
28550
|
+
var OperatorFindingDetailSchema = OperatorFindingReadSchema.extend({
|
|
28551
|
+
evidence: external_exports.array(OperatorFindingEvidenceSchema),
|
|
28552
|
+
contests: external_exports.array(OperatorFindingContestSchema)
|
|
28521
28553
|
});
|
|
28522
28554
|
var OperatorFindingListSchema = PentestFindingListItemSchema.omit({
|
|
28523
28555
|
organizationId: true,
|
|
@@ -28525,8 +28557,7 @@ var OperatorFindingListSchema = PentestFindingListItemSchema.omit({
|
|
|
28525
28557
|
createdById: true,
|
|
28526
28558
|
createdByName: true,
|
|
28527
28559
|
reportProseAt: true,
|
|
28528
|
-
reportProseStatus: true
|
|
28529
|
-
publishedAt: true
|
|
28560
|
+
reportProseStatus: true
|
|
28530
28561
|
});
|
|
28531
28562
|
var CustomerPentestFindingRepositorySchema = PentestFindingRepositorySchema.omit({
|
|
28532
28563
|
repositoryId: true
|
|
@@ -28592,6 +28623,21 @@ var ConfirmedFindingProseSchema = external_exports.object({
|
|
|
28592
28623
|
var ConfirmFindingProseResponseSchema = external_exports.object({
|
|
28593
28624
|
confirmed: external_exports.array(ConfirmedFindingProseSchema)
|
|
28594
28625
|
});
|
|
28626
|
+
var PublishAllFindingsRequestSchema = external_exports.object({
|
|
28627
|
+
/**
|
|
28628
|
+
* Empty/omitted = the bulk default set: every un-published, non-DISMISSED
|
|
28629
|
+
* finding. Explicit ids publish a specific subset; ids that don't exist are a
|
|
28630
|
+
* 404 and already-published / dismissed ids are a 400 (mirrors prose-confirm).
|
|
28631
|
+
*/
|
|
28632
|
+
pentestFindingIds: external_exports.array(external_exports.uuid()).max(200).optional()
|
|
28633
|
+
});
|
|
28634
|
+
var PublishedFindingSchema = external_exports.object({
|
|
28635
|
+
pentestFindingId: external_exports.uuid(),
|
|
28636
|
+
displayId: external_exports.int()
|
|
28637
|
+
});
|
|
28638
|
+
var PublishAllFindingsResponseSchema = external_exports.object({
|
|
28639
|
+
published: external_exports.array(PublishedFindingSchema)
|
|
28640
|
+
});
|
|
28595
28641
|
var FindingProseSchema = FindingRewriteJsonSchema.pick({
|
|
28596
28642
|
description: true,
|
|
28597
28643
|
rootCauseAnalysis: true,
|
|
@@ -28913,6 +28959,20 @@ var pentestFindingContract = c24.router({
|
|
|
28913
28959
|
500: ErrorResponseSchema
|
|
28914
28960
|
}
|
|
28915
28961
|
},
|
|
28962
|
+
publishAllFindings: {
|
|
28963
|
+
method: "POST",
|
|
28964
|
+
path: "/organizations/:organizationId/pentests/:pentestId/findings/publications",
|
|
28965
|
+
pathParams: PentestFindingParamsSchema,
|
|
28966
|
+
body: PublishAllFindingsRequestSchema,
|
|
28967
|
+
responses: {
|
|
28968
|
+
200: PublishAllFindingsResponseSchema,
|
|
28969
|
+
400: ErrorResponseSchema,
|
|
28970
|
+
401: ErrorResponseSchema,
|
|
28971
|
+
403: ErrorResponseSchema,
|
|
28972
|
+
404: ErrorResponseSchema,
|
|
28973
|
+
500: ErrorResponseSchema
|
|
28974
|
+
}
|
|
28975
|
+
},
|
|
28916
28976
|
updateFinding: {
|
|
28917
28977
|
method: "PATCH",
|
|
28918
28978
|
path: "/organizations/:organizationId/pentests/:pentestId/findings/:pentestFindingId",
|
|
@@ -31857,6 +31917,42 @@ var RecordValidationResultRequestSchema = external_exports.object({
|
|
|
31857
31917
|
* strings here (e.g. `CWE-89`, `89`); the api canonicalizes to `CWE-<n>`.
|
|
31858
31918
|
*/
|
|
31859
31919
|
cweIds: external_exports.array(external_exports.string().min(1).max(64)).max(20).optional(),
|
|
31920
|
+
/**
|
|
31921
|
+
* Agent-assigned vulnerability class for the promoted finding (PROVEN-only);
|
|
31922
|
+
* 1–4 words, e.g. "Broken Access Control", "Injection". Authoritative when
|
|
31923
|
+
* present; the api falls back to the source-derived type, then a neutral
|
|
31924
|
+
* floor, only when absent. A source-less agent finding has no Vulnerability
|
|
31925
|
+
* row to inherit a category from, so this is its only path to a real class.
|
|
31926
|
+
*/
|
|
31927
|
+
category: external_exports.string().min(1).max(120).nullable().optional(),
|
|
31928
|
+
/**
|
|
31929
|
+
* Agent-assigned OWASP Top 10:2025 bucket, verbatim as "<code> <name>"
|
|
31930
|
+
* (PROVEN-only). Validated against the closed set api-side: a non-member
|
|
31931
|
+
* explicit value is rejected (400); absent → null.
|
|
31932
|
+
*/
|
|
31933
|
+
owaspCategory: external_exports.string().min(1).max(120).nullable().optional(),
|
|
31934
|
+
/**
|
|
31935
|
+
* Agent-assigned CVSS v3.1 base vector for the demonstrated impact
|
|
31936
|
+
* (PROVEN-only). The api derives and persists the canonical vector + base
|
|
31937
|
+
* score server-side; an unparseable explicit vector is rejected (400). The
|
|
31938
|
+
* score is NEVER client-supplied. Absent → both cvss columns null.
|
|
31939
|
+
*/
|
|
31940
|
+
cvssVector: external_exports.string().min(1).max(120).nullable().optional(),
|
|
31941
|
+
/**
|
|
31942
|
+
* Repos the proven flaw lives in (PROVEN-only). Each cites the manifest
|
|
31943
|
+
* `repoAlias` (the `/workspace/repos/<alias>` dir name); the api resolves it
|
|
31944
|
+
* to the canonical repositoryId + pinned commitSha via the session's repo
|
|
31945
|
+
* pins (unknown alias → 400). `filePath` is repo-relative; `commitSha` is
|
|
31946
|
+
* never agent-supplied.
|
|
31947
|
+
*/
|
|
31948
|
+
repositories: external_exports.array(
|
|
31949
|
+
external_exports.object({
|
|
31950
|
+
repoAlias: external_exports.string().min(1).max(128),
|
|
31951
|
+
filePath: external_exports.string().min(1).max(1024).nullable().optional(),
|
|
31952
|
+
startLine: external_exports.number().int().positive().nullable().optional(),
|
|
31953
|
+
endLine: external_exports.number().int().positive().nullable().optional()
|
|
31954
|
+
}).strict()
|
|
31955
|
+
).max(50).optional(),
|
|
31860
31956
|
/** Source vulns/manual findings, scoped to this pentest's repos. */
|
|
31861
31957
|
sourceVulnerabilityIds: external_exports.array(external_exports.uuid()).max(50).optional(),
|
|
31862
31958
|
sourceManualFindingIds: external_exports.array(external_exports.uuid()).max(50).optional(),
|
|
@@ -31962,6 +32058,164 @@ var OperatorListFindingsResponseSchema = external_exports.object({
|
|
|
31962
32058
|
var OperatorListHypothesesResponseSchema = external_exports.object({
|
|
31963
32059
|
hypotheses: external_exports.array(OperatorHypothesisListSchema)
|
|
31964
32060
|
});
|
|
32061
|
+
var operatorRunVersion = external_exports.number().int().nonnegative();
|
|
32062
|
+
var operatorReason = external_exports.string().min(1).max(2e3);
|
|
32063
|
+
var OperatorUpdateFindingRequestSchema = UpdatePentestFindingRequestSchema.omit({
|
|
32064
|
+
// publish is a report-workflow action; CVSS goes through apply_finding_cvss
|
|
32065
|
+
// (server-derived score) — not raw scalar edits here.
|
|
32066
|
+
publishedAt: true,
|
|
32067
|
+
cvssVector: true,
|
|
32068
|
+
cvssScore: true
|
|
32069
|
+
}).extend({
|
|
32070
|
+
runVersion: operatorRunVersion,
|
|
32071
|
+
reason: operatorReason,
|
|
32072
|
+
pentestFindingId: external_exports.uuid(),
|
|
32073
|
+
expectedUpdatedAt: external_exports.coerce.date()
|
|
32074
|
+
});
|
|
32075
|
+
var OperatorApplyFindingProseRequestSchema = ApplyFindingProseRequestSchema.extend({
|
|
32076
|
+
runVersion: operatorRunVersion,
|
|
32077
|
+
reason: operatorReason,
|
|
32078
|
+
pentestFindingId: external_exports.uuid()
|
|
32079
|
+
});
|
|
32080
|
+
var OperatorPublishFindingRequestSchema = external_exports.object({
|
|
32081
|
+
runVersion: operatorRunVersion,
|
|
32082
|
+
reason: operatorReason,
|
|
32083
|
+
pentestFindingId: external_exports.uuid(),
|
|
32084
|
+
expectedUpdatedAt: external_exports.coerce.date()
|
|
32085
|
+
});
|
|
32086
|
+
var OperatorApplyFindingCvssRequestSchema = ApplyFindingCvssRequestSchema.omit({
|
|
32087
|
+
rationale: true
|
|
32088
|
+
// the operator `reason` IS the cvss audit rationale
|
|
32089
|
+
}).extend({
|
|
32090
|
+
runVersion: operatorRunVersion,
|
|
32091
|
+
reason: operatorReason,
|
|
32092
|
+
pentestFindingId: external_exports.uuid()
|
|
32093
|
+
});
|
|
32094
|
+
var OperatorCreateFindingRequestSchema = CreatePentestFindingRequestSchema.omit({
|
|
32095
|
+
cvssVector: true,
|
|
32096
|
+
cvssScore: true
|
|
32097
|
+
// set CVSS via apply_finding_cvss after create (derived score)
|
|
32098
|
+
}).extend({
|
|
32099
|
+
runVersion: operatorRunVersion,
|
|
32100
|
+
reason: operatorReason
|
|
32101
|
+
});
|
|
32102
|
+
var OperatorCurateEvidenceRequestSchema = external_exports.object({
|
|
32103
|
+
runVersion: operatorRunVersion,
|
|
32104
|
+
reason: operatorReason,
|
|
32105
|
+
pentestFindingId: external_exports.uuid(),
|
|
32106
|
+
artifactId: external_exports.uuid(),
|
|
32107
|
+
customerFacing: external_exports.boolean().optional(),
|
|
32108
|
+
caption: external_exports.string().min(1).max(500).nullable().optional(),
|
|
32109
|
+
section: ValidationEvidenceSection.nullable().optional(),
|
|
32110
|
+
displayOrder: external_exports.number().int().min(0).optional()
|
|
32111
|
+
});
|
|
32112
|
+
var OperatorAddFindingNoteRequestSchema = CreatePentestFindingNoteRequestSchema.extend({
|
|
32113
|
+
runVersion: operatorRunVersion,
|
|
32114
|
+
reason: operatorReason,
|
|
32115
|
+
pentestFindingId: external_exports.uuid()
|
|
32116
|
+
});
|
|
32117
|
+
var OperatorRecordFindingRetestRequestSchema = CreatePentestFindingRetestRequestSchema.extend({
|
|
32118
|
+
runVersion: operatorRunVersion,
|
|
32119
|
+
reason: operatorReason,
|
|
32120
|
+
pentestFindingId: external_exports.uuid()
|
|
32121
|
+
});
|
|
32122
|
+
var OperatorMarkRemediationReportedRequestSchema = MarkPentestFindingRemediationReportedRequestSchema.extend({
|
|
32123
|
+
runVersion: operatorRunVersion,
|
|
32124
|
+
reason: operatorReason,
|
|
32125
|
+
pentestFindingId: external_exports.uuid()
|
|
32126
|
+
});
|
|
32127
|
+
var OperatorAcceptFindingWithControlsRequestSchema = AcceptPentestFindingWithControlsRequestSchema.extend({
|
|
32128
|
+
runVersion: operatorRunVersion,
|
|
32129
|
+
reason: operatorReason,
|
|
32130
|
+
pentestFindingId: external_exports.uuid()
|
|
32131
|
+
});
|
|
32132
|
+
var OperatorReopenFindingRequestSchema = ReopenPentestFindingRequestSchema.extend({
|
|
32133
|
+
runVersion: operatorRunVersion,
|
|
32134
|
+
reason: operatorReason,
|
|
32135
|
+
pentestFindingId: external_exports.uuid()
|
|
32136
|
+
});
|
|
32137
|
+
var OperatorResolveContestRequestSchema = ResolvePentestFindingContestRequestSchema.extend(
|
|
32138
|
+
{
|
|
32139
|
+
runVersion: operatorRunVersion,
|
|
32140
|
+
reason: operatorReason,
|
|
32141
|
+
pentestFindingId: external_exports.uuid(),
|
|
32142
|
+
contestId: external_exports.uuid()
|
|
32143
|
+
}
|
|
32144
|
+
);
|
|
32145
|
+
var OperatorCreateHypothesisRequestSchema = CreatePentestHypothesisRequestSchema.extend({
|
|
32146
|
+
runVersion: operatorRunVersion,
|
|
32147
|
+
reason: operatorReason
|
|
32148
|
+
});
|
|
32149
|
+
var OperatorUpdateHypothesisRequestSchema = external_exports.object({
|
|
32150
|
+
runVersion: operatorRunVersion,
|
|
32151
|
+
reason: operatorReason,
|
|
32152
|
+
hypothesisId: external_exports.uuid(),
|
|
32153
|
+
expectedUpdatedAt: external_exports.coerce.date(),
|
|
32154
|
+
title: external_exports.string().min(1).max(500).optional(),
|
|
32155
|
+
description: external_exports.string().min(1).max(5e4).optional(),
|
|
32156
|
+
attackChain: external_exports.string().min(1).max(5e4).optional(),
|
|
32157
|
+
exploitTechnique: external_exports.string().min(1).max(5e4).optional(),
|
|
32158
|
+
prerequisiteAccess: external_exports.string().min(1).max(5e4).nullable().optional(),
|
|
32159
|
+
expectedOutcome: external_exports.string().min(1).max(5e4).optional(),
|
|
32160
|
+
confidence: external_exports.number().min(0).max(1).optional(),
|
|
32161
|
+
reviewNotes: external_exports.string().max(1e4).nullable().optional(),
|
|
32162
|
+
sourceVulnerabilityIds: external_exports.array(external_exports.uuid()).max(200).optional(),
|
|
32163
|
+
sourceManualFindingIds: external_exports.array(external_exports.uuid()).max(200).optional()
|
|
32164
|
+
});
|
|
32165
|
+
var OperatorReviewHypothesisRequestSchema = ReviewPentestHypothesisRequestSchema.extend({
|
|
32166
|
+
runVersion: operatorRunVersion,
|
|
32167
|
+
reason: operatorReason,
|
|
32168
|
+
hypothesisId: external_exports.uuid()
|
|
32169
|
+
});
|
|
32170
|
+
var OperatorPromoteHypothesisRequestSchema = external_exports.object({
|
|
32171
|
+
runVersion: operatorRunVersion,
|
|
32172
|
+
reason: operatorReason,
|
|
32173
|
+
hypothesisId: external_exports.uuid(),
|
|
32174
|
+
title: external_exports.string().min(1).max(500).optional(),
|
|
32175
|
+
description: external_exports.string().min(1).max(5e4).optional(),
|
|
32176
|
+
severity: PentestFindingSeverity.optional(),
|
|
32177
|
+
category: external_exports.string().min(1).max(200).optional(),
|
|
32178
|
+
proofOfConcept: external_exports.string().max(5e4).optional(),
|
|
32179
|
+
remediation: external_exports.string().max(5e4).optional(),
|
|
32180
|
+
vulnerabilityIds: external_exports.array(external_exports.uuid()).max(200).optional(),
|
|
32181
|
+
manualFindingIds: external_exports.array(external_exports.uuid()).max(200).optional()
|
|
32182
|
+
});
|
|
32183
|
+
var OperatorUpdatePentestRequestSchema = UpdatePentestRequestSchema.pick({
|
|
32184
|
+
title: true,
|
|
32185
|
+
description: true,
|
|
32186
|
+
customerConcernsContext: true,
|
|
32187
|
+
customerPriorityCategories: true
|
|
32188
|
+
}).extend({
|
|
32189
|
+
runVersion: operatorRunVersion,
|
|
32190
|
+
reason: operatorReason,
|
|
32191
|
+
// Lifecycle status only — NOT CLOSED. Closing an engagement is terminal and routes
|
|
32192
|
+
// through the report-delivery workflow, outside the non-destructive operator tier.
|
|
32193
|
+
status: PentestStatus.exclude(["CLOSED"]).optional(),
|
|
32194
|
+
// The status the operator read (get_pentest_context); a mismatch → 409.
|
|
32195
|
+
expectedStatus: PentestStatus
|
|
32196
|
+
});
|
|
32197
|
+
var OperatorAdvanceValidationReviewRequestSchema = external_exports.object({
|
|
32198
|
+
runVersion: operatorRunVersion,
|
|
32199
|
+
reason: operatorReason
|
|
32200
|
+
});
|
|
32201
|
+
var OperatorNoteAckSchema = external_exports.object({
|
|
32202
|
+
noteId: external_exports.uuid(),
|
|
32203
|
+
createdAt: external_exports.coerce.date()
|
|
32204
|
+
});
|
|
32205
|
+
var OperatorContestAckSchema = external_exports.object({
|
|
32206
|
+
contestId: external_exports.uuid(),
|
|
32207
|
+
resolvedAt: external_exports.coerce.date().nullable()
|
|
32208
|
+
});
|
|
32209
|
+
var OperatorCuratedEvidenceSchema = external_exports.object({
|
|
32210
|
+
artifactId: external_exports.uuid(),
|
|
32211
|
+
customerFacing: external_exports.boolean(),
|
|
32212
|
+
section: ValidationEvidenceSection.nullable(),
|
|
32213
|
+
displayOrder: external_exports.number().int().nullable(),
|
|
32214
|
+
caption: external_exports.string().nullable()
|
|
32215
|
+
});
|
|
32216
|
+
var OperatorStageTransitionResponseSchema = external_exports.object({
|
|
32217
|
+
currentStage: PentestStage
|
|
32218
|
+
});
|
|
31965
32219
|
var agentSessionInternalContract = c40.router({
|
|
31966
32220
|
postEvents: {
|
|
31967
32221
|
method: "POST",
|
|
@@ -32144,7 +32398,7 @@ var agentSessionInternalContract = c40.router({
|
|
|
32144
32398
|
pathParams: AgentSessionInternalParamsSchema,
|
|
32145
32399
|
body: OperatorGetFindingRequestSchema,
|
|
32146
32400
|
responses: {
|
|
32147
|
-
200:
|
|
32401
|
+
200: OperatorFindingDetailSchema,
|
|
32148
32402
|
400: ErrorResponseSchema,
|
|
32149
32403
|
401: ErrorResponseSchema,
|
|
32150
32404
|
// Finding id not in this pentest.
|
|
@@ -32180,6 +32434,260 @@ var agentSessionInternalContract = c40.router({
|
|
|
32180
32434
|
409: ErrorResponseSchema,
|
|
32181
32435
|
500: ErrorResponseSchema
|
|
32182
32436
|
}
|
|
32437
|
+
},
|
|
32438
|
+
// ----- Operator mutate (operator-session PR 2). All run-token authed; org+pentest
|
|
32439
|
+
// + target re-scoped to the session row. 409 carries `errorCode` so the host can
|
|
32440
|
+
// tell `RUN_REVOKED` (fatal) from an entity conflict (`*_STALE`/`STAGE_MISMATCH`/
|
|
32441
|
+
// …, recoverable → re-read). 404 = target id not in this pentest. -----
|
|
32442
|
+
updateFinding: {
|
|
32443
|
+
method: "POST",
|
|
32444
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/update",
|
|
32445
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32446
|
+
body: OperatorUpdateFindingRequestSchema,
|
|
32447
|
+
responses: {
|
|
32448
|
+
200: OperatorFindingReadSchema,
|
|
32449
|
+
400: ErrorResponseSchema,
|
|
32450
|
+
401: ErrorResponseSchema,
|
|
32451
|
+
404: ErrorResponseSchema,
|
|
32452
|
+
409: ErrorResponseSchema,
|
|
32453
|
+
500: ErrorResponseSchema
|
|
32454
|
+
}
|
|
32455
|
+
},
|
|
32456
|
+
applyFindingProse: {
|
|
32457
|
+
method: "POST",
|
|
32458
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/prose",
|
|
32459
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32460
|
+
body: OperatorApplyFindingProseRequestSchema,
|
|
32461
|
+
responses: {
|
|
32462
|
+
200: OperatorFindingReadSchema,
|
|
32463
|
+
400: ErrorResponseSchema,
|
|
32464
|
+
401: ErrorResponseSchema,
|
|
32465
|
+
404: ErrorResponseSchema,
|
|
32466
|
+
409: ErrorResponseSchema,
|
|
32467
|
+
500: ErrorResponseSchema
|
|
32468
|
+
}
|
|
32469
|
+
},
|
|
32470
|
+
publishFinding: {
|
|
32471
|
+
method: "POST",
|
|
32472
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/publish",
|
|
32473
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32474
|
+
body: OperatorPublishFindingRequestSchema,
|
|
32475
|
+
responses: {
|
|
32476
|
+
200: OperatorFindingReadSchema,
|
|
32477
|
+
400: ErrorResponseSchema,
|
|
32478
|
+
401: ErrorResponseSchema,
|
|
32479
|
+
404: ErrorResponseSchema,
|
|
32480
|
+
409: ErrorResponseSchema,
|
|
32481
|
+
500: ErrorResponseSchema
|
|
32482
|
+
}
|
|
32483
|
+
},
|
|
32484
|
+
applyFindingCvss: {
|
|
32485
|
+
method: "POST",
|
|
32486
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/cvss",
|
|
32487
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32488
|
+
body: OperatorApplyFindingCvssRequestSchema,
|
|
32489
|
+
responses: {
|
|
32490
|
+
200: OperatorFindingReadSchema,
|
|
32491
|
+
400: ErrorResponseSchema,
|
|
32492
|
+
401: ErrorResponseSchema,
|
|
32493
|
+
404: ErrorResponseSchema,
|
|
32494
|
+
409: ErrorResponseSchema,
|
|
32495
|
+
500: ErrorResponseSchema
|
|
32496
|
+
}
|
|
32497
|
+
},
|
|
32498
|
+
createFinding: {
|
|
32499
|
+
method: "POST",
|
|
32500
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/create",
|
|
32501
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32502
|
+
body: OperatorCreateFindingRequestSchema,
|
|
32503
|
+
responses: {
|
|
32504
|
+
201: OperatorFindingReadSchema,
|
|
32505
|
+
400: ErrorResponseSchema,
|
|
32506
|
+
401: ErrorResponseSchema,
|
|
32507
|
+
409: ErrorResponseSchema,
|
|
32508
|
+
500: ErrorResponseSchema
|
|
32509
|
+
}
|
|
32510
|
+
},
|
|
32511
|
+
curateEvidence: {
|
|
32512
|
+
method: "POST",
|
|
32513
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/evidence/curate",
|
|
32514
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32515
|
+
body: OperatorCurateEvidenceRequestSchema,
|
|
32516
|
+
responses: {
|
|
32517
|
+
200: OperatorCuratedEvidenceSchema,
|
|
32518
|
+
400: ErrorResponseSchema,
|
|
32519
|
+
401: ErrorResponseSchema,
|
|
32520
|
+
404: ErrorResponseSchema,
|
|
32521
|
+
409: ErrorResponseSchema,
|
|
32522
|
+
500: ErrorResponseSchema
|
|
32523
|
+
}
|
|
32524
|
+
},
|
|
32525
|
+
addFindingNote: {
|
|
32526
|
+
method: "POST",
|
|
32527
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/notes/create",
|
|
32528
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32529
|
+
body: OperatorAddFindingNoteRequestSchema,
|
|
32530
|
+
responses: {
|
|
32531
|
+
201: OperatorNoteAckSchema,
|
|
32532
|
+
400: ErrorResponseSchema,
|
|
32533
|
+
401: ErrorResponseSchema,
|
|
32534
|
+
404: ErrorResponseSchema,
|
|
32535
|
+
409: ErrorResponseSchema,
|
|
32536
|
+
500: ErrorResponseSchema
|
|
32537
|
+
}
|
|
32538
|
+
},
|
|
32539
|
+
recordFindingRetest: {
|
|
32540
|
+
method: "POST",
|
|
32541
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/retest",
|
|
32542
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32543
|
+
body: OperatorRecordFindingRetestRequestSchema,
|
|
32544
|
+
responses: {
|
|
32545
|
+
200: OperatorFindingReadSchema,
|
|
32546
|
+
400: ErrorResponseSchema,
|
|
32547
|
+
401: ErrorResponseSchema,
|
|
32548
|
+
404: ErrorResponseSchema,
|
|
32549
|
+
409: ErrorResponseSchema,
|
|
32550
|
+
500: ErrorResponseSchema
|
|
32551
|
+
}
|
|
32552
|
+
},
|
|
32553
|
+
markRemediationReported: {
|
|
32554
|
+
method: "POST",
|
|
32555
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/remediation",
|
|
32556
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32557
|
+
body: OperatorMarkRemediationReportedRequestSchema,
|
|
32558
|
+
responses: {
|
|
32559
|
+
200: OperatorFindingReadSchema,
|
|
32560
|
+
400: ErrorResponseSchema,
|
|
32561
|
+
401: ErrorResponseSchema,
|
|
32562
|
+
404: ErrorResponseSchema,
|
|
32563
|
+
409: ErrorResponseSchema,
|
|
32564
|
+
500: ErrorResponseSchema
|
|
32565
|
+
}
|
|
32566
|
+
},
|
|
32567
|
+
acceptFindingWithControls: {
|
|
32568
|
+
method: "POST",
|
|
32569
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/accept",
|
|
32570
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32571
|
+
body: OperatorAcceptFindingWithControlsRequestSchema,
|
|
32572
|
+
responses: {
|
|
32573
|
+
200: OperatorFindingReadSchema,
|
|
32574
|
+
400: ErrorResponseSchema,
|
|
32575
|
+
401: ErrorResponseSchema,
|
|
32576
|
+
404: ErrorResponseSchema,
|
|
32577
|
+
409: ErrorResponseSchema,
|
|
32578
|
+
500: ErrorResponseSchema
|
|
32579
|
+
}
|
|
32580
|
+
},
|
|
32581
|
+
reopenFinding: {
|
|
32582
|
+
method: "POST",
|
|
32583
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/reopen",
|
|
32584
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32585
|
+
body: OperatorReopenFindingRequestSchema,
|
|
32586
|
+
responses: {
|
|
32587
|
+
200: OperatorFindingReadSchema,
|
|
32588
|
+
400: ErrorResponseSchema,
|
|
32589
|
+
401: ErrorResponseSchema,
|
|
32590
|
+
404: ErrorResponseSchema,
|
|
32591
|
+
409: ErrorResponseSchema,
|
|
32592
|
+
500: ErrorResponseSchema
|
|
32593
|
+
}
|
|
32594
|
+
},
|
|
32595
|
+
resolveContest: {
|
|
32596
|
+
method: "POST",
|
|
32597
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/findings/contest/resolve",
|
|
32598
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32599
|
+
body: OperatorResolveContestRequestSchema,
|
|
32600
|
+
responses: {
|
|
32601
|
+
200: OperatorContestAckSchema,
|
|
32602
|
+
400: ErrorResponseSchema,
|
|
32603
|
+
401: ErrorResponseSchema,
|
|
32604
|
+
404: ErrorResponseSchema,
|
|
32605
|
+
409: ErrorResponseSchema,
|
|
32606
|
+
500: ErrorResponseSchema
|
|
32607
|
+
}
|
|
32608
|
+
},
|
|
32609
|
+
createHypothesis: {
|
|
32610
|
+
method: "POST",
|
|
32611
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/hypotheses/create",
|
|
32612
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32613
|
+
body: OperatorCreateHypothesisRequestSchema,
|
|
32614
|
+
responses: {
|
|
32615
|
+
201: OperatorHypothesisListSchema,
|
|
32616
|
+
400: ErrorResponseSchema,
|
|
32617
|
+
401: ErrorResponseSchema,
|
|
32618
|
+
409: ErrorResponseSchema,
|
|
32619
|
+
500: ErrorResponseSchema
|
|
32620
|
+
}
|
|
32621
|
+
},
|
|
32622
|
+
updateHypothesis: {
|
|
32623
|
+
method: "POST",
|
|
32624
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/hypotheses/update",
|
|
32625
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32626
|
+
body: OperatorUpdateHypothesisRequestSchema,
|
|
32627
|
+
responses: {
|
|
32628
|
+
200: OperatorHypothesisListSchema,
|
|
32629
|
+
400: ErrorResponseSchema,
|
|
32630
|
+
401: ErrorResponseSchema,
|
|
32631
|
+
404: ErrorResponseSchema,
|
|
32632
|
+
409: ErrorResponseSchema,
|
|
32633
|
+
500: ErrorResponseSchema
|
|
32634
|
+
}
|
|
32635
|
+
},
|
|
32636
|
+
reviewHypothesis: {
|
|
32637
|
+
method: "POST",
|
|
32638
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/hypotheses/review",
|
|
32639
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32640
|
+
body: OperatorReviewHypothesisRequestSchema,
|
|
32641
|
+
responses: {
|
|
32642
|
+
200: OperatorHypothesisListSchema,
|
|
32643
|
+
400: ErrorResponseSchema,
|
|
32644
|
+
401: ErrorResponseSchema,
|
|
32645
|
+
404: ErrorResponseSchema,
|
|
32646
|
+
409: ErrorResponseSchema,
|
|
32647
|
+
500: ErrorResponseSchema
|
|
32648
|
+
}
|
|
32649
|
+
},
|
|
32650
|
+
promoteHypothesis: {
|
|
32651
|
+
method: "POST",
|
|
32652
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/hypotheses/promote",
|
|
32653
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32654
|
+
body: OperatorPromoteHypothesisRequestSchema,
|
|
32655
|
+
responses: {
|
|
32656
|
+
201: OperatorFindingReadSchema,
|
|
32657
|
+
400: ErrorResponseSchema,
|
|
32658
|
+
401: ErrorResponseSchema,
|
|
32659
|
+
404: ErrorResponseSchema,
|
|
32660
|
+
409: ErrorResponseSchema,
|
|
32661
|
+
500: ErrorResponseSchema
|
|
32662
|
+
}
|
|
32663
|
+
},
|
|
32664
|
+
updatePentest: {
|
|
32665
|
+
method: "POST",
|
|
32666
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/pentest/update",
|
|
32667
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32668
|
+
body: OperatorUpdatePentestRequestSchema,
|
|
32669
|
+
responses: {
|
|
32670
|
+
200: OperatorPentestContextSchema,
|
|
32671
|
+
400: ErrorResponseSchema,
|
|
32672
|
+
401: ErrorResponseSchema,
|
|
32673
|
+
404: ErrorResponseSchema,
|
|
32674
|
+
409: ErrorResponseSchema,
|
|
32675
|
+
500: ErrorResponseSchema
|
|
32676
|
+
}
|
|
32677
|
+
},
|
|
32678
|
+
advanceValidationReview: {
|
|
32679
|
+
method: "POST",
|
|
32680
|
+
path: "/internal/v1/agent-sessions/:agentSessionId/operator/pentest/validation-review-complete",
|
|
32681
|
+
pathParams: AgentSessionInternalParamsSchema,
|
|
32682
|
+
body: OperatorAdvanceValidationReviewRequestSchema,
|
|
32683
|
+
responses: {
|
|
32684
|
+
200: OperatorStageTransitionResponseSchema,
|
|
32685
|
+
400: ErrorResponseSchema,
|
|
32686
|
+
401: ErrorResponseSchema,
|
|
32687
|
+
404: ErrorResponseSchema,
|
|
32688
|
+
409: ErrorResponseSchema,
|
|
32689
|
+
500: ErrorResponseSchema
|
|
32690
|
+
}
|
|
32183
32691
|
}
|
|
32184
32692
|
});
|
|
32185
32693
|
|