@thinkai/tai-api-contract 2.184.0 → 2.185.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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.0.3
2
2
  info:
3
3
  title: ThinkAI API
4
- version: 2.184.0
4
+ version: 2.185.0
5
5
  description: >
6
6
  Contract surface for the AI Driven SDLC backend used by ThinkAI.
7
7
  Workspace-scoped routes use `/workspaces/{workspaceId}/...`.
@@ -6371,6 +6371,76 @@ paths:
6371
6371
  schema:
6372
6372
  $ref: "#/components/schemas/GrafanaTriggerSyncResultDto"
6373
6373
 
6374
+ /workspaces/{workspaceId}/integrations/datadog:
6375
+ get:
6376
+ tags: [Integrations]
6377
+ summary: Datadog monitoring integration status
6378
+ operationId: getWorkspaceDatadogIntegrationStatus
6379
+ description: >
6380
+ Returns whether Datadog is connected for the workspace (site + dual keys) and the last
6381
+ monitoring ingest sync outcome (incidents/deployments pulled into Quality and DORA metrics).
6382
+ parameters:
6383
+ - $ref: "#/components/parameters/WorkspaceId"
6384
+ responses:
6385
+ "200":
6386
+ description: Datadog integration status
6387
+ content:
6388
+ application/json:
6389
+ schema:
6390
+ $ref: "#/components/schemas/DatadogIntegrationStatusDto"
6391
+ "401":
6392
+ $ref: "#/components/responses/Unauthorized"
6393
+ "403":
6394
+ $ref: "#/components/responses/Forbidden"
6395
+ "404":
6396
+ description: Workspace does not exist or malformed workspaceId
6397
+ content:
6398
+ application/json:
6399
+ schema:
6400
+ $ref: "#/components/schemas/ErrorMessageDto"
6401
+
6402
+ /workspaces/{workspaceId}/integrations/datadog/sync:
6403
+ post:
6404
+ tags: [Integrations]
6405
+ summary: Trigger Datadog monitoring ingest now
6406
+ operationId: postWorkspaceDatadogIntegrationSync
6407
+ description: >
6408
+ Manually polls Datadog for incidents and deployment-tagged events, persists canonical
6409
+ monitoring events, and refreshes org-level Quality/DORA dashboard buckets. Requires editor role.
6410
+ security:
6411
+ - bearerAuth: []
6412
+ parameters:
6413
+ - $ref: "#/components/parameters/WorkspaceId"
6414
+ responses:
6415
+ "200":
6416
+ description: Sync completed
6417
+ content:
6418
+ application/json:
6419
+ schema:
6420
+ $ref: "#/components/schemas/DatadogTriggerSyncResultDto"
6421
+ "401":
6422
+ $ref: "#/components/responses/Unauthorized"
6423
+ "403":
6424
+ $ref: "#/components/responses/Forbidden"
6425
+ "404":
6426
+ description: Workspace does not exist or malformed workspaceId
6427
+ content:
6428
+ application/json:
6429
+ schema:
6430
+ $ref: "#/components/schemas/ErrorMessageDto"
6431
+ "422":
6432
+ description: Datadog is not connected on this workspace
6433
+ content:
6434
+ application/json:
6435
+ schema:
6436
+ $ref: "#/components/schemas/DatadogTriggerSyncResultDto"
6437
+ "503":
6438
+ description: Sync failed (Datadog API or persistence error)
6439
+ content:
6440
+ application/json:
6441
+ schema:
6442
+ $ref: "#/components/schemas/DatadogTriggerSyncResultDto"
6443
+
6374
6444
  /integrations/github/webhook:
6375
6445
  post:
6376
6446
  tags: [Integrations]
@@ -19374,6 +19444,80 @@ components:
19374
19444
  error:
19375
19445
  type: string
19376
19446
 
19447
+ DatadogIntegrationStatusDto:
19448
+ type: object
19449
+ additionalProperties: false
19450
+ required: [connected, status]
19451
+ properties:
19452
+ connected:
19453
+ type: boolean
19454
+ description: "True when a type:datadog workspace source is configured."
19455
+ site:
19456
+ type: string
19457
+ enum:
19458
+ - datadoghq.com
19459
+ - us3.datadoghq.com
19460
+ - us5.datadoghq.com
19461
+ - datadoghq.eu
19462
+ - ap1.datadoghq.com
19463
+ description: Configured Datadog site when connected.
19464
+ orgName:
19465
+ type: string
19466
+ description: Org display name when known from the last successful verify.
19467
+ lastSyncAt:
19468
+ type: string
19469
+ format: date-time
19470
+ nullable: true
19471
+ description: Timestamp of the last monitoring ingest attempt (success or failure).
19472
+ status:
19473
+ type: string
19474
+ enum: [ok, error, never]
19475
+ description: Outcome of the most recent sync (`never` when not yet synced).
19476
+ lastError:
19477
+ type: string
19478
+ nullable: true
19479
+ issueCount:
19480
+ type: integer
19481
+ nullable: true
19482
+ description: Incidents fetched on the last successful sync (30d lookback).
19483
+ deploymentCount:
19484
+ type: integer
19485
+ nullable: true
19486
+ description: Deployment-tagged events fetched on the last successful sync (30d lookback).
19487
+ eventCount:
19488
+ type: integer
19489
+ nullable: true
19490
+ description: Canonical monitoring events upserted on the last successful sync.
19491
+
19492
+ DatadogTriggerSyncResultDto:
19493
+ type: object
19494
+ additionalProperties: false
19495
+ required: [status]
19496
+ properties:
19497
+ status:
19498
+ type: string
19499
+ enum: [ok, skipped, error]
19500
+ code:
19501
+ type: string
19502
+ description: Stable machine-readable code (e.g. `datadog_not_connected`).
19503
+ reason:
19504
+ type: string
19505
+ description: Human-readable skip reason when status is skipped.
19506
+ issueCount:
19507
+ type: integer
19508
+ deploymentCount:
19509
+ type: integer
19510
+ eventCount:
19511
+ type: integer
19512
+ bucketsWritten:
19513
+ type: integer
19514
+ description: Weekly dashboard metric buckets updated from monitoring events.
19515
+ durationMs:
19516
+ type: integer
19517
+ error:
19518
+ type: string
19519
+ description: Error message when status is error.
19520
+
19377
19521
  GithubActionsEnableResponseDto:
19378
19522
  type: object
19379
19523
  additionalProperties: false
@@ -23329,6 +23473,10 @@ components:
23329
23473
  - integrations.grafana.removed
23330
23474
  - integrations.grafana.sync_completed
23331
23475
  - integrations.grafana.sync_failed
23476
+ - integrations.datadog.added
23477
+ - integrations.datadog.removed
23478
+ - integrations.datadog.sync_completed
23479
+ - integrations.datadog.sync_failed
23332
23480
  - integrations.zelt.added
23333
23481
  - integrations.zelt.removed
23334
23482
  - report.exported
@@ -23739,7 +23887,7 @@ components:
23739
23887
  properties:
23740
23888
  version:
23741
23889
  type: string
23742
- enum: ["2026-10-24.1"]
23890
+ enum: ["2026-10-25.1"]
23743
23891
  periodDays:
23744
23892
  type: integer
23745
23893
  enum: [90]
@@ -23825,12 +23973,12 @@ components:
23825
23973
  enum: [jira]
23826
23974
  incident:
23827
23975
  type: array
23828
- minItems: 6
23829
- maxItems: 6
23976
+ minItems: 7
23977
+ maxItems: 7
23830
23978
  uniqueItems: true
23831
23979
  items:
23832
23980
  type: string
23833
- enum: [pagerduty, opsgenie, goalert, newrelic, prometheus, grafana]
23981
+ enum: [pagerduty, opsgenie, goalert, newrelic, prometheus, grafana, datadog]
23834
23982
  selfManagedGit:
23835
23983
  type: object
23836
23984
  additionalProperties: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.184.0",
3
+ "version": "2.185.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2227,6 +2227,46 @@ export interface paths {
2227
2227
  patch?: never;
2228
2228
  trace?: never;
2229
2229
  };
2230
+ "/workspaces/{workspaceId}/integrations/datadog": {
2231
+ parameters: {
2232
+ query?: never;
2233
+ header?: never;
2234
+ path?: never;
2235
+ cookie?: never;
2236
+ };
2237
+ /**
2238
+ * Datadog monitoring integration status
2239
+ * @description Returns whether Datadog is connected for the workspace (site + dual keys) and the last monitoring ingest sync outcome (incidents/deployments pulled into Quality and DORA metrics).
2240
+ */
2241
+ get: operations["getWorkspaceDatadogIntegrationStatus"];
2242
+ put?: never;
2243
+ post?: never;
2244
+ delete?: never;
2245
+ options?: never;
2246
+ head?: never;
2247
+ patch?: never;
2248
+ trace?: never;
2249
+ };
2250
+ "/workspaces/{workspaceId}/integrations/datadog/sync": {
2251
+ parameters: {
2252
+ query?: never;
2253
+ header?: never;
2254
+ path?: never;
2255
+ cookie?: never;
2256
+ };
2257
+ get?: never;
2258
+ put?: never;
2259
+ /**
2260
+ * Trigger Datadog monitoring ingest now
2261
+ * @description Manually polls Datadog for incidents and deployment-tagged events, persists canonical monitoring events, and refreshes org-level Quality/DORA dashboard buckets. Requires editor role.
2262
+ */
2263
+ post: operations["postWorkspaceDatadogIntegrationSync"];
2264
+ delete?: never;
2265
+ options?: never;
2266
+ head?: never;
2267
+ patch?: never;
2268
+ trace?: never;
2269
+ };
2230
2270
  "/integrations/github/webhook": {
2231
2271
  parameters: {
2232
2272
  query?: never;
@@ -7907,6 +7947,50 @@ export interface components {
7907
7947
  durationMs?: number;
7908
7948
  error?: string;
7909
7949
  };
7950
+ DatadogIntegrationStatusDto: {
7951
+ /** @description True when a type:datadog workspace source is configured. */
7952
+ connected: boolean;
7953
+ /**
7954
+ * @description Configured Datadog site when connected.
7955
+ * @enum {string}
7956
+ */
7957
+ site?: "datadoghq.com" | "us3.datadoghq.com" | "us5.datadoghq.com" | "datadoghq.eu" | "ap1.datadoghq.com";
7958
+ /** @description Org display name when known from the last successful verify. */
7959
+ orgName?: string;
7960
+ /**
7961
+ * Format: date-time
7962
+ * @description Timestamp of the last monitoring ingest attempt (success or failure).
7963
+ */
7964
+ lastSyncAt?: string | null;
7965
+ /**
7966
+ * @description Outcome of the most recent sync (`never` when not yet synced).
7967
+ * @enum {string}
7968
+ */
7969
+ status: "ok" | "error" | "never";
7970
+ lastError?: string | null;
7971
+ /** @description Incidents fetched on the last successful sync (30d lookback). */
7972
+ issueCount?: number | null;
7973
+ /** @description Deployment-tagged events fetched on the last successful sync (30d lookback). */
7974
+ deploymentCount?: number | null;
7975
+ /** @description Canonical monitoring events upserted on the last successful sync. */
7976
+ eventCount?: number | null;
7977
+ };
7978
+ DatadogTriggerSyncResultDto: {
7979
+ /** @enum {string} */
7980
+ status: "ok" | "skipped" | "error";
7981
+ /** @description Stable machine-readable code (e.g. `datadog_not_connected`). */
7982
+ code?: string;
7983
+ /** @description Human-readable skip reason when status is skipped. */
7984
+ reason?: string;
7985
+ issueCount?: number;
7986
+ deploymentCount?: number;
7987
+ eventCount?: number;
7988
+ /** @description Weekly dashboard metric buckets updated from monitoring events. */
7989
+ bucketsWritten?: number;
7990
+ durationMs?: number;
7991
+ /** @description Error message when status is error. */
7992
+ error?: string;
7993
+ };
7910
7994
  GithubActionsEnableResponseDto: {
7911
7995
  /** @enum {string} */
7912
7996
  outcome: "enabled" | "needs_github" | "permissions_missing" | "error";
@@ -9602,7 +9686,7 @@ export interface components {
9602
9686
  * @description Type of workspace lifecycle event.
9603
9687
  * @enum {string}
9604
9688
  */
9605
- ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
9689
+ ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "integration.github.suspended" | "integration.github.unsuspended" | "integration.github.repo_added" | "integration.github.repo_removed" | "fix.requested" | "fix.generating" | "fix.pr_created" | "fix.merged" | "fix.failed" | "readiness.scan_started" | "readiness.scan_completed" | "readiness.scan_failed" | "readiness.scan_partial" | "code_insights.design_run_started" | "integrations.agent_execution.provider_changed" | "integrations.repo_eligibility.overrides_changed" | "integrations.repo_eligibility.languages_refresh_requested" | "integrations.cursor.platform_key_enabled" | "integrations.cursor.platform_key_disabled" | "member.invited" | "member.invite_accepted" | "member.invite_rejected" | "member.role_changed" | "member.removed" | "hris.personio.sync_started" | "hris.personio.sync_completed" | "hris.personio.sync_failed" | "hris.zenhr.sync_started" | "hris.zenhr.sync_completed" | "hris.zenhr.sync_failed" | "hris.zelt.sync_started" | "hris.zelt.sync_completed" | "hris.zelt.sync_failed" | "hris.hibob.sync_started" | "hris.hibob.sync_completed" | "hris.hibob.sync_failed" | "hris.sync_started" | "hris.sync_completed" | "hris.sync_failed" | "repo.sync_skipped" | "integrations.cursor.execution_key.added" | "integrations.cursor.execution_key.updated" | "integrations.cursor.execution_key.removed" | "integrations.cursor.execution_key.check_failed" | "integrations.cursor.admin_key.added" | "integrations.cursor.admin_key.updated" | "integrations.cursor.admin_key.removed" | "integrations.claude.execution_key.added" | "integrations.claude.execution_key.updated" | "integrations.claude.execution_key.removed" | "integrations.claude.execution_key.check_failed" | "integrations.claude.admin_key.added" | "integrations.claude.admin_key.updated" | "integrations.claude.admin_key.removed" | "integrations.claude.analytics_key.added" | "integrations.claude.analytics_key.updated" | "integrations.claude.analytics_key.removed" | "integrations.code_intelligence.settings_changed" | "integrations.code_intelligence.execution_key.added" | "integrations.code_intelligence.execution_key.updated" | "integrations.code_intelligence.execution_key.removed" | "integrations.code_intelligence.execution_key.check_failed" | "readiness.scan_precheck_failed" | "productivity.ingest.completed" | "productivity.ingest.failed" | "productivity.ingest.skipped" | "productivity.ingest.repo_skipped" | "productivity.ingest.coverage_gap_detected" | "integrations.newrelic.added" | "integrations.newrelic.removed" | "integrations.newrelic.sync_completed" | "integrations.newrelic.sync_failed" | "integrations.prometheus.added" | "integrations.prometheus.removed" | "integrations.prometheus.sync_completed" | "integrations.prometheus.sync_failed" | "integrations.grafana.added" | "integrations.grafana.removed" | "integrations.grafana.sync_completed" | "integrations.grafana.sync_failed" | "integrations.datadog.added" | "integrations.datadog.removed" | "integrations.datadog.sync_completed" | "integrations.datadog.sync_failed" | "integrations.zelt.added" | "integrations.zelt.removed" | "report.exported" | "report.assessment_stored" | "report.assessment_link_sent" | "report.assessment_link_revoked" | "report.assessment_downloaded" | "report.assessment_hidden" | "report.assessment_restored" | "workspace.aggregate_use.changed" | "workspace.assessment_rollout.changed";
9606
9690
  /** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
9607
9691
  AggregateUseNoticeStatusDto: {
9608
9692
  /** @enum {string} */
@@ -9765,7 +9849,7 @@ export interface components {
9765
9849
  };
9766
9850
  AssessmentDictionaryDto: {
9767
9851
  /** @enum {string} */
9768
- version: "2026-10-24.1";
9852
+ version: "2026-10-25.1";
9769
9853
  /** @enum {integer} */
9770
9854
  periodDays: 90;
9771
9855
  /** @enum {integer} */
@@ -9801,7 +9885,7 @@ export interface components {
9801
9885
  aiProviders: ("cursor" | "claude" | "copilot")[];
9802
9886
  optionalProviders: {
9803
9887
  roadmap: "jira"[];
9804
- incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana")[];
9888
+ incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana" | "datadog")[];
9805
9889
  };
9806
9890
  selfManagedGit: {
9807
9891
  /** @enum {string} */
@@ -12753,6 +12837,8 @@ export type PrometheusIntegrationStatusDto = components['schemas']['PrometheusIn
12753
12837
  export type PrometheusTriggerSyncResultDto = components['schemas']['PrometheusTriggerSyncResultDto'];
12754
12838
  export type GrafanaIntegrationStatusDto = components['schemas']['GrafanaIntegrationStatusDto'];
12755
12839
  export type GrafanaTriggerSyncResultDto = components['schemas']['GrafanaTriggerSyncResultDto'];
12840
+ export type DatadogIntegrationStatusDto = components['schemas']['DatadogIntegrationStatusDto'];
12841
+ export type DatadogTriggerSyncResultDto = components['schemas']['DatadogTriggerSyncResultDto'];
12756
12842
  export type GithubActionsEnableResponseDto = components['schemas']['GithubActionsEnableResponseDto'];
12757
12843
  export type GithubInstallationStatusDto = components['schemas']['GithubInstallationStatusDto'];
12758
12844
  export type GithubInstallUrlRequestDto = components['schemas']['GithubInstallUrlRequestDto'];
@@ -19407,6 +19493,90 @@ export interface operations {
19407
19493
  };
19408
19494
  };
19409
19495
  };
19496
+ getWorkspaceDatadogIntegrationStatus: {
19497
+ parameters: {
19498
+ query?: never;
19499
+ header?: never;
19500
+ path: {
19501
+ workspaceId: components["parameters"]["WorkspaceId"];
19502
+ };
19503
+ cookie?: never;
19504
+ };
19505
+ requestBody?: never;
19506
+ responses: {
19507
+ /** @description Datadog integration status */
19508
+ 200: {
19509
+ headers: {
19510
+ [name: string]: unknown;
19511
+ };
19512
+ content: {
19513
+ "application/json": components["schemas"]["DatadogIntegrationStatusDto"];
19514
+ };
19515
+ };
19516
+ 401: components["responses"]["Unauthorized"];
19517
+ 403: components["responses"]["Forbidden"];
19518
+ /** @description Workspace does not exist or malformed workspaceId */
19519
+ 404: {
19520
+ headers: {
19521
+ [name: string]: unknown;
19522
+ };
19523
+ content: {
19524
+ "application/json": components["schemas"]["ErrorMessageDto"];
19525
+ };
19526
+ };
19527
+ };
19528
+ };
19529
+ postWorkspaceDatadogIntegrationSync: {
19530
+ parameters: {
19531
+ query?: never;
19532
+ header?: never;
19533
+ path: {
19534
+ workspaceId: components["parameters"]["WorkspaceId"];
19535
+ };
19536
+ cookie?: never;
19537
+ };
19538
+ requestBody?: never;
19539
+ responses: {
19540
+ /** @description Sync completed */
19541
+ 200: {
19542
+ headers: {
19543
+ [name: string]: unknown;
19544
+ };
19545
+ content: {
19546
+ "application/json": components["schemas"]["DatadogTriggerSyncResultDto"];
19547
+ };
19548
+ };
19549
+ 401: components["responses"]["Unauthorized"];
19550
+ 403: components["responses"]["Forbidden"];
19551
+ /** @description Workspace does not exist or malformed workspaceId */
19552
+ 404: {
19553
+ headers: {
19554
+ [name: string]: unknown;
19555
+ };
19556
+ content: {
19557
+ "application/json": components["schemas"]["ErrorMessageDto"];
19558
+ };
19559
+ };
19560
+ /** @description Datadog is not connected on this workspace */
19561
+ 422: {
19562
+ headers: {
19563
+ [name: string]: unknown;
19564
+ };
19565
+ content: {
19566
+ "application/json": components["schemas"]["DatadogTriggerSyncResultDto"];
19567
+ };
19568
+ };
19569
+ /** @description Sync failed (Datadog API or persistence error) */
19570
+ 503: {
19571
+ headers: {
19572
+ [name: string]: unknown;
19573
+ };
19574
+ content: {
19575
+ "application/json": components["schemas"]["DatadogTriggerSyncResultDto"];
19576
+ };
19577
+ };
19578
+ };
19579
+ };
19410
19580
  postGithubWebhook: {
19411
19581
  parameters: {
19412
19582
  query?: never;