@vibexp/api-client 0.46.0 → 0.48.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/schema.d.ts CHANGED
@@ -893,46 +893,6 @@ export interface paths {
893
893
  patch?: never;
894
894
  trace?: never;
895
895
  };
896
- "/api/v1/ai-tools/claude-code/sessions/{session_id}": {
897
- parameters: {
898
- query?: never;
899
- header?: never;
900
- path?: never;
901
- cookie?: never;
902
- };
903
- get?: never;
904
- put?: never;
905
- post?: never;
906
- /**
907
- * Delete Claude Code session
908
- * @description Deletes a specific Claude Code session and all associated hook data
909
- */
910
- delete: operations["deleteClaudeCodeSession"];
911
- options?: never;
912
- head?: never;
913
- patch?: never;
914
- trace?: never;
915
- };
916
- "/api/v1/ai-tools/cursor-ide/sessions/{session_id}": {
917
- parameters: {
918
- query?: never;
919
- header?: never;
920
- path?: never;
921
- cookie?: never;
922
- };
923
- get?: never;
924
- put?: never;
925
- post?: never;
926
- /**
927
- * Delete Cursor IDE session
928
- * @description Deletes a specific Cursor IDE session and all associated hook data
929
- */
930
- delete: operations["deleteCursorIDESession"];
931
- options?: never;
932
- head?: never;
933
- patch?: never;
934
- trace?: never;
935
- };
936
896
  "/api/v1/resource-usage": {
937
897
  parameters: {
938
898
  query?: never;
@@ -1994,246 +1954,6 @@ export interface paths {
1994
1954
  patch?: never;
1995
1955
  trace?: never;
1996
1956
  };
1997
- "/api/v1/ai-tools/claude-code/hooks": {
1998
- parameters: {
1999
- query?: never;
2000
- header?: never;
2001
- path?: never;
2002
- cookie?: never;
2003
- };
2004
- /**
2005
- * List Claude Code hook payloads
2006
- * @description Returns the authenticated user's stored Claude Code hook payloads with pagination and optional filters
2007
- */
2008
- get: operations["listClaudeCodeHooks"];
2009
- put?: never;
2010
- post?: never;
2011
- delete?: never;
2012
- options?: never;
2013
- head?: never;
2014
- patch?: never;
2015
- trace?: never;
2016
- };
2017
- "/api/v1/ai-tools/claude-code/sessions": {
2018
- parameters: {
2019
- query?: never;
2020
- header?: never;
2021
- path?: never;
2022
- cookie?: never;
2023
- };
2024
- /**
2025
- * List Claude Code sessions
2026
- * @description Returns the authenticated user's Claude Code session summaries with pagination
2027
- */
2028
- get: operations["listClaudeCodeSessions"];
2029
- put?: never;
2030
- post?: never;
2031
- delete?: never;
2032
- options?: never;
2033
- head?: never;
2034
- patch?: never;
2035
- trace?: never;
2036
- };
2037
- "/api/v1/ai-tools/claude-code/session-counts": {
2038
- parameters: {
2039
- query?: never;
2040
- header?: never;
2041
- path?: never;
2042
- cookie?: never;
2043
- };
2044
- /**
2045
- * Get Claude Code session counts
2046
- * @description Returns the authenticated user's Claude Code session counts per day for the requested range
2047
- */
2048
- get: operations["getClaudeCodeSessionCounts"];
2049
- put?: never;
2050
- post?: never;
2051
- delete?: never;
2052
- options?: never;
2053
- head?: never;
2054
- patch?: never;
2055
- trace?: never;
2056
- };
2057
- "/api/v1/ai-tools/claude-code/overview-stats": {
2058
- parameters: {
2059
- query?: never;
2060
- header?: never;
2061
- path?: never;
2062
- cookie?: never;
2063
- };
2064
- /**
2065
- * Get Claude Code overview statistics
2066
- * @description Returns aggregated Claude Code usage statistics for the authenticated user's overview dashboard
2067
- */
2068
- get: operations["getClaudeCodeOverviewStats"];
2069
- put?: never;
2070
- post?: never;
2071
- delete?: never;
2072
- options?: never;
2073
- head?: never;
2074
- patch?: never;
2075
- trace?: never;
2076
- };
2077
- "/api/v1/ai-tools/claude-code/recent-activities": {
2078
- parameters: {
2079
- query?: never;
2080
- header?: never;
2081
- path?: never;
2082
- cookie?: never;
2083
- };
2084
- /**
2085
- * List recent Claude Code activities
2086
- * @description Returns the authenticated user's recent Claude Code activities with pagination and optional filters
2087
- */
2088
- get: operations["listClaudeCodeRecentActivities"];
2089
- put?: never;
2090
- post?: never;
2091
- delete?: never;
2092
- options?: never;
2093
- head?: never;
2094
- patch?: never;
2095
- trace?: never;
2096
- };
2097
- "/api/v1/ai-tools/cursor-ide/hooks": {
2098
- parameters: {
2099
- query?: never;
2100
- header?: never;
2101
- path?: never;
2102
- cookie?: never;
2103
- };
2104
- /**
2105
- * List Cursor IDE hook payloads
2106
- * @description Returns the authenticated user's stored Cursor IDE hook payloads with pagination and optional filters
2107
- */
2108
- get: operations["listCursorIDEHooks"];
2109
- put?: never;
2110
- post?: never;
2111
- delete?: never;
2112
- options?: never;
2113
- head?: never;
2114
- patch?: never;
2115
- trace?: never;
2116
- };
2117
- "/api/v1/ai-tools/cursor-ide/sessions": {
2118
- parameters: {
2119
- query?: never;
2120
- header?: never;
2121
- path?: never;
2122
- cookie?: never;
2123
- };
2124
- /**
2125
- * List Cursor IDE sessions
2126
- * @description Returns the authenticated user's Cursor IDE session summaries with pagination
2127
- */
2128
- get: operations["listCursorIDESessions"];
2129
- put?: never;
2130
- post?: never;
2131
- delete?: never;
2132
- options?: never;
2133
- head?: never;
2134
- patch?: never;
2135
- trace?: never;
2136
- };
2137
- "/api/v1/ai-tools/cursor-ide/session-counts": {
2138
- parameters: {
2139
- query?: never;
2140
- header?: never;
2141
- path?: never;
2142
- cookie?: never;
2143
- };
2144
- /**
2145
- * Get Cursor IDE session counts
2146
- * @description Returns the authenticated user's Cursor IDE session counts per day for the requested range
2147
- */
2148
- get: operations["getCursorIDESessionCounts"];
2149
- put?: never;
2150
- post?: never;
2151
- delete?: never;
2152
- options?: never;
2153
- head?: never;
2154
- patch?: never;
2155
- trace?: never;
2156
- };
2157
- "/api/v1/ai-tools/cursor-ide/overview-stats": {
2158
- parameters: {
2159
- query?: never;
2160
- header?: never;
2161
- path?: never;
2162
- cookie?: never;
2163
- };
2164
- /**
2165
- * Get Cursor IDE overview statistics
2166
- * @description Returns aggregated Cursor IDE usage statistics for the authenticated user's overview dashboard
2167
- */
2168
- get: operations["getCursorIDEOverviewStats"];
2169
- put?: never;
2170
- post?: never;
2171
- delete?: never;
2172
- options?: never;
2173
- head?: never;
2174
- patch?: never;
2175
- trace?: never;
2176
- };
2177
- "/api/v1/ai-tools/cursor-ide/recent-activities": {
2178
- parameters: {
2179
- query?: never;
2180
- header?: never;
2181
- path?: never;
2182
- cookie?: never;
2183
- };
2184
- /**
2185
- * List recent Cursor IDE activities
2186
- * @description Returns the authenticated user's recent Cursor IDE activities with pagination and optional filters
2187
- */
2188
- get: operations["listCursorIDERecentActivities"];
2189
- put?: never;
2190
- post?: never;
2191
- delete?: never;
2192
- options?: never;
2193
- head?: never;
2194
- patch?: never;
2195
- trace?: never;
2196
- };
2197
- "/api/v1/claude-code/hooks": {
2198
- parameters: {
2199
- query?: never;
2200
- header?: never;
2201
- path?: never;
2202
- cookie?: never;
2203
- };
2204
- get?: never;
2205
- put?: never;
2206
- /**
2207
- * Ingest Claude Code hook payload
2208
- * @description Stores a hook payload fired by the Claude Code CLI during an active coding session. Authenticated via API key (bearer) or session cookie; not IP-rate-limited. Responses use the legacy CLI-compatible `{status, message}` shape rather than the standard envelope. New sessions are checked against the user's `ai_session` resource limit (and `ai_tool` limit for the first-ever session), returning 403 when exceeded.
2209
- */
2210
- post: operations["ingestClaudeCodeHook"];
2211
- delete?: never;
2212
- options?: never;
2213
- head?: never;
2214
- patch?: never;
2215
- trace?: never;
2216
- };
2217
- "/api/v1/cursor-ide/hooks": {
2218
- parameters: {
2219
- query?: never;
2220
- header?: never;
2221
- path?: never;
2222
- cookie?: never;
2223
- };
2224
- get?: never;
2225
- put?: never;
2226
- /**
2227
- * Ingest Cursor IDE hook payload
2228
- * @description Stores a hook payload fired by Cursor IDE hooks. Authenticated via API key (bearer) or session cookie; not IP-rate-limited. When `session_id` is absent, `conversation_id` is used as the session identifier (one of the two is required). Responses use the legacy CLI-compatible `{status, message}` shape rather than the standard envelope. New sessions are checked against the user's `ai_session` resource limit (and `ai_tool` limit for the first-ever session), returning 403 when exceeded.
2229
- */
2230
- post: operations["ingestCursorIDEHook"];
2231
- delete?: never;
2232
- options?: never;
2233
- head?: never;
2234
- patch?: never;
2235
- trace?: never;
2236
- };
2237
1957
  "/api/v1/teams": {
2238
1958
  parameters: {
2239
1959
  query?: never;
@@ -4819,11 +4539,11 @@ export interface components {
4819
4539
  /**
4820
4540
  * @description Array of integration codes this API key can access
4821
4541
  * @example [
4822
- * "ai_tools",
4823
- * "cli"
4542
+ * "cli",
4543
+ * "mcp_server"
4824
4544
  * ]
4825
4545
  */
4826
- integrations: ("ai_tools" | "cli" | "mcp_server")[];
4546
+ integrations: ("cli" | "mcp_server")[];
4827
4547
  /**
4828
4548
  * @description Whether this is a legacy API key (pre-multi-integration)
4829
4549
  * @example false
@@ -4831,16 +4551,16 @@ export interface components {
4831
4551
  is_legacy: boolean;
4832
4552
  /**
4833
4553
  * @description Notes about the migration from legacy system
4834
- * @example Migrated from usage_type: ai_tools
4554
+ * @example Migrated from usage_type: cli
4835
4555
  */
4836
4556
  migration_notes?: string | null;
4837
4557
  /**
4838
4558
  * @deprecated
4839
4559
  * @description DEPRECATED: Legacy field for backward compatibility. Use 'integrations' instead.
4840
- * @example ai_tools
4560
+ * @example cli
4841
4561
  * @enum {string}
4842
4562
  */
4843
- usage_type?: "ai_tools" | "cli" | "mcp" | "everything";
4563
+ usage_type?: "cli" | "mcp" | "everything";
4844
4564
  /** Format: date-time */
4845
4565
  last_used_at?: string | null;
4846
4566
  /**
@@ -4862,11 +4582,11 @@ export interface components {
4862
4582
  /**
4863
4583
  * @description Array of integration codes to grant access to
4864
4584
  * @example [
4865
- * "ai_tools",
4866
- * "cli"
4585
+ * "cli",
4586
+ * "mcp_server"
4867
4587
  * ]
4868
4588
  */
4869
- integration_codes: ("ai_tools" | "cli" | "mcp_server")[];
4589
+ integration_codes: ("cli" | "mcp_server")[];
4870
4590
  };
4871
4591
  CreateAPIKeyResponse: {
4872
4592
  api_key: components["schemas"]["APIKey"];
@@ -6212,283 +5932,45 @@ export interface components {
6212
5932
  /** @example true */
6213
5933
  success: boolean;
6214
5934
  };
6215
- IncomingHookPayload: {
5935
+ Artifact: {
6216
5936
  /**
6217
- * @description Unique identifier for the Claude Code session
6218
- * @example session_123456
5937
+ * @description Unique identifier for the artifact
5938
+ * @example 01234567-89ab-cdef-0123-456789abcdef
6219
5939
  */
6220
- session_id: string;
5940
+ id: string;
6221
5941
  /**
6222
- * @description Path to the conversation transcript file
6223
- * @example /path/to/transcript.md
5942
+ * Format: uuid
5943
+ * @description UUID of the project this artifact belongs to
5944
+ * @example 01234567-89ab-cdef-0123-456789abcdef
6224
5945
  */
6225
- transcript_path?: string | null;
5946
+ project_id: string;
6226
5947
  /**
6227
- * @description Current working directory
6228
- * @example /home/user/project
5948
+ * @description Unique slug for the artifact within the project
5949
+ * @example api-documentation
6229
5950
  */
6230
- cwd?: string | null;
5951
+ slug: string;
6231
5952
  /**
6232
- * @description Name of the hook event that triggered this payload
6233
- * @example PreToolUse
5953
+ * @description ID of the user who owns this artifact
5954
+ * @example user-123
6234
5955
  */
6235
- hook_event_name: string;
5956
+ user_id: string;
6236
5957
  /**
6237
- * @description Name of the tool being used
6238
- * @example Bash
5958
+ * @description The actual content of the artifact
5959
+ * @example This is the API documentation content...
6239
5960
  */
6240
- tool_name?: string | null;
6241
- /** @description Input data for the tool */
6242
- tool_input?: {
6243
- [key: string]: unknown;
6244
- } | null;
6245
- /** @description Response data from the tool */
6246
- tool_response?: {
6247
- [key: string]: unknown;
6248
- } | null;
5961
+ content?: string;
6249
5962
  /**
6250
- * @description User prompt or message
6251
- * @example Please run ls command
5963
+ * Format: date-time
5964
+ * @description Timestamp when the artifact was created
5965
+ * @example 2024-01-15T10:30:00Z
6252
5966
  */
6253
- prompt?: string | null;
5967
+ created_at: string;
6254
5968
  /**
6255
- * @description Additional message or context
6256
- * @example Executing bash command
5969
+ * Format: date-time
5970
+ * @description Timestamp when the artifact was last updated
5971
+ * @example 2024-01-15T14:30:00Z
6257
5972
  */
6258
- message?: string | null;
6259
- };
6260
- ClaudeCodeHookPayload: {
6261
- /**
6262
- * @description Unique identifier for the stored payload
6263
- * @example 123
6264
- */
6265
- id: number;
6266
- /**
6267
- * @description ID of the user who submitted the hook (omitted when not set)
6268
- * @example user_01HXYZ123
6269
- */
6270
- user_id?: string;
6271
- /**
6272
- * @description ID of the user's default team at ingest time
6273
- * @example 550e8400-e29b-41d4-a716-446655440000
6274
- */
6275
- team_id: string;
6276
- /**
6277
- * @description Unique identifier for the Claude Code session
6278
- * @example session_123456
6279
- */
6280
- session_id: string;
6281
- /**
6282
- * @description Path to the conversation transcript file
6283
- * @example /path/to/transcript.md
6284
- */
6285
- transcript_path?: string | null;
6286
- /**
6287
- * @description Current working directory
6288
- * @example /home/user/project
6289
- */
6290
- cwd?: string | null;
6291
- /**
6292
- * @description Name of the hook event that triggered this payload
6293
- * @example PreToolUse
6294
- */
6295
- hook_event_name: string;
6296
- /**
6297
- * @description Name of the tool being used
6298
- * @example Bash
6299
- */
6300
- tool_name?: string | null;
6301
- /** @description Input data for the tool */
6302
- tool_input?: {
6303
- [key: string]: unknown;
6304
- } | null;
6305
- /** @description Response data from the tool */
6306
- tool_response?: {
6307
- [key: string]: unknown;
6308
- } | null;
6309
- /**
6310
- * @description User prompt or message
6311
- * @example Please run ls command
6312
- */
6313
- prompt?: string | null;
6314
- /**
6315
- * @description Additional message or context
6316
- * @example Executing bash command
6317
- */
6318
- message?: string | null;
6319
- /** @description Complete payload data as JSONB */
6320
- payload: {
6321
- [key: string]: unknown;
6322
- };
6323
- /**
6324
- * Format: date-time
6325
- * @description When the record was created
6326
- * @example 2025-09-07T01:23:45Z
6327
- */
6328
- created_at: string;
6329
- /**
6330
- * Format: date-time
6331
- * @description When the record was last updated
6332
- * @example 2025-09-07T01:23:45Z
6333
- */
6334
- updated_at: string;
6335
- };
6336
- ClaudeCodeHooksPaginatedResponse: {
6337
- data: components["schemas"]["ClaudeCodeHookPayload"][];
6338
- /**
6339
- * @description Current page number
6340
- * @example 1
6341
- */
6342
- page: number;
6343
- /**
6344
- * @description Number of items per page
6345
- * @example 10
6346
- */
6347
- limit: number;
6348
- /**
6349
- * @description Total number of records
6350
- * @example 150
6351
- */
6352
- total: number;
6353
- /**
6354
- * @description Total number of pages
6355
- * @example 15
6356
- */
6357
- total_pages: number;
6358
- };
6359
- HookCreatedResponse: {
6360
- /** @example success */
6361
- status: string;
6362
- /** @example Hook payload stored successfully */
6363
- message: string;
6364
- data: {
6365
- /** @example 123 */
6366
- id: number;
6367
- /**
6368
- * Format: date-time
6369
- * @example 2025-09-07T01:23:45Z
6370
- */
6371
- created_at: string;
6372
- /**
6373
- * Format: date-time
6374
- * @example 2025-09-07T01:23:45Z
6375
- */
6376
- updated_at: string;
6377
- };
6378
- };
6379
- HookListResponse: {
6380
- /** @example success */
6381
- status: string;
6382
- /** @example Hook payloads retrieved successfully */
6383
- message: string;
6384
- data: components["schemas"]["ClaudeCodeHooksPaginatedResponse"];
6385
- };
6386
- SessionSummary: {
6387
- /** @example session_123 */
6388
- session_id: string;
6389
- /** Format: date-time */
6390
- first_seen: string;
6391
- /** Format: date-time */
6392
- last_seen: string;
6393
- /** @example 42 */
6394
- hook_count: number;
6395
- /** @example /home/user/project */
6396
- latest_cwd?: string | null;
6397
- /** @example 5 */
6398
- unique_tools: number;
6399
- };
6400
- SessionsResponse: {
6401
- data: components["schemas"]["SessionSummary"][];
6402
- page: number;
6403
- limit: number;
6404
- total: number;
6405
- total_pages: number;
6406
- };
6407
- SessionCountsResponse: {
6408
- total_sessions: number;
6409
- counts: {
6410
- date?: string;
6411
- count?: number;
6412
- }[];
6413
- };
6414
- OverviewStats: {
6415
- total_sessions: number;
6416
- sessions_this_week: number;
6417
- sessions_last_week: number;
6418
- /** Format: float */
6419
- weekly_trend_percent: number;
6420
- /** Format: float */
6421
- avg_user_prompts_per_session: number;
6422
- total_unique_tools: number;
6423
- top_tools: {
6424
- tool_name?: string;
6425
- count?: number;
6426
- }[];
6427
- /** Format: float */
6428
- avg_session_duration_minutes: number;
6429
- /**
6430
- * @description Total number of memories created by the user
6431
- * @example 12
6432
- */
6433
- total_memories: number;
6434
- };
6435
- RecentActivity: {
6436
- session_id: string;
6437
- cwd?: string | null;
6438
- tool_name?: string | null;
6439
- tool_input?: {
6440
- [key: string]: unknown;
6441
- } | null;
6442
- hook_event_name: string;
6443
- /** Format: date-time */
6444
- created_at: string;
6445
- };
6446
- RecentActivitiesResponse: {
6447
- activities: components["schemas"]["RecentActivity"][];
6448
- page: number;
6449
- limit: number;
6450
- total: number;
6451
- total_pages: number;
6452
- };
6453
- Artifact: {
6454
- /**
6455
- * @description Unique identifier for the artifact
6456
- * @example 01234567-89ab-cdef-0123-456789abcdef
6457
- */
6458
- id: string;
6459
- /**
6460
- * Format: uuid
6461
- * @description UUID of the project this artifact belongs to
6462
- * @example 01234567-89ab-cdef-0123-456789abcdef
6463
- */
6464
- project_id: string;
6465
- /**
6466
- * @description Unique slug for the artifact within the project
6467
- * @example api-documentation
6468
- */
6469
- slug: string;
6470
- /**
6471
- * @description ID of the user who owns this artifact
6472
- * @example user-123
6473
- */
6474
- user_id: string;
6475
- /**
6476
- * @description The actual content of the artifact
6477
- * @example This is the API documentation content...
6478
- */
6479
- content?: string;
6480
- /**
6481
- * Format: date-time
6482
- * @description Timestamp when the artifact was created
6483
- * @example 2024-01-15T10:30:00Z
6484
- */
6485
- created_at: string;
6486
- /**
6487
- * Format: date-time
6488
- * @description Timestamp when the artifact was last updated
6489
- * @example 2024-01-15T14:30:00Z
6490
- */
6491
- updated_at: string;
5973
+ updated_at: string;
6492
5974
  /**
6493
5975
  * @description Current status of the artifact
6494
5976
  * @example active
@@ -8414,428 +7896,84 @@ export interface components {
8414
7896
  /** @description Number of executions in this page */
8415
7897
  count: number;
8416
7898
  };
8417
- /** @description Legacy CLI-compatible error shape `{"status":"error","message":...}` emitted by the AI-tools hook handlers (NOT the RFC 9457 ErrorResponse used elsewhere). Resource-limit 403 responses additionally include a `details` object. */
8418
- HookErrorResponse: {
8419
- /** @example error */
8420
- status: string;
8421
- /** @example Invalid JSON payload */
8422
- message: string;
8423
- /** @description Present only on resource-limit (403) responses */
8424
- details?: {
8425
- /** @example ai_session */
8426
- resource_type?: string;
8427
- /** @example 10 */
8428
- current_usage?: number;
8429
- /** @example 10 */
8430
- limit?: number;
8431
- };
8432
- };
8433
- SessionsListResponse: {
8434
- /** @example success */
8435
- status: string;
8436
- /** @example Sessions retrieved successfully */
8437
- message: string;
8438
- data: components["schemas"]["SessionsResponse"];
8439
- };
8440
- SessionCountsApiResponse: {
8441
- /** @example success */
8442
- status: string;
8443
- /** @example Session counts retrieved successfully */
8444
- message: string;
8445
- data: components["schemas"]["SessionCountsResponse"];
8446
- };
8447
- OverviewStatsApiResponse: {
8448
- /** @example success */
8449
- status: string;
8450
- /** @example Overview stats retrieved successfully */
8451
- message: string;
8452
- data: components["schemas"]["OverviewStats"];
8453
- };
8454
- RecentActivitiesApiResponse: {
8455
- /** @example success */
8456
- status: string;
8457
- /** @example Recent activities retrieved successfully */
8458
- message: string;
8459
- data: components["schemas"]["RecentActivitiesResponse"];
8460
- };
8461
- /** @description Incoming payload from Cursor IDE hooks. Either `session_id` or `conversation_id` must be provided (when `session_id` is absent, `conversation_id` is used as the session identifier). `hook_event_name` is always required. */
8462
- IncomingCursorHookPayload: {
8463
- /**
8464
- * @description Cursor conversation identifier (used as session_id when session_id is absent)
8465
- * @example conv_123456
8466
- */
8467
- conversation_id?: string;
8468
- /**
8469
- * @description Cursor generation identifier
8470
- * @example gen_123456
8471
- */
8472
- generation_id?: string;
7899
+ /** @description A team (workspace) in the system. `role`, `permissions` and `member_count` are computed at read time for the requesting user. */
7900
+ Team: {
8473
7901
  /**
8474
- * @description Workspace root directories
8475
- * @example [
8476
- * "/home/user/project"
8477
- * ]
7902
+ * Format: uuid
7903
+ * @example 550e8400-e29b-41d4-a716-446655440000
8478
7904
  */
8479
- workspace_roots?: string[];
7905
+ id: string;
8480
7906
  /**
8481
- * @description Session identifier (legacy/optional; falls back to conversation_id)
8482
- * @example session_123456
7907
+ * @description User ID of the team owner
7908
+ * @example user_01HXYZABC123
8483
7909
  */
8484
- session_id?: string;
7910
+ owner_id: string;
7911
+ /** @example Engineering Team */
7912
+ name: string;
7913
+ /** @example engineering-team */
7914
+ slug: string;
7915
+ /** @example Team for the core engineering group */
7916
+ description: string;
8485
7917
  /**
8486
- * @description Name of the hook event that triggered this payload
8487
- * @example beforeShellExecution
7918
+ * @description Whether this is the user's personal workspace (cannot be deleted or hold a team subscription)
7919
+ * @example false
8488
7920
  */
8489
- hook_event_name: string;
7921
+ is_personal: boolean;
8490
7922
  /**
8491
- * @description Name of the tool being used
8492
- * @example shell
7923
+ * @description The requesting user's role in this team: owner, admin, or member. Populated at runtime on every response that carries a team, including create (where the caller is by definition the owner). Not an enum constraint: older responses may still carry an empty string.
7924
+ * @example owner
8493
7925
  */
8494
- tool_name?: string | null;
8495
- /** @description Hook configuration data */
8496
- configuration?: {
8497
- [key: string]: unknown;
8498
- } | null;
8499
- /** @description Reference data */
8500
- reference?: {
8501
- [key: string]: unknown;
8502
- } | null;
8503
- /** @description Context data */
8504
- context?: {
8505
- [key: string]: unknown;
8506
- } | null;
8507
- /** @description Input data for the hook */
8508
- input?: {
8509
- [key: string]: unknown;
8510
- } | null;
8511
- /** @description Output data from the hook */
8512
- output?: {
8513
- [key: string]: unknown;
8514
- } | null;
8515
- /** @description Induced failure data */
8516
- inducedFailure?: {
8517
- [key: string]: unknown;
8518
- } | null;
7926
+ role?: string;
8519
7927
  /**
8520
- * @description Shell command (beforeShellExecution)
8521
- * @example ls -la
7928
+ * @description Exactly what `role` permits the requesting user to do in this team, expanded server-side from the role matrix (epic #220). Clients MUST gate their UI on these strings rather than re-deriving them from `role` — the matrix lives on the server and may change without a client release.
7929
+ * Computed at read time for the requesting user, alongside `role`, and always present (an empty array means the role grants nothing). The values are stable API surface: renaming one is a breaking change, and they are kept byte-identical to the `internal/authz` constants by a drift test. Meanings:
7930
+ * * `team.update` — change team name, slug or description. * `team.delete` — delete the team (owner only). * `team.transfer` — transfer ownership to another member (owner only). * `team.settings.update` — change team-level configuration, such as search ranking. * `member.invite` — invite new members. * `member.remove` — remove members from the team. * `member.role.update` — change a member's role. * `project.create` — create a project in the team. * `project.update` — update any project in the team. * `project.delete` — delete any project in the team. * `resource.create` — create a prompt, memory, artifact, blueprint or agent. * `resource.update.any` — update any resource, including other members'. * `resource.delete.own` — delete a resource the caller created. * `resource.delete.any` — delete a resource created by someone else. * `feed.delete.any` — delete another member's feed post or reply (moderation).
7931
+ * @example [
7932
+ * "resource.create",
7933
+ * "resource.update.any",
7934
+ * "resource.delete.own"
7935
+ * ]
8522
7936
  */
8523
- command?: string | null;
7937
+ permissions: ("team.update" | "team.delete" | "team.transfer" | "team.settings.update" | "member.invite" | "member.remove" | "member.role.update" | "project.create" | "project.update" | "project.delete" | "resource.create" | "resource.update.any" | "resource.delete.own" | "resource.delete.any" | "feed.delete.any")[];
8524
7938
  /**
8525
- * @description Current working directory (beforeShellExecution)
8526
- * @example /home/user/project
7939
+ * @description Number of members in this team. Populated only on list responses; 0 on create and single-team reads.
7940
+ * @example 5
8527
7941
  */
8528
- cwd?: string | null;
8529
- /** @description Tool input data (beforeMCPExecution) */
8530
- tool_input?: {
8531
- [key: string]: unknown;
8532
- } | null;
8533
- /** @description URL (beforeMCPExecution) */
8534
- url?: string | null;
7942
+ member_count?: number;
8535
7943
  /**
8536
- * @description File path (afterFileEdit, beforeReadFile)
8537
- * @example /home/user/project/main.go
7944
+ * Format: date-time
7945
+ * @example 2025-01-15T10:30:00Z
8538
7946
  */
8539
- file_path?: string | null;
8540
- /** @description File edits (afterFileEdit) */
8541
- edits?: {
8542
- [key: string]: unknown;
8543
- }[];
8544
- /** @description File content (beforeReadFile) */
8545
- content?: string | null;
8546
- /** @description Attachments (beforeReadFile, beforeSubmitPrompt) */
8547
- attachments?: {
8548
- [key: string]: unknown;
8549
- }[];
7947
+ created_at: string;
8550
7948
  /**
8551
- * @description User prompt (beforeSubmitPrompt)
8552
- * @example Refactor this function
8553
- */
8554
- prompt?: string | null;
8555
- /** @description Status (stop hook) */
8556
- status?: string | null;
8557
- /** @description Permission response field */
8558
- permission?: string | null;
8559
- /** @description User message response field */
8560
- userMessage?: string | null;
8561
- /** @description Agent message response field */
8562
- agentMessage?: string | null;
8563
- /** @description Continue response field */
8564
- continue?: boolean | null;
8565
- } | unknown | unknown;
8566
- CursorIDEHookPayload: {
8567
- /**
8568
- * @description Unique identifier for the stored payload
8569
- * @example 123
7949
+ * Format: date-time
7950
+ * @example 2025-01-20T14:45:00Z
8570
7951
  */
8571
- id: number;
7952
+ updated_at: string;
7953
+ };
7954
+ /** @description Request body for creating a team */
7955
+ CreateTeamRequest: {
8572
7956
  /**
8573
- * @description ID of the user who submitted the hook (omitted when not set)
8574
- * @example user_01HXYZ123
7957
+ * @description Team name (required, at most 100 characters)
7958
+ * @example Engineering Team
8575
7959
  */
8576
- user_id?: string;
7960
+ name: string;
8577
7961
  /**
8578
- * @description ID of the user's default team at ingest time
8579
- * @example 550e8400-e29b-41d4-a716-446655440000
7962
+ * @description Optional team description (at most 500 characters)
7963
+ * @example Team for the core engineering group
8580
7964
  */
8581
- team_id: string;
7965
+ description?: string;
7966
+ };
7967
+ /** @description Request body for updating a team. At least one of `name` or `description` must be provided. */
7968
+ UpdateTeamRequest: {
8582
7969
  /**
8583
- * @description Session identifier (stores conversation_id from Cursor)
8584
- * @example conv_123456
7970
+ * @description New team name (must be non-empty when provided)
7971
+ * @example Platform Team
8585
7972
  */
8586
- session_id: string;
7973
+ name?: string;
8587
7974
  /**
8588
- * @description Cursor conversation identifier
8589
- * @example conv_123456
8590
- */
8591
- conversation_id?: string | null;
8592
- /**
8593
- * @description Cursor generation identifier
8594
- * @example gen_123456
8595
- */
8596
- generation_id?: string | null;
8597
- /**
8598
- * @description Name of the hook event that triggered this payload
8599
- * @example beforeShellExecution
8600
- */
8601
- hook_event_name: string;
8602
- /**
8603
- * @description Name of the tool being used
8604
- * @example shell
8605
- */
8606
- tool_name?: string | null;
8607
- /**
8608
- * @description Workspace root directories
8609
- * @example [
8610
- * "/home/user/project"
8611
- * ]
8612
- */
8613
- workspace_roots?: string[];
8614
- /** @description Hook configuration data */
8615
- configuration?: {
8616
- [key: string]: unknown;
8617
- } | null;
8618
- /** @description Reference data */
8619
- reference?: {
8620
- [key: string]: unknown;
8621
- } | null;
8622
- /** @description Context data */
8623
- context?: {
8624
- [key: string]: unknown;
8625
- } | null;
8626
- /** @description Input data for the hook */
8627
- input?: {
8628
- [key: string]: unknown;
8629
- } | null;
8630
- /** @description Output data from the hook */
8631
- output?: {
8632
- [key: string]: unknown;
8633
- } | null;
8634
- /** @description Induced failure data */
8635
- induced_failure?: {
8636
- [key: string]: unknown;
8637
- } | null;
8638
- /** @description Complete payload data as JSONB */
8639
- payload: {
8640
- [key: string]: unknown;
8641
- };
8642
- /**
8643
- * Format: date-time
8644
- * @description When the record was created
8645
- * @example 2025-09-07T01:23:45Z
8646
- */
8647
- created_at: string;
8648
- /**
8649
- * Format: date-time
8650
- * @description When the record was last updated
8651
- * @example 2025-09-07T01:23:45Z
8652
- */
8653
- updated_at: string;
8654
- };
8655
- CursorIDEHooksPaginatedResponse: {
8656
- data: components["schemas"]["CursorIDEHookPayload"][];
8657
- /**
8658
- * @description Current page number
8659
- * @example 1
8660
- */
8661
- page: number;
8662
- /**
8663
- * @description Number of items per page
8664
- * @example 10
8665
- */
8666
- limit: number;
8667
- /**
8668
- * @description Total number of records
8669
- * @example 150
8670
- */
8671
- total: number;
8672
- /**
8673
- * @description Total number of pages
8674
- * @example 15
8675
- */
8676
- total_pages: number;
8677
- };
8678
- CursorIDEHookListResponse: {
8679
- /** @example success */
8680
- status: string;
8681
- /** @example Hook payloads retrieved successfully */
8682
- message: string;
8683
- data: components["schemas"]["CursorIDEHooksPaginatedResponse"];
8684
- };
8685
- /** @description Summary of a Cursor IDE session (unlike Claude Code sessions, no latest_cwd) */
8686
- CursorSessionSummary: {
8687
- /** @example conv_123 */
8688
- session_id: string;
8689
- /** Format: date-time */
8690
- first_seen: string;
8691
- /** Format: date-time */
8692
- last_seen: string;
8693
- /** @example 42 */
8694
- hook_count: number;
8695
- /** @example 5 */
8696
- unique_tools: number;
8697
- };
8698
- CursorSessionsResponse: {
8699
- data: components["schemas"]["CursorSessionSummary"][];
8700
- page: number;
8701
- limit: number;
8702
- total: number;
8703
- total_pages: number;
8704
- };
8705
- CursorSessionsListResponse: {
8706
- /** @example success */
8707
- status: string;
8708
- /** @example Sessions retrieved successfully */
8709
- message: string;
8710
- data: components["schemas"]["CursorSessionsResponse"];
8711
- };
8712
- /** @description Overview statistics for Cursor IDE (unlike Claude Code, no total_memories) */
8713
- CursorOverviewStats: {
8714
- total_sessions: number;
8715
- sessions_this_week: number;
8716
- sessions_last_week: number;
8717
- /** Format: float */
8718
- weekly_trend_percent: number;
8719
- /** Format: float */
8720
- avg_user_prompts_per_session: number;
8721
- total_unique_tools: number;
8722
- top_tools: {
8723
- tool_name?: string;
8724
- count?: number;
8725
- }[];
8726
- /** Format: float */
8727
- avg_session_duration_minutes: number;
8728
- };
8729
- CursorOverviewStatsApiResponse: {
8730
- /** @example success */
8731
- status: string;
8732
- /** @example Overview stats retrieved successfully */
8733
- message: string;
8734
- data: components["schemas"]["CursorOverviewStats"];
8735
- };
8736
- /** @description Recent Cursor IDE activity (carries `input` instead of Claude Code's cwd/tool_input) */
8737
- CursorRecentActivity: {
8738
- session_id: string;
8739
- tool_name?: string | null;
8740
- input?: {
8741
- [key: string]: unknown;
8742
- } | null;
8743
- hook_event_name: string;
8744
- /** Format: date-time */
8745
- created_at: string;
8746
- };
8747
- CursorRecentActivitiesResponse: {
8748
- activities: components["schemas"]["CursorRecentActivity"][];
8749
- page: number;
8750
- limit: number;
8751
- total: number;
8752
- total_pages: number;
8753
- };
8754
- CursorRecentActivitiesApiResponse: {
8755
- /** @example success */
8756
- status: string;
8757
- /** @example Recent activities retrieved successfully */
8758
- message: string;
8759
- data: components["schemas"]["CursorRecentActivitiesResponse"];
8760
- };
8761
- /** @description A team (workspace) in the system. `role`, `permissions` and `member_count` are computed at read time for the requesting user. */
8762
- Team: {
8763
- /**
8764
- * Format: uuid
8765
- * @example 550e8400-e29b-41d4-a716-446655440000
8766
- */
8767
- id: string;
8768
- /**
8769
- * @description User ID of the team owner
8770
- * @example user_01HXYZABC123
8771
- */
8772
- owner_id: string;
8773
- /** @example Engineering Team */
8774
- name: string;
8775
- /** @example engineering-team */
8776
- slug: string;
8777
- /** @example Team for the core engineering group */
8778
- description: string;
8779
- /**
8780
- * @description Whether this is the user's personal workspace (cannot be deleted or hold a team subscription)
8781
- * @example false
8782
- */
8783
- is_personal: boolean;
8784
- /**
8785
- * @description The requesting user's role in this team: owner, admin, or member. Populated at runtime on every response that carries a team, including create (where the caller is by definition the owner). Not an enum constraint: older responses may still carry an empty string.
8786
- * @example owner
8787
- */
8788
- role?: string;
8789
- /**
8790
- * @description Exactly what `role` permits the requesting user to do in this team, expanded server-side from the role matrix (epic #220). Clients MUST gate their UI on these strings rather than re-deriving them from `role` — the matrix lives on the server and may change without a client release.
8791
- * Computed at read time for the requesting user, alongside `role`, and always present (an empty array means the role grants nothing). The values are stable API surface: renaming one is a breaking change, and they are kept byte-identical to the `internal/authz` constants by a drift test. Meanings:
8792
- * * `team.update` — change team name, slug or description. * `team.delete` — delete the team (owner only). * `team.transfer` — transfer ownership to another member (owner only). * `team.settings.update` — change team-level configuration, such as search ranking. * `member.invite` — invite new members. * `member.remove` — remove members from the team. * `member.role.update` — change a member's role. * `project.create` — create a project in the team. * `project.update` — update any project in the team. * `project.delete` — delete any project in the team. * `resource.create` — create a prompt, memory, artifact, blueprint or agent. * `resource.update.any` — update any resource, including other members'. * `resource.delete.own` — delete a resource the caller created. * `resource.delete.any` — delete a resource created by someone else. * `feed.delete.any` — delete another member's feed post or reply (moderation).
8793
- * @example [
8794
- * "resource.create",
8795
- * "resource.update.any",
8796
- * "resource.delete.own"
8797
- * ]
8798
- */
8799
- permissions: ("team.update" | "team.delete" | "team.transfer" | "team.settings.update" | "member.invite" | "member.remove" | "member.role.update" | "project.create" | "project.update" | "project.delete" | "resource.create" | "resource.update.any" | "resource.delete.own" | "resource.delete.any" | "feed.delete.any")[];
8800
- /**
8801
- * @description Number of members in this team. Populated only on list responses; 0 on create and single-team reads.
8802
- * @example 5
8803
- */
8804
- member_count?: number;
8805
- /**
8806
- * Format: date-time
8807
- * @example 2025-01-15T10:30:00Z
8808
- */
8809
- created_at: string;
8810
- /**
8811
- * Format: date-time
8812
- * @example 2025-01-20T14:45:00Z
8813
- */
8814
- updated_at: string;
8815
- };
8816
- /** @description Request body for creating a team */
8817
- CreateTeamRequest: {
8818
- /**
8819
- * @description Team name (required, at most 100 characters)
8820
- * @example Engineering Team
8821
- */
8822
- name: string;
8823
- /**
8824
- * @description Optional team description (at most 500 characters)
8825
- * @example Team for the core engineering group
8826
- */
8827
- description?: string;
8828
- };
8829
- /** @description Request body for updating a team. At least one of `name` or `description` must be provided. */
8830
- UpdateTeamRequest: {
8831
- /**
8832
- * @description New team name (must be non-empty when provided)
8833
- * @example Platform Team
8834
- */
8835
- name?: string;
8836
- /**
8837
- * @description New team description
8838
- * @example Renamed from Engineering Team
7975
+ * @description New team description
7976
+ * @example Renamed from Engineering Team
8839
7977
  */
8840
7978
  description?: string;
8841
7979
  };
@@ -14063,84 +13201,6 @@ export interface operations {
14063
13201
  };
14064
13202
  };
14065
13203
  };
14066
- deleteClaudeCodeSession: {
14067
- parameters: {
14068
- query?: never;
14069
- header?: never;
14070
- path: {
14071
- /** @description Session ID */
14072
- session_id: string;
14073
- };
14074
- cookie?: never;
14075
- };
14076
- requestBody?: never;
14077
- responses: {
14078
- /** @description Session deleted successfully */
14079
- 204: {
14080
- headers: {
14081
- [name: string]: unknown;
14082
- };
14083
- content?: never;
14084
- };
14085
- /** @description Unauthorized */
14086
- 401: {
14087
- headers: {
14088
- [name: string]: unknown;
14089
- };
14090
- content: {
14091
- "application/problem+json": components["schemas"]["ErrorResponse"];
14092
- };
14093
- };
14094
- /** @description Session not found or access denied */
14095
- 404: {
14096
- headers: {
14097
- [name: string]: unknown;
14098
- };
14099
- content: {
14100
- "application/problem+json": components["schemas"]["ErrorResponse"];
14101
- };
14102
- };
14103
- };
14104
- };
14105
- deleteCursorIDESession: {
14106
- parameters: {
14107
- query?: never;
14108
- header?: never;
14109
- path: {
14110
- /** @description Session ID */
14111
- session_id: string;
14112
- };
14113
- cookie?: never;
14114
- };
14115
- requestBody?: never;
14116
- responses: {
14117
- /** @description Session deleted successfully */
14118
- 204: {
14119
- headers: {
14120
- [name: string]: unknown;
14121
- };
14122
- content?: never;
14123
- };
14124
- /** @description Unauthorized */
14125
- 401: {
14126
- headers: {
14127
- [name: string]: unknown;
14128
- };
14129
- content: {
14130
- "application/problem+json": components["schemas"]["ErrorResponse"];
14131
- };
14132
- };
14133
- /** @description Session not found or access denied */
14134
- 404: {
14135
- headers: {
14136
- [name: string]: unknown;
14137
- };
14138
- content: {
14139
- "application/problem+json": components["schemas"]["ErrorResponse"];
14140
- };
14141
- };
14142
- };
14143
- };
14144
13204
  getResourceUsage: {
14145
13205
  parameters: {
14146
13206
  query?: never;
@@ -18145,574 +17205,6 @@ export interface operations {
18145
17205
  };
18146
17206
  };
18147
17207
  };
18148
- listClaudeCodeHooks: {
18149
- parameters: {
18150
- query?: {
18151
- /** @description Page number (default 1; values < 1 fall back to 1) */
18152
- page?: number;
18153
- /** @description Items per page (default 10, capped at 100) */
18154
- limit?: number;
18155
- /** @description Filter by session ID */
18156
- session_id?: string;
18157
- /** @description Filter by hook event name */
18158
- hook_event_name?: string;
18159
- /** @description Filter by tool name */
18160
- tool_name?: string;
18161
- };
18162
- header?: never;
18163
- path?: never;
18164
- cookie?: never;
18165
- };
18166
- requestBody?: never;
18167
- responses: {
18168
- /** @description Hook payloads retrieved successfully */
18169
- 200: {
18170
- headers: {
18171
- [name: string]: unknown;
18172
- };
18173
- content: {
18174
- "application/json": components["schemas"]["HookListResponse"];
18175
- };
18176
- };
18177
- /** @description Unauthorized */
18178
- 401: {
18179
- headers: {
18180
- [name: string]: unknown;
18181
- };
18182
- content: {
18183
- "application/problem+json": components["schemas"]["ErrorResponse"];
18184
- };
18185
- };
18186
- /** @description Internal server error (legacy hook error shape) */
18187
- 500: {
18188
- headers: {
18189
- [name: string]: unknown;
18190
- };
18191
- content: {
18192
- "application/json": components["schemas"]["HookErrorResponse"];
18193
- };
18194
- };
18195
- };
18196
- };
18197
- listClaudeCodeSessions: {
18198
- parameters: {
18199
- query?: {
18200
- /** @description Page number (default 1; values < 1 fall back to 1) */
18201
- page?: number;
18202
- /** @description Items per page (default 10, capped at 100) */
18203
- limit?: number;
18204
- };
18205
- header?: never;
18206
- path?: never;
18207
- cookie?: never;
18208
- };
18209
- requestBody?: never;
18210
- responses: {
18211
- /** @description Sessions retrieved successfully */
18212
- 200: {
18213
- headers: {
18214
- [name: string]: unknown;
18215
- };
18216
- content: {
18217
- "application/json": components["schemas"]["SessionsListResponse"];
18218
- };
18219
- };
18220
- /** @description Unauthorized */
18221
- 401: {
18222
- headers: {
18223
- [name: string]: unknown;
18224
- };
18225
- content: {
18226
- "application/problem+json": components["schemas"]["ErrorResponse"];
18227
- };
18228
- };
18229
- /** @description Internal server error (legacy hook error shape) */
18230
- 500: {
18231
- headers: {
18232
- [name: string]: unknown;
18233
- };
18234
- content: {
18235
- "application/json": components["schemas"]["HookErrorResponse"];
18236
- };
18237
- };
18238
- };
18239
- };
18240
- getClaudeCodeSessionCounts: {
18241
- parameters: {
18242
- query?: {
18243
- /** @description Time range for the counts. Accepted values: `7d` (or `7`), `14d` (or `14`), `30d` (or `30`), `90d` (or `90`, `3m`). Unknown values fall back to `7d`. */
18244
- range?: string;
18245
- };
18246
- header?: never;
18247
- path?: never;
18248
- cookie?: never;
18249
- };
18250
- requestBody?: never;
18251
- responses: {
18252
- /** @description Session counts retrieved successfully */
18253
- 200: {
18254
- headers: {
18255
- [name: string]: unknown;
18256
- };
18257
- content: {
18258
- "application/json": components["schemas"]["SessionCountsApiResponse"];
18259
- };
18260
- };
18261
- /** @description Unauthorized */
18262
- 401: {
18263
- headers: {
18264
- [name: string]: unknown;
18265
- };
18266
- content: {
18267
- "application/problem+json": components["schemas"]["ErrorResponse"];
18268
- };
18269
- };
18270
- /** @description Internal server error (legacy hook error shape) */
18271
- 500: {
18272
- headers: {
18273
- [name: string]: unknown;
18274
- };
18275
- content: {
18276
- "application/json": components["schemas"]["HookErrorResponse"];
18277
- };
18278
- };
18279
- };
18280
- };
18281
- getClaudeCodeOverviewStats: {
18282
- parameters: {
18283
- query?: never;
18284
- header?: never;
18285
- path?: never;
18286
- cookie?: never;
18287
- };
18288
- requestBody?: never;
18289
- responses: {
18290
- /** @description Overview stats retrieved successfully */
18291
- 200: {
18292
- headers: {
18293
- [name: string]: unknown;
18294
- };
18295
- content: {
18296
- "application/json": components["schemas"]["OverviewStatsApiResponse"];
18297
- };
18298
- };
18299
- /** @description Unauthorized */
18300
- 401: {
18301
- headers: {
18302
- [name: string]: unknown;
18303
- };
18304
- content: {
18305
- "application/problem+json": components["schemas"]["ErrorResponse"];
18306
- };
18307
- };
18308
- /** @description Internal server error (plain-text body, not JSON) */
18309
- 500: {
18310
- headers: {
18311
- [name: string]: unknown;
18312
- };
18313
- content: {
18314
- "text/plain": string;
18315
- };
18316
- };
18317
- };
18318
- };
18319
- listClaudeCodeRecentActivities: {
18320
- parameters: {
18321
- query?: {
18322
- /** @description Page number (default 1; values < 1 fall back to 1) */
18323
- page?: number;
18324
- /** @description Items per page (default 20 for this endpoint, capped at 100) */
18325
- limit?: number;
18326
- /** @description Filter by session ID */
18327
- session_id?: string;
18328
- /** @description Filter by tool name */
18329
- tool_name?: string;
18330
- /** @description Filter by hook event name */
18331
- hook_event_name?: string;
18332
- /** @description Filter activities created on or after this date */
18333
- date_from?: string;
18334
- /** @description Filter activities created on or before this date */
18335
- date_to?: string;
18336
- };
18337
- header?: never;
18338
- path?: never;
18339
- cookie?: never;
18340
- };
18341
- requestBody?: never;
18342
- responses: {
18343
- /** @description Recent activities retrieved successfully */
18344
- 200: {
18345
- headers: {
18346
- [name: string]: unknown;
18347
- };
18348
- content: {
18349
- "application/json": components["schemas"]["RecentActivitiesApiResponse"];
18350
- };
18351
- };
18352
- /** @description Unauthorized */
18353
- 401: {
18354
- headers: {
18355
- [name: string]: unknown;
18356
- };
18357
- content: {
18358
- "application/problem+json": components["schemas"]["ErrorResponse"];
18359
- };
18360
- };
18361
- /** @description Internal server error (legacy hook error shape) */
18362
- 500: {
18363
- headers: {
18364
- [name: string]: unknown;
18365
- };
18366
- content: {
18367
- "application/json": components["schemas"]["HookErrorResponse"];
18368
- };
18369
- };
18370
- };
18371
- };
18372
- listCursorIDEHooks: {
18373
- parameters: {
18374
- query?: {
18375
- /** @description Page number (default 1; values < 1 fall back to 1) */
18376
- page?: number;
18377
- /** @description Items per page (default 10, capped at 100) */
18378
- limit?: number;
18379
- /** @description Filter by session ID */
18380
- session_id?: string;
18381
- /** @description Filter by hook event name */
18382
- hook_event_name?: string;
18383
- /** @description Filter by tool name */
18384
- tool_name?: string;
18385
- };
18386
- header?: never;
18387
- path?: never;
18388
- cookie?: never;
18389
- };
18390
- requestBody?: never;
18391
- responses: {
18392
- /** @description Hook payloads retrieved successfully */
18393
- 200: {
18394
- headers: {
18395
- [name: string]: unknown;
18396
- };
18397
- content: {
18398
- "application/json": components["schemas"]["CursorIDEHookListResponse"];
18399
- };
18400
- };
18401
- /** @description Unauthorized */
18402
- 401: {
18403
- headers: {
18404
- [name: string]: unknown;
18405
- };
18406
- content: {
18407
- "application/problem+json": components["schemas"]["ErrorResponse"];
18408
- };
18409
- };
18410
- /** @description Internal server error (legacy hook error shape) */
18411
- 500: {
18412
- headers: {
18413
- [name: string]: unknown;
18414
- };
18415
- content: {
18416
- "application/json": components["schemas"]["HookErrorResponse"];
18417
- };
18418
- };
18419
- };
18420
- };
18421
- listCursorIDESessions: {
18422
- parameters: {
18423
- query?: {
18424
- /** @description Page number (default 1; values < 1 fall back to 1) */
18425
- page?: number;
18426
- /** @description Items per page (default 10, capped at 100) */
18427
- limit?: number;
18428
- };
18429
- header?: never;
18430
- path?: never;
18431
- cookie?: never;
18432
- };
18433
- requestBody?: never;
18434
- responses: {
18435
- /** @description Sessions retrieved successfully */
18436
- 200: {
18437
- headers: {
18438
- [name: string]: unknown;
18439
- };
18440
- content: {
18441
- "application/json": components["schemas"]["CursorSessionsListResponse"];
18442
- };
18443
- };
18444
- /** @description Unauthorized */
18445
- 401: {
18446
- headers: {
18447
- [name: string]: unknown;
18448
- };
18449
- content: {
18450
- "application/problem+json": components["schemas"]["ErrorResponse"];
18451
- };
18452
- };
18453
- /** @description Internal server error (legacy hook error shape) */
18454
- 500: {
18455
- headers: {
18456
- [name: string]: unknown;
18457
- };
18458
- content: {
18459
- "application/json": components["schemas"]["HookErrorResponse"];
18460
- };
18461
- };
18462
- };
18463
- };
18464
- getCursorIDESessionCounts: {
18465
- parameters: {
18466
- query?: {
18467
- /** @description Time range for the counts. Accepted values: `7d` (or `7`), `14d` (or `14`), `30d` (or `30`), `90d` (or `90`, `3m`). Unknown values fall back to `7d`. */
18468
- range?: string;
18469
- };
18470
- header?: never;
18471
- path?: never;
18472
- cookie?: never;
18473
- };
18474
- requestBody?: never;
18475
- responses: {
18476
- /** @description Session counts retrieved successfully */
18477
- 200: {
18478
- headers: {
18479
- [name: string]: unknown;
18480
- };
18481
- content: {
18482
- "application/json": components["schemas"]["SessionCountsApiResponse"];
18483
- };
18484
- };
18485
- /** @description Unauthorized */
18486
- 401: {
18487
- headers: {
18488
- [name: string]: unknown;
18489
- };
18490
- content: {
18491
- "application/problem+json": components["schemas"]["ErrorResponse"];
18492
- };
18493
- };
18494
- /** @description Internal server error (legacy hook error shape) */
18495
- 500: {
18496
- headers: {
18497
- [name: string]: unknown;
18498
- };
18499
- content: {
18500
- "application/json": components["schemas"]["HookErrorResponse"];
18501
- };
18502
- };
18503
- };
18504
- };
18505
- getCursorIDEOverviewStats: {
18506
- parameters: {
18507
- query?: never;
18508
- header?: never;
18509
- path?: never;
18510
- cookie?: never;
18511
- };
18512
- requestBody?: never;
18513
- responses: {
18514
- /** @description Overview stats retrieved successfully */
18515
- 200: {
18516
- headers: {
18517
- [name: string]: unknown;
18518
- };
18519
- content: {
18520
- "application/json": components["schemas"]["CursorOverviewStatsApiResponse"];
18521
- };
18522
- };
18523
- /** @description Unauthorized */
18524
- 401: {
18525
- headers: {
18526
- [name: string]: unknown;
18527
- };
18528
- content: {
18529
- "application/problem+json": components["schemas"]["ErrorResponse"];
18530
- };
18531
- };
18532
- /** @description Internal server error (plain-text body, not JSON) */
18533
- 500: {
18534
- headers: {
18535
- [name: string]: unknown;
18536
- };
18537
- content: {
18538
- "text/plain": string;
18539
- };
18540
- };
18541
- };
18542
- };
18543
- listCursorIDERecentActivities: {
18544
- parameters: {
18545
- query?: {
18546
- /** @description Page number (default 1; values < 1 fall back to 1) */
18547
- page?: number;
18548
- /** @description Items per page (default 20 for this endpoint, capped at 100) */
18549
- limit?: number;
18550
- /** @description Filter by session ID */
18551
- session_id?: string;
18552
- /** @description Filter by tool name */
18553
- tool_name?: string;
18554
- /** @description Filter by hook event name */
18555
- hook_event_name?: string;
18556
- /** @description Filter activities created on or after this date */
18557
- date_from?: string;
18558
- /** @description Filter activities created on or before this date */
18559
- date_to?: string;
18560
- };
18561
- header?: never;
18562
- path?: never;
18563
- cookie?: never;
18564
- };
18565
- requestBody?: never;
18566
- responses: {
18567
- /** @description Recent activities retrieved successfully */
18568
- 200: {
18569
- headers: {
18570
- [name: string]: unknown;
18571
- };
18572
- content: {
18573
- "application/json": components["schemas"]["CursorRecentActivitiesApiResponse"];
18574
- };
18575
- };
18576
- /** @description Unauthorized */
18577
- 401: {
18578
- headers: {
18579
- [name: string]: unknown;
18580
- };
18581
- content: {
18582
- "application/problem+json": components["schemas"]["ErrorResponse"];
18583
- };
18584
- };
18585
- /** @description Internal server error (legacy hook error shape) */
18586
- 500: {
18587
- headers: {
18588
- [name: string]: unknown;
18589
- };
18590
- content: {
18591
- "application/json": components["schemas"]["HookErrorResponse"];
18592
- };
18593
- };
18594
- };
18595
- };
18596
- ingestClaudeCodeHook: {
18597
- parameters: {
18598
- query?: never;
18599
- header?: never;
18600
- path?: never;
18601
- cookie?: never;
18602
- };
18603
- requestBody: {
18604
- content: {
18605
- "application/json": components["schemas"]["IncomingHookPayload"];
18606
- };
18607
- };
18608
- responses: {
18609
- /** @description Hook payload stored successfully */
18610
- 201: {
18611
- headers: {
18612
- [name: string]: unknown;
18613
- };
18614
- content: {
18615
- "application/json": components["schemas"]["HookCreatedResponse"];
18616
- };
18617
- };
18618
- /** @description Invalid JSON payload or missing required field (session_id, hook_event_name) */
18619
- 400: {
18620
- headers: {
18621
- [name: string]: unknown;
18622
- };
18623
- content: {
18624
- "application/json": components["schemas"]["HookErrorResponse"];
18625
- };
18626
- };
18627
- /** @description Unauthorized */
18628
- 401: {
18629
- headers: {
18630
- [name: string]: unknown;
18631
- };
18632
- content: {
18633
- "application/problem+json": components["schemas"]["ErrorResponse"];
18634
- };
18635
- };
18636
- /** @description AI session or AI tools resource limit reached for the subscription plan (includes `details`) */
18637
- 403: {
18638
- headers: {
18639
- [name: string]: unknown;
18640
- };
18641
- content: {
18642
- "application/json": components["schemas"]["HookErrorResponse"];
18643
- };
18644
- };
18645
- /** @description Internal server error (legacy hook error shape) */
18646
- 500: {
18647
- headers: {
18648
- [name: string]: unknown;
18649
- };
18650
- content: {
18651
- "application/json": components["schemas"]["HookErrorResponse"];
18652
- };
18653
- };
18654
- };
18655
- };
18656
- ingestCursorIDEHook: {
18657
- parameters: {
18658
- query?: never;
18659
- header?: never;
18660
- path?: never;
18661
- cookie?: never;
18662
- };
18663
- requestBody: {
18664
- content: {
18665
- "application/json": components["schemas"]["IncomingCursorHookPayload"];
18666
- };
18667
- };
18668
- responses: {
18669
- /** @description Hook payload stored successfully */
18670
- 201: {
18671
- headers: {
18672
- [name: string]: unknown;
18673
- };
18674
- content: {
18675
- "application/json": components["schemas"]["HookCreatedResponse"];
18676
- };
18677
- };
18678
- /** @description Invalid JSON payload or missing required field (session_id/conversation_id, hook_event_name) */
18679
- 400: {
18680
- headers: {
18681
- [name: string]: unknown;
18682
- };
18683
- content: {
18684
- "application/json": components["schemas"]["HookErrorResponse"];
18685
- };
18686
- };
18687
- /** @description Unauthorized */
18688
- 401: {
18689
- headers: {
18690
- [name: string]: unknown;
18691
- };
18692
- content: {
18693
- "application/problem+json": components["schemas"]["ErrorResponse"];
18694
- };
18695
- };
18696
- /** @description AI session or AI tools resource limit reached for the subscription plan (includes `details`) */
18697
- 403: {
18698
- headers: {
18699
- [name: string]: unknown;
18700
- };
18701
- content: {
18702
- "application/json": components["schemas"]["HookErrorResponse"];
18703
- };
18704
- };
18705
- /** @description Internal server error (legacy hook error shape) */
18706
- 500: {
18707
- headers: {
18708
- [name: string]: unknown;
18709
- };
18710
- content: {
18711
- "application/json": components["schemas"]["HookErrorResponse"];
18712
- };
18713
- };
18714
- };
18715
- };
18716
17208
  listTeams: {
18717
17209
  parameters: {
18718
17210
  query?: {