@thinkai/tai-api-contract 2.67.0 → 2.68.0-pr.945.8ba31b6f
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 +323 -1
- package/dist/generated/openapi.d.ts.map +1 -1
- package/openapi/openapi.yaml +233 -1
- package/package.json +1 -1
- package/src/generated/openapi.ts +323 -1
|
@@ -2889,6 +2889,86 @@ export interface paths {
|
|
|
2889
2889
|
patch?: never;
|
|
2890
2890
|
trace?: never;
|
|
2891
2891
|
};
|
|
2892
|
+
"/workspaces/{workspaceId}/integrations/zelt/authorize-url": {
|
|
2893
|
+
parameters: {
|
|
2894
|
+
query?: never;
|
|
2895
|
+
header?: never;
|
|
2896
|
+
path?: never;
|
|
2897
|
+
cookie?: never;
|
|
2898
|
+
};
|
|
2899
|
+
get?: never;
|
|
2900
|
+
put?: never;
|
|
2901
|
+
/**
|
|
2902
|
+
* Start Zelt OAuth authorize
|
|
2903
|
+
* @description Mints OAuth state with pending Client ID/Secret and returns the Zelt authorize URL. Workspace **admin** only. No branch selection (company-scoped partner API).
|
|
2904
|
+
*/
|
|
2905
|
+
post: operations["postWorkspaceZeltAuthorizeUrl"];
|
|
2906
|
+
delete?: never;
|
|
2907
|
+
options?: never;
|
|
2908
|
+
head?: never;
|
|
2909
|
+
patch?: never;
|
|
2910
|
+
trace?: never;
|
|
2911
|
+
};
|
|
2912
|
+
"/workspaces/{workspaceId}/integrations/zelt/reauthorize-url": {
|
|
2913
|
+
parameters: {
|
|
2914
|
+
query?: never;
|
|
2915
|
+
header?: never;
|
|
2916
|
+
path?: never;
|
|
2917
|
+
cookie?: never;
|
|
2918
|
+
};
|
|
2919
|
+
get?: never;
|
|
2920
|
+
put?: never;
|
|
2921
|
+
/**
|
|
2922
|
+
* Start Zelt OAuth reauthorize from stored credentials
|
|
2923
|
+
* @description Starts Zelt OAuth using credentials already stored on the workspace source (no Client Secret in the request body). Workspace **admin** only.
|
|
2924
|
+
*/
|
|
2925
|
+
post: operations["postWorkspaceZeltReauthorizeUrl"];
|
|
2926
|
+
delete?: never;
|
|
2927
|
+
options?: never;
|
|
2928
|
+
head?: never;
|
|
2929
|
+
patch?: never;
|
|
2930
|
+
trace?: never;
|
|
2931
|
+
};
|
|
2932
|
+
"/workspaces/{workspaceId}/integrations/zelt/reconnect": {
|
|
2933
|
+
parameters: {
|
|
2934
|
+
query?: never;
|
|
2935
|
+
header?: never;
|
|
2936
|
+
path?: never;
|
|
2937
|
+
cookie?: never;
|
|
2938
|
+
};
|
|
2939
|
+
get?: never;
|
|
2940
|
+
put?: never;
|
|
2941
|
+
/**
|
|
2942
|
+
* Attempt silent Zelt reconnect
|
|
2943
|
+
* @description Attempts a silent token refresh and users ping using stored Zelt OAuth credentials. Returns `{ ok: true }` when the connection is restored without user interaction. Returns `{ ok: false, oauthRequired: true }` when stored credentials exist but refresh failed with an OAuth re-authorization error; the SPA should start Zelt OAuth next. Returns `503` with `zelt_sync_in_progress` when an HRIS sync or OAuth refresh is already in progress for this workspace (retry shortly).
|
|
2944
|
+
*/
|
|
2945
|
+
post: operations["reconnectWorkspaceZelt"];
|
|
2946
|
+
delete?: never;
|
|
2947
|
+
options?: never;
|
|
2948
|
+
head?: never;
|
|
2949
|
+
patch?: never;
|
|
2950
|
+
trace?: never;
|
|
2951
|
+
};
|
|
2952
|
+
"/integrations/zelt/oauth/callback": {
|
|
2953
|
+
parameters: {
|
|
2954
|
+
query?: never;
|
|
2955
|
+
header?: never;
|
|
2956
|
+
path?: never;
|
|
2957
|
+
cookie?: never;
|
|
2958
|
+
};
|
|
2959
|
+
/**
|
|
2960
|
+
* Zelt OAuth callback
|
|
2961
|
+
* @description Public browser redirect target after Zelt authorization. Exchanges the code, stores the encrypted `zelt` workspace source, emits `integrations.zelt.added` on first connect, and redirects the SPA with `?zelt=connected|error`.
|
|
2962
|
+
*/
|
|
2963
|
+
get: operations["getZeltOauthCallback"];
|
|
2964
|
+
put?: never;
|
|
2965
|
+
post?: never;
|
|
2966
|
+
delete?: never;
|
|
2967
|
+
options?: never;
|
|
2968
|
+
head?: never;
|
|
2969
|
+
patch?: never;
|
|
2970
|
+
trace?: never;
|
|
2971
|
+
};
|
|
2892
2972
|
"/workspaces/{workspaceId}/integrations/zenhr/reconnect": {
|
|
2893
2973
|
parameters: {
|
|
2894
2974
|
query?: never;
|
|
@@ -6111,7 +6191,7 @@ export interface components {
|
|
|
6111
6191
|
* @description Type of workspace lifecycle event.
|
|
6112
6192
|
* @enum {string}
|
|
6113
6193
|
*/
|
|
6114
|
-
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" | "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.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.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" | "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";
|
|
6194
|
+
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" | "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.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.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" | "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";
|
|
6115
6195
|
ActivityLogActorDto: {
|
|
6116
6196
|
/** Format: uuid */
|
|
6117
6197
|
userId: string;
|
|
@@ -6204,6 +6284,34 @@ export interface components {
|
|
|
6204
6284
|
*/
|
|
6205
6285
|
error?: "zenhr_oauth_required";
|
|
6206
6286
|
};
|
|
6287
|
+
ZeltAuthorizeUrlRequestDto: {
|
|
6288
|
+
clientId: string;
|
|
6289
|
+
clientSecret: string;
|
|
6290
|
+
/** @description Defaults to `https://go.zelt.app` when omitted. */
|
|
6291
|
+
baseUrl?: string;
|
|
6292
|
+
/** @description Optional OAuth `app` query param when required by the tenant. */
|
|
6293
|
+
appName?: string;
|
|
6294
|
+
/** @description SPA path to return to after OAuth (must start with `/`). */
|
|
6295
|
+
returnPath?: string;
|
|
6296
|
+
};
|
|
6297
|
+
ZeltReauthorizeUrlRequestDto: {
|
|
6298
|
+
returnPath?: string;
|
|
6299
|
+
};
|
|
6300
|
+
ZeltAuthorizeUrlResponseDto: {
|
|
6301
|
+
/** Format: uri */
|
|
6302
|
+
url: string;
|
|
6303
|
+
state: string;
|
|
6304
|
+
};
|
|
6305
|
+
ZeltReconnectResultDto: {
|
|
6306
|
+
ok: boolean;
|
|
6307
|
+
/** @description When true with ok=false, stored credentials exist but refresh failed with an OAuth re-authorization error; the SPA should start Zelt OAuth next. */
|
|
6308
|
+
oauthRequired?: boolean;
|
|
6309
|
+
/**
|
|
6310
|
+
* @description Machine-readable code when ok=false and oauthRequired=true.
|
|
6311
|
+
* @enum {string}
|
|
6312
|
+
*/
|
|
6313
|
+
error?: "zelt_oauth_required";
|
|
6314
|
+
};
|
|
6207
6315
|
ZenHrBranchDto: {
|
|
6208
6316
|
id: string;
|
|
6209
6317
|
name: string;
|
|
@@ -6982,6 +7090,10 @@ export type WorkspaceAbsenceListDto = components['schemas']['WorkspaceAbsenceLis
|
|
|
6982
7090
|
export type HrisSyncStatusDto = components['schemas']['HrisSyncStatusDto'];
|
|
6983
7091
|
export type HrisSyncStatusListDto = components['schemas']['HrisSyncStatusListDto'];
|
|
6984
7092
|
export type ZenHrReconnectResultDto = components['schemas']['ZenHrReconnectResultDto'];
|
|
7093
|
+
export type ZeltAuthorizeUrlRequestDto = components['schemas']['ZeltAuthorizeUrlRequestDto'];
|
|
7094
|
+
export type ZeltReauthorizeUrlRequestDto = components['schemas']['ZeltReauthorizeUrlRequestDto'];
|
|
7095
|
+
export type ZeltAuthorizeUrlResponseDto = components['schemas']['ZeltAuthorizeUrlResponseDto'];
|
|
7096
|
+
export type ZeltReconnectResultDto = components['schemas']['ZeltReconnectResultDto'];
|
|
6985
7097
|
export type ZenHrBranchDto = components['schemas']['ZenHrBranchDto'];
|
|
6986
7098
|
export type ZenHrBranchesListDto = components['schemas']['ZenHrBranchesListDto'];
|
|
6987
7099
|
export type ZenHrBranchSelectionDto = components['schemas']['ZenHrBranchSelectionDto'];
|
|
@@ -14528,6 +14640,216 @@ export interface operations {
|
|
|
14528
14640
|
403: components["responses"]["Forbidden"];
|
|
14529
14641
|
};
|
|
14530
14642
|
};
|
|
14643
|
+
postWorkspaceZeltAuthorizeUrl: {
|
|
14644
|
+
parameters: {
|
|
14645
|
+
query?: never;
|
|
14646
|
+
header?: never;
|
|
14647
|
+
path: {
|
|
14648
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
14649
|
+
};
|
|
14650
|
+
cookie?: never;
|
|
14651
|
+
};
|
|
14652
|
+
requestBody: {
|
|
14653
|
+
content: {
|
|
14654
|
+
"application/json": components["schemas"]["ZeltAuthorizeUrlRequestDto"];
|
|
14655
|
+
};
|
|
14656
|
+
};
|
|
14657
|
+
responses: {
|
|
14658
|
+
/** @description Authorize URL and opaque state */
|
|
14659
|
+
200: {
|
|
14660
|
+
headers: {
|
|
14661
|
+
[name: string]: unknown;
|
|
14662
|
+
};
|
|
14663
|
+
content: {
|
|
14664
|
+
/**
|
|
14665
|
+
* @example {
|
|
14666
|
+
* "url": "https://go.zelt.app/oauth/authorize?client_id=example&redirect_uri=https%3A%2F%2Fapi.example.com%2Fintegrations%2Fzelt%2Foauth%2Fcallback&response_type=code&state=example-state&scope=user.basicInfo%3Aread",
|
|
14667
|
+
* "state": "example-state"
|
|
14668
|
+
* }
|
|
14669
|
+
*/
|
|
14670
|
+
"application/json": components["schemas"]["ZeltAuthorizeUrlResponseDto"];
|
|
14671
|
+
};
|
|
14672
|
+
};
|
|
14673
|
+
/** @description Invalid request body or return path */
|
|
14674
|
+
400: {
|
|
14675
|
+
headers: {
|
|
14676
|
+
[name: string]: unknown;
|
|
14677
|
+
};
|
|
14678
|
+
content: {
|
|
14679
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14680
|
+
};
|
|
14681
|
+
};
|
|
14682
|
+
401: components["responses"]["Unauthorized"];
|
|
14683
|
+
403: components["responses"]["Forbidden"];
|
|
14684
|
+
/** @description API public origin is not configured */
|
|
14685
|
+
503: {
|
|
14686
|
+
headers: {
|
|
14687
|
+
[name: string]: unknown;
|
|
14688
|
+
};
|
|
14689
|
+
content: {
|
|
14690
|
+
/**
|
|
14691
|
+
* @example {
|
|
14692
|
+
* "error": "api_public_origin_not_configured"
|
|
14693
|
+
* }
|
|
14694
|
+
*/
|
|
14695
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14696
|
+
};
|
|
14697
|
+
};
|
|
14698
|
+
};
|
|
14699
|
+
};
|
|
14700
|
+
postWorkspaceZeltReauthorizeUrl: {
|
|
14701
|
+
parameters: {
|
|
14702
|
+
query?: never;
|
|
14703
|
+
header?: never;
|
|
14704
|
+
path: {
|
|
14705
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
14706
|
+
};
|
|
14707
|
+
cookie?: never;
|
|
14708
|
+
};
|
|
14709
|
+
requestBody?: {
|
|
14710
|
+
content: {
|
|
14711
|
+
"application/json": components["schemas"]["ZeltReauthorizeUrlRequestDto"];
|
|
14712
|
+
};
|
|
14713
|
+
};
|
|
14714
|
+
responses: {
|
|
14715
|
+
/** @description Authorize URL and opaque state */
|
|
14716
|
+
200: {
|
|
14717
|
+
headers: {
|
|
14718
|
+
[name: string]: unknown;
|
|
14719
|
+
};
|
|
14720
|
+
content: {
|
|
14721
|
+
"application/json": components["schemas"]["ZeltAuthorizeUrlResponseDto"];
|
|
14722
|
+
};
|
|
14723
|
+
};
|
|
14724
|
+
/** @description Invalid return path */
|
|
14725
|
+
400: {
|
|
14726
|
+
headers: {
|
|
14727
|
+
[name: string]: unknown;
|
|
14728
|
+
};
|
|
14729
|
+
content: {
|
|
14730
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14731
|
+
};
|
|
14732
|
+
};
|
|
14733
|
+
401: components["responses"]["Unauthorized"];
|
|
14734
|
+
403: components["responses"]["Forbidden"];
|
|
14735
|
+
/** @description Zelt is not connected for this workspace */
|
|
14736
|
+
404: {
|
|
14737
|
+
headers: {
|
|
14738
|
+
[name: string]: unknown;
|
|
14739
|
+
};
|
|
14740
|
+
content: {
|
|
14741
|
+
/**
|
|
14742
|
+
* @example {
|
|
14743
|
+
* "error": "zelt_not_connected"
|
|
14744
|
+
* }
|
|
14745
|
+
*/
|
|
14746
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14747
|
+
};
|
|
14748
|
+
};
|
|
14749
|
+
/** @description API public origin is not configured */
|
|
14750
|
+
503: {
|
|
14751
|
+
headers: {
|
|
14752
|
+
[name: string]: unknown;
|
|
14753
|
+
};
|
|
14754
|
+
content: {
|
|
14755
|
+
/**
|
|
14756
|
+
* @example {
|
|
14757
|
+
* "error": "api_public_origin_not_configured"
|
|
14758
|
+
* }
|
|
14759
|
+
*/
|
|
14760
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14761
|
+
};
|
|
14762
|
+
};
|
|
14763
|
+
};
|
|
14764
|
+
};
|
|
14765
|
+
reconnectWorkspaceZelt: {
|
|
14766
|
+
parameters: {
|
|
14767
|
+
query?: never;
|
|
14768
|
+
header?: never;
|
|
14769
|
+
path: {
|
|
14770
|
+
workspaceId: components["parameters"]["WorkspaceId"];
|
|
14771
|
+
};
|
|
14772
|
+
cookie?: never;
|
|
14773
|
+
};
|
|
14774
|
+
requestBody?: never;
|
|
14775
|
+
responses: {
|
|
14776
|
+
/** @description Silent reconnect succeeded or OAuth is required */
|
|
14777
|
+
200: {
|
|
14778
|
+
headers: {
|
|
14779
|
+
[name: string]: unknown;
|
|
14780
|
+
};
|
|
14781
|
+
content: {
|
|
14782
|
+
"application/json": components["schemas"]["ZeltReconnectResultDto"];
|
|
14783
|
+
};
|
|
14784
|
+
};
|
|
14785
|
+
401: components["responses"]["Unauthorized"];
|
|
14786
|
+
403: components["responses"]["Forbidden"];
|
|
14787
|
+
/** @description Zelt is not connected for this workspace */
|
|
14788
|
+
404: {
|
|
14789
|
+
headers: {
|
|
14790
|
+
[name: string]: unknown;
|
|
14791
|
+
};
|
|
14792
|
+
content: {
|
|
14793
|
+
/**
|
|
14794
|
+
* @example {
|
|
14795
|
+
* "error": "zelt_not_connected"
|
|
14796
|
+
* }
|
|
14797
|
+
*/
|
|
14798
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14799
|
+
};
|
|
14800
|
+
};
|
|
14801
|
+
/** @description Zelt refresh or users ping failed for a non-OAuth reason */
|
|
14802
|
+
502: {
|
|
14803
|
+
headers: {
|
|
14804
|
+
[name: string]: unknown;
|
|
14805
|
+
};
|
|
14806
|
+
content: {
|
|
14807
|
+
/**
|
|
14808
|
+
* @example {
|
|
14809
|
+
* "error": "zelt_reconnect_failed"
|
|
14810
|
+
* }
|
|
14811
|
+
*/
|
|
14812
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14813
|
+
};
|
|
14814
|
+
};
|
|
14815
|
+
/** @description HRIS sync/OAuth refresh already in progress */
|
|
14816
|
+
503: {
|
|
14817
|
+
headers: {
|
|
14818
|
+
[name: string]: unknown;
|
|
14819
|
+
};
|
|
14820
|
+
content: {
|
|
14821
|
+
/**
|
|
14822
|
+
* @example {
|
|
14823
|
+
* "error": "zelt_sync_in_progress"
|
|
14824
|
+
* }
|
|
14825
|
+
*/
|
|
14826
|
+
"application/json": components["schemas"]["ErrorMessageDto"];
|
|
14827
|
+
};
|
|
14828
|
+
};
|
|
14829
|
+
};
|
|
14830
|
+
};
|
|
14831
|
+
getZeltOauthCallback: {
|
|
14832
|
+
parameters: {
|
|
14833
|
+
query: {
|
|
14834
|
+
code?: string;
|
|
14835
|
+
state: string;
|
|
14836
|
+
error?: string;
|
|
14837
|
+
};
|
|
14838
|
+
header?: never;
|
|
14839
|
+
path?: never;
|
|
14840
|
+
cookie?: never;
|
|
14841
|
+
};
|
|
14842
|
+
requestBody?: never;
|
|
14843
|
+
responses: {
|
|
14844
|
+
/** @description Redirect to SPA return path with zelt status query params */
|
|
14845
|
+
302: {
|
|
14846
|
+
headers: {
|
|
14847
|
+
[name: string]: unknown;
|
|
14848
|
+
};
|
|
14849
|
+
content?: never;
|
|
14850
|
+
};
|
|
14851
|
+
};
|
|
14852
|
+
};
|
|
14531
14853
|
reconnectWorkspaceZenHr: {
|
|
14532
14854
|
parameters: {
|
|
14533
14855
|
query?: never;
|