@thinkai/tai-api-contract 2.162.0 → 2.163.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 +169 -2
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +176 -2
- package/package.json +1 -1
- package/src/generated/openapi.ts +169 -2
|
@@ -2419,6 +2419,30 @@ export interface paths {
|
|
|
2419
2419
|
patch?: never;
|
|
2420
2420
|
trace?: never;
|
|
2421
2421
|
};
|
|
2422
|
+
"/workspaces/{workspaceId}/aggregate-use-consent": {
|
|
2423
|
+
parameters: {
|
|
2424
|
+
query?: never;
|
|
2425
|
+
header?: never;
|
|
2426
|
+
path?: never;
|
|
2427
|
+
cookie?: never;
|
|
2428
|
+
};
|
|
2429
|
+
/**
|
|
2430
|
+
* Read anonymized aggregate-use permission
|
|
2431
|
+
* @description Returns whether ThinkAI may use this workspace's anonymized aggregate results in marketing and peer benchmarks. A workspace that never chose returns `unset`, which behaves as opted out (`effective: false`). The permission never covers company name, logo, quote, raw report, repository or person identity, or customer reference. Any workspace member may read it.
|
|
2432
|
+
*/
|
|
2433
|
+
get: operations["getAggregateUseConsent"];
|
|
2434
|
+
/**
|
|
2435
|
+
* Set anonymized aggregate-use permission
|
|
2436
|
+
* @description Workspace admins opt in or out. Every change writes one `workspace.aggregate_use.changed` activity-log row in the same transaction. Moving from `opt_in` to `opt_out` records a withdrawal and stops future extraction. Opt-in requires the current legal-approved notice version; while no notice is approved, opt-in returns `409 aggregate_use_notice_unapproved`. Opt-out is always accepted. A refusal does not change price, delivery, support, or assessment output.
|
|
2437
|
+
*/
|
|
2438
|
+
put: operations["putAggregateUseConsent"];
|
|
2439
|
+
post?: never;
|
|
2440
|
+
delete?: never;
|
|
2441
|
+
options?: never;
|
|
2442
|
+
head?: never;
|
|
2443
|
+
patch?: never;
|
|
2444
|
+
trace?: never;
|
|
2445
|
+
};
|
|
2422
2446
|
"/workspaces/{workspaceId}/report-center/exports": {
|
|
2423
2447
|
parameters: {
|
|
2424
2448
|
query?: never;
|
|
@@ -8724,11 +8748,55 @@ export interface components {
|
|
|
8724
8748
|
* @description Type of workspace lifecycle event.
|
|
8725
8749
|
* @enum {string}
|
|
8726
8750
|
*/
|
|
8727
|
-
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "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";
|
|
8751
|
+
ActivityLogEventTypeDto: "repo.added" | "repo.removed" | "repo.readded" | "integration.github.added" | "integration.github.updated" | "integration.github.removed" | "integration.github.permissions_changed" | "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" | "workspace.aggregate_use.changed";
|
|
8728
8752
|
UnsetAssessmentDecisionDto: {
|
|
8729
8753
|
/** @enum {string} */
|
|
8730
8754
|
status: "unset";
|
|
8731
8755
|
};
|
|
8756
|
+
/** @description Current legal-approved opt-in notice, or `unset` while opt-in is unavailable. */
|
|
8757
|
+
AggregateUseNoticeStatusDto: {
|
|
8758
|
+
/** @enum {string} */
|
|
8759
|
+
status: "approved" | "unset";
|
|
8760
|
+
/** @description Present only when `status` is `approved`. Send it back on opt-in. */
|
|
8761
|
+
version?: string;
|
|
8762
|
+
};
|
|
8763
|
+
AggregateUseConsentDto: {
|
|
8764
|
+
/**
|
|
8765
|
+
* @description Saved choice. `unset` means the workspace never chose and is treated as opted out.
|
|
8766
|
+
* @enum {string}
|
|
8767
|
+
*/
|
|
8768
|
+
aggregateUse: "opt_in" | "opt_out" | "unset";
|
|
8769
|
+
/** @description True only for `opt_in`. Benchmark and marketing extraction must check this. */
|
|
8770
|
+
effective: boolean;
|
|
8771
|
+
/** @description Notice version accepted with the current opt-in; null otherwise. */
|
|
8772
|
+
noticeVersion: string | null;
|
|
8773
|
+
/** @enum {string|null} */
|
|
8774
|
+
source: "workspace_settings" | null;
|
|
8775
|
+
/**
|
|
8776
|
+
* Format: date-time
|
|
8777
|
+
* @description When the current choice was saved; null when `unset`.
|
|
8778
|
+
*/
|
|
8779
|
+
recordedAt: string | null;
|
|
8780
|
+
recordedBy: {
|
|
8781
|
+
/** Format: uuid */
|
|
8782
|
+
userId: string;
|
|
8783
|
+
displayName: string | null;
|
|
8784
|
+
} | null;
|
|
8785
|
+
/**
|
|
8786
|
+
* Format: date-time
|
|
8787
|
+
* @description Most recent opt-in withdrawal while the workspace remains opted out.
|
|
8788
|
+
*/
|
|
8789
|
+
withdrawnAt: string | null;
|
|
8790
|
+
currentNotice: components["schemas"]["AggregateUseNoticeStatusDto"];
|
|
8791
|
+
/** @description Exact sentence the assessment PDF prints beside `recordedAt`. Opted-out and unset workspaces get the fixed refusal sentence. Opt-in returns the approved sentence for the accepted notice, or null if that notice is unknown, which blocks validation. */
|
|
8792
|
+
reportSentence: string | null;
|
|
8793
|
+
};
|
|
8794
|
+
AggregateUseConsentPutDto: {
|
|
8795
|
+
/** @enum {string} */
|
|
8796
|
+
aggregateUse: "opt_in" | "opt_out";
|
|
8797
|
+
/** @description Required for `opt_in` and must equal `currentNotice.version`. Ignored for `opt_out`. */
|
|
8798
|
+
noticeVersion?: string | null;
|
|
8799
|
+
};
|
|
8732
8800
|
AssessmentDictionaryDto: {
|
|
8733
8801
|
/** @enum {string} */
|
|
8734
8802
|
version: "2026-10-18.1";
|
|
@@ -11323,6 +11391,9 @@ export type PutAgenticFoundationRepoScopeFailureDto = components['schemas']['Put
|
|
|
11323
11391
|
export type PutAgenticFoundationRepoScopeResponseDto = components['schemas']['PutAgenticFoundationRepoScopeResponseDto'];
|
|
11324
11392
|
export type ActivityLogEventTypeDto = components['schemas']['ActivityLogEventTypeDto'];
|
|
11325
11393
|
export type UnsetAssessmentDecisionDto = components['schemas']['UnsetAssessmentDecisionDto'];
|
|
11394
|
+
export type AggregateUseNoticeStatusDto = components['schemas']['AggregateUseNoticeStatusDto'];
|
|
11395
|
+
export type AggregateUseConsentDto = components['schemas']['AggregateUseConsentDto'];
|
|
11396
|
+
export type AggregateUseConsentPutDto = components['schemas']['AggregateUseConsentPutDto'];
|
|
11326
11397
|
export type AssessmentDictionaryDto = components['schemas']['AssessmentDictionaryDto'];
|
|
11327
11398
|
export type ReportCenterExportRecordBodyDto = components['schemas']['ReportCenterExportRecordBodyDto'];
|
|
11328
11399
|
export type ReportCenterExportRecordResponseDto = components['schemas']['ReportCenterExportRecordResponseDto'];
|
|
@@ -17983,6 +18054,102 @@ export interface operations {
|
|
|
17983
18054
|
};
|
|
17984
18055
|
};
|
|
17985
18056
|
};
|
|
18057
|
+
getAggregateUseConsent: {
|
|
18058
|
+
parameters: {
|
|
18059
|
+
query?: never;
|
|
18060
|
+
header?: never;
|
|
18061
|
+
path: {
|
|
18062
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
18063
|
+
};
|
|
18064
|
+
cookie?: never;
|
|
18065
|
+
};
|
|
18066
|
+
requestBody?: never;
|
|
18067
|
+
responses: {
|
|
18068
|
+
/** @description Current permission and the sentence reports must print */
|
|
18069
|
+
200: {
|
|
18070
|
+
headers: {
|
|
18071
|
+
[name: string]: unknown;
|
|
18072
|
+
};
|
|
18073
|
+
content: {
|
|
18074
|
+
"application/json": components["schemas"]["AggregateUseConsentDto"];
|
|
18075
|
+
};
|
|
18076
|
+
};
|
|
18077
|
+
401: components["responses"]["Unauthorized"];
|
|
18078
|
+
403: components["responses"]["Forbidden"];
|
|
18079
|
+
/** @description Workspace does not exist */
|
|
18080
|
+
404: {
|
|
18081
|
+
headers: {
|
|
18082
|
+
[name: string]: unknown;
|
|
18083
|
+
};
|
|
18084
|
+
content: {
|
|
18085
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
18086
|
+
};
|
|
18087
|
+
};
|
|
18088
|
+
};
|
|
18089
|
+
};
|
|
18090
|
+
putAggregateUseConsent: {
|
|
18091
|
+
parameters: {
|
|
18092
|
+
query?: never;
|
|
18093
|
+
header?: never;
|
|
18094
|
+
path: {
|
|
18095
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
18096
|
+
};
|
|
18097
|
+
cookie?: never;
|
|
18098
|
+
};
|
|
18099
|
+
requestBody: {
|
|
18100
|
+
content: {
|
|
18101
|
+
"application/json": components["schemas"]["AggregateUseConsentPutDto"];
|
|
18102
|
+
};
|
|
18103
|
+
};
|
|
18104
|
+
responses: {
|
|
18105
|
+
/** @description Saved permission */
|
|
18106
|
+
200: {
|
|
18107
|
+
headers: {
|
|
18108
|
+
[name: string]: unknown;
|
|
18109
|
+
};
|
|
18110
|
+
content: {
|
|
18111
|
+
"application/json": components["schemas"]["AggregateUseConsentDto"];
|
|
18112
|
+
};
|
|
18113
|
+
};
|
|
18114
|
+
/** @description Invalid body (`code`: `invalid_input`) */
|
|
18115
|
+
400: {
|
|
18116
|
+
headers: {
|
|
18117
|
+
[name: string]: unknown;
|
|
18118
|
+
};
|
|
18119
|
+
content: {
|
|
18120
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
18121
|
+
};
|
|
18122
|
+
};
|
|
18123
|
+
401: components["responses"]["Unauthorized"];
|
|
18124
|
+
/** @description Caller is not a workspace admin (`code`: `workspace_admin_required`) */
|
|
18125
|
+
403: {
|
|
18126
|
+
headers: {
|
|
18127
|
+
[name: string]: unknown;
|
|
18128
|
+
};
|
|
18129
|
+
content: {
|
|
18130
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
18131
|
+
};
|
|
18132
|
+
};
|
|
18133
|
+
/** @description Workspace does not exist */
|
|
18134
|
+
404: {
|
|
18135
|
+
headers: {
|
|
18136
|
+
[name: string]: unknown;
|
|
18137
|
+
};
|
|
18138
|
+
content: {
|
|
18139
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
18140
|
+
};
|
|
18141
|
+
};
|
|
18142
|
+
/** @description Opt-in refused because no notice is approved (`aggregate_use_notice_unapproved`) or the submitted notice version is not current (`aggregate_use_notice_stale`). */
|
|
18143
|
+
409: {
|
|
18144
|
+
headers: {
|
|
18145
|
+
[name: string]: unknown;
|
|
18146
|
+
};
|
|
18147
|
+
content: {
|
|
18148
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
18149
|
+
};
|
|
18150
|
+
};
|
|
18151
|
+
};
|
|
18152
|
+
};
|
|
17986
18153
|
recordReportCenterExport: {
|
|
17987
18154
|
parameters: {
|
|
17988
18155
|
query?: never;
|
|
@@ -18049,7 +18216,7 @@ export interface operations {
|
|
|
18049
18216
|
order?: components["parameters"]["PaginationOrder"];
|
|
18050
18217
|
/** @description Server-side sort column (the activity "5 W's"). Combined with `order` (asc/desc). Defaults to `when` (occurredAt). `occurredAt`/`id` is always the tiebreaker. */
|
|
18051
18218
|
sort?: "when" | "who" | "what" | "why" | "where";
|
|
18052
|
-
/** @description Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events; `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS + report exports; `productivity` = productivity ingest lifecycle events. Omit (or pass `all`) for every area. */
|
|
18219
|
+
/** @description Coarse product-area grouping filter (#156). `integration` = GitHub + AI-tool key events; `agentic_foundation` = repos, readiness scans, fixes; `workspace_team` = members + HRIS + report exports + workspace settings; `productivity` = productivity ingest lifecycle events. Omit (or pass `all`) for every area. */
|
|
18053
18220
|
productArea?: "integration" | "agentic_foundation" | "workspace_team" | "productivity" | "all";
|
|
18054
18221
|
/** @description Filter to a specific event type. */
|
|
18055
18222
|
eventType?: components["schemas"]["ActivityLogEventTypeDto"];
|