@thinkai/tai-api-contract 2.191.0 → 2.192.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/generated/openapi.d.ts +170 -3
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +147 -5
- package/package.json +1 -1
- package/src/generated/openapi.ts +170 -3
|
@@ -2363,6 +2363,46 @@ export interface paths {
|
|
|
2363
2363
|
patch?: never;
|
|
2364
2364
|
trace?: never;
|
|
2365
2365
|
};
|
|
2366
|
+
"/workspaces/{workspaceId}/integrations/sentry": {
|
|
2367
|
+
parameters: {
|
|
2368
|
+
query?: never;
|
|
2369
|
+
header?: never;
|
|
2370
|
+
path?: never;
|
|
2371
|
+
cookie?: never;
|
|
2372
|
+
};
|
|
2373
|
+
/**
|
|
2374
|
+
* Sentry monitoring integration status
|
|
2375
|
+
* @description Returns whether Sentry is connected for the workspace (org slug + auth token) and the last monitoring ingest sync outcome (incidents/deployments pulled into Quality and DORA metrics).
|
|
2376
|
+
*/
|
|
2377
|
+
get: operations["getWorkspaceSentryIntegrationStatus"];
|
|
2378
|
+
put?: never;
|
|
2379
|
+
post?: never;
|
|
2380
|
+
delete?: never;
|
|
2381
|
+
options?: never;
|
|
2382
|
+
head?: never;
|
|
2383
|
+
patch?: never;
|
|
2384
|
+
trace?: never;
|
|
2385
|
+
};
|
|
2386
|
+
"/workspaces/{workspaceId}/integrations/sentry/sync": {
|
|
2387
|
+
parameters: {
|
|
2388
|
+
query?: never;
|
|
2389
|
+
header?: never;
|
|
2390
|
+
path?: never;
|
|
2391
|
+
cookie?: never;
|
|
2392
|
+
};
|
|
2393
|
+
get?: never;
|
|
2394
|
+
put?: never;
|
|
2395
|
+
/**
|
|
2396
|
+
* Trigger Sentry monitoring ingest now
|
|
2397
|
+
* @description Manually polls Sentry for issues (incidents) and releases (deployments), persists canonical monitoring events, and refreshes org-level Quality/DORA dashboard buckets. Requires editor role.
|
|
2398
|
+
*/
|
|
2399
|
+
post: operations["postWorkspaceSentryIntegrationSync"];
|
|
2400
|
+
delete?: never;
|
|
2401
|
+
options?: never;
|
|
2402
|
+
head?: never;
|
|
2403
|
+
patch?: never;
|
|
2404
|
+
trace?: never;
|
|
2405
|
+
};
|
|
2366
2406
|
"/integrations/github/webhook": {
|
|
2367
2407
|
parameters: {
|
|
2368
2408
|
query?: never;
|
|
@@ -8253,6 +8293,47 @@ export interface components {
|
|
|
8253
8293
|
/** @description Error message when status is error. */
|
|
8254
8294
|
error?: string;
|
|
8255
8295
|
};
|
|
8296
|
+
SentryIntegrationStatusDto: {
|
|
8297
|
+
/** @description True when a type:sentry workspace source is configured. */
|
|
8298
|
+
connected: boolean;
|
|
8299
|
+
/** @description Configured Sentry organization slug when connected. */
|
|
8300
|
+
orgSlug?: string;
|
|
8301
|
+
/** @description Org display name when known from the last successful verify. */
|
|
8302
|
+
orgName?: string;
|
|
8303
|
+
/**
|
|
8304
|
+
* Format: date-time
|
|
8305
|
+
* @description Timestamp of the last monitoring ingest attempt (success or failure).
|
|
8306
|
+
*/
|
|
8307
|
+
lastSyncAt?: string | null;
|
|
8308
|
+
/**
|
|
8309
|
+
* @description Outcome of the most recent sync (`never` when not yet synced).
|
|
8310
|
+
* @enum {string}
|
|
8311
|
+
*/
|
|
8312
|
+
status: "ok" | "error" | "never";
|
|
8313
|
+
lastError?: string | null;
|
|
8314
|
+
/** @description Issues (incidents) fetched on the last successful sync (30d lookback). */
|
|
8315
|
+
issueCount?: number | null;
|
|
8316
|
+
/** @description Releases (deployments) fetched on the last successful sync (30d lookback). */
|
|
8317
|
+
deploymentCount?: number | null;
|
|
8318
|
+
/** @description Canonical monitoring events upserted on the last successful sync. */
|
|
8319
|
+
eventCount?: number | null;
|
|
8320
|
+
};
|
|
8321
|
+
SentryTriggerSyncResultDto: {
|
|
8322
|
+
/** @enum {string} */
|
|
8323
|
+
status: "ok" | "skipped" | "error";
|
|
8324
|
+
/** @description Stable machine-readable code (e.g. `sentry_not_connected`). */
|
|
8325
|
+
code?: string;
|
|
8326
|
+
/** @description Human-readable skip reason when status is skipped. */
|
|
8327
|
+
reason?: string;
|
|
8328
|
+
issueCount?: number;
|
|
8329
|
+
deploymentCount?: number;
|
|
8330
|
+
eventCount?: number;
|
|
8331
|
+
/** @description Weekly dashboard metric buckets updated from monitoring events. */
|
|
8332
|
+
bucketsWritten?: number;
|
|
8333
|
+
durationMs?: number;
|
|
8334
|
+
/** @description Error message when status is error. */
|
|
8335
|
+
error?: string;
|
|
8336
|
+
};
|
|
8256
8337
|
GithubActionsEnableResponseDto: {
|
|
8257
8338
|
/** @enum {string} */
|
|
8258
8339
|
outcome: "enabled" | "needs_github" | "permissions_missing" | "error";
|
|
@@ -10045,7 +10126,7 @@ export interface components {
|
|
|
10045
10126
|
* @description Type of workspace lifecycle event.
|
|
10046
10127
|
* @enum {string}
|
|
10047
10128
|
*/
|
|
10048
|
-
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";
|
|
10129
|
+
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.sentry.added" | "integrations.sentry.removed" | "integrations.sentry.sync_completed" | "integrations.sentry.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";
|
|
10049
10130
|
/** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
|
|
10050
10131
|
AggregateUseNoticeStatusDto: {
|
|
10051
10132
|
/** @enum {string} */
|
|
@@ -10208,7 +10289,7 @@ export interface components {
|
|
|
10208
10289
|
};
|
|
10209
10290
|
AssessmentDictionaryDto: {
|
|
10210
10291
|
/** @enum {string} */
|
|
10211
|
-
version: "2026-10-
|
|
10292
|
+
version: "2026-10-26.1";
|
|
10212
10293
|
/** @enum {integer} */
|
|
10213
10294
|
periodDays: 90;
|
|
10214
10295
|
/** @enum {integer} */
|
|
@@ -10244,7 +10325,7 @@ export interface components {
|
|
|
10244
10325
|
aiProviders: ("cursor" | "claude" | "copilot")[];
|
|
10245
10326
|
optionalProviders: {
|
|
10246
10327
|
roadmap: "jira"[];
|
|
10247
|
-
incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana" | "datadog")[];
|
|
10328
|
+
incident: ("pagerduty" | "opsgenie" | "goalert" | "newrelic" | "prometheus" | "grafana" | "datadog" | "sentry")[];
|
|
10248
10329
|
};
|
|
10249
10330
|
selfManagedGit: {
|
|
10250
10331
|
/** @enum {string} */
|
|
@@ -13282,6 +13363,8 @@ export type GrafanaIntegrationStatusDto = components['schemas']['GrafanaIntegrat
|
|
|
13282
13363
|
export type GrafanaTriggerSyncResultDto = components['schemas']['GrafanaTriggerSyncResultDto'];
|
|
13283
13364
|
export type DatadogIntegrationStatusDto = components['schemas']['DatadogIntegrationStatusDto'];
|
|
13284
13365
|
export type DatadogTriggerSyncResultDto = components['schemas']['DatadogTriggerSyncResultDto'];
|
|
13366
|
+
export type SentryIntegrationStatusDto = components['schemas']['SentryIntegrationStatusDto'];
|
|
13367
|
+
export type SentryTriggerSyncResultDto = components['schemas']['SentryTriggerSyncResultDto'];
|
|
13285
13368
|
export type GithubActionsEnableResponseDto = components['schemas']['GithubActionsEnableResponseDto'];
|
|
13286
13369
|
export type GithubInstallationStatusDto = components['schemas']['GithubInstallationStatusDto'];
|
|
13287
13370
|
export type GithubInstallUrlRequestDto = components['schemas']['GithubInstallUrlRequestDto'];
|
|
@@ -20449,6 +20532,90 @@ export interface operations {
|
|
|
20449
20532
|
};
|
|
20450
20533
|
};
|
|
20451
20534
|
};
|
|
20535
|
+
getWorkspaceSentryIntegrationStatus: {
|
|
20536
|
+
parameters: {
|
|
20537
|
+
query?: never;
|
|
20538
|
+
header?: never;
|
|
20539
|
+
path: {
|
|
20540
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20541
|
+
};
|
|
20542
|
+
cookie?: never;
|
|
20543
|
+
};
|
|
20544
|
+
requestBody?: never;
|
|
20545
|
+
responses: {
|
|
20546
|
+
/** @description Sentry integration status */
|
|
20547
|
+
200: {
|
|
20548
|
+
headers: {
|
|
20549
|
+
[name: string]: unknown;
|
|
20550
|
+
};
|
|
20551
|
+
content: {
|
|
20552
|
+
"application/json": components["schemas"]["SentryIntegrationStatusDto"];
|
|
20553
|
+
};
|
|
20554
|
+
};
|
|
20555
|
+
401: components["responses"]["Unauthorized"];
|
|
20556
|
+
403: components["responses"]["Forbidden"];
|
|
20557
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
20558
|
+
404: {
|
|
20559
|
+
headers: {
|
|
20560
|
+
[name: string]: unknown;
|
|
20561
|
+
};
|
|
20562
|
+
content: {
|
|
20563
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20564
|
+
};
|
|
20565
|
+
};
|
|
20566
|
+
};
|
|
20567
|
+
};
|
|
20568
|
+
postWorkspaceSentryIntegrationSync: {
|
|
20569
|
+
parameters: {
|
|
20570
|
+
query?: never;
|
|
20571
|
+
header?: never;
|
|
20572
|
+
path: {
|
|
20573
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
20574
|
+
};
|
|
20575
|
+
cookie?: never;
|
|
20576
|
+
};
|
|
20577
|
+
requestBody?: never;
|
|
20578
|
+
responses: {
|
|
20579
|
+
/** @description Sync completed */
|
|
20580
|
+
200: {
|
|
20581
|
+
headers: {
|
|
20582
|
+
[name: string]: unknown;
|
|
20583
|
+
};
|
|
20584
|
+
content: {
|
|
20585
|
+
"application/json": components["schemas"]["SentryTriggerSyncResultDto"];
|
|
20586
|
+
};
|
|
20587
|
+
};
|
|
20588
|
+
401: components["responses"]["Unauthorized"];
|
|
20589
|
+
403: components["responses"]["Forbidden"];
|
|
20590
|
+
/** @description Workspace does not exist or malformed workspaceId */
|
|
20591
|
+
404: {
|
|
20592
|
+
headers: {
|
|
20593
|
+
[name: string]: unknown;
|
|
20594
|
+
};
|
|
20595
|
+
content: {
|
|
20596
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
20597
|
+
};
|
|
20598
|
+
};
|
|
20599
|
+
/** @description Sentry is not connected on this workspace */
|
|
20600
|
+
422: {
|
|
20601
|
+
headers: {
|
|
20602
|
+
[name: string]: unknown;
|
|
20603
|
+
};
|
|
20604
|
+
content: {
|
|
20605
|
+
"application/json": components["schemas"]["SentryTriggerSyncResultDto"];
|
|
20606
|
+
};
|
|
20607
|
+
};
|
|
20608
|
+
/** @description Sync failed (Sentry API or persistence error) */
|
|
20609
|
+
503: {
|
|
20610
|
+
headers: {
|
|
20611
|
+
[name: string]: unknown;
|
|
20612
|
+
};
|
|
20613
|
+
content: {
|
|
20614
|
+
"application/json": components["schemas"]["SentryTriggerSyncResultDto"];
|
|
20615
|
+
};
|
|
20616
|
+
};
|
|
20617
|
+
};
|
|
20618
|
+
};
|
|
20452
20619
|
postGithubWebhook: {
|
|
20453
20620
|
parameters: {
|
|
20454
20621
|
query?: never;
|