@vibexp/api-client 0.16.0 → 0.17.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
@@ -2380,8 +2380,9 @@ export interface paths {
2380
2380
  };
2381
2381
  /**
2382
2382
  * List team invitations
2383
- * @description Returns all invitations for the team. The `token`, `team_name` and
2384
- * `invited_by` fields are not populated on this listing.
2383
+ * @description Returns all invitations for the team, each with its `token` populated so
2384
+ * an admin or owner can copy the accept link and share it out of band. The
2385
+ * `team_name` and `invited_by` fields are not populated on this listing.
2385
2386
  */
2386
2387
  get: operations["listTeamInvitations"];
2387
2388
  put?: never;
@@ -2721,6 +2722,74 @@ export interface paths {
2721
2722
  patch?: never;
2722
2723
  trace?: never;
2723
2724
  };
2725
+ "/api/v1/{team_id}/comments": {
2726
+ parameters: {
2727
+ query?: never;
2728
+ header?: never;
2729
+ path?: never;
2730
+ cookie?: never;
2731
+ };
2732
+ /**
2733
+ * List a resource's comments
2734
+ * @description Returns a page of comments on the given resource, newest first. The caller must be a member of the team.
2735
+ */
2736
+ get: operations["listComments"];
2737
+ put?: never;
2738
+ /**
2739
+ * Create a comment
2740
+ * @description Adds a comment on a resource. Any team member may comment; the target resource must exist in the team (404 otherwise).
2741
+ */
2742
+ post: operations["createComment"];
2743
+ delete?: never;
2744
+ options?: never;
2745
+ head?: never;
2746
+ patch?: never;
2747
+ trace?: never;
2748
+ };
2749
+ "/api/v1/{team_id}/comments/recent": {
2750
+ parameters: {
2751
+ query?: never;
2752
+ header?: never;
2753
+ path?: never;
2754
+ cookie?: never;
2755
+ };
2756
+ /**
2757
+ * List recent comment activity
2758
+ * @description Returns the team's most recent comment activity for the homepage card, ordered by latest activity (an edited comment resurfaces). Each entry carries its resource's resolved title and link fields; entries whose resource has been deleted are omitted.
2759
+ */
2760
+ get: operations["listRecentComments"];
2761
+ put?: never;
2762
+ post?: never;
2763
+ delete?: never;
2764
+ options?: never;
2765
+ head?: never;
2766
+ patch?: never;
2767
+ trace?: never;
2768
+ };
2769
+ "/api/v1/{team_id}/comments/{comment_id}": {
2770
+ parameters: {
2771
+ query?: never;
2772
+ header?: never;
2773
+ path?: never;
2774
+ cookie?: never;
2775
+ };
2776
+ get?: never;
2777
+ put?: never;
2778
+ post?: never;
2779
+ /**
2780
+ * Delete a comment
2781
+ * @description Deletes a comment. The author may delete their own; a team admin or owner may delete any comment (403 otherwise).
2782
+ */
2783
+ delete: operations["deleteComment"];
2784
+ options?: never;
2785
+ head?: never;
2786
+ /**
2787
+ * Edit a comment
2788
+ * @description Updates a comment's content. Only the comment's author may edit it; no role can edit another member's comment (403 otherwise).
2789
+ */
2790
+ patch: operations["updateComment"];
2791
+ trace?: never;
2792
+ };
2724
2793
  "/api/v1/{team_id}/embedding-providers": {
2725
2794
  parameters: {
2726
2795
  query?: never;
@@ -6773,6 +6842,8 @@ export interface components {
6773
6842
  created_at?: string;
6774
6843
  invited_by?: components["schemas"]["InviterInfo"];
6775
6844
  };
6845
+ /** @description Bare list of team invitations returned by the list endpoint. */
6846
+ InvitationResponseList: components["schemas"]["InvitationResponse"][];
6776
6847
  /** @description Wrapper response for the get-invitation-by-token endpoint */
6777
6848
  InvitationDetailsResponse: {
6778
6849
  invitation: components["schemas"]["InvitationResponse"];
@@ -7793,6 +7864,165 @@ export interface components {
7793
7864
  */
7794
7865
  total_count: number;
7795
7866
  };
7867
+ /** @description A team-visible comment on a resource. */
7868
+ Comment: {
7869
+ /**
7870
+ * Format: uuid
7871
+ * @description Unique comment identifier
7872
+ * @example 550e8400-e29b-41d4-a716-446655440000
7873
+ */
7874
+ id: string;
7875
+ /**
7876
+ * Format: uuid
7877
+ * @description Owning team
7878
+ * @example 660e8400-e29b-41d4-a716-446655440001
7879
+ */
7880
+ team_id: string;
7881
+ /**
7882
+ * @description Type of the commented resource (artifact, memory, prompt, or blueprint)
7883
+ * @example artifact
7884
+ */
7885
+ resource_type: string;
7886
+ /**
7887
+ * Format: uuid
7888
+ * @description Identifier of the commented resource
7889
+ * @example 770e8400-e29b-41d4-a716-446655440002
7890
+ */
7891
+ resource_id: string;
7892
+ /**
7893
+ * Format: uuid
7894
+ * @description Author of the comment
7895
+ * @example 880e8400-e29b-41d4-a716-446655440003
7896
+ */
7897
+ user_id: string;
7898
+ /**
7899
+ * @description Comment body (markdown, 1–10,000 characters)
7900
+ * @example These figures are from the v3 API, not v4.
7901
+ */
7902
+ content: string;
7903
+ /**
7904
+ * Format: date-time
7905
+ * @description When the comment was created
7906
+ * @example 2026-07-16T09:00:00Z
7907
+ */
7908
+ created_at: string;
7909
+ /**
7910
+ * Format: date-time
7911
+ * @description When the comment was last edited (equals created_at if never edited)
7912
+ * @example 2026-07-16T09:00:00Z
7913
+ */
7914
+ updated_at: string;
7915
+ };
7916
+ /** @description Request body for creating a comment on a resource. */
7917
+ CreateCommentRequest: {
7918
+ /**
7919
+ * @description Type of the resource being commented on (artifact, memory, prompt, or blueprint)
7920
+ * @example artifact
7921
+ */
7922
+ resource_type: string;
7923
+ /**
7924
+ * Format: uuid
7925
+ * @description Identifier of the resource being commented on
7926
+ * @example 770e8400-e29b-41d4-a716-446655440002
7927
+ */
7928
+ resource_id: string;
7929
+ /**
7930
+ * @description Comment body (markdown, 1–10,000 characters)
7931
+ * @example These figures are from the v3 API, not v4.
7932
+ */
7933
+ content: string;
7934
+ };
7935
+ /** @description Request body for editing a comment's content. */
7936
+ UpdateCommentRequest: {
7937
+ /**
7938
+ * @description New comment body (markdown, 1–10,000 characters)
7939
+ * @example These figures are from the v3 API, not v4 (corrected).
7940
+ */
7941
+ content: string;
7942
+ };
7943
+ /** @description A page of a resource's comments, newest first. */
7944
+ CommentListResponse: {
7945
+ /** @description Comments on the resource, newest first */
7946
+ comments: components["schemas"]["Comment"][];
7947
+ /**
7948
+ * @description Total number of comments on the resource
7949
+ * @example 7
7950
+ */
7951
+ total_count: number;
7952
+ /**
7953
+ * @description Current page number
7954
+ * @example 1
7955
+ */
7956
+ page: number;
7957
+ /**
7958
+ * @description Number of items per page
7959
+ * @example 20
7960
+ */
7961
+ per_page: number;
7962
+ /**
7963
+ * @description Total number of pages
7964
+ * @example 1
7965
+ */
7966
+ total_pages: number;
7967
+ };
7968
+ /** @description A recent comment for the homepage activity card: the comment's latest state plus its resource's resolved title and link fields. No comment body snippet. project_id is present for every resource type; slug is present for artifact/blueprint/prompt and absent for memory. */
7969
+ RecentComment: {
7970
+ /**
7971
+ * Format: uuid
7972
+ * @description Author of the comment
7973
+ * @example 880e8400-e29b-41d4-a716-446655440003
7974
+ */
7975
+ user_id: string;
7976
+ /**
7977
+ * Format: date-time
7978
+ * @description When the comment was created
7979
+ * @example 2026-07-16T09:00:00Z
7980
+ */
7981
+ created_at: string;
7982
+ /**
7983
+ * Format: date-time
7984
+ * @description When the comment was last edited (updated_at > created_at means edited)
7985
+ * @example 2026-07-16T10:00:00Z
7986
+ */
7987
+ updated_at: string;
7988
+ /**
7989
+ * @description Type of the commented resource
7990
+ * @example artifact
7991
+ */
7992
+ resource_type: string;
7993
+ /**
7994
+ * Format: uuid
7995
+ * @description Identifier of the commented resource
7996
+ * @example 770e8400-e29b-41d4-a716-446655440002
7997
+ */
7998
+ resource_id: string;
7999
+ /**
8000
+ * @description Resolved display title of the resource
8001
+ * @example Q3 revenue analysis
8002
+ */
8003
+ resource_title: string;
8004
+ /**
8005
+ * Format: uuid
8006
+ * @description Project the resource belongs to (for building the detail link)
8007
+ * @example 990e8400-e29b-41d4-a716-446655440004
8008
+ */
8009
+ project_id?: string;
8010
+ /**
8011
+ * @description Resource slug for the detail link (absent for memories)
8012
+ * @example q3-revenue-analysis
8013
+ */
8014
+ slug?: string;
8015
+ };
8016
+ /** @description The team's most recent comment activity, latest-activity first. */
8017
+ RecentCommentListResponse: {
8018
+ /** @description Recent comments across the team, most-recently-active first */
8019
+ comments: components["schemas"]["RecentComment"][];
8020
+ /**
8021
+ * @description Number of entries in the list
8022
+ * @example 10
8023
+ */
8024
+ total_count: number;
8025
+ };
7796
8026
  ProjectResponse: components["schemas"]["Project"] & {
7797
8027
  /**
7798
8028
  * @description Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -16606,7 +16836,7 @@ export interface operations {
16606
16836
  [name: string]: unknown;
16607
16837
  };
16608
16838
  content: {
16609
- "application/json": components["schemas"]["InvitationResponse"][];
16839
+ "application/json": components["schemas"]["InvitationResponseList"];
16610
16840
  };
16611
16841
  };
16612
16842
  /** @description Unauthorized */
@@ -16669,7 +16899,7 @@ export interface operations {
16669
16899
  [name: string]: unknown;
16670
16900
  };
16671
16901
  content: {
16672
- "application/json": components["schemas"]["InvitationResponse"][];
16902
+ "application/json": components["schemas"]["InvitationResponseList"];
16673
16903
  };
16674
16904
  };
16675
16905
  /** @description Invalid request body, validation error, more than 50 emails, or invalid role */
@@ -17666,6 +17896,350 @@ export interface operations {
17666
17896
  };
17667
17897
  };
17668
17898
  };
17899
+ listComments: {
17900
+ parameters: {
17901
+ query: {
17902
+ /** @description Type of the commented resource (artifact, memory, prompt, or blueprint) */
17903
+ resource_type: string;
17904
+ /** @description Identifier of the commented resource */
17905
+ resource_id: string;
17906
+ /** @description Page number (1-based) */
17907
+ page?: number;
17908
+ /** @description Items per page */
17909
+ limit?: number;
17910
+ };
17911
+ header?: never;
17912
+ path: {
17913
+ /** @description Team identifier */
17914
+ team_id: string;
17915
+ };
17916
+ cookie?: never;
17917
+ };
17918
+ requestBody?: never;
17919
+ responses: {
17920
+ /** @description Comments retrieved successfully */
17921
+ 200: {
17922
+ headers: {
17923
+ [name: string]: unknown;
17924
+ };
17925
+ content: {
17926
+ "application/json": components["schemas"]["CommentListResponse"];
17927
+ };
17928
+ };
17929
+ /** @description Invalid resource_type or query parameters */
17930
+ 400: {
17931
+ headers: {
17932
+ [name: string]: unknown;
17933
+ };
17934
+ content: {
17935
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17936
+ };
17937
+ };
17938
+ /** @description Unauthorized */
17939
+ 401: {
17940
+ headers: {
17941
+ [name: string]: unknown;
17942
+ };
17943
+ content: {
17944
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17945
+ };
17946
+ };
17947
+ /** @description Caller is not a member of the team */
17948
+ 403: {
17949
+ headers: {
17950
+ [name: string]: unknown;
17951
+ };
17952
+ content: {
17953
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17954
+ };
17955
+ };
17956
+ /** @description Failed to list comments */
17957
+ 500: {
17958
+ headers: {
17959
+ [name: string]: unknown;
17960
+ };
17961
+ content: {
17962
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17963
+ };
17964
+ };
17965
+ };
17966
+ };
17967
+ createComment: {
17968
+ parameters: {
17969
+ query?: never;
17970
+ header?: never;
17971
+ path: {
17972
+ /** @description Team identifier */
17973
+ team_id: string;
17974
+ };
17975
+ cookie?: never;
17976
+ };
17977
+ requestBody: {
17978
+ content: {
17979
+ "application/json": components["schemas"]["CreateCommentRequest"];
17980
+ };
17981
+ };
17982
+ responses: {
17983
+ /** @description Comment created successfully */
17984
+ 201: {
17985
+ headers: {
17986
+ [name: string]: unknown;
17987
+ };
17988
+ content: {
17989
+ "application/json": components["schemas"]["Comment"];
17990
+ };
17991
+ };
17992
+ /** @description Invalid resource_type or content */
17993
+ 400: {
17994
+ headers: {
17995
+ [name: string]: unknown;
17996
+ };
17997
+ content: {
17998
+ "application/problem+json": components["schemas"]["ErrorResponse"];
17999
+ };
18000
+ };
18001
+ /** @description Unauthorized */
18002
+ 401: {
18003
+ headers: {
18004
+ [name: string]: unknown;
18005
+ };
18006
+ content: {
18007
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18008
+ };
18009
+ };
18010
+ /** @description Caller may not comment in the team */
18011
+ 403: {
18012
+ headers: {
18013
+ [name: string]: unknown;
18014
+ };
18015
+ content: {
18016
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18017
+ };
18018
+ };
18019
+ /** @description Target resource not found in the team */
18020
+ 404: {
18021
+ headers: {
18022
+ [name: string]: unknown;
18023
+ };
18024
+ content: {
18025
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18026
+ };
18027
+ };
18028
+ /** @description Failed to create comment */
18029
+ 500: {
18030
+ headers: {
18031
+ [name: string]: unknown;
18032
+ };
18033
+ content: {
18034
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18035
+ };
18036
+ };
18037
+ };
18038
+ };
18039
+ listRecentComments: {
18040
+ parameters: {
18041
+ query?: {
18042
+ /** @description Maximum number of entries to return */
18043
+ limit?: number;
18044
+ };
18045
+ header?: never;
18046
+ path: {
18047
+ /** @description Team identifier */
18048
+ team_id: string;
18049
+ };
18050
+ cookie?: never;
18051
+ };
18052
+ requestBody?: never;
18053
+ responses: {
18054
+ /** @description Recent comments retrieved successfully */
18055
+ 200: {
18056
+ headers: {
18057
+ [name: string]: unknown;
18058
+ };
18059
+ content: {
18060
+ "application/json": components["schemas"]["RecentCommentListResponse"];
18061
+ };
18062
+ };
18063
+ /** @description Invalid query parameters */
18064
+ 400: {
18065
+ headers: {
18066
+ [name: string]: unknown;
18067
+ };
18068
+ content: {
18069
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18070
+ };
18071
+ };
18072
+ /** @description Unauthorized */
18073
+ 401: {
18074
+ headers: {
18075
+ [name: string]: unknown;
18076
+ };
18077
+ content: {
18078
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18079
+ };
18080
+ };
18081
+ /** @description Caller is not a member of the team */
18082
+ 403: {
18083
+ headers: {
18084
+ [name: string]: unknown;
18085
+ };
18086
+ content: {
18087
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18088
+ };
18089
+ };
18090
+ /** @description Failed to list recent comments */
18091
+ 500: {
18092
+ headers: {
18093
+ [name: string]: unknown;
18094
+ };
18095
+ content: {
18096
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18097
+ };
18098
+ };
18099
+ };
18100
+ };
18101
+ deleteComment: {
18102
+ parameters: {
18103
+ query?: never;
18104
+ header?: never;
18105
+ path: {
18106
+ /** @description Team identifier */
18107
+ team_id: string;
18108
+ /** @description Comment identifier */
18109
+ comment_id: string;
18110
+ };
18111
+ cookie?: never;
18112
+ };
18113
+ requestBody?: never;
18114
+ responses: {
18115
+ /** @description Comment deleted (no content) */
18116
+ 204: {
18117
+ headers: {
18118
+ [name: string]: unknown;
18119
+ };
18120
+ content?: never;
18121
+ };
18122
+ /** @description comment_id is not a valid UUID */
18123
+ 400: {
18124
+ headers: {
18125
+ [name: string]: unknown;
18126
+ };
18127
+ content: {
18128
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18129
+ };
18130
+ };
18131
+ /** @description Unauthorized */
18132
+ 401: {
18133
+ headers: {
18134
+ [name: string]: unknown;
18135
+ };
18136
+ content: {
18137
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18138
+ };
18139
+ };
18140
+ /** @description Caller may not delete this comment */
18141
+ 403: {
18142
+ headers: {
18143
+ [name: string]: unknown;
18144
+ };
18145
+ content: {
18146
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18147
+ };
18148
+ };
18149
+ /** @description Comment not found in the team */
18150
+ 404: {
18151
+ headers: {
18152
+ [name: string]: unknown;
18153
+ };
18154
+ content: {
18155
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18156
+ };
18157
+ };
18158
+ /** @description Failed to delete comment */
18159
+ 500: {
18160
+ headers: {
18161
+ [name: string]: unknown;
18162
+ };
18163
+ content: {
18164
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18165
+ };
18166
+ };
18167
+ };
18168
+ };
18169
+ updateComment: {
18170
+ parameters: {
18171
+ query?: never;
18172
+ header?: never;
18173
+ path: {
18174
+ /** @description Team identifier */
18175
+ team_id: string;
18176
+ /** @description Comment identifier */
18177
+ comment_id: string;
18178
+ };
18179
+ cookie?: never;
18180
+ };
18181
+ requestBody: {
18182
+ content: {
18183
+ "application/json": components["schemas"]["UpdateCommentRequest"];
18184
+ };
18185
+ };
18186
+ responses: {
18187
+ /** @description Comment updated successfully */
18188
+ 200: {
18189
+ headers: {
18190
+ [name: string]: unknown;
18191
+ };
18192
+ content: {
18193
+ "application/json": components["schemas"]["Comment"];
18194
+ };
18195
+ };
18196
+ /** @description Invalid content */
18197
+ 400: {
18198
+ headers: {
18199
+ [name: string]: unknown;
18200
+ };
18201
+ content: {
18202
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18203
+ };
18204
+ };
18205
+ /** @description Unauthorized */
18206
+ 401: {
18207
+ headers: {
18208
+ [name: string]: unknown;
18209
+ };
18210
+ content: {
18211
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18212
+ };
18213
+ };
18214
+ /** @description Caller is not the comment's author */
18215
+ 403: {
18216
+ headers: {
18217
+ [name: string]: unknown;
18218
+ };
18219
+ content: {
18220
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18221
+ };
18222
+ };
18223
+ /** @description Comment not found in the team */
18224
+ 404: {
18225
+ headers: {
18226
+ [name: string]: unknown;
18227
+ };
18228
+ content: {
18229
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18230
+ };
18231
+ };
18232
+ /** @description Failed to update comment */
18233
+ 500: {
18234
+ headers: {
18235
+ [name: string]: unknown;
18236
+ };
18237
+ content: {
18238
+ "application/problem+json": components["schemas"]["ErrorResponse"];
18239
+ };
18240
+ };
18241
+ };
18242
+ };
17669
18243
  listEmbeddingProviders: {
17670
18244
  parameters: {
17671
18245
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibexp/api-client",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Typed VibeXP API client generated from the OpenAPI spec (openapi-fetch main entrypoint, axios SDK at ./axios)",
5
5
  "license": "MIT",
6
6
  "repository": {