@dazl/internal-api-client 1.9.0 → 1.11.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/src/types.gen.ts CHANGED
@@ -113,6 +113,44 @@ export type OwnerDazlId = {
113
113
  ownerDazlId: string;
114
114
  };
115
115
 
116
+ export type UserMention = {
117
+ dazlUserId: string;
118
+ };
119
+
120
+ export type CommentResolved = {
121
+ dazlUserId: string;
122
+ resolvedAt: string;
123
+ };
124
+
125
+ export type CommentContext = {
126
+ type: 'stage';
127
+ page: string;
128
+ selection?: string;
129
+ };
130
+
131
+ export type InternalCreateCommentInput = {
132
+ content: string;
133
+ authorDazlUserId: string;
134
+ mentions?: Array<UserMention>;
135
+ context?: CommentContext;
136
+ };
137
+
138
+ export type InternalEditCommentInput = {
139
+ content: string;
140
+ mentions?: Array<UserMention>;
141
+ };
142
+
143
+ export type InternalCreateReplyInput = {
144
+ content: string;
145
+ mentions?: Array<UserMention>;
146
+ authorDazlUserId: string;
147
+ };
148
+
149
+ export type InternalEditReplyInput = {
150
+ content: string;
151
+ mentions?: Array<UserMention>;
152
+ };
153
+
116
154
  export type TemplateRaw = {
117
155
  id: string;
118
156
  name: string;
@@ -2340,10 +2378,10 @@ export type InviteProjectMemberError = InviteProjectMemberErrors[keyof InvitePro
2340
2378
 
2341
2379
  export type InviteProjectMemberResponses = {
2342
2380
  /**
2343
- * Returns the invitation token
2381
+ * Returns the invitation token, or null if user was auto-added to project
2344
2382
  */
2345
2383
  200: {
2346
- token: string;
2384
+ token: string | null;
2347
2385
  };
2348
2386
  };
2349
2387
 
@@ -2406,16 +2444,18 @@ export type AcceptProjectInvitationResponses = {
2406
2444
 
2407
2445
  export type AcceptProjectInvitationResponse = AcceptProjectInvitationResponses[keyof AcceptProjectInvitationResponses];
2408
2446
 
2409
- export type GetPublicTemplatesData = {
2447
+ export type GetProjectCollaboratorsData = {
2410
2448
  body?: never;
2411
- path?: never;
2412
- query?: {
2413
- withScreenshot?: boolean | null;
2449
+ path: {
2450
+ projectId: string;
2414
2451
  };
2415
- url: '/template/public-templates';
2452
+ query: {
2453
+ userDazlId: string;
2454
+ };
2455
+ url: '/project/{projectId}/collaborators';
2416
2456
  };
2417
2457
 
2418
- export type GetPublicTemplatesErrors = {
2458
+ export type GetProjectCollaboratorsErrors = {
2419
2459
  /**
2420
2460
  * Bad request - Invalid parameters or malformed JSON
2421
2461
  */
@@ -2449,35 +2489,56 @@ export type GetPublicTemplatesErrors = {
2449
2489
  503: ErrorResponse;
2450
2490
  };
2451
2491
 
2452
- export type GetPublicTemplatesError = GetPublicTemplatesErrors[keyof GetPublicTemplatesErrors];
2492
+ export type GetProjectCollaboratorsError = GetProjectCollaboratorsErrors[keyof GetProjectCollaboratorsErrors];
2453
2493
 
2454
- export type GetPublicTemplatesResponses = {
2494
+ export type GetProjectCollaboratorsResponses = {
2455
2495
  /**
2456
- * Returns all public templates. Optionally includes screenshots when `withScreenshot` is true. Templates are ordered by the greatest of createdAt and lastUsedAt in descending order.
2496
+ * Returns the list of project collaborators: both members and invitations
2457
2497
  */
2458
2498
  200: {
2459
- templates: Array<{
2460
- screenshotUrl: string | null;
2461
- originProjectName: string | null;
2462
- } & TemplateRaw>;
2499
+ owner: {
2500
+ /**
2501
+ * Dazl ID for the type = "user"
2502
+ */
2503
+ id: string;
2504
+ role: 'admin' | 'contributor' | 'viewer' | 'owner';
2505
+ email: string;
2506
+ name?: string;
2507
+ picture?: string;
2508
+ };
2509
+ members: Array<{
2510
+ /**
2511
+ * Dazl ID for the type = "user"
2512
+ */
2513
+ id: string;
2514
+ role: 'admin' | 'contributor' | 'viewer' | 'owner';
2515
+ email: string;
2516
+ name?: string;
2517
+ picture?: string;
2518
+ }>;
2519
+ invited: Array<{
2520
+ role: 'admin' | 'contributor' | 'viewer';
2521
+ email?: string;
2522
+ id: string;
2523
+ }>;
2463
2524
  };
2464
2525
  };
2465
2526
 
2466
- export type GetPublicTemplatesResponse = GetPublicTemplatesResponses[keyof GetPublicTemplatesResponses];
2527
+ export type GetProjectCollaboratorsResponse = GetProjectCollaboratorsResponses[keyof GetProjectCollaboratorsResponses];
2467
2528
 
2468
- export type GetUserTemplatesData = {
2529
+ export type DeleteProjectMemberData = {
2469
2530
  body?: never;
2470
2531
  path: {
2471
- dazlId: string;
2532
+ projectId: string;
2533
+ memberId: string;
2472
2534
  };
2473
- query?: {
2474
- withScreenshot?: boolean | null;
2475
- withOriginProject?: boolean | null;
2535
+ query: {
2536
+ userDazlId: string;
2476
2537
  };
2477
- url: '/template/user/{dazlId}';
2538
+ url: '/project/{projectId}/members/{memberId}';
2478
2539
  };
2479
2540
 
2480
- export type GetUserTemplatesErrors = {
2541
+ export type DeleteProjectMemberErrors = {
2481
2542
  /**
2482
2543
  * Bad request - Invalid parameters or malformed JSON
2483
2544
  */
@@ -2511,37 +2572,32 @@ export type GetUserTemplatesErrors = {
2511
2572
  503: ErrorResponse;
2512
2573
  };
2513
2574
 
2514
- export type GetUserTemplatesError = GetUserTemplatesErrors[keyof GetUserTemplatesErrors];
2575
+ export type DeleteProjectMemberError = DeleteProjectMemberErrors[keyof DeleteProjectMemberErrors];
2515
2576
 
2516
- export type GetUserTemplatesResponses = {
2577
+ export type DeleteProjectMemberResponses = {
2517
2578
  /**
2518
- * Returns all templates for the specified user. Templates are ordered by the greatest of createdAt and lastUsedAt in descending order.
2579
+ * Acknowledges that the project member was deleted
2519
2580
  */
2520
2581
  200: {
2521
- templates: Array<{
2522
- screenshotUrl: string | null;
2523
- originProjectName: string | null;
2524
- } & TemplateRaw>;
2582
+ status: 'deleted';
2525
2583
  };
2526
2584
  };
2527
2585
 
2528
- export type GetUserTemplatesResponse = GetUserTemplatesResponses[keyof GetUserTemplatesResponses];
2586
+ export type DeleteProjectMemberResponse = DeleteProjectMemberResponses[keyof DeleteProjectMemberResponses];
2529
2587
 
2530
- export type DeleteTemplateData = {
2531
- /**
2532
- * Owner dazlId of the user attempting to delete the template
2533
- */
2534
- body?: {
2535
- ownerDazlId: string;
2536
- };
2588
+ export type DeleteProjectInvitationData = {
2589
+ body?: never;
2537
2590
  path: {
2538
- templateId: string;
2591
+ projectId: string;
2592
+ invitationId: string;
2539
2593
  };
2540
- query?: never;
2541
- url: '/template/{templateId}';
2594
+ query: {
2595
+ userDazlId: string;
2596
+ };
2597
+ url: '/project/{projectId}/invitations/{invitationId}';
2542
2598
  };
2543
2599
 
2544
- export type DeleteTemplateErrors = {
2600
+ export type DeleteProjectInvitationErrors = {
2545
2601
  /**
2546
2602
  * Bad request - Invalid parameters or malformed JSON
2547
2603
  */
@@ -2575,31 +2631,29 @@ export type DeleteTemplateErrors = {
2575
2631
  503: ErrorResponse;
2576
2632
  };
2577
2633
 
2578
- export type DeleteTemplateError = DeleteTemplateErrors[keyof DeleteTemplateErrors];
2634
+ export type DeleteProjectInvitationError = DeleteProjectInvitationErrors[keyof DeleteProjectInvitationErrors];
2579
2635
 
2580
- export type DeleteTemplateResponses = {
2636
+ export type DeleteProjectInvitationResponses = {
2581
2637
  /**
2582
- * Deletes the template with the specified ID.
2638
+ * Acknowledges that the project invitation was deleted
2583
2639
  */
2584
2640
  200: {
2585
- templateId: string;
2641
+ status: 'deleted';
2586
2642
  };
2587
2643
  };
2588
2644
 
2589
- export type DeleteTemplateResponse = DeleteTemplateResponses[keyof DeleteTemplateResponses];
2645
+ export type DeleteProjectInvitationResponse = DeleteProjectInvitationResponses[keyof DeleteProjectInvitationResponses];
2590
2646
 
2591
- export type GetTemplateData = {
2647
+ export type InternalListProjectCommentsData = {
2592
2648
  body?: never;
2593
2649
  path: {
2594
- templateId: string;
2595
- };
2596
- query?: {
2597
- withScreenshot?: boolean | null;
2650
+ projectId: string;
2598
2651
  };
2599
- url: '/template/{templateId}';
2652
+ query?: never;
2653
+ url: '/project/{projectId}/comments';
2600
2654
  };
2601
2655
 
2602
- export type GetTemplateErrors = {
2656
+ export type InternalListProjectCommentsErrors = {
2603
2657
  /**
2604
2658
  * Bad request - Invalid parameters or malformed JSON
2605
2659
  */
@@ -2633,36 +2687,60 @@ export type GetTemplateErrors = {
2633
2687
  503: ErrorResponse;
2634
2688
  };
2635
2689
 
2636
- export type GetTemplateError = GetTemplateErrors[keyof GetTemplateErrors];
2690
+ export type InternalListProjectCommentsError = InternalListProjectCommentsErrors[keyof InternalListProjectCommentsErrors];
2637
2691
 
2638
- export type GetTemplateResponses = {
2692
+ export type InternalListProjectCommentsResponses = {
2639
2693
  /**
2640
- * Returns the template with the specified ID.
2694
+ * Returns the list of comments for the project
2641
2695
  */
2642
2696
  200: {
2643
- template: TemplateRaw;
2697
+ comments: Array<{
2698
+ commentId: string;
2699
+ author: {
2700
+ dazlUserId: string;
2701
+ };
2702
+ content: string;
2703
+ mentions: Array<UserMention>;
2704
+ createdAt: string;
2705
+ updatedAt: string;
2706
+ lastActivityAt: string;
2707
+ isEdited: boolean;
2708
+ replies: Array<{
2709
+ replyId: string;
2710
+ author: {
2711
+ dazlUserId: string;
2712
+ };
2713
+ content: string;
2714
+ mentions: Array<UserMention>;
2715
+ createdAt: string;
2716
+ updatedAt: string;
2717
+ }>;
2718
+ resolved?: CommentResolved;
2719
+ context?: CommentContext;
2720
+ }>;
2721
+ /**
2722
+ * Authors and mentions from loaded comments with id, email and picture to render avatars
2723
+ */
2724
+ participants: Array<{
2725
+ userId: string;
2726
+ email: string;
2727
+ picture?: string;
2728
+ }>;
2644
2729
  };
2645
2730
  };
2646
2731
 
2647
- export type GetTemplateResponse = GetTemplateResponses[keyof GetTemplateResponses];
2732
+ export type InternalListProjectCommentsResponse = InternalListProjectCommentsResponses[keyof InternalListProjectCommentsResponses];
2648
2733
 
2649
- export type UpdateTemplateData = {
2650
- body: {
2651
- description?: string | null;
2652
- lastUsedAt?: string | null;
2653
- name?: string;
2654
- usageCount?: number;
2655
- isPublic?: boolean;
2656
- ownerDazlId?: string;
2657
- };
2734
+ export type InternalCreateCommentData = {
2735
+ body: InternalCreateCommentInput;
2658
2736
  path: {
2659
- templateId: string;
2737
+ projectId: string;
2660
2738
  };
2661
2739
  query?: never;
2662
- url: '/template/{templateId}';
2740
+ url: '/project/{projectId}/comments';
2663
2741
  };
2664
2742
 
2665
- export type UpdateTemplateErrors = {
2743
+ export type InternalCreateCommentErrors = {
2666
2744
  /**
2667
2745
  * Bad request - Invalid parameters or malformed JSON
2668
2746
  */
@@ -2696,35 +2774,53 @@ export type UpdateTemplateErrors = {
2696
2774
  503: ErrorResponse;
2697
2775
  };
2698
2776
 
2699
- export type UpdateTemplateError = UpdateTemplateErrors[keyof UpdateTemplateErrors];
2777
+ export type InternalCreateCommentError = InternalCreateCommentErrors[keyof InternalCreateCommentErrors];
2700
2778
 
2701
- export type UpdateTemplateResponses = {
2779
+ export type InternalCreateCommentResponses = {
2702
2780
  /**
2703
- * Updates the template with the specified ID.
2781
+ * Returns the created comment
2704
2782
  */
2705
2783
  200: {
2706
- template: TemplateRaw;
2784
+ comment: {
2785
+ commentId: string;
2786
+ author: {
2787
+ dazlUserId: string;
2788
+ };
2789
+ content: string;
2790
+ mentions: Array<UserMention>;
2791
+ createdAt: string;
2792
+ updatedAt: string;
2793
+ lastActivityAt: string;
2794
+ isEdited: boolean;
2795
+ replies: Array<{
2796
+ replyId: string;
2797
+ author: {
2798
+ dazlUserId: string;
2799
+ };
2800
+ content: string;
2801
+ mentions: Array<UserMention>;
2802
+ createdAt: string;
2803
+ updatedAt: string;
2804
+ }>;
2805
+ resolved?: CommentResolved;
2806
+ context?: CommentContext;
2807
+ };
2707
2808
  };
2708
2809
  };
2709
2810
 
2710
- export type UpdateTemplateResponse = UpdateTemplateResponses[keyof UpdateTemplateResponses];
2811
+ export type InternalCreateCommentResponse = InternalCreateCommentResponses[keyof InternalCreateCommentResponses];
2711
2812
 
2712
- export type CreateTemplateData = {
2713
- body: {
2714
- originProjectId: string;
2715
- userDazlId: string;
2716
- } & {
2717
- preserveChatHistory: boolean;
2718
- preserveEnvFile: boolean;
2719
- name: string;
2720
- description?: string;
2813
+ export type InternalDeleteCommentData = {
2814
+ body?: never;
2815
+ path: {
2816
+ projectId: string;
2817
+ commentId: string;
2721
2818
  };
2722
- path?: never;
2723
2819
  query?: never;
2724
- url: '/template/create';
2820
+ url: '/project/{projectId}/comments/{commentId}';
2725
2821
  };
2726
2822
 
2727
- export type CreateTemplateErrors = {
2823
+ export type InternalDeleteCommentErrors = {
2728
2824
  /**
2729
2825
  * Bad request - Invalid parameters or malformed JSON
2730
2826
  */
@@ -2758,52 +2854,30 @@ export type CreateTemplateErrors = {
2758
2854
  503: ErrorResponse;
2759
2855
  };
2760
2856
 
2761
- export type CreateTemplateError = CreateTemplateErrors[keyof CreateTemplateErrors];
2857
+ export type InternalDeleteCommentError = InternalDeleteCommentErrors[keyof InternalDeleteCommentErrors];
2762
2858
 
2763
- export type CreateTemplateResponses = {
2859
+ export type InternalDeleteCommentResponses = {
2764
2860
  /**
2765
- * Creates a new template from the specified project for the specified user.
2861
+ * Acknowledges that the comment was deleted
2766
2862
  */
2767
2863
  200: {
2768
- template: TemplateRaw;
2864
+ success: true;
2769
2865
  };
2770
2866
  };
2771
2867
 
2772
- export type CreateTemplateResponse = CreateTemplateResponses[keyof CreateTemplateResponses];
2868
+ export type InternalDeleteCommentResponse = InternalDeleteCommentResponses[keyof InternalDeleteCommentResponses];
2773
2869
 
2774
- export type GetUploadConfigurationData = {
2775
- body: {
2776
- /**
2777
- * File path within the project
2778
- */
2779
- path: string;
2780
- /**
2781
- * Project identifier (optional for account-level uploads)
2782
- */
2783
- projectId?: string;
2784
- /**
2785
- * MIME type of the file to upload
2786
- */
2787
- mimeType?: string;
2788
- /**
2789
- * Access control level for the file
2790
- */
2791
- acl?: 'public' | 'private';
2792
- /**
2793
- * Callback URL to notify after upload completion
2794
- */
2795
- callback?: string;
2796
- /**
2797
- * Upload protocol to use
2798
- */
2799
- protocol?: 'tus';
2870
+ export type InternalEditCommentData = {
2871
+ body: InternalEditCommentInput;
2872
+ path: {
2873
+ projectId: string;
2874
+ commentId: string;
2800
2875
  };
2801
- path?: never;
2802
2876
  query?: never;
2803
- url: '/media/upload-configuration';
2877
+ url: '/project/{projectId}/comments/{commentId}';
2804
2878
  };
2805
2879
 
2806
- export type GetUploadConfigurationErrors = {
2880
+ export type InternalEditCommentErrors = {
2807
2881
  /**
2808
2882
  * Bad request - Invalid parameters or malformed JSON
2809
2883
  */
@@ -2816,17 +2890,13 @@ export type GetUploadConfigurationErrors = {
2816
2890
  */
2817
2891
  401: ErrorResponse;
2818
2892
  /**
2819
- * Forbidden - Permission denied
2893
+ * Forbidden
2820
2894
  */
2821
- 403: {
2822
- message: string;
2823
- };
2895
+ 403: ErrorResponse;
2824
2896
  /**
2825
- * Not found
2897
+ * Not Found
2826
2898
  */
2827
- 404: {
2828
- message: string;
2829
- };
2899
+ 404: ErrorResponse;
2830
2900
  /**
2831
2901
  * Conflict
2832
2902
  */
@@ -2841,42 +2911,55 @@ export type GetUploadConfigurationErrors = {
2841
2911
  503: ErrorResponse;
2842
2912
  };
2843
2913
 
2844
- export type GetUploadConfigurationError = GetUploadConfigurationErrors[keyof GetUploadConfigurationErrors];
2914
+ export type InternalEditCommentError = InternalEditCommentErrors[keyof InternalEditCommentErrors];
2845
2915
 
2846
- export type GetUploadConfigurationResponses = {
2916
+ export type InternalEditCommentResponses = {
2847
2917
  /**
2848
- * Returns presigned upload URL and configuration
2918
+ * Returns the updated comment
2849
2919
  */
2850
- 200: UploadConfiguration;
2920
+ 200: {
2921
+ comment: {
2922
+ commentId: string;
2923
+ author: {
2924
+ dazlUserId: string;
2925
+ };
2926
+ content: string;
2927
+ mentions: Array<UserMention>;
2928
+ createdAt: string;
2929
+ updatedAt: string;
2930
+ lastActivityAt: string;
2931
+ isEdited: boolean;
2932
+ replies: Array<{
2933
+ replyId: string;
2934
+ author: {
2935
+ dazlUserId: string;
2936
+ };
2937
+ content: string;
2938
+ mentions: Array<UserMention>;
2939
+ createdAt: string;
2940
+ updatedAt: string;
2941
+ }>;
2942
+ resolved?: CommentResolved;
2943
+ context?: CommentContext;
2944
+ };
2945
+ };
2851
2946
  };
2852
2947
 
2853
- export type GetUploadConfigurationResponse = GetUploadConfigurationResponses[keyof GetUploadConfigurationResponses];
2948
+ export type InternalEditCommentResponse = InternalEditCommentResponses[keyof InternalEditCommentResponses];
2854
2949
 
2855
- export type ListFilesData = {
2950
+ export type InternalResolveCommentData = {
2856
2951
  body?: never;
2857
- path?: never;
2858
- query: {
2859
- /**
2860
- * Project identifier
2861
- */
2952
+ path: {
2862
2953
  projectId: string;
2863
- /**
2864
- * Filter by MIME type prefix (e.g., 'image/' for all images)
2865
- */
2866
- mimeType?: string;
2867
- /**
2868
- * Cursor token for fetching the next page of results
2869
- */
2870
- cursor?: string;
2871
- /**
2872
- * Number of items per page
2873
- */
2874
- pageSize?: number;
2954
+ commentId: string;
2875
2955
  };
2876
- url: '/media/list';
2956
+ query: {
2957
+ resolvedByDazlUserId: string;
2958
+ };
2959
+ url: '/project/{projectId}/comments/{commentId}/resolve';
2877
2960
  };
2878
2961
 
2879
- export type ListFilesErrors = {
2962
+ export type InternalResolveCommentErrors = {
2880
2963
  /**
2881
2964
  * Bad request - Invalid parameters or malformed JSON
2882
2965
  */
@@ -2889,17 +2972,13 @@ export type ListFilesErrors = {
2889
2972
  */
2890
2973
  401: ErrorResponse;
2891
2974
  /**
2892
- * Forbidden - Permission denied
2975
+ * Forbidden
2893
2976
  */
2894
- 403: {
2895
- message: string;
2896
- };
2977
+ 403: ErrorResponse;
2897
2978
  /**
2898
- * Not found
2979
+ * Not Found
2899
2980
  */
2900
- 404: {
2901
- message: string;
2902
- };
2981
+ 404: ErrorResponse;
2903
2982
  /**
2904
2983
  * Conflict
2905
2984
  */
@@ -2914,16 +2993,831 @@ export type ListFilesErrors = {
2914
2993
  503: ErrorResponse;
2915
2994
  };
2916
2995
 
2917
- export type ListFilesError = ListFilesErrors[keyof ListFilesErrors];
2996
+ export type InternalResolveCommentError = InternalResolveCommentErrors[keyof InternalResolveCommentErrors];
2918
2997
 
2919
- export type ListFilesResponses = {
2998
+ export type InternalResolveCommentResponses = {
2920
2999
  /**
2921
- * Returns paginated list of files in the project
3000
+ * Returns the resolved comment
2922
3001
  */
2923
- 200: MediaFileList;
3002
+ 200: {
3003
+ comment: {
3004
+ commentId: string;
3005
+ author: {
3006
+ dazlUserId: string;
3007
+ };
3008
+ content: string;
3009
+ mentions: Array<UserMention>;
3010
+ createdAt: string;
3011
+ updatedAt: string;
3012
+ lastActivityAt: string;
3013
+ isEdited: boolean;
3014
+ replies: Array<{
3015
+ replyId: string;
3016
+ author: {
3017
+ dazlUserId: string;
3018
+ };
3019
+ content: string;
3020
+ mentions: Array<UserMention>;
3021
+ createdAt: string;
3022
+ updatedAt: string;
3023
+ }>;
3024
+ resolved?: CommentResolved;
3025
+ context?: CommentContext;
3026
+ };
3027
+ };
2924
3028
  };
2925
3029
 
2926
- export type ListFilesResponse = ListFilesResponses[keyof ListFilesResponses];
3030
+ export type InternalResolveCommentResponse = InternalResolveCommentResponses[keyof InternalResolveCommentResponses];
3031
+
3032
+ export type InternalReopenCommentData = {
3033
+ body?: never;
3034
+ path: {
3035
+ projectId: string;
3036
+ commentId: string;
3037
+ };
3038
+ query?: never;
3039
+ url: '/project/{projectId}/comments/{commentId}/reopen';
3040
+ };
3041
+
3042
+ export type InternalReopenCommentErrors = {
3043
+ /**
3044
+ * Bad request - Invalid parameters or malformed JSON
3045
+ */
3046
+ 400: {
3047
+ message: string;
3048
+ issues?: string;
3049
+ };
3050
+ /**
3051
+ * Unauthorized
3052
+ */
3053
+ 401: ErrorResponse;
3054
+ /**
3055
+ * Forbidden
3056
+ */
3057
+ 403: ErrorResponse;
3058
+ /**
3059
+ * Not Found
3060
+ */
3061
+ 404: ErrorResponse;
3062
+ /**
3063
+ * Conflict
3064
+ */
3065
+ 409: ErrorResponse;
3066
+ /**
3067
+ * Internal server error
3068
+ */
3069
+ 500: ErrorResponse;
3070
+ /**
3071
+ * Service Unavailable
3072
+ */
3073
+ 503: ErrorResponse;
3074
+ };
3075
+
3076
+ export type InternalReopenCommentError = InternalReopenCommentErrors[keyof InternalReopenCommentErrors];
3077
+
3078
+ export type InternalReopenCommentResponses = {
3079
+ /**
3080
+ * Returns the reopened comment
3081
+ */
3082
+ 200: {
3083
+ comment: {
3084
+ commentId: string;
3085
+ author: {
3086
+ dazlUserId: string;
3087
+ };
3088
+ content: string;
3089
+ mentions: Array<UserMention>;
3090
+ createdAt: string;
3091
+ updatedAt: string;
3092
+ lastActivityAt: string;
3093
+ isEdited: boolean;
3094
+ replies: Array<{
3095
+ replyId: string;
3096
+ author: {
3097
+ dazlUserId: string;
3098
+ };
3099
+ content: string;
3100
+ mentions: Array<UserMention>;
3101
+ createdAt: string;
3102
+ updatedAt: string;
3103
+ }>;
3104
+ resolved?: CommentResolved;
3105
+ context?: CommentContext;
3106
+ };
3107
+ };
3108
+ };
3109
+
3110
+ export type InternalReopenCommentResponse = InternalReopenCommentResponses[keyof InternalReopenCommentResponses];
3111
+
3112
+ export type InternalCreateReplyData = {
3113
+ body: InternalCreateReplyInput;
3114
+ path: {
3115
+ projectId: string;
3116
+ commentId: string;
3117
+ };
3118
+ query?: never;
3119
+ url: '/project/{projectId}/comments/{commentId}/replies';
3120
+ };
3121
+
3122
+ export type InternalCreateReplyErrors = {
3123
+ /**
3124
+ * Bad request - Invalid parameters or malformed JSON
3125
+ */
3126
+ 400: {
3127
+ message: string;
3128
+ issues?: string;
3129
+ };
3130
+ /**
3131
+ * Unauthorized
3132
+ */
3133
+ 401: ErrorResponse;
3134
+ /**
3135
+ * Forbidden
3136
+ */
3137
+ 403: ErrorResponse;
3138
+ /**
3139
+ * Not Found
3140
+ */
3141
+ 404: ErrorResponse;
3142
+ /**
3143
+ * Conflict
3144
+ */
3145
+ 409: ErrorResponse;
3146
+ /**
3147
+ * Internal server error
3148
+ */
3149
+ 500: ErrorResponse;
3150
+ /**
3151
+ * Service Unavailable
3152
+ */
3153
+ 503: ErrorResponse;
3154
+ };
3155
+
3156
+ export type InternalCreateReplyError = InternalCreateReplyErrors[keyof InternalCreateReplyErrors];
3157
+
3158
+ export type InternalCreateReplyResponses = {
3159
+ /**
3160
+ * Returns the created reply
3161
+ */
3162
+ 200: {
3163
+ reply: {
3164
+ replyId: string;
3165
+ author: {
3166
+ dazlUserId: string;
3167
+ };
3168
+ content: string;
3169
+ mentions: Array<UserMention>;
3170
+ createdAt: string;
3171
+ updatedAt: string;
3172
+ };
3173
+ };
3174
+ };
3175
+
3176
+ export type InternalCreateReplyResponse = InternalCreateReplyResponses[keyof InternalCreateReplyResponses];
3177
+
3178
+ export type InternalDeleteReplyData = {
3179
+ body?: never;
3180
+ path: {
3181
+ projectId: string;
3182
+ commentId: string;
3183
+ replyId: string;
3184
+ };
3185
+ query?: never;
3186
+ url: '/project/{projectId}/comments/{commentId}/replies/{replyId}';
3187
+ };
3188
+
3189
+ export type InternalDeleteReplyErrors = {
3190
+ /**
3191
+ * Bad request - Invalid parameters or malformed JSON
3192
+ */
3193
+ 400: {
3194
+ message: string;
3195
+ issues?: string;
3196
+ };
3197
+ /**
3198
+ * Unauthorized
3199
+ */
3200
+ 401: ErrorResponse;
3201
+ /**
3202
+ * Forbidden
3203
+ */
3204
+ 403: ErrorResponse;
3205
+ /**
3206
+ * Not Found
3207
+ */
3208
+ 404: ErrorResponse;
3209
+ /**
3210
+ * Conflict
3211
+ */
3212
+ 409: ErrorResponse;
3213
+ /**
3214
+ * Internal server error
3215
+ */
3216
+ 500: ErrorResponse;
3217
+ /**
3218
+ * Service Unavailable
3219
+ */
3220
+ 503: ErrorResponse;
3221
+ };
3222
+
3223
+ export type InternalDeleteReplyError = InternalDeleteReplyErrors[keyof InternalDeleteReplyErrors];
3224
+
3225
+ export type InternalDeleteReplyResponses = {
3226
+ /**
3227
+ * Acknowledges that the reply was deleted
3228
+ */
3229
+ 200: {
3230
+ success: true;
3231
+ };
3232
+ };
3233
+
3234
+ export type InternalDeleteReplyResponse = InternalDeleteReplyResponses[keyof InternalDeleteReplyResponses];
3235
+
3236
+ export type InternalEditReplyData = {
3237
+ body: InternalEditReplyInput;
3238
+ path: {
3239
+ projectId: string;
3240
+ commentId: string;
3241
+ replyId: string;
3242
+ };
3243
+ query?: never;
3244
+ url: '/project/{projectId}/comments/{commentId}/replies/{replyId}';
3245
+ };
3246
+
3247
+ export type InternalEditReplyErrors = {
3248
+ /**
3249
+ * Bad request - Invalid parameters or malformed JSON
3250
+ */
3251
+ 400: {
3252
+ message: string;
3253
+ issues?: string;
3254
+ };
3255
+ /**
3256
+ * Unauthorized
3257
+ */
3258
+ 401: ErrorResponse;
3259
+ /**
3260
+ * Forbidden
3261
+ */
3262
+ 403: ErrorResponse;
3263
+ /**
3264
+ * Not Found
3265
+ */
3266
+ 404: ErrorResponse;
3267
+ /**
3268
+ * Conflict
3269
+ */
3270
+ 409: ErrorResponse;
3271
+ /**
3272
+ * Internal server error
3273
+ */
3274
+ 500: ErrorResponse;
3275
+ /**
3276
+ * Service Unavailable
3277
+ */
3278
+ 503: ErrorResponse;
3279
+ };
3280
+
3281
+ export type InternalEditReplyError = InternalEditReplyErrors[keyof InternalEditReplyErrors];
3282
+
3283
+ export type InternalEditReplyResponses = {
3284
+ /**
3285
+ * Returns the updated reply
3286
+ */
3287
+ 200: {
3288
+ reply: {
3289
+ replyId: string;
3290
+ author: {
3291
+ dazlUserId: string;
3292
+ };
3293
+ content: string;
3294
+ mentions: Array<UserMention>;
3295
+ createdAt: string;
3296
+ updatedAt: string;
3297
+ };
3298
+ };
3299
+ };
3300
+
3301
+ export type InternalEditReplyResponse = InternalEditReplyResponses[keyof InternalEditReplyResponses];
3302
+
3303
+ export type GetPublicTemplatesData = {
3304
+ body?: never;
3305
+ path?: never;
3306
+ query?: {
3307
+ withScreenshot?: boolean | null;
3308
+ };
3309
+ url: '/template/public-templates';
3310
+ };
3311
+
3312
+ export type GetPublicTemplatesErrors = {
3313
+ /**
3314
+ * Bad request - Invalid parameters or malformed JSON
3315
+ */
3316
+ 400: {
3317
+ message: string;
3318
+ issues?: string;
3319
+ };
3320
+ /**
3321
+ * Unauthorized
3322
+ */
3323
+ 401: ErrorResponse;
3324
+ /**
3325
+ * Forbidden
3326
+ */
3327
+ 403: ErrorResponse;
3328
+ /**
3329
+ * Not Found
3330
+ */
3331
+ 404: ErrorResponse;
3332
+ /**
3333
+ * Conflict
3334
+ */
3335
+ 409: ErrorResponse;
3336
+ /**
3337
+ * Internal server error
3338
+ */
3339
+ 500: ErrorResponse;
3340
+ /**
3341
+ * Service Unavailable
3342
+ */
3343
+ 503: ErrorResponse;
3344
+ };
3345
+
3346
+ export type GetPublicTemplatesError = GetPublicTemplatesErrors[keyof GetPublicTemplatesErrors];
3347
+
3348
+ export type GetPublicTemplatesResponses = {
3349
+ /**
3350
+ * Returns all public templates. Optionally includes screenshots when `withScreenshot` is true. Templates are ordered by the greatest of createdAt and lastUsedAt in descending order.
3351
+ */
3352
+ 200: {
3353
+ templates: Array<{
3354
+ screenshotUrl: string | null;
3355
+ originProjectName: string | null;
3356
+ } & TemplateRaw>;
3357
+ };
3358
+ };
3359
+
3360
+ export type GetPublicTemplatesResponse = GetPublicTemplatesResponses[keyof GetPublicTemplatesResponses];
3361
+
3362
+ export type GetUserTemplatesData = {
3363
+ body?: never;
3364
+ path: {
3365
+ dazlId: string;
3366
+ };
3367
+ query?: {
3368
+ withScreenshot?: boolean | null;
3369
+ withOriginProject?: boolean | null;
3370
+ };
3371
+ url: '/template/user/{dazlId}';
3372
+ };
3373
+
3374
+ export type GetUserTemplatesErrors = {
3375
+ /**
3376
+ * Bad request - Invalid parameters or malformed JSON
3377
+ */
3378
+ 400: {
3379
+ message: string;
3380
+ issues?: string;
3381
+ };
3382
+ /**
3383
+ * Unauthorized
3384
+ */
3385
+ 401: ErrorResponse;
3386
+ /**
3387
+ * Forbidden
3388
+ */
3389
+ 403: ErrorResponse;
3390
+ /**
3391
+ * Not Found
3392
+ */
3393
+ 404: ErrorResponse;
3394
+ /**
3395
+ * Conflict
3396
+ */
3397
+ 409: ErrorResponse;
3398
+ /**
3399
+ * Internal server error
3400
+ */
3401
+ 500: ErrorResponse;
3402
+ /**
3403
+ * Service Unavailable
3404
+ */
3405
+ 503: ErrorResponse;
3406
+ };
3407
+
3408
+ export type GetUserTemplatesError = GetUserTemplatesErrors[keyof GetUserTemplatesErrors];
3409
+
3410
+ export type GetUserTemplatesResponses = {
3411
+ /**
3412
+ * Returns all templates for the specified user. Templates are ordered by the greatest of createdAt and lastUsedAt in descending order.
3413
+ */
3414
+ 200: {
3415
+ templates: Array<{
3416
+ screenshotUrl: string | null;
3417
+ originProjectName: string | null;
3418
+ } & TemplateRaw>;
3419
+ };
3420
+ };
3421
+
3422
+ export type GetUserTemplatesResponse = GetUserTemplatesResponses[keyof GetUserTemplatesResponses];
3423
+
3424
+ export type DeleteTemplateData = {
3425
+ /**
3426
+ * Owner dazlId of the user attempting to delete the template
3427
+ */
3428
+ body?: {
3429
+ ownerDazlId: string;
3430
+ };
3431
+ path: {
3432
+ templateId: string;
3433
+ };
3434
+ query?: never;
3435
+ url: '/template/{templateId}';
3436
+ };
3437
+
3438
+ export type DeleteTemplateErrors = {
3439
+ /**
3440
+ * Bad request - Invalid parameters or malformed JSON
3441
+ */
3442
+ 400: {
3443
+ message: string;
3444
+ issues?: string;
3445
+ };
3446
+ /**
3447
+ * Unauthorized
3448
+ */
3449
+ 401: ErrorResponse;
3450
+ /**
3451
+ * Forbidden
3452
+ */
3453
+ 403: ErrorResponse;
3454
+ /**
3455
+ * Not Found
3456
+ */
3457
+ 404: ErrorResponse;
3458
+ /**
3459
+ * Conflict
3460
+ */
3461
+ 409: ErrorResponse;
3462
+ /**
3463
+ * Internal server error
3464
+ */
3465
+ 500: ErrorResponse;
3466
+ /**
3467
+ * Service Unavailable
3468
+ */
3469
+ 503: ErrorResponse;
3470
+ };
3471
+
3472
+ export type DeleteTemplateError = DeleteTemplateErrors[keyof DeleteTemplateErrors];
3473
+
3474
+ export type DeleteTemplateResponses = {
3475
+ /**
3476
+ * Deletes the template with the specified ID.
3477
+ */
3478
+ 200: {
3479
+ templateId: string;
3480
+ };
3481
+ };
3482
+
3483
+ export type DeleteTemplateResponse = DeleteTemplateResponses[keyof DeleteTemplateResponses];
3484
+
3485
+ export type GetTemplateData = {
3486
+ body?: never;
3487
+ path: {
3488
+ templateId: string;
3489
+ };
3490
+ query?: {
3491
+ withScreenshot?: boolean | null;
3492
+ };
3493
+ url: '/template/{templateId}';
3494
+ };
3495
+
3496
+ export type GetTemplateErrors = {
3497
+ /**
3498
+ * Bad request - Invalid parameters or malformed JSON
3499
+ */
3500
+ 400: {
3501
+ message: string;
3502
+ issues?: string;
3503
+ };
3504
+ /**
3505
+ * Unauthorized
3506
+ */
3507
+ 401: ErrorResponse;
3508
+ /**
3509
+ * Forbidden
3510
+ */
3511
+ 403: ErrorResponse;
3512
+ /**
3513
+ * Not Found
3514
+ */
3515
+ 404: ErrorResponse;
3516
+ /**
3517
+ * Conflict
3518
+ */
3519
+ 409: ErrorResponse;
3520
+ /**
3521
+ * Internal server error
3522
+ */
3523
+ 500: ErrorResponse;
3524
+ /**
3525
+ * Service Unavailable
3526
+ */
3527
+ 503: ErrorResponse;
3528
+ };
3529
+
3530
+ export type GetTemplateError = GetTemplateErrors[keyof GetTemplateErrors];
3531
+
3532
+ export type GetTemplateResponses = {
3533
+ /**
3534
+ * Returns the template with the specified ID.
3535
+ */
3536
+ 200: {
3537
+ template: TemplateRaw;
3538
+ };
3539
+ };
3540
+
3541
+ export type GetTemplateResponse = GetTemplateResponses[keyof GetTemplateResponses];
3542
+
3543
+ export type UpdateTemplateData = {
3544
+ body: {
3545
+ description?: string | null;
3546
+ lastUsedAt?: string | null;
3547
+ name?: string;
3548
+ usageCount?: number;
3549
+ isPublic?: boolean;
3550
+ ownerDazlId?: string;
3551
+ };
3552
+ path: {
3553
+ templateId: string;
3554
+ };
3555
+ query?: never;
3556
+ url: '/template/{templateId}';
3557
+ };
3558
+
3559
+ export type UpdateTemplateErrors = {
3560
+ /**
3561
+ * Bad request - Invalid parameters or malformed JSON
3562
+ */
3563
+ 400: {
3564
+ message: string;
3565
+ issues?: string;
3566
+ };
3567
+ /**
3568
+ * Unauthorized
3569
+ */
3570
+ 401: ErrorResponse;
3571
+ /**
3572
+ * Forbidden
3573
+ */
3574
+ 403: ErrorResponse;
3575
+ /**
3576
+ * Not Found
3577
+ */
3578
+ 404: ErrorResponse;
3579
+ /**
3580
+ * Conflict
3581
+ */
3582
+ 409: ErrorResponse;
3583
+ /**
3584
+ * Internal server error
3585
+ */
3586
+ 500: ErrorResponse;
3587
+ /**
3588
+ * Service Unavailable
3589
+ */
3590
+ 503: ErrorResponse;
3591
+ };
3592
+
3593
+ export type UpdateTemplateError = UpdateTemplateErrors[keyof UpdateTemplateErrors];
3594
+
3595
+ export type UpdateTemplateResponses = {
3596
+ /**
3597
+ * Updates the template with the specified ID.
3598
+ */
3599
+ 200: {
3600
+ template: TemplateRaw;
3601
+ };
3602
+ };
3603
+
3604
+ export type UpdateTemplateResponse = UpdateTemplateResponses[keyof UpdateTemplateResponses];
3605
+
3606
+ export type CreateTemplateData = {
3607
+ body: {
3608
+ originProjectId: string;
3609
+ userDazlId: string;
3610
+ } & {
3611
+ preserveChatHistory: boolean;
3612
+ preserveEnvFile: boolean;
3613
+ name: string;
3614
+ description?: string;
3615
+ };
3616
+ path?: never;
3617
+ query?: never;
3618
+ url: '/template/create';
3619
+ };
3620
+
3621
+ export type CreateTemplateErrors = {
3622
+ /**
3623
+ * Bad request - Invalid parameters or malformed JSON
3624
+ */
3625
+ 400: {
3626
+ message: string;
3627
+ issues?: string;
3628
+ };
3629
+ /**
3630
+ * Unauthorized
3631
+ */
3632
+ 401: ErrorResponse;
3633
+ /**
3634
+ * Forbidden
3635
+ */
3636
+ 403: ErrorResponse;
3637
+ /**
3638
+ * Not Found
3639
+ */
3640
+ 404: ErrorResponse;
3641
+ /**
3642
+ * Conflict
3643
+ */
3644
+ 409: ErrorResponse;
3645
+ /**
3646
+ * Internal server error
3647
+ */
3648
+ 500: ErrorResponse;
3649
+ /**
3650
+ * Service Unavailable
3651
+ */
3652
+ 503: ErrorResponse;
3653
+ };
3654
+
3655
+ export type CreateTemplateError = CreateTemplateErrors[keyof CreateTemplateErrors];
3656
+
3657
+ export type CreateTemplateResponses = {
3658
+ /**
3659
+ * Creates a new template from the specified project for the specified user.
3660
+ */
3661
+ 200: {
3662
+ template: TemplateRaw;
3663
+ };
3664
+ };
3665
+
3666
+ export type CreateTemplateResponse = CreateTemplateResponses[keyof CreateTemplateResponses];
3667
+
3668
+ export type GetUploadConfigurationData = {
3669
+ body: {
3670
+ /**
3671
+ * File path within the project
3672
+ */
3673
+ path: string;
3674
+ /**
3675
+ * Project identifier (optional for account-level uploads)
3676
+ */
3677
+ projectId?: string;
3678
+ /**
3679
+ * MIME type of the file to upload
3680
+ */
3681
+ mimeType?: string;
3682
+ /**
3683
+ * Access control level for the file
3684
+ */
3685
+ acl?: 'public' | 'private';
3686
+ /**
3687
+ * Callback URL to notify after upload completion
3688
+ */
3689
+ callback?: string;
3690
+ /**
3691
+ * Upload protocol to use
3692
+ */
3693
+ protocol?: 'tus';
3694
+ };
3695
+ path?: never;
3696
+ query?: never;
3697
+ url: '/media/upload-configuration';
3698
+ };
3699
+
3700
+ export type GetUploadConfigurationErrors = {
3701
+ /**
3702
+ * Bad request - Invalid parameters or malformed JSON
3703
+ */
3704
+ 400: {
3705
+ message: string;
3706
+ issues?: string;
3707
+ };
3708
+ /**
3709
+ * Unauthorized
3710
+ */
3711
+ 401: ErrorResponse;
3712
+ /**
3713
+ * Forbidden - Permission denied
3714
+ */
3715
+ 403: {
3716
+ message: string;
3717
+ };
3718
+ /**
3719
+ * Not found
3720
+ */
3721
+ 404: {
3722
+ message: string;
3723
+ };
3724
+ /**
3725
+ * Conflict
3726
+ */
3727
+ 409: ErrorResponse;
3728
+ /**
3729
+ * Internal server error
3730
+ */
3731
+ 500: ErrorResponse;
3732
+ /**
3733
+ * Service Unavailable
3734
+ */
3735
+ 503: ErrorResponse;
3736
+ };
3737
+
3738
+ export type GetUploadConfigurationError = GetUploadConfigurationErrors[keyof GetUploadConfigurationErrors];
3739
+
3740
+ export type GetUploadConfigurationResponses = {
3741
+ /**
3742
+ * Returns presigned upload URL and configuration
3743
+ */
3744
+ 200: UploadConfiguration;
3745
+ };
3746
+
3747
+ export type GetUploadConfigurationResponse = GetUploadConfigurationResponses[keyof GetUploadConfigurationResponses];
3748
+
3749
+ export type ListFilesData = {
3750
+ body?: never;
3751
+ path?: never;
3752
+ query: {
3753
+ /**
3754
+ * Project identifier
3755
+ */
3756
+ projectId: string;
3757
+ /**
3758
+ * Filter by MIME type prefix (e.g., 'image/' for all images)
3759
+ */
3760
+ mimeType?: string;
3761
+ /**
3762
+ * Cursor token for fetching the next page of results
3763
+ */
3764
+ cursor?: string;
3765
+ /**
3766
+ * Number of items per page
3767
+ */
3768
+ pageSize?: number;
3769
+ };
3770
+ url: '/media/list';
3771
+ };
3772
+
3773
+ export type ListFilesErrors = {
3774
+ /**
3775
+ * Bad request - Invalid parameters or malformed JSON
3776
+ */
3777
+ 400: {
3778
+ message: string;
3779
+ issues?: string;
3780
+ };
3781
+ /**
3782
+ * Unauthorized
3783
+ */
3784
+ 401: ErrorResponse;
3785
+ /**
3786
+ * Forbidden - Permission denied
3787
+ */
3788
+ 403: {
3789
+ message: string;
3790
+ };
3791
+ /**
3792
+ * Not found
3793
+ */
3794
+ 404: {
3795
+ message: string;
3796
+ };
3797
+ /**
3798
+ * Conflict
3799
+ */
3800
+ 409: ErrorResponse;
3801
+ /**
3802
+ * Internal server error
3803
+ */
3804
+ 500: ErrorResponse;
3805
+ /**
3806
+ * Service Unavailable
3807
+ */
3808
+ 503: ErrorResponse;
3809
+ };
3810
+
3811
+ export type ListFilesError = ListFilesErrors[keyof ListFilesErrors];
3812
+
3813
+ export type ListFilesResponses = {
3814
+ /**
3815
+ * Returns paginated list of files in the project
3816
+ */
3817
+ 200: MediaFileList;
3818
+ };
3819
+
3820
+ export type ListFilesResponse = ListFilesResponses[keyof ListFilesResponses];
2927
3821
 
2928
3822
  export type CreateMediaData = {
2929
3823
  body: {
@@ -3397,19 +4291,7 @@ export type ScrapePageContentResponses = {
3397
4291
  images?: {
3398
4292
  [key: string]: unknown;
3399
4293
  } | null;
3400
- [key: string]: unknown | 'light' | 'dark' | null | string | null | {
3401
- [key: string]: unknown;
3402
- } | null | Array<{
3403
- [key: string]: unknown;
3404
- }> | null | {
3405
- [key: string]: unknown;
3406
- } | null | {
3407
- [key: string]: unknown;
3408
- } | null | {
3409
- [key: string]: unknown;
3410
- } | null | {
3411
- [key: string]: unknown;
3412
- } | null | undefined;
4294
+ [key: string]: unknown;
3413
4295
  };
3414
4296
  };
3415
4297
  };