@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.
@@ -2469,6 +2469,10 @@ export type InvitationResponse = {
2469
2469
  created_at?: string;
2470
2470
  invited_by?: InviterInfo;
2471
2471
  };
2472
+ /**
2473
+ * Bare list of team invitations returned by the list endpoint.
2474
+ */
2475
+ export type InvitationResponseList = Array<InvitationResponse>;
2472
2476
  /**
2473
2477
  * Wrapper response for the get-invitation-by-token endpoint
2474
2478
  */
@@ -3372,6 +3376,145 @@ export type TypeListResponse = {
3372
3376
  */
3373
3377
  total_count: number;
3374
3378
  };
3379
+ /**
3380
+ * A team-visible comment on a resource.
3381
+ */
3382
+ export type Comment = {
3383
+ /**
3384
+ * Unique comment identifier
3385
+ */
3386
+ id: string;
3387
+ /**
3388
+ * Owning team
3389
+ */
3390
+ team_id: string;
3391
+ /**
3392
+ * Type of the commented resource (artifact, memory, prompt, or blueprint)
3393
+ */
3394
+ resource_type: string;
3395
+ /**
3396
+ * Identifier of the commented resource
3397
+ */
3398
+ resource_id: string;
3399
+ /**
3400
+ * Author of the comment
3401
+ */
3402
+ user_id: string;
3403
+ /**
3404
+ * Comment body (markdown, 1–10,000 characters)
3405
+ */
3406
+ content: string;
3407
+ /**
3408
+ * When the comment was created
3409
+ */
3410
+ created_at: string;
3411
+ /**
3412
+ * When the comment was last edited (equals created_at if never edited)
3413
+ */
3414
+ updated_at: string;
3415
+ };
3416
+ /**
3417
+ * Request body for creating a comment on a resource.
3418
+ */
3419
+ export type CreateCommentRequest = {
3420
+ /**
3421
+ * Type of the resource being commented on (artifact, memory, prompt, or blueprint)
3422
+ */
3423
+ resource_type: string;
3424
+ /**
3425
+ * Identifier of the resource being commented on
3426
+ */
3427
+ resource_id: string;
3428
+ /**
3429
+ * Comment body (markdown, 1–10,000 characters)
3430
+ */
3431
+ content: string;
3432
+ };
3433
+ /**
3434
+ * Request body for editing a comment's content.
3435
+ */
3436
+ export type UpdateCommentRequest = {
3437
+ /**
3438
+ * New comment body (markdown, 1–10,000 characters)
3439
+ */
3440
+ content: string;
3441
+ };
3442
+ /**
3443
+ * A page of a resource's comments, newest first.
3444
+ */
3445
+ export type CommentListResponse = {
3446
+ /**
3447
+ * Comments on the resource, newest first
3448
+ */
3449
+ comments: Array<Comment>;
3450
+ /**
3451
+ * Total number of comments on the resource
3452
+ */
3453
+ total_count: number;
3454
+ /**
3455
+ * Current page number
3456
+ */
3457
+ page: number;
3458
+ /**
3459
+ * Number of items per page
3460
+ */
3461
+ per_page: number;
3462
+ /**
3463
+ * Total number of pages
3464
+ */
3465
+ total_pages: number;
3466
+ };
3467
+ /**
3468
+ * 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.
3469
+ *
3470
+ */
3471
+ export type RecentComment = {
3472
+ /**
3473
+ * Author of the comment
3474
+ */
3475
+ user_id: string;
3476
+ /**
3477
+ * When the comment was created
3478
+ */
3479
+ created_at: string;
3480
+ /**
3481
+ * When the comment was last edited (updated_at > created_at means edited)
3482
+ */
3483
+ updated_at: string;
3484
+ /**
3485
+ * Type of the commented resource
3486
+ */
3487
+ resource_type: string;
3488
+ /**
3489
+ * Identifier of the commented resource
3490
+ */
3491
+ resource_id: string;
3492
+ /**
3493
+ * Resolved display title of the resource
3494
+ */
3495
+ resource_title: string;
3496
+ /**
3497
+ * Project the resource belongs to (for building the detail link)
3498
+ */
3499
+ project_id?: string;
3500
+ /**
3501
+ * Resource slug for the detail link (absent for memories)
3502
+ */
3503
+ slug?: string;
3504
+ };
3505
+ /**
3506
+ * The team's most recent comment activity, latest-activity first.
3507
+ */
3508
+ export type RecentCommentListResponse = {
3509
+ /**
3510
+ * Recent comments across the team, most-recently-active first
3511
+ */
3512
+ comments: Array<RecentComment>;
3513
+ /**
3514
+ * Number of entries in the list
3515
+ */
3516
+ total_count: number;
3517
+ };
3375
3518
  export type ProjectResponse = Project & {
3376
3519
  /**
3377
3520
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -9597,7 +9740,7 @@ export type ListTeamInvitationsResponses = {
9597
9740
  /**
9598
9741
  * Invitations retrieved successfully
9599
9742
  */
9600
- 200: Array<InvitationResponse>;
9743
+ 200: InvitationResponseList;
9601
9744
  };
9602
9745
  export type ListTeamInvitationsResponse = ListTeamInvitationsResponses[keyof ListTeamInvitationsResponses];
9603
9746
  export type SendTeamInvitationsData = {
@@ -9646,7 +9789,7 @@ export type SendTeamInvitationsResponses = {
9646
9789
  /**
9647
9790
  * Invitations created successfully (the `token`, `team_name` and `invited_by` fields are not populated on this response)
9648
9791
  */
9649
- 201: Array<InvitationResponse>;
9792
+ 201: InvitationResponseList;
9650
9793
  };
9651
9794
  export type SendTeamInvitationsResponse = SendTeamInvitationsResponses[keyof SendTeamInvitationsResponses];
9652
9795
  export type RevokeTeamInvitationData = {
@@ -10263,6 +10406,233 @@ export type DeleteTypeResponses = {
10263
10406
  204: void;
10264
10407
  };
10265
10408
  export type DeleteTypeResponse = DeleteTypeResponses[keyof DeleteTypeResponses];
10409
+ export type ListCommentsData = {
10410
+ body?: never;
10411
+ path: {
10412
+ /**
10413
+ * Team identifier
10414
+ */
10415
+ team_id: string;
10416
+ };
10417
+ query: {
10418
+ /**
10419
+ * Type of the commented resource (artifact, memory, prompt, or blueprint)
10420
+ */
10421
+ resource_type: string;
10422
+ /**
10423
+ * Identifier of the commented resource
10424
+ */
10425
+ resource_id: string;
10426
+ /**
10427
+ * Page number (1-based)
10428
+ */
10429
+ page?: number;
10430
+ /**
10431
+ * Items per page
10432
+ */
10433
+ limit?: number;
10434
+ };
10435
+ url: '/api/v1/{team_id}/comments';
10436
+ };
10437
+ export type ListCommentsErrors = {
10438
+ /**
10439
+ * Invalid resource_type or query parameters
10440
+ */
10441
+ 400: ErrorResponse;
10442
+ /**
10443
+ * Unauthorized
10444
+ */
10445
+ 401: ErrorResponse;
10446
+ /**
10447
+ * Caller is not a member of the team
10448
+ */
10449
+ 403: ErrorResponse;
10450
+ /**
10451
+ * Failed to list comments
10452
+ */
10453
+ 500: ErrorResponse;
10454
+ };
10455
+ export type ListCommentsError = ListCommentsErrors[keyof ListCommentsErrors];
10456
+ export type ListCommentsResponses = {
10457
+ /**
10458
+ * Comments retrieved successfully
10459
+ */
10460
+ 200: CommentListResponse;
10461
+ };
10462
+ export type ListCommentsResponse = ListCommentsResponses[keyof ListCommentsResponses];
10463
+ export type CreateCommentData = {
10464
+ body: CreateCommentRequest;
10465
+ path: {
10466
+ /**
10467
+ * Team identifier
10468
+ */
10469
+ team_id: string;
10470
+ };
10471
+ query?: never;
10472
+ url: '/api/v1/{team_id}/comments';
10473
+ };
10474
+ export type CreateCommentErrors = {
10475
+ /**
10476
+ * Invalid resource_type or content
10477
+ */
10478
+ 400: ErrorResponse;
10479
+ /**
10480
+ * Unauthorized
10481
+ */
10482
+ 401: ErrorResponse;
10483
+ /**
10484
+ * Caller may not comment in the team
10485
+ */
10486
+ 403: ErrorResponse;
10487
+ /**
10488
+ * Target resource not found in the team
10489
+ */
10490
+ 404: ErrorResponse;
10491
+ /**
10492
+ * Failed to create comment
10493
+ */
10494
+ 500: ErrorResponse;
10495
+ };
10496
+ export type CreateCommentError = CreateCommentErrors[keyof CreateCommentErrors];
10497
+ export type CreateCommentResponses = {
10498
+ /**
10499
+ * Comment created successfully
10500
+ */
10501
+ 201: Comment;
10502
+ };
10503
+ export type CreateCommentResponse = CreateCommentResponses[keyof CreateCommentResponses];
10504
+ export type ListRecentCommentsData = {
10505
+ body?: never;
10506
+ path: {
10507
+ /**
10508
+ * Team identifier
10509
+ */
10510
+ team_id: string;
10511
+ };
10512
+ query?: {
10513
+ /**
10514
+ * Maximum number of entries to return
10515
+ */
10516
+ limit?: number;
10517
+ };
10518
+ url: '/api/v1/{team_id}/comments/recent';
10519
+ };
10520
+ export type ListRecentCommentsErrors = {
10521
+ /**
10522
+ * Invalid query parameters
10523
+ */
10524
+ 400: ErrorResponse;
10525
+ /**
10526
+ * Unauthorized
10527
+ */
10528
+ 401: ErrorResponse;
10529
+ /**
10530
+ * Caller is not a member of the team
10531
+ */
10532
+ 403: ErrorResponse;
10533
+ /**
10534
+ * Failed to list recent comments
10535
+ */
10536
+ 500: ErrorResponse;
10537
+ };
10538
+ export type ListRecentCommentsError = ListRecentCommentsErrors[keyof ListRecentCommentsErrors];
10539
+ export type ListRecentCommentsResponses = {
10540
+ /**
10541
+ * Recent comments retrieved successfully
10542
+ */
10543
+ 200: RecentCommentListResponse;
10544
+ };
10545
+ export type ListRecentCommentsResponse = ListRecentCommentsResponses[keyof ListRecentCommentsResponses];
10546
+ export type DeleteCommentData = {
10547
+ body?: never;
10548
+ path: {
10549
+ /**
10550
+ * Team identifier
10551
+ */
10552
+ team_id: string;
10553
+ /**
10554
+ * Comment identifier
10555
+ */
10556
+ comment_id: string;
10557
+ };
10558
+ query?: never;
10559
+ url: '/api/v1/{team_id}/comments/{comment_id}';
10560
+ };
10561
+ export type DeleteCommentErrors = {
10562
+ /**
10563
+ * comment_id is not a valid UUID
10564
+ */
10565
+ 400: ErrorResponse;
10566
+ /**
10567
+ * Unauthorized
10568
+ */
10569
+ 401: ErrorResponse;
10570
+ /**
10571
+ * Caller may not delete this comment
10572
+ */
10573
+ 403: ErrorResponse;
10574
+ /**
10575
+ * Comment not found in the team
10576
+ */
10577
+ 404: ErrorResponse;
10578
+ /**
10579
+ * Failed to delete comment
10580
+ */
10581
+ 500: ErrorResponse;
10582
+ };
10583
+ export type DeleteCommentError = DeleteCommentErrors[keyof DeleteCommentErrors];
10584
+ export type DeleteCommentResponses = {
10585
+ /**
10586
+ * Comment deleted (no content)
10587
+ */
10588
+ 204: void;
10589
+ };
10590
+ export type DeleteCommentResponse = DeleteCommentResponses[keyof DeleteCommentResponses];
10591
+ export type UpdateCommentData = {
10592
+ body: UpdateCommentRequest;
10593
+ path: {
10594
+ /**
10595
+ * Team identifier
10596
+ */
10597
+ team_id: string;
10598
+ /**
10599
+ * Comment identifier
10600
+ */
10601
+ comment_id: string;
10602
+ };
10603
+ query?: never;
10604
+ url: '/api/v1/{team_id}/comments/{comment_id}';
10605
+ };
10606
+ export type UpdateCommentErrors = {
10607
+ /**
10608
+ * Invalid content
10609
+ */
10610
+ 400: ErrorResponse;
10611
+ /**
10612
+ * Unauthorized
10613
+ */
10614
+ 401: ErrorResponse;
10615
+ /**
10616
+ * Caller is not the comment's author
10617
+ */
10618
+ 403: ErrorResponse;
10619
+ /**
10620
+ * Comment not found in the team
10621
+ */
10622
+ 404: ErrorResponse;
10623
+ /**
10624
+ * Failed to update comment
10625
+ */
10626
+ 500: ErrorResponse;
10627
+ };
10628
+ export type UpdateCommentError = UpdateCommentErrors[keyof UpdateCommentErrors];
10629
+ export type UpdateCommentResponses = {
10630
+ /**
10631
+ * Comment updated successfully
10632
+ */
10633
+ 200: Comment;
10634
+ };
10635
+ export type UpdateCommentResponse = UpdateCommentResponses[keyof UpdateCommentResponses];
10266
10636
  export type ListEmbeddingProvidersData = {
10267
10637
  body?: never;
10268
10638
  path: {