@stapel/workspaces-react 0.1.0 → 0.4.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +45 -3
  3. package/dist/api/generated/schema.d.ts +759 -0
  4. package/dist/api/generated/schema.d.ts.map +1 -0
  5. package/dist/api/generated/schema.js +2 -0
  6. package/dist/api/generated/schema.js.map +1 -0
  7. package/dist/api/types.d.ts +22 -6
  8. package/dist/api/types.d.ts.map +1 -1
  9. package/dist/api/workspacesApi.d.ts +3 -3
  10. package/dist/api/workspacesApi.d.ts.map +1 -1
  11. package/dist/api/workspacesApi.js +14 -1
  12. package/dist/api/workspacesApi.js.map +1 -1
  13. package/dist/flows/registry.d.ts +22 -0
  14. package/dist/flows/registry.d.ts.map +1 -0
  15. package/dist/flows/registry.js +20 -0
  16. package/dist/flows/registry.js.map +1 -0
  17. package/dist/headless/Members.d.ts +6 -1
  18. package/dist/headless/Members.d.ts.map +1 -1
  19. package/dist/headless/Members.js +1 -1
  20. package/dist/headless/Members.js.map +1 -1
  21. package/dist/headless/WorkspacesProvider.d.ts +4 -3
  22. package/dist/headless/WorkspacesProvider.d.ts.map +1 -1
  23. package/dist/headless/WorkspacesProvider.js +4 -6
  24. package/dist/headless/WorkspacesProvider.js.map +1 -1
  25. package/dist/index.d.ts +3 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/model/context.d.ts +6 -9
  30. package/dist/model/context.d.ts.map +1 -1
  31. package/dist/model/context.js +11 -16
  32. package/dist/model/context.js.map +1 -1
  33. package/dist/model/queries.d.ts +6 -4
  34. package/dist/model/queries.d.ts.map +1 -1
  35. package/dist/model/queries.js +8 -5
  36. package/dist/model/queries.js.map +1 -1
  37. package/dist/model/queryKeys.d.ts +2 -0
  38. package/dist/model/queryKeys.d.ts.map +1 -1
  39. package/dist/model/queryKeys.js +3 -0
  40. package/dist/model/queryKeys.js.map +1 -1
  41. package/dist/model/runtime.d.ts +12 -21
  42. package/dist/model/runtime.d.ts.map +1 -1
  43. package/dist/model/runtime.js +2 -14
  44. package/dist/model/runtime.js.map +1 -1
  45. package/llms.txt +3 -3
  46. package/manifest.json +12 -10
  47. package/package.json +5 -4
  48. package/src/analytics/generated/events.json +1 -1
  49. package/src/api/generated/schema.ts +761 -0
  50. package/src/api/types.ts +23 -6
  51. package/src/api/workspacesApi.ts +17 -5
  52. package/src/flows/registry.ts +32 -0
  53. package/src/headless/Members.tsx +7 -2
  54. package/src/headless/WorkspacesProvider.tsx +5 -10
  55. package/src/index.ts +4 -3
  56. package/src/model/context.tsx +16 -17
  57. package/src/model/queries.ts +16 -7
  58. package/src/model/queryKeys.ts +9 -0
  59. package/src/model/runtime.ts +14 -35
  60. package/dist/flows/generated/flows.gen.d.ts +0 -19
  61. package/dist/flows/generated/flows.gen.d.ts.map +0 -1
  62. package/dist/flows/generated/flows.gen.js +0 -23
  63. package/dist/flows/generated/flows.gen.js.map +0 -1
  64. package/src/flows/generated/flows.gen.ts +0 -38
  65. package/src/flows/generated/flows.json +0 -1
@@ -0,0 +1,759 @@
1
+ export interface paths {
2
+ "/workspaces/api/": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ /**
10
+ * @description Overridable serializer seams for API views.
11
+ *
12
+ * Subclasses (or downstream projects) can swap the request/response
13
+ * serializers without copying method bodies:
14
+ *
15
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
16
+ * response_serializer_class = MyWorkspaceResponseSerializer
17
+ *
18
+ * **Permissions:** `IsAuthenticated`
19
+ */
20
+ get: operations["workspaces_api_retrieve"];
21
+ put?: never;
22
+ /**
23
+ * @description Overridable serializer seams for API views.
24
+ *
25
+ * Subclasses (or downstream projects) can swap the request/response
26
+ * serializers without copying method bodies:
27
+ *
28
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
29
+ * response_serializer_class = MyWorkspaceResponseSerializer
30
+ *
31
+ * **Permissions:** `IsAuthenticated`
32
+ */
33
+ post: operations["workspaces_api_create"];
34
+ delete?: never;
35
+ options?: never;
36
+ head?: never;
37
+ patch?: never;
38
+ trace?: never;
39
+ };
40
+ "/workspaces/api/{workspace_id}": {
41
+ parameters: {
42
+ query?: never;
43
+ header?: never;
44
+ path?: never;
45
+ cookie?: never;
46
+ };
47
+ /**
48
+ * @description Overridable serializer seams for API views.
49
+ *
50
+ * Subclasses (or downstream projects) can swap the request/response
51
+ * serializers without copying method bodies:
52
+ *
53
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
54
+ * response_serializer_class = MyWorkspaceResponseSerializer
55
+ *
56
+ * **Permissions:** `IsAuthenticated`
57
+ */
58
+ get: operations["workspaces_api_retrieve_2"];
59
+ put?: never;
60
+ post?: never;
61
+ /**
62
+ * @description Overridable serializer seams for API views.
63
+ *
64
+ * Subclasses (or downstream projects) can swap the request/response
65
+ * serializers without copying method bodies:
66
+ *
67
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
68
+ * response_serializer_class = MyWorkspaceResponseSerializer
69
+ *
70
+ * **Permissions:** `IsAuthenticated`
71
+ */
72
+ delete: operations["workspaces_api_destroy"];
73
+ options?: never;
74
+ head?: never;
75
+ /**
76
+ * @description Overridable serializer seams for API views.
77
+ *
78
+ * Subclasses (or downstream projects) can swap the request/response
79
+ * serializers without copying method bodies:
80
+ *
81
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
82
+ * response_serializer_class = MyWorkspaceResponseSerializer
83
+ *
84
+ * **Permissions:** `IsAuthenticated`
85
+ */
86
+ patch: operations["workspaces_api_partial_update"];
87
+ trace?: never;
88
+ };
89
+ "/workspaces/api/{workspace_id}/members": {
90
+ parameters: {
91
+ query?: never;
92
+ header?: never;
93
+ path?: never;
94
+ cookie?: never;
95
+ };
96
+ /**
97
+ * @description Overridable serializer seams for API views.
98
+ *
99
+ * Subclasses (or downstream projects) can swap the request/response
100
+ * serializers without copying method bodies:
101
+ *
102
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
103
+ * response_serializer_class = MyWorkspaceResponseSerializer
104
+ *
105
+ * **Permissions:** `IsAuthenticated`
106
+ */
107
+ get: operations["workspaces_api_members_list"];
108
+ put?: never;
109
+ post?: never;
110
+ delete?: never;
111
+ options?: never;
112
+ head?: never;
113
+ patch?: never;
114
+ trace?: never;
115
+ };
116
+ "/workspaces/api/{workspace_id}/members/{user_id}": {
117
+ parameters: {
118
+ query?: never;
119
+ header?: never;
120
+ path?: never;
121
+ cookie?: never;
122
+ };
123
+ get?: never;
124
+ put?: never;
125
+ post?: never;
126
+ /**
127
+ * @description Overridable serializer seams for API views.
128
+ *
129
+ * Subclasses (or downstream projects) can swap the request/response
130
+ * serializers without copying method bodies:
131
+ *
132
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
133
+ * response_serializer_class = MyWorkspaceResponseSerializer
134
+ *
135
+ * **Permissions:** `IsAuthenticated`
136
+ */
137
+ delete: operations["workspaces_api_members_destroy"];
138
+ options?: never;
139
+ head?: never;
140
+ /**
141
+ * @description Overridable serializer seams for API views.
142
+ *
143
+ * Subclasses (or downstream projects) can swap the request/response
144
+ * serializers without copying method bodies:
145
+ *
146
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
147
+ * response_serializer_class = MyWorkspaceResponseSerializer
148
+ *
149
+ * **Permissions:** `IsAuthenticated`
150
+ */
151
+ patch: operations["workspaces_api_members_partial_update"];
152
+ trace?: never;
153
+ };
154
+ "/workspaces/api/{workspace_id}/members/invite": {
155
+ parameters: {
156
+ query?: never;
157
+ header?: never;
158
+ path?: never;
159
+ cookie?: never;
160
+ };
161
+ get?: never;
162
+ put?: never;
163
+ /**
164
+ * @description Overridable serializer seams for API views.
165
+ *
166
+ * Subclasses (or downstream projects) can swap the request/response
167
+ * serializers without copying method bodies:
168
+ *
169
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
170
+ * response_serializer_class = MyWorkspaceResponseSerializer
171
+ *
172
+ * **Permissions:** `IsAuthenticated`
173
+ */
174
+ post: operations["workspaces_api_members_invite_create"];
175
+ delete?: never;
176
+ options?: never;
177
+ head?: never;
178
+ patch?: never;
179
+ trace?: never;
180
+ };
181
+ "/workspaces/api/internal/{workspace_id}/members/{user_id}": {
182
+ parameters: {
183
+ query?: never;
184
+ header?: never;
185
+ path?: never;
186
+ cookie?: never;
187
+ };
188
+ /**
189
+ * @description Allow other services to check membership/role via X-API-KEY.
190
+ *
191
+ * **Permissions:** `OperandHolder`
192
+ */
193
+ get: operations["workspaces_api_internal_members_retrieve"];
194
+ put?: never;
195
+ post?: never;
196
+ delete?: never;
197
+ options?: never;
198
+ head?: never;
199
+ patch?: never;
200
+ trace?: never;
201
+ };
202
+ "/workspaces/api/internal/users/{user_id}/personal": {
203
+ parameters: {
204
+ query?: never;
205
+ header?: never;
206
+ path?: never;
207
+ cookie?: never;
208
+ };
209
+ get?: never;
210
+ put?: never;
211
+ /**
212
+ * @description Get-or-create the personal workspace for a given user_id.
213
+ *
214
+ * **Permissions:** `OperandHolder`
215
+ */
216
+ post: operations["workspaces_api_internal_users_personal_create"];
217
+ delete?: never;
218
+ options?: never;
219
+ head?: never;
220
+ patch?: never;
221
+ trace?: never;
222
+ };
223
+ "/workspaces/api/invitations/accept": {
224
+ parameters: {
225
+ query?: never;
226
+ header?: never;
227
+ path?: never;
228
+ cookie?: never;
229
+ };
230
+ get?: never;
231
+ put?: never;
232
+ /**
233
+ * @description Overridable serializer seams for API views.
234
+ *
235
+ * Subclasses (or downstream projects) can swap the request/response
236
+ * serializers without copying method bodies:
237
+ *
238
+ * class MyWorkspaceDetailView(WorkspaceDetailView):
239
+ * response_serializer_class = MyWorkspaceResponseSerializer
240
+ *
241
+ * **Permissions:** `IsAuthenticated`
242
+ */
243
+ post: operations["workspaces_api_invitations_accept_create"];
244
+ delete?: never;
245
+ options?: never;
246
+ head?: never;
247
+ patch?: never;
248
+ trace?: never;
249
+ };
250
+ }
251
+ export type webhooks = Record<string, never>;
252
+ export interface components {
253
+ schemas: {
254
+ /** @description Get-or-create result for a user's personal workspace (service-to-service). */
255
+ InternalPersonalWorkspaceResponse: {
256
+ /**
257
+ * Format: uuid
258
+ * @description Personal workspace UUID.
259
+ */
260
+ workspace_id: string;
261
+ };
262
+ /** @description Accept an invite. */
263
+ InvitationAcceptRequest: {
264
+ /** @description Invite token from the email link */
265
+ token: string;
266
+ };
267
+ /** @description InvitationResponse(id: uuid.UUID, workspace_id: uuid.UUID, email: str, role: str, expires_at: str, accepted_at: Optional[str], revoked_at: Optional[str], created_at: str) */
268
+ InvitationResponse: {
269
+ /** Format: uuid */
270
+ id: string;
271
+ /** Format: uuid */
272
+ workspace_id: string;
273
+ email: string;
274
+ role: string;
275
+ expires_at: string;
276
+ accepted_at: string | null;
277
+ revoked_at: string | null;
278
+ created_at: string;
279
+ };
280
+ /** @description Invite payload. */
281
+ MemberInviteRequest: {
282
+ /**
283
+ * @description One or more emails to invite
284
+ * @example [
285
+ * "alice@example.com"
286
+ * ]
287
+ */
288
+ emails: string[];
289
+ /**
290
+ * @description Role to grant on acceptance
291
+ * @example member
292
+ */
293
+ role?: string;
294
+ };
295
+ /** @description MemberInviteResponse(invitations: List[ForwardRef('InvitationResponse')] = <factory>) */
296
+ MemberInviteResponse: {
297
+ invitations?: components["schemas"]["InvitationResponse"][];
298
+ };
299
+ /** @description Workspace member. */
300
+ MemberResponse: {
301
+ /**
302
+ * Format: uuid
303
+ * @description Membership UUID
304
+ * @example 0192...
305
+ */
306
+ id: string;
307
+ /**
308
+ * Format: uuid
309
+ * @description Workspace UUID
310
+ */
311
+ workspace_id: string;
312
+ /**
313
+ * Format: uuid
314
+ * @description User UUID
315
+ */
316
+ user_id: string;
317
+ /** @description User email (best-effort, from JWT claim cache) */
318
+ email: string | null;
319
+ /**
320
+ * @description owner / admin / member / viewer
321
+ * @example admin
322
+ */
323
+ role: string;
324
+ /** @description ISO 8601 invite timestamp */
325
+ invited_at: string;
326
+ /** @description ISO 8601 acceptance timestamp; null while pending */
327
+ accepted_at: string | null;
328
+ /** @description ISO 8601 last access; null if never accessed */
329
+ last_accessed_at: string | null;
330
+ };
331
+ PaginatedMemberResponseList: {
332
+ items: components["schemas"]["MemberResponse"][];
333
+ /** @description Anchor value for next page */
334
+ next_anchor?: string | null;
335
+ /** @description Anchor value for previous page */
336
+ prev_anchor?: string | null;
337
+ /** @description Whether there are more items after this page */
338
+ has_next: boolean;
339
+ /** @description Whether there are items before this page */
340
+ has_prev: boolean;
341
+ /** @description Number of items in current page */
342
+ count: number;
343
+ };
344
+ /** @description MemberUpdateRequest(role: str) */
345
+ PatchedMemberUpdateRequest: {
346
+ role?: string;
347
+ };
348
+ /** @description WorkspaceUpdateRequest(name: Optional[str] = None, slug: Optional[str] = None, settings: Optional[dict] = None) */
349
+ PatchedWorkspaceUpdateRequest: {
350
+ name?: string | null;
351
+ slug?: string | null;
352
+ settings?: {
353
+ [key: string]: unknown;
354
+ } | null;
355
+ };
356
+ /** @description Structured error returned by all Stapel API endpoints. */
357
+ StapelError: {
358
+ /**
359
+ * @description Translation key for client-side localization
360
+ * @example error.404.not_found
361
+ */
362
+ localizable_error: string;
363
+ /**
364
+ * @description Human-readable message in English
365
+ * @example Requested resource not found
366
+ */
367
+ error: string;
368
+ /**
369
+ * @description Context values for template placeholders
370
+ * @example {
371
+ * "retry_after": 30
372
+ * }
373
+ */
374
+ params?: {
375
+ [key: string]: unknown;
376
+ };
377
+ };
378
+ /** @description Create-workspace payload. */
379
+ WorkspaceCreateRequest: {
380
+ /**
381
+ * @description Display name
382
+ * @example Acme Engineering
383
+ */
384
+ name: string;
385
+ /**
386
+ * @description URL-safe identifier (auto-generated when omitted)
387
+ * @example acme-eng
388
+ */
389
+ slug?: string | null;
390
+ /**
391
+ * @description personal or work
392
+ * @example work
393
+ */
394
+ type?: string;
395
+ };
396
+ /** @description WorkspaceListResponse(workspaces: List[stapel_workspaces.dto.WorkspaceResponse] = <factory>) */
397
+ WorkspaceListResponse: {
398
+ workspaces?: components["schemas"]["WorkspaceResponse"][];
399
+ };
400
+ /** @description Workspace details. */
401
+ WorkspaceResponse: {
402
+ /**
403
+ * Format: uuid
404
+ * @description Workspace UUID
405
+ * @example 0192f...
406
+ */
407
+ id: string;
408
+ /**
409
+ * @description Display name
410
+ * @example Acme Engineering
411
+ */
412
+ name: string;
413
+ /**
414
+ * @description URL-safe identifier
415
+ * @example acme-eng
416
+ */
417
+ slug: string;
418
+ /**
419
+ * @description Workspace category
420
+ * @example work
421
+ */
422
+ type: string;
423
+ /**
424
+ * Format: uuid
425
+ * @description Owner user UUID
426
+ * @example 0192a...
427
+ */
428
+ owner_id: string;
429
+ /** @description Workspace settings JSON */
430
+ settings: {
431
+ [key: string]: unknown;
432
+ };
433
+ /** @description Bytes currently stored */
434
+ storage_used_bytes: number;
435
+ /** @description Plan-determined cap */
436
+ storage_limit_bytes: number;
437
+ /** @description Number of members */
438
+ member_count: number;
439
+ /**
440
+ * @description Role of the requesting user
441
+ * @example owner
442
+ */
443
+ my_role: string | null;
444
+ /**
445
+ * @description ISO 8601 creation time
446
+ * @example 2026-05-20T10:00:00Z
447
+ */
448
+ created_at: string;
449
+ /**
450
+ * @description ISO 8601 last update time
451
+ * @example 2026-05-20T10:00:00Z
452
+ */
453
+ updated_at: string;
454
+ };
455
+ };
456
+ responses: never;
457
+ parameters: never;
458
+ requestBodies: never;
459
+ headers: never;
460
+ pathItems: never;
461
+ }
462
+ export type $defs = Record<string, never>;
463
+ export interface operations {
464
+ workspaces_api_retrieve: {
465
+ parameters: {
466
+ query?: never;
467
+ header?: never;
468
+ path?: never;
469
+ cookie?: never;
470
+ };
471
+ requestBody?: never;
472
+ responses: {
473
+ 200: {
474
+ headers: {
475
+ [name: string]: unknown;
476
+ };
477
+ content: {
478
+ "application/json": components["schemas"]["WorkspaceListResponse"];
479
+ };
480
+ };
481
+ };
482
+ };
483
+ workspaces_api_create: {
484
+ parameters: {
485
+ query?: never;
486
+ header?: never;
487
+ path?: never;
488
+ cookie?: never;
489
+ };
490
+ requestBody: {
491
+ content: {
492
+ "application/json": components["schemas"]["WorkspaceCreateRequest"];
493
+ "application/x-www-form-urlencoded": components["schemas"]["WorkspaceCreateRequest"];
494
+ "multipart/form-data": components["schemas"]["WorkspaceCreateRequest"];
495
+ };
496
+ };
497
+ responses: {
498
+ 201: {
499
+ headers: {
500
+ [name: string]: unknown;
501
+ };
502
+ content: {
503
+ "application/json": components["schemas"]["WorkspaceResponse"];
504
+ };
505
+ };
506
+ };
507
+ };
508
+ workspaces_api_retrieve_2: {
509
+ parameters: {
510
+ query?: never;
511
+ header?: never;
512
+ path: {
513
+ workspace_id: string;
514
+ };
515
+ cookie?: never;
516
+ };
517
+ requestBody?: never;
518
+ responses: {
519
+ 200: {
520
+ headers: {
521
+ [name: string]: unknown;
522
+ };
523
+ content: {
524
+ "application/json": components["schemas"]["WorkspaceResponse"];
525
+ };
526
+ };
527
+ };
528
+ };
529
+ workspaces_api_destroy: {
530
+ parameters: {
531
+ query?: never;
532
+ header?: never;
533
+ path: {
534
+ workspace_id: string;
535
+ };
536
+ cookie?: never;
537
+ };
538
+ requestBody?: never;
539
+ responses: {
540
+ /** @description No response body */
541
+ 204: {
542
+ headers: {
543
+ [name: string]: unknown;
544
+ };
545
+ content?: never;
546
+ };
547
+ };
548
+ };
549
+ workspaces_api_partial_update: {
550
+ parameters: {
551
+ query?: never;
552
+ header?: never;
553
+ path: {
554
+ workspace_id: string;
555
+ };
556
+ cookie?: never;
557
+ };
558
+ requestBody?: {
559
+ content: {
560
+ "application/json": components["schemas"]["PatchedWorkspaceUpdateRequest"];
561
+ "application/x-www-form-urlencoded": components["schemas"]["PatchedWorkspaceUpdateRequest"];
562
+ "multipart/form-data": components["schemas"]["PatchedWorkspaceUpdateRequest"];
563
+ };
564
+ };
565
+ responses: {
566
+ 200: {
567
+ headers: {
568
+ [name: string]: unknown;
569
+ };
570
+ content: {
571
+ "application/json": components["schemas"]["WorkspaceResponse"];
572
+ };
573
+ };
574
+ };
575
+ };
576
+ workspaces_api_members_list: {
577
+ parameters: {
578
+ query?: {
579
+ /** @description Anchor value to paginate from (exclusive) */
580
+ anchor?: string;
581
+ /** @description Pagination direction */
582
+ direction?: "next" | "prev" | "center";
583
+ /** @description Number of items (default 100, max 500) */
584
+ limit?: number;
585
+ /** @description Case-insensitive substring filter matched against a member's email OR display name (full name / username). Lets a people-picker filter server-side instead of pulling every member. */
586
+ search?: string;
587
+ };
588
+ header?: never;
589
+ path: {
590
+ workspace_id: string;
591
+ };
592
+ cookie?: never;
593
+ };
594
+ requestBody?: never;
595
+ responses: {
596
+ 200: {
597
+ headers: {
598
+ [name: string]: unknown;
599
+ };
600
+ content: {
601
+ "application/json": components["schemas"]["PaginatedMemberResponseList"];
602
+ };
603
+ };
604
+ };
605
+ };
606
+ workspaces_api_members_destroy: {
607
+ parameters: {
608
+ query?: never;
609
+ header?: never;
610
+ path: {
611
+ user_id: string;
612
+ workspace_id: string;
613
+ };
614
+ cookie?: never;
615
+ };
616
+ requestBody?: never;
617
+ responses: {
618
+ /** @description No response body */
619
+ 204: {
620
+ headers: {
621
+ [name: string]: unknown;
622
+ };
623
+ content?: never;
624
+ };
625
+ };
626
+ };
627
+ workspaces_api_members_partial_update: {
628
+ parameters: {
629
+ query?: never;
630
+ header?: never;
631
+ path: {
632
+ user_id: string;
633
+ workspace_id: string;
634
+ };
635
+ cookie?: never;
636
+ };
637
+ requestBody?: {
638
+ content: {
639
+ "application/json": components["schemas"]["PatchedMemberUpdateRequest"];
640
+ "application/x-www-form-urlencoded": components["schemas"]["PatchedMemberUpdateRequest"];
641
+ "multipart/form-data": components["schemas"]["PatchedMemberUpdateRequest"];
642
+ };
643
+ };
644
+ responses: {
645
+ 200: {
646
+ headers: {
647
+ [name: string]: unknown;
648
+ };
649
+ content: {
650
+ "application/json": components["schemas"]["MemberResponse"];
651
+ };
652
+ };
653
+ };
654
+ };
655
+ workspaces_api_members_invite_create: {
656
+ parameters: {
657
+ query?: never;
658
+ header?: never;
659
+ path: {
660
+ workspace_id: string;
661
+ };
662
+ cookie?: never;
663
+ };
664
+ requestBody: {
665
+ content: {
666
+ "application/json": components["schemas"]["MemberInviteRequest"];
667
+ "application/x-www-form-urlencoded": components["schemas"]["MemberInviteRequest"];
668
+ "multipart/form-data": components["schemas"]["MemberInviteRequest"];
669
+ };
670
+ };
671
+ responses: {
672
+ 201: {
673
+ headers: {
674
+ [name: string]: unknown;
675
+ };
676
+ content: {
677
+ "application/json": components["schemas"]["MemberInviteResponse"];
678
+ };
679
+ };
680
+ };
681
+ };
682
+ workspaces_api_internal_members_retrieve: {
683
+ parameters: {
684
+ query?: never;
685
+ header?: never;
686
+ path: {
687
+ user_id: string;
688
+ workspace_id: string;
689
+ };
690
+ cookie?: never;
691
+ };
692
+ requestBody?: never;
693
+ responses: {
694
+ 200: {
695
+ headers: {
696
+ [name: string]: unknown;
697
+ };
698
+ content: {
699
+ "application/json": components["schemas"]["MemberResponse"];
700
+ };
701
+ };
702
+ };
703
+ };
704
+ workspaces_api_internal_users_personal_create: {
705
+ parameters: {
706
+ query?: never;
707
+ header?: never;
708
+ path: {
709
+ user_id: string;
710
+ };
711
+ cookie?: never;
712
+ };
713
+ requestBody?: never;
714
+ responses: {
715
+ 200: {
716
+ headers: {
717
+ [name: string]: unknown;
718
+ };
719
+ content: {
720
+ "application/json": components["schemas"]["InternalPersonalWorkspaceResponse"];
721
+ };
722
+ };
723
+ 404: {
724
+ headers: {
725
+ [name: string]: unknown;
726
+ };
727
+ content: {
728
+ "application/json": components["schemas"]["StapelError"];
729
+ };
730
+ };
731
+ };
732
+ };
733
+ workspaces_api_invitations_accept_create: {
734
+ parameters: {
735
+ query?: never;
736
+ header?: never;
737
+ path?: never;
738
+ cookie?: never;
739
+ };
740
+ requestBody: {
741
+ content: {
742
+ "application/json": components["schemas"]["InvitationAcceptRequest"];
743
+ "application/x-www-form-urlencoded": components["schemas"]["InvitationAcceptRequest"];
744
+ "multipart/form-data": components["schemas"]["InvitationAcceptRequest"];
745
+ };
746
+ };
747
+ responses: {
748
+ 200: {
749
+ headers: {
750
+ [name: string]: unknown;
751
+ };
752
+ content: {
753
+ "application/json": components["schemas"]["MemberResponse"];
754
+ };
755
+ };
756
+ };
757
+ };
758
+ }
759
+ //# sourceMappingURL=schema.d.ts.map