@thinkai/tai-api-contract 2.188.0 → 2.190.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.188.0
4
+ version: 2.190.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}/...`.
@@ -2755,6 +2755,7 @@ paths:
2755
2755
  - $ref: "#/components/schemas/GrafanaSourceDto"
2756
2756
  - $ref: "#/components/schemas/SonarQubeSourceDto"
2757
2757
  - $ref: "#/components/schemas/PagerDutySourceDto"
2758
+ - $ref: "#/components/schemas/SentrySourceDto"
2758
2759
  - $ref: "#/components/schemas/JiraSourceDto"
2759
2760
  - $ref: "#/components/schemas/TenantSourceEntryDto"
2760
2761
  examples:
@@ -2877,6 +2878,7 @@ paths:
2877
2878
  - $ref: "#/components/schemas/GrafanaSourceDto"
2878
2879
  - $ref: "#/components/schemas/SonarQubeSourceDto"
2879
2880
  - $ref: "#/components/schemas/PagerDutySourceDto"
2881
+ - $ref: "#/components/schemas/SentrySourceDto"
2880
2882
  - $ref: "#/components/schemas/JiraSourceDto"
2881
2883
  - $ref: "#/components/schemas/TenantSourceEntryDto"
2882
2884
  examples:
@@ -9395,16 +9397,94 @@ paths:
9395
9397
  schema:
9396
9398
  $ref: "#/components/schemas/ErrorMessageDto"
9397
9399
 
9400
+ /workspaces/{workspaceId}/rules-skills/create:
9401
+ post:
9402
+ tags: [AgenticFoundation]
9403
+ summary: Draft Rules & Skills via agent execution
9404
+ description: >
9405
+ Generates hub (≥1 of `AGENTS.md` / `CLAUDE.md` per assessed tools) plus ≥1 rule
9406
+ and ≥1 skill with correct stack paths using workspace **agent execution**
9407
+ (`ThinkAiAgent` / same credential path as the fix processor — not Fix Processor
9408
+ enqueue). Runs the shared soft-quality gate from the validate engine.
9409
+ Soft failures block Open PR unless `overrideSoftQuality` + `overrideReason`
9410
+ (audited). Structural failures are never overridable. Requires workspace
9411
+ editor or admin. Assessed tools come from the latest succeeded readiness scan.
9412
+ operationId: postRulesSkillsCreate
9413
+ parameters:
9414
+ - $ref: "#/components/parameters/WorkspaceId"
9415
+ requestBody:
9416
+ required: true
9417
+ content:
9418
+ application/json:
9419
+ schema:
9420
+ $ref: "#/components/schemas/RulesSkillsCreateRequestDto"
9421
+ examples:
9422
+ create:
9423
+ value:
9424
+ repoId: "11111111-1111-4111-8111-111111111111"
9425
+ criterionIds: [A1, A3]
9426
+ intent: "Add a skill for running the monorepo test suite"
9427
+ responses:
9428
+ "200":
9429
+ description: Drafts generated (may include soft-quality blockingFailures)
9430
+ content:
9431
+ application/json:
9432
+ schema:
9433
+ $ref: "#/components/schemas/RulesSkillsCreateResponseDto"
9434
+ "400":
9435
+ description: >
9436
+ Missing intent and criterionIds, or override without reason
9437
+ (`code: intent_or_criterion_required` | `override_reason_required`)
9438
+ content:
9439
+ application/json:
9440
+ schema:
9441
+ $ref: "#/components/schemas/ErrorMessageDto"
9442
+ "401":
9443
+ $ref: "#/components/responses/Unauthorized"
9444
+ "403":
9445
+ $ref: "#/components/responses/Forbidden"
9446
+ "404":
9447
+ description: Workspace, repository, or GitHub installation not found
9448
+ content:
9449
+ application/json:
9450
+ schema:
9451
+ $ref: "#/components/schemas/ErrorMessageDto"
9452
+ "422":
9453
+ description: >
9454
+ No succeeded readiness scan (`readiness_scan_required`), non-GitHub repo,
9455
+ or agent drafts missing required hub/rule/skill coverage
9456
+ (`rules_skills_create_incomplete`)
9457
+ content:
9458
+ application/json:
9459
+ schema:
9460
+ $ref: "#/components/schemas/ErrorMessageDto"
9461
+ "429":
9462
+ description: Create rate limit exceeded
9463
+ content:
9464
+ application/json:
9465
+ schema:
9466
+ $ref: "#/components/schemas/ErrorMessageDto"
9467
+ "503":
9468
+ description: >
9469
+ Agent execution credential missing (`agent_execution_unavailable`) or
9470
+ clone/agent run failed (`rules_skills_create_failed`)
9471
+ content:
9472
+ application/json:
9473
+ schema:
9474
+ $ref: "#/components/schemas/ErrorMessageDto"
9475
+
9398
9476
  /workspaces/{workspaceId}/rules-skills/pull-requests:
9399
9477
  post:
9400
9478
  tags: [AgenticFoundation]
9401
9479
  summary: Open a Rules & Skills remediation pull request
9402
9480
  description: >
9403
- Applies `proposedFiles` (or a future create-mode session) onto a non-default
9481
+ Applies `proposedFiles` (from validate or create drafts) onto a non-default
9404
9482
  branch via the Automations GitHub App installation and opens a pull request.
9405
9483
  Never pushes to the default branch. PR title/body identify the change as
9406
9484
  platform-generated and link back to `/agentic-foundation/rules-skills`.
9407
9485
  Requires workspace editor or admin. Same write-permission gate as readiness fixes.
9486
+ For create mode, pass the `drafts` returned by `POST .../rules-skills/create`
9487
+ as `proposedFiles` after soft-quality passes or a logged override.
9408
9488
  operationId: postRulesSkillsPullRequest
9409
9489
  parameters:
9410
9490
  - $ref: "#/components/parameters/WorkspaceId"
@@ -15830,6 +15910,66 @@ components:
15830
15910
  type: string
15831
15911
  description: PagerDuty user email when known from the last successful verify.
15832
15912
 
15913
+ SentrySourceDto:
15914
+ type: object
15915
+ description: >
15916
+ Sentry incident and release source for `PUT /workspaces/{workspaceId}/sources` and
15917
+ `POST /workspaces/{workspaceId}/sources/test`. Requires an organization slug and an auth
15918
+ token with `org:read`, `event:read`, and `project:read`. Issues map to incident events and
15919
+ releases with a commit or environment map to deployment events.
15920
+ required: [type, orgSlug, token]
15921
+ additionalProperties: false
15922
+ properties:
15923
+ type:
15924
+ type: string
15925
+ enum: [sentry]
15926
+ orgSlug:
15927
+ type: string
15928
+ minLength: 1
15929
+ maxLength: 128
15930
+ description: Sentry organization slug (the `{slug}` in `sentry.io/organizations/{slug}/`).
15931
+ token:
15932
+ type: string
15933
+ minLength: 1
15934
+ maxLength: 512
15935
+ description: Sentry auth token (organization or internal integration token, write-only on PUT).
15936
+ baseUrl:
15937
+ type: string
15938
+ description: Optional API base URL for self-hosted Sentry. Default `https://sentry.io/api/0`.
15939
+ projectSlug:
15940
+ type: string
15941
+ description: Optional project slug. When set, only that project's issues and releases are ingested.
15942
+ orgName:
15943
+ type: string
15944
+ description: Optional organization display name from a successful connection test (echo-after-test).
15945
+
15946
+ SentrySourceConfigDto:
15947
+ type: object
15948
+ description: >
15949
+ Redacted Sentry source returned by `GET /workspaces/{workspaceId}/config`.
15950
+ Raw token is never returned.
15951
+ required: [type, hasToken, orgSlug]
15952
+ additionalProperties: false
15953
+ properties:
15954
+ type:
15955
+ type: string
15956
+ enum: [sentry]
15957
+ hasToken:
15958
+ type: boolean
15959
+ description: Whether an auth token is stored for this workspace.
15960
+ orgSlug:
15961
+ type: string
15962
+ description: Configured Sentry organization slug.
15963
+ baseUrl:
15964
+ type: string
15965
+ description: Configured API base URL override, when set.
15966
+ projectSlug:
15967
+ type: string
15968
+ description: Configured project filter, when set.
15969
+ orgName:
15970
+ type: string
15971
+ description: Sentry organization name when known from the last successful verify.
15972
+
15833
15973
  JiraSourceDto:
15834
15974
  type: object
15835
15975
  description: >
@@ -16110,6 +16250,7 @@ components:
16110
16250
  - $ref: "#/components/schemas/GrafanaSourceConfigDto"
16111
16251
  - $ref: "#/components/schemas/SonarQubeSourceConfigDto"
16112
16252
  - $ref: "#/components/schemas/PagerDutySourceConfigDto"
16253
+ - $ref: "#/components/schemas/SentrySourceConfigDto"
16113
16254
  - $ref: "#/components/schemas/JiraSourceConfigDto"
16114
16255
  - $ref: "#/components/schemas/TenantSourceEntryDto"
16115
16256
  orgChart:
@@ -16366,7 +16507,7 @@ components:
16366
16507
  description: Present for New Relic or Jira verify success — resolved account ID.
16367
16508
  orgName:
16368
16509
  type: string
16369
- description: Present for Grafana or Datadog verify success — resolved organization name.
16510
+ description: Present for Grafana, Datadog, or Sentry verify success — resolved organization name.
16370
16511
  clusterName:
16371
16512
  type: string
16372
16513
  description: Present for Prometheus verify success — Alertmanager cluster name.
@@ -22802,6 +22943,66 @@ components:
22802
22943
  type: string
22803
22944
  description: Quiet-case note (e.g. empty tree under pathPrefixes).
22804
22945
 
22946
+ RulesSkillsCreateRequestDto:
22947
+ type: object
22948
+ additionalProperties: false
22949
+ required: [repoId]
22950
+ properties:
22951
+ repoId:
22952
+ type: string
22953
+ format: uuid
22954
+ criterionIds:
22955
+ type: array
22956
+ maxItems: 16
22957
+ items:
22958
+ type: string
22959
+ enum: [A1, A2, A3, A3a, A3b, A3c, A11]
22960
+ description: >
22961
+ Optional criterion targets. At least one of `intent` or non-empty
22962
+ `criterionIds` is required.
22963
+ intent:
22964
+ type: string
22965
+ maxLength: 4000
22966
+ description: Free-text create intent (required when criterionIds is empty).
22967
+ notes:
22968
+ type: string
22969
+ maxLength: 8000
22970
+ overrideSoftQuality:
22971
+ type: boolean
22972
+ description: >
22973
+ When true, soft-quality fails are omitted from `blockingFailures`
22974
+ (structural fails always remain). Requires `overrideReason`; audited.
22975
+ overrideReason:
22976
+ type: string
22977
+ maxLength: 2000
22978
+ description: Required when overrideSoftQuality is true.
22979
+
22980
+ RulesSkillsCreateResponseDto:
22981
+ type: object
22982
+ additionalProperties: false
22983
+ required: [assessedTools, drafts, softQuality, blockingFailures, softQualityOverridden]
22984
+ properties:
22985
+ assessedTools:
22986
+ $ref: "#/components/schemas/RulesSkillsAssessedTools"
22987
+ drafts:
22988
+ type: array
22989
+ items:
22990
+ $ref: "#/components/schemas/RulesSkillsProposedFileDto"
22991
+ description: Draft patches for review; pass to open-PR as proposedFiles.
22992
+ softQuality:
22993
+ $ref: "#/components/schemas/RulesSkillsSoftQualitySummaryDto"
22994
+ blockingFailures:
22995
+ type: array
22996
+ items:
22997
+ $ref: "#/components/schemas/RulesSkillsFindingDto"
22998
+ description: >
22999
+ Structural fails always; soft fails unless softQualityOverridden.
23000
+ Open PR should wait until empty (or soft override was logged).
23001
+ softQualityOverridden:
23002
+ type: boolean
23003
+ note:
23004
+ type: string
23005
+
22805
23006
  RulesSkillsOpenPullRequestRequestDto:
22806
23007
  type: object
22807
23008
  additionalProperties: false
@@ -22816,7 +23017,7 @@ components:
22816
23017
  sessionId:
22817
23018
  type: string
22818
23019
  format: uuid
22819
- description: Reserved for Create-mode sessions; validate mode uses proposedFiles.
23020
+ description: Reserved for persisted create sessions; currently pass proposedFiles.
22820
23021
  proposedFiles:
22821
23022
  type: array
22822
23023
  minItems: 1
@@ -24061,6 +24262,7 @@ components:
24061
24262
  - integrations.agent_execution.provider_changed
24062
24263
  - integrations.repo_eligibility.overrides_changed
24063
24264
  - integrations.repo_eligibility.languages_refresh_requested
24265
+ - rules_skills.soft_quality.override
24064
24266
  - integrations.cursor.platform_key_enabled
24065
24267
  - integrations.cursor.platform_key_disabled
24066
24268
  - member.invited
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkai/tai-api-contract",
3
- "version": "2.188.0",
3
+ "version": "2.190.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3364,6 +3364,26 @@ export interface paths {
3364
3364
  patch?: never;
3365
3365
  trace?: never;
3366
3366
  };
3367
+ "/workspaces/{workspaceId}/rules-skills/create": {
3368
+ parameters: {
3369
+ query?: never;
3370
+ header?: never;
3371
+ path?: never;
3372
+ cookie?: never;
3373
+ };
3374
+ get?: never;
3375
+ put?: never;
3376
+ /**
3377
+ * Draft Rules & Skills via agent execution
3378
+ * @description Generates hub (≥1 of `AGENTS.md` / `CLAUDE.md` per assessed tools) plus ≥1 rule and ≥1 skill with correct stack paths using workspace **agent execution** (`ThinkAiAgent` / same credential path as the fix processor — not Fix Processor enqueue). Runs the shared soft-quality gate from the validate engine. Soft failures block Open PR unless `overrideSoftQuality` + `overrideReason` (audited). Structural failures are never overridable. Requires workspace editor or admin. Assessed tools come from the latest succeeded readiness scan.
3379
+ */
3380
+ post: operations["postRulesSkillsCreate"];
3381
+ delete?: never;
3382
+ options?: never;
3383
+ head?: never;
3384
+ patch?: never;
3385
+ trace?: never;
3386
+ };
3367
3387
  "/workspaces/{workspaceId}/rules-skills/pull-requests": {
3368
3388
  parameters: {
3369
3389
  query?: never;
@@ -3375,7 +3395,7 @@ export interface paths {
3375
3395
  put?: never;
3376
3396
  /**
3377
3397
  * Open a Rules & Skills remediation pull request
3378
- * @description Applies `proposedFiles` (or a future create-mode session) onto a non-default branch via the Automations GitHub App installation and opens a pull request. Never pushes to the default branch. PR title/body identify the change as platform-generated and link back to `/agentic-foundation/rules-skills`. Requires workspace editor or admin. Same write-permission gate as readiness fixes.
3398
+ * @description Applies `proposedFiles` (from validate or create drafts) onto a non-default branch via the Automations GitHub App installation and opens a pull request. Never pushes to the default branch. PR title/body identify the change as platform-generated and link back to `/agentic-foundation/rules-skills`. Requires workspace editor or admin. Same write-permission gate as readiness fixes. For create mode, pass the `drafts` returned by `POST .../rules-skills/create` as `proposedFiles` after soft-quality passes or a logged override.
3379
3399
  */
3380
3400
  post: operations["postRulesSkillsPullRequest"];
3381
3401
  delete?: never;
@@ -6118,6 +6138,36 @@ export interface components {
6118
6138
  /** @description PagerDuty user email when known from the last successful verify. */
6119
6139
  userEmail?: string;
6120
6140
  };
6141
+ /** @description Sentry incident and release source for `PUT /workspaces/{workspaceId}/sources` and `POST /workspaces/{workspaceId}/sources/test`. Requires an organization slug and an auth token with `org:read`, `event:read`, and `project:read`. Issues map to incident events and releases with a commit or environment map to deployment events. */
6142
+ SentrySourceDto: {
6143
+ /** @enum {string} */
6144
+ type: "sentry";
6145
+ /** @description Sentry organization slug (the `{slug}` in `sentry.io/organizations/{slug}/`). */
6146
+ orgSlug: string;
6147
+ /** @description Sentry auth token (organization or internal integration token, write-only on PUT). */
6148
+ token: string;
6149
+ /** @description Optional API base URL for self-hosted Sentry. Default `https://sentry.io/api/0`. */
6150
+ baseUrl?: string;
6151
+ /** @description Optional project slug. When set, only that project's issues and releases are ingested. */
6152
+ projectSlug?: string;
6153
+ /** @description Optional organization display name from a successful connection test (echo-after-test). */
6154
+ orgName?: string;
6155
+ };
6156
+ /** @description Redacted Sentry source returned by `GET /workspaces/{workspaceId}/config`. Raw token is never returned. */
6157
+ SentrySourceConfigDto: {
6158
+ /** @enum {string} */
6159
+ type: "sentry";
6160
+ /** @description Whether an auth token is stored for this workspace. */
6161
+ hasToken: boolean;
6162
+ /** @description Configured Sentry organization slug. */
6163
+ orgSlug: string;
6164
+ /** @description Configured API base URL override, when set. */
6165
+ baseUrl?: string;
6166
+ /** @description Configured project filter, when set. */
6167
+ projectSlug?: string;
6168
+ /** @description Sentry organization name when known from the last successful verify. */
6169
+ orgName?: string;
6170
+ };
6121
6171
  /** @description Jira Cloud source for `PUT /workspaces/{workspaceId}/sources` and `POST /workspaces/{workspaceId}/sources/test`. Uses Atlassian Cloud email + API token (Basic auth). Provide `apiToken` (preferred) or legacy write-only `api_key`; the server normalizes `api_key` to `apiToken` on write. */
6122
6172
  JiraSourceDto: {
6123
6173
  /** @enum {string} */
@@ -6242,7 +6292,7 @@ export interface components {
6242
6292
  topics?: components["schemas"]["CodeWikiGuidanceTopicDto"][];
6243
6293
  };
6244
6294
  WorkspaceConfigDto: {
6245
- sources: (components["schemas"]["CursorSourceConfigDto"] | components["schemas"]["ClaudeSourceConfigDto"] | components["schemas"]["CodeIntelligenceSourceConfigDto"] | components["schemas"]["NewRelicSourceConfigDto"] | components["schemas"]["DatadogSourceConfigDto"] | components["schemas"]["PrometheusSourceConfigDto"] | components["schemas"]["GrafanaSourceConfigDto"] | components["schemas"]["SonarQubeSourceConfigDto"] | components["schemas"]["PagerDutySourceConfigDto"] | components["schemas"]["JiraSourceConfigDto"] | components["schemas"]["TenantSourceEntryDto"])[];
6295
+ sources: (components["schemas"]["CursorSourceConfigDto"] | components["schemas"]["ClaudeSourceConfigDto"] | components["schemas"]["CodeIntelligenceSourceConfigDto"] | components["schemas"]["NewRelicSourceConfigDto"] | components["schemas"]["DatadogSourceConfigDto"] | components["schemas"]["PrometheusSourceConfigDto"] | components["schemas"]["GrafanaSourceConfigDto"] | components["schemas"]["SonarQubeSourceConfigDto"] | components["schemas"]["PagerDutySourceConfigDto"] | components["schemas"]["SentrySourceConfigDto"] | components["schemas"]["JiraSourceConfigDto"] | components["schemas"]["TenantSourceEntryDto"])[];
6246
6296
  orgChart?: components["schemas"]["ScoringOrgChartDto"] | null;
6247
6297
  /** @enum {string|null} */
6248
6298
  region?: "us" | "eu" | "me" | null;
@@ -6365,7 +6415,7 @@ export interface components {
6365
6415
  accountName?: string;
6366
6416
  /** @description Present for New Relic or Jira verify success — resolved account ID. */
6367
6417
  accountId?: string;
6368
- /** @description Present for Grafana or Datadog verify success — resolved organization name. */
6418
+ /** @description Present for Grafana, Datadog, or Sentry verify success — resolved organization name. */
6369
6419
  orgName?: string;
6370
6420
  /** @description Present for Prometheus verify success — Alertmanager cluster name. */
6371
6421
  clusterName?: string;
@@ -9337,6 +9387,29 @@ export interface components {
9337
9387
  /** @description Quiet-case note (e.g. empty tree under pathPrefixes). */
9338
9388
  note?: string;
9339
9389
  };
9390
+ RulesSkillsCreateRequestDto: {
9391
+ /** Format: uuid */
9392
+ repoId: string;
9393
+ /** @description Optional criterion targets. At least one of `intent` or non-empty `criterionIds` is required. */
9394
+ criterionIds?: ("A1" | "A2" | "A3" | "A3a" | "A3b" | "A3c" | "A11")[];
9395
+ /** @description Free-text create intent (required when criterionIds is empty). */
9396
+ intent?: string;
9397
+ notes?: string;
9398
+ /** @description When true, soft-quality fails are omitted from `blockingFailures` (structural fails always remain). Requires `overrideReason`; audited. */
9399
+ overrideSoftQuality?: boolean;
9400
+ /** @description Required when overrideSoftQuality is true. */
9401
+ overrideReason?: string;
9402
+ };
9403
+ RulesSkillsCreateResponseDto: {
9404
+ assessedTools: components["schemas"]["RulesSkillsAssessedTools"];
9405
+ /** @description Draft patches for review; pass to open-PR as proposedFiles. */
9406
+ drafts: components["schemas"]["RulesSkillsProposedFileDto"][];
9407
+ softQuality: components["schemas"]["RulesSkillsSoftQualitySummaryDto"];
9408
+ /** @description Structural fails always; soft fails unless softQualityOverridden. Open PR should wait until empty (or soft override was logged). */
9409
+ blockingFailures: components["schemas"]["RulesSkillsFindingDto"][];
9410
+ softQualityOverridden: boolean;
9411
+ note?: string;
9412
+ };
9340
9413
  RulesSkillsOpenPullRequestRequestDto: {
9341
9414
  /** Format: uuid */
9342
9415
  repoId: string;
@@ -9344,7 +9417,7 @@ export interface components {
9344
9417
  mode: "validate" | "create";
9345
9418
  /**
9346
9419
  * Format: uuid
9347
- * @description Reserved for Create-mode sessions; validate mode uses proposedFiles.
9420
+ * @description Reserved for persisted create sessions; currently pass proposedFiles.
9348
9421
  */
9349
9422
  sessionId?: string;
9350
9423
  proposedFiles?: components["schemas"]["RulesSkillsProposedFileDto"][];
@@ -9912,7 +9985,7 @@ export interface components {
9912
9985
  * @description Type of workspace lifecycle event.
9913
9986
  * @enum {string}
9914
9987
  */
9915
- 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";
9988
+ 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" | "rules_skills.soft_quality.override" | "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";
9916
9989
  /** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
9917
9990
  AggregateUseNoticeStatusDto: {
9918
9991
  /** @enum {string} */
@@ -12992,6 +13065,8 @@ export type SonarQubeRepoMappingValidateRowDto = components['schemas']['SonarQub
12992
13065
  export type SonarQubeRepoMappingsValidateResponseDto = components['schemas']['SonarQubeRepoMappingsValidateResponseDto'];
12993
13066
  export type PagerDutySourceDto = components['schemas']['PagerDutySourceDto'];
12994
13067
  export type PagerDutySourceConfigDto = components['schemas']['PagerDutySourceConfigDto'];
13068
+ export type SentrySourceDto = components['schemas']['SentrySourceDto'];
13069
+ export type SentrySourceConfigDto = components['schemas']['SentrySourceConfigDto'];
12995
13070
  export type JiraSourceDto = components['schemas']['JiraSourceDto'];
12996
13071
  export type JiraSourceConfigDto = components['schemas']['JiraSourceConfigDto'];
12997
13072
  export type AgentExecutionProviderDto = components['schemas']['AgentExecutionProviderDto'];
@@ -13253,6 +13328,8 @@ export type RulesSkillsSoftQualityCheckDto = components['schemas']['RulesSkillsS
13253
13328
  export type RulesSkillsSoftQualitySummaryDto = components['schemas']['RulesSkillsSoftQualitySummaryDto'];
13254
13329
  export type RulesSkillsProposedFileDto = components['schemas']['RulesSkillsProposedFileDto'];
13255
13330
  export type RulesSkillsValidateResponseDto = components['schemas']['RulesSkillsValidateResponseDto'];
13331
+ export type RulesSkillsCreateRequestDto = components['schemas']['RulesSkillsCreateRequestDto'];
13332
+ export type RulesSkillsCreateResponseDto = components['schemas']['RulesSkillsCreateResponseDto'];
13256
13333
  export type RulesSkillsOpenPullRequestRequestDto = components['schemas']['RulesSkillsOpenPullRequestRequestDto'];
13257
13334
  export type RulesSkillsOpenPullRequestResponseDto = components['schemas']['RulesSkillsOpenPullRequestResponseDto'];
13258
13335
  export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
@@ -16330,7 +16407,7 @@ export interface operations {
16330
16407
  requestBody: {
16331
16408
  content: {
16332
16409
  "application/json": {
16333
- sources: (components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"])[];
16410
+ sources: (components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["SentrySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"])[];
16334
16411
  };
16335
16412
  };
16336
16413
  };
@@ -16384,7 +16461,7 @@ export interface operations {
16384
16461
  };
16385
16462
  requestBody: {
16386
16463
  content: {
16387
- "application/json": components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"];
16464
+ "application/json": components["schemas"]["CursorSourcePatchDto"] | components["schemas"]["CursorSourceDto"] | components["schemas"]["ClaudeSourcePatchDto"] | components["schemas"]["ClaudeSourceDto"] | components["schemas"]["CodeIntelligenceSourcePatchDto"] | components["schemas"]["NewRelicSourceDto"] | components["schemas"]["DatadogSourceDto"] | components["schemas"]["PrometheusSourceDto"] | components["schemas"]["GrafanaSourceDto"] | components["schemas"]["SonarQubeSourceDto"] | components["schemas"]["PagerDutySourceDto"] | components["schemas"]["SentrySourceDto"] | components["schemas"]["JiraSourceDto"] | components["schemas"]["TenantSourceEntryDto"];
16388
16465
  };
16389
16466
  };
16390
16467
  responses: {
@@ -23055,6 +23132,79 @@ export interface operations {
23055
23132
  };
23056
23133
  };
23057
23134
  };
23135
+ postRulesSkillsCreate: {
23136
+ parameters: {
23137
+ query?: never;
23138
+ header?: never;
23139
+ path: {
23140
+ workspaceId: components["parameters"]["WorkspaceId"];
23141
+ };
23142
+ cookie?: never;
23143
+ };
23144
+ requestBody: {
23145
+ content: {
23146
+ "application/json": components["schemas"]["RulesSkillsCreateRequestDto"];
23147
+ };
23148
+ };
23149
+ responses: {
23150
+ /** @description Drafts generated (may include soft-quality blockingFailures) */
23151
+ 200: {
23152
+ headers: {
23153
+ [name: string]: unknown;
23154
+ };
23155
+ content: {
23156
+ "application/json": components["schemas"]["RulesSkillsCreateResponseDto"];
23157
+ };
23158
+ };
23159
+ /** @description Missing intent and criterionIds, or override without reason (`code: intent_or_criterion_required` | `override_reason_required`) */
23160
+ 400: {
23161
+ headers: {
23162
+ [name: string]: unknown;
23163
+ };
23164
+ content: {
23165
+ "application/json": components["schemas"]["ErrorMessageDto"];
23166
+ };
23167
+ };
23168
+ 401: components["responses"]["Unauthorized"];
23169
+ 403: components["responses"]["Forbidden"];
23170
+ /** @description Workspace, repository, or GitHub installation not found */
23171
+ 404: {
23172
+ headers: {
23173
+ [name: string]: unknown;
23174
+ };
23175
+ content: {
23176
+ "application/json": components["schemas"]["ErrorMessageDto"];
23177
+ };
23178
+ };
23179
+ /** @description No succeeded readiness scan (`readiness_scan_required`), non-GitHub repo, or agent drafts missing required hub/rule/skill coverage (`rules_skills_create_incomplete`) */
23180
+ 422: {
23181
+ headers: {
23182
+ [name: string]: unknown;
23183
+ };
23184
+ content: {
23185
+ "application/json": components["schemas"]["ErrorMessageDto"];
23186
+ };
23187
+ };
23188
+ /** @description Create rate limit exceeded */
23189
+ 429: {
23190
+ headers: {
23191
+ [name: string]: unknown;
23192
+ };
23193
+ content: {
23194
+ "application/json": components["schemas"]["ErrorMessageDto"];
23195
+ };
23196
+ };
23197
+ /** @description Agent execution credential missing (`agent_execution_unavailable`) or clone/agent run failed (`rules_skills_create_failed`) */
23198
+ 503: {
23199
+ headers: {
23200
+ [name: string]: unknown;
23201
+ };
23202
+ content: {
23203
+ "application/json": components["schemas"]["ErrorMessageDto"];
23204
+ };
23205
+ };
23206
+ };
23207
+ };
23058
23208
  postRulesSkillsPullRequest: {
23059
23209
  parameters: {
23060
23210
  query?: never;