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.
Files changed (2) hide show
  1. package/dist/index.js +514 -6
  2. 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
- publishedAt: true
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: OperatorFindingReadSchema,
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "securewithtrace",
3
- "version": "0.28.1",
3
+ "version": "0.29.0",
4
4
  "description": "Official Trace CLI for vulnerability intelligence in your terminal",
5
5
  "type": "module",
6
6
  "bin": {