@sylphx/contract 0.2.0 → 0.3.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 (125) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/endpoint.d.ts +13 -1
  3. package/dist/endpoint.d.ts.map +1 -1
  4. package/dist/endpoints/admin-ai-playground.d.ts +3 -3
  5. package/dist/endpoints/admin-ai-playground.js +6 -6
  6. package/dist/endpoints/admin-anomalies.d.ts +7 -7
  7. package/dist/endpoints/admin-anomalies.js +14 -14
  8. package/dist/endpoints/admin-apm.d.ts +6 -6
  9. package/dist/endpoints/admin-apm.js +12 -12
  10. package/dist/endpoints/admin-audit.d.ts +185 -52
  11. package/dist/endpoints/admin-audit.d.ts.map +1 -1
  12. package/dist/endpoints/admin-audit.js +113 -113
  13. package/dist/endpoints/admin-billing.d.ts +19 -19
  14. package/dist/endpoints/admin-billing.js +38 -38
  15. package/dist/endpoints/admin-bootstrap.d.ts +1 -1
  16. package/dist/endpoints/admin-bootstrap.js +2 -2
  17. package/dist/endpoints/admin-broadcasts.d.ts +5 -5
  18. package/dist/endpoints/admin-broadcasts.js +10 -10
  19. package/dist/endpoints/admin-builds.d.ts +1 -1
  20. package/dist/endpoints/admin-builds.js +2 -2
  21. package/dist/endpoints/admin-config.d.ts +11 -11
  22. package/dist/endpoints/admin-config.js +22 -22
  23. package/dist/endpoints/admin-consent.d.ts +38 -14
  24. package/dist/endpoints/admin-consent.d.ts.map +1 -1
  25. package/dist/endpoints/admin-consent.js +27 -27
  26. package/dist/endpoints/admin-env-services.d.ts +1 -1
  27. package/dist/endpoints/admin-env-services.js +2 -2
  28. package/dist/endpoints/admin-impersonation.d.ts +9 -9
  29. package/dist/endpoints/admin-impersonation.js +18 -18
  30. package/dist/endpoints/admin-invitations.d.ts +5 -5
  31. package/dist/endpoints/admin-invitations.js +10 -10
  32. package/dist/endpoints/admin-jwt-keys.d.ts +6 -6
  33. package/dist/endpoints/admin-jwt-keys.js +12 -12
  34. package/dist/endpoints/admin-logs.d.ts +7 -7
  35. package/dist/endpoints/admin-logs.js +14 -14
  36. package/dist/endpoints/admin-plans.d.ts +4 -4
  37. package/dist/endpoints/admin-plans.js +8 -8
  38. package/dist/endpoints/admin-project-users.d.ts +8 -8
  39. package/dist/endpoints/admin-project-users.js +16 -16
  40. package/dist/endpoints/admin-projects.d.ts +36 -7
  41. package/dist/endpoints/admin-projects.d.ts.map +1 -1
  42. package/dist/endpoints/admin-projects.js +44 -15
  43. package/dist/endpoints/admin-quotas.d.ts +6 -6
  44. package/dist/endpoints/admin-quotas.js +12 -12
  45. package/dist/endpoints/admin-rate-limits.d.ts +2 -2
  46. package/dist/endpoints/admin-rate-limits.js +4 -4
  47. package/dist/endpoints/admin-reconcile.d.ts +1 -1
  48. package/dist/endpoints/admin-reconcile.js +2 -2
  49. package/dist/endpoints/admin-resources.d.ts +2 -2
  50. package/dist/endpoints/admin-resources.js +4 -4
  51. package/dist/endpoints/admin-secrets.d.ts +2 -2
  52. package/dist/endpoints/admin-secrets.js +4 -4
  53. package/dist/endpoints/admin-services.d.ts +1 -1
  54. package/dist/endpoints/admin-services.js +2 -2
  55. package/dist/endpoints/admin-tasks.d.ts +6 -6
  56. package/dist/endpoints/admin-tasks.js +12 -12
  57. package/dist/endpoints/admin-tenants.d.ts +1 -1
  58. package/dist/endpoints/admin-tenants.js +2 -2
  59. package/dist/endpoints/admin-traces.d.ts +5 -5
  60. package/dist/endpoints/admin-traces.js +10 -10
  61. package/dist/endpoints/admin-users.d.ts +8 -8
  62. package/dist/endpoints/admin-users.js +16 -16
  63. package/dist/endpoints/admin-webhook-signature-versions.d.ts +3 -3
  64. package/dist/endpoints/admin-webhook-signature-versions.js +6 -6
  65. package/dist/endpoints/auth.d.ts +6 -0
  66. package/dist/endpoints/auth.d.ts.map +1 -1
  67. package/dist/endpoints/auth.js +12 -1
  68. package/dist/endpoints/branch-databases.d.ts +27 -28
  69. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  70. package/dist/endpoints/branch-databases.js +7 -7
  71. package/dist/endpoints/databases.d.ts +253 -3
  72. package/dist/endpoints/databases.d.ts.map +1 -1
  73. package/dist/endpoints/databases.js +19 -12
  74. package/dist/endpoints/environments.d.ts +9 -0
  75. package/dist/endpoints/environments.d.ts.map +1 -1
  76. package/dist/endpoints/organizations.d.ts +11 -0
  77. package/dist/endpoints/organizations.d.ts.map +1 -1
  78. package/dist/endpoints/organizations.js +8 -1
  79. package/dist/endpoints/project-manifest.d.ts +42 -34
  80. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  81. package/dist/endpoints/secrets.d.ts +6 -6
  82. package/dist/endpoints/secrets.d.ts.map +1 -1
  83. package/dist/endpoints/secrets.js +6 -5
  84. package/dist/endpoints/storage.d.ts +4 -6
  85. package/dist/endpoints/storage.d.ts.map +1 -1
  86. package/dist/endpoints/storage.js +1 -12
  87. package/dist/hono-app.d.ts +206 -0
  88. package/dist/hono-app.d.ts.map +1 -0
  89. package/dist/hono-app.js +62 -0
  90. package/dist/index.d.ts +503 -278
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +10 -4
  93. package/dist/schemas/admin-audit.d.ts +183 -0
  94. package/dist/schemas/admin-audit.d.ts.map +1 -1
  95. package/dist/schemas/admin-audit.js +144 -0
  96. package/dist/schemas/admin-consent.d.ts +32 -3
  97. package/dist/schemas/admin-consent.d.ts.map +1 -1
  98. package/dist/schemas/admin-consent.js +28 -1
  99. package/dist/schemas/admin-projects.d.ts +20 -0
  100. package/dist/schemas/admin-projects.d.ts.map +1 -1
  101. package/dist/schemas/admin-projects.js +17 -0
  102. package/dist/schemas/auth.d.ts +11 -0
  103. package/dist/schemas/auth.d.ts.map +1 -1
  104. package/dist/schemas/auth.js +10 -0
  105. package/dist/schemas/branch-database.d.ts +20 -19
  106. package/dist/schemas/branch-database.d.ts.map +1 -1
  107. package/dist/schemas/branch-database.js +9 -7
  108. package/dist/schemas/environment.d.ts +6 -0
  109. package/dist/schemas/environment.d.ts.map +1 -1
  110. package/dist/schemas/environment.js +2 -0
  111. package/dist/schemas/ids.d.ts +2 -0
  112. package/dist/schemas/ids.d.ts.map +1 -1
  113. package/dist/schemas/ids.js +1 -0
  114. package/dist/schemas/organization.d.ts +24 -2
  115. package/dist/schemas/organization.d.ts.map +1 -1
  116. package/dist/schemas/organization.js +13 -1
  117. package/dist/schemas/project-manifest.d.ts +59 -37
  118. package/dist/schemas/project-manifest.d.ts.map +1 -1
  119. package/dist/schemas/project-manifest.js +11 -3
  120. package/dist/schemas/secret.d.ts +1 -1
  121. package/dist/schemas/secret.js +2 -2
  122. package/dist/schemas/storage.d.ts +4 -5
  123. package/dist/schemas/storage.d.ts.map +1 -1
  124. package/dist/schemas/storage.js +5 -4
  125. package/package.json +16 -2
@@ -8,18 +8,18 @@
8
8
  * environment. The `:id` params correspond to `projects.id` and
9
9
  * `project_environments.id` (the preview env's environment row).
10
10
  *
11
- * See `docs/design/branch-db-per-preview.md` for the full design — this file
12
- * is the scaffolded contract; actual CNPG provisioning lands in the
13
- * controller (ops follow-up).
11
+ * See `docs/design/branch-db-per-preview.md` for the full design. The
12
+ * controller owns CNPG provisioning and teardown.
14
13
  */
15
14
  import { Schema } from 'effect';
16
15
  import { defineEndpoint } from '../endpoint.js';
17
16
  import { BranchDatabase, CreateBranchDatabaseInput, DestroyBranchDatabaseResult, GetBranchDatabaseResult, ListBranchDatabasesResult, } from '../schemas/branch-database.js';
17
+ import { EnvironmentId, ProjectId } from '../schemas/ids.js';
18
18
  const ProjectEnvPath = Schema.Struct({
19
- id: Schema.String,
20
- envId: Schema.String,
19
+ id: ProjectId,
20
+ envId: EnvironmentId,
21
21
  });
22
- const ProjectIdPath = Schema.Struct({ id: Schema.String });
22
+ const ProjectIdPath = Schema.Struct({ id: ProjectId });
23
23
  export const branchDatabasesEndpoints = {
24
24
  list: defineEndpoint({
25
25
  method: 'GET',
@@ -55,7 +55,7 @@ export const branchDatabasesEndpoints = {
55
55
  params: ProjectEnvPath,
56
56
  response: DestroyBranchDatabaseResult,
57
57
  plane: 'management',
58
- summary: 'Destroy a branch database (tombstones the row; reclaims PVCs)',
58
+ summary: 'Schedule branch database teardown (controller reclaims PVCs asynchronously)',
59
59
  tags: ['branch-databases'],
60
60
  }),
61
61
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Databases endpoints — surfaced through the unified `/resources` router
3
- * (`kind=database`). Mirrors `apps/api/src/server/platform/routes/management/resources/*`.
4
- * Backups/restore/branch are CNPG-only; bindings apply to every resource kind.
2
+ * Managed resource endpoints — surfaced through the unified `/resources`
3
+ * router. Backups/restore/branch are database-only; bindings apply to every
4
+ * resource kind.
5
5
  */
6
6
  import { Schema } from 'effect';
7
7
  export declare const databasesEndpoints: {
@@ -248,4 +248,254 @@ export declare const databasesEndpoints: {
248
248
  success: typeof Schema.Boolean;
249
249
  }>>;
250
250
  };
251
+ /**
252
+ * Canonical name for the unified `/resources` contract group.
253
+ *
254
+ * `databasesEndpoints` remains for database-specific callers; new generic
255
+ * resource surfaces should import `resourcesEndpoints`.
256
+ */
257
+ export declare const resourcesEndpoints: {
258
+ readonly list: import("../endpoint.js").Endpoint<"GET", "/resources", Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
259
+ kind: Schema.optional<typeof Schema.String>;
260
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
261
+ data: Schema.Array$<Schema.Struct<{
262
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "DatabaseId">;
263
+ name: typeof Schema.String;
264
+ slug: Schema.optional<typeof Schema.String>;
265
+ status: typeof Schema.String;
266
+ kind: Schema.optional<typeof Schema.String>;
267
+ tier: typeof Schema.String;
268
+ host: Schema.optional<Schema.NullOr<typeof Schema.String>>;
269
+ directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
270
+ port: Schema.optional<typeof Schema.Number>;
271
+ publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
272
+ dbUser: Schema.optional<typeof Schema.String>;
273
+ dbName: Schema.optional<typeof Schema.String>;
274
+ connectionString: Schema.optional<typeof Schema.String>;
275
+ storageGb: Schema.optional<typeof Schema.Number>;
276
+ env: Schema.optional<typeof Schema.String>;
277
+ engine: Schema.optional<typeof Schema.String>;
278
+ instances: Schema.optional<typeof Schema.Number>;
279
+ clusterName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
280
+ branchName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
281
+ provider: Schema.optional<typeof Schema.String>;
282
+ backupRetentionDays: Schema.optional<typeof Schema.Number>;
283
+ reconcileStatus: Schema.optional<typeof Schema.String>;
284
+ config: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
285
+ createdAt: Schema.optional<typeof Schema.String>;
286
+ updatedAt: Schema.optional<typeof Schema.String>;
287
+ }>>;
288
+ }>>;
289
+ readonly create: import("../endpoint.js").Endpoint<"POST", "/resources", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
290
+ name: typeof Schema.String;
291
+ kind: Schema.Literal<["database", "kv", "blob", "search", "volume"]>;
292
+ provider: Schema.optional<typeof Schema.String>;
293
+ tier: Schema.optional<typeof Schema.String>;
294
+ env: Schema.optional<typeof Schema.String>;
295
+ storageGb: Schema.optional<typeof Schema.Number>;
296
+ maxMemoryMb: Schema.optional<typeof Schema.Number>;
297
+ nodes: Schema.optional<typeof Schema.Number>;
298
+ bucket: Schema.optional<typeof Schema.String>;
299
+ endpoint: Schema.optional<Schema.NullOr<typeof Schema.String>>;
300
+ region: Schema.optional<Schema.NullOr<typeof Schema.String>>;
301
+ accessKeyEncrypted: Schema.optional<Schema.NullOr<typeof Schema.String>>;
302
+ secretKeyEncrypted: Schema.optional<Schema.NullOr<typeof Schema.String>>;
303
+ accessMode: Schema.optional<Schema.Literal<["ReadWriteOnce", "ReadWriteMany"]>>;
304
+ sizeGb: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
305
+ mountPath: Schema.optional<Schema.NullOr<typeof Schema.String>>;
306
+ config: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
307
+ }>, Schema.Struct<{
308
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "DatabaseId">;
309
+ name: typeof Schema.String;
310
+ slug: Schema.optional<typeof Schema.String>;
311
+ status: typeof Schema.String;
312
+ kind: Schema.optional<typeof Schema.String>;
313
+ tier: typeof Schema.String;
314
+ host: Schema.optional<Schema.NullOr<typeof Schema.String>>;
315
+ directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
316
+ port: Schema.optional<typeof Schema.Number>;
317
+ publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
318
+ dbUser: Schema.optional<typeof Schema.String>;
319
+ dbName: Schema.optional<typeof Schema.String>;
320
+ connectionString: Schema.optional<typeof Schema.String>;
321
+ storageGb: Schema.optional<typeof Schema.Number>;
322
+ env: Schema.optional<typeof Schema.String>;
323
+ engine: Schema.optional<typeof Schema.String>;
324
+ instances: Schema.optional<typeof Schema.Number>;
325
+ clusterName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
326
+ branchName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
327
+ provider: Schema.optional<typeof Schema.String>;
328
+ backupRetentionDays: Schema.optional<typeof Schema.Number>;
329
+ reconcileStatus: Schema.optional<typeof Schema.String>;
330
+ config: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
331
+ createdAt: Schema.optional<typeof Schema.String>;
332
+ updatedAt: Schema.optional<typeof Schema.String>;
333
+ }>>;
334
+ readonly get: import("../endpoint.js").Endpoint<"GET", "/resources/:id", Schema.Struct<{
335
+ id: typeof Schema.String;
336
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
337
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "DatabaseId">;
338
+ name: typeof Schema.String;
339
+ slug: Schema.optional<typeof Schema.String>;
340
+ status: typeof Schema.String;
341
+ kind: Schema.optional<typeof Schema.String>;
342
+ tier: typeof Schema.String;
343
+ host: Schema.optional<Schema.NullOr<typeof Schema.String>>;
344
+ directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
345
+ port: Schema.optional<typeof Schema.Number>;
346
+ publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
347
+ dbUser: Schema.optional<typeof Schema.String>;
348
+ dbName: Schema.optional<typeof Schema.String>;
349
+ connectionString: Schema.optional<typeof Schema.String>;
350
+ storageGb: Schema.optional<typeof Schema.Number>;
351
+ env: Schema.optional<typeof Schema.String>;
352
+ engine: Schema.optional<typeof Schema.String>;
353
+ instances: Schema.optional<typeof Schema.Number>;
354
+ clusterName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
355
+ branchName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
356
+ provider: Schema.optional<typeof Schema.String>;
357
+ backupRetentionDays: Schema.optional<typeof Schema.Number>;
358
+ reconcileStatus: Schema.optional<typeof Schema.String>;
359
+ config: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
360
+ createdAt: Schema.optional<typeof Schema.String>;
361
+ updatedAt: Schema.optional<typeof Schema.String>;
362
+ }>>;
363
+ readonly update: import("../endpoint.js").Endpoint<"PATCH", "/resources/:id", Schema.Struct<{
364
+ id: typeof Schema.String;
365
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Record$<typeof Schema.String, typeof Schema.Unknown>, Schema.Struct<{
366
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "DatabaseId">;
367
+ name: typeof Schema.String;
368
+ slug: Schema.optional<typeof Schema.String>;
369
+ status: typeof Schema.String;
370
+ kind: Schema.optional<typeof Schema.String>;
371
+ tier: typeof Schema.String;
372
+ host: Schema.optional<Schema.NullOr<typeof Schema.String>>;
373
+ directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
374
+ port: Schema.optional<typeof Schema.Number>;
375
+ publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
376
+ dbUser: Schema.optional<typeof Schema.String>;
377
+ dbName: Schema.optional<typeof Schema.String>;
378
+ connectionString: Schema.optional<typeof Schema.String>;
379
+ storageGb: Schema.optional<typeof Schema.Number>;
380
+ env: Schema.optional<typeof Schema.String>;
381
+ engine: Schema.optional<typeof Schema.String>;
382
+ instances: Schema.optional<typeof Schema.Number>;
383
+ clusterName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
384
+ branchName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
385
+ provider: Schema.optional<typeof Schema.String>;
386
+ backupRetentionDays: Schema.optional<typeof Schema.Number>;
387
+ reconcileStatus: Schema.optional<typeof Schema.String>;
388
+ config: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
389
+ createdAt: Schema.optional<typeof Schema.String>;
390
+ updatedAt: Schema.optional<typeof Schema.String>;
391
+ }>>;
392
+ readonly delete: import("../endpoint.js").Endpoint<"DELETE", "/resources/:id", Schema.Struct<{
393
+ id: typeof Schema.String;
394
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
395
+ success: Schema.optional<typeof Schema.Boolean>;
396
+ }>>;
397
+ readonly metrics: import("../endpoint.js").Endpoint<"GET", "/resources/:id/metrics", Schema.Struct<{
398
+ id: typeof Schema.String;
399
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
400
+ readonly backups: import("../endpoint.js").Endpoint<"GET", "/resources/:id/backups", Schema.Struct<{
401
+ id: typeof Schema.String;
402
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
403
+ backups: Schema.Array$<Schema.Struct<{
404
+ name: typeof Schema.String;
405
+ startedAt: Schema.NullOr<typeof Schema.String>;
406
+ completedAt: Schema.NullOr<typeof Schema.String>;
407
+ status: typeof Schema.String;
408
+ method: typeof Schema.String;
409
+ }>>;
410
+ available: typeof Schema.Boolean;
411
+ reason: Schema.optional<typeof Schema.String>;
412
+ }>>;
413
+ readonly restore: import("../endpoint.js").Endpoint<"POST", "/resources/:id/restore", Schema.Struct<{
414
+ id: typeof Schema.String;
415
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
416
+ targetTime: typeof Schema.String;
417
+ }>, Schema.Struct<{
418
+ restored: typeof Schema.Boolean;
419
+ resourceId: Schema.optional<typeof Schema.String>;
420
+ clusterName: Schema.optional<typeof Schema.String>;
421
+ targetTime: Schema.optional<typeof Schema.String>;
422
+ message: Schema.optional<typeof Schema.String>;
423
+ }>>;
424
+ readonly restoreInPlace: import("../endpoint.js").Endpoint<"POST", "/resources/:id/restore-in-place", Schema.Struct<{
425
+ id: typeof Schema.String;
426
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
427
+ targetTime: typeof Schema.String;
428
+ }>, Schema.Struct<{
429
+ restored: typeof Schema.Boolean;
430
+ resourceId: Schema.optional<typeof Schema.String>;
431
+ clusterName: Schema.optional<typeof Schema.String>;
432
+ targetTime: Schema.optional<typeof Schema.String>;
433
+ message: Schema.optional<typeof Schema.String>;
434
+ }>>;
435
+ readonly branch: import("../endpoint.js").Endpoint<"POST", "/resources/:id/branch", Schema.Struct<{
436
+ id: typeof Schema.String;
437
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
438
+ name: Schema.optional<typeof Schema.String>;
439
+ env: Schema.optional<typeof Schema.String>;
440
+ fast: Schema.optional<typeof Schema.Boolean>;
441
+ sourceEnvironmentId: Schema.optional<typeof Schema.String>;
442
+ targetEnvironmentId: Schema.optional<typeof Schema.String>;
443
+ }>, Schema.Struct<{
444
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "DatabaseId">;
445
+ name: typeof Schema.String;
446
+ slug: Schema.optional<typeof Schema.String>;
447
+ status: typeof Schema.String;
448
+ kind: Schema.optional<typeof Schema.String>;
449
+ tier: typeof Schema.String;
450
+ host: Schema.optional<Schema.NullOr<typeof Schema.String>>;
451
+ directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
452
+ port: Schema.optional<typeof Schema.Number>;
453
+ publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
454
+ dbUser: Schema.optional<typeof Schema.String>;
455
+ dbName: Schema.optional<typeof Schema.String>;
456
+ connectionString: Schema.optional<typeof Schema.String>;
457
+ storageGb: Schema.optional<typeof Schema.Number>;
458
+ env: Schema.optional<typeof Schema.String>;
459
+ engine: Schema.optional<typeof Schema.String>;
460
+ instances: Schema.optional<typeof Schema.Number>;
461
+ clusterName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
462
+ branchName: Schema.optional<Schema.NullOr<typeof Schema.String>>;
463
+ provider: Schema.optional<typeof Schema.String>;
464
+ backupRetentionDays: Schema.optional<typeof Schema.Number>;
465
+ reconcileStatus: Schema.optional<typeof Schema.String>;
466
+ config: Schema.optional<Schema.NullOr<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>>;
467
+ createdAt: Schema.optional<typeof Schema.String>;
468
+ updatedAt: Schema.optional<typeof Schema.String>;
469
+ }>>;
470
+ readonly listBindings: import("../endpoint.js").Endpoint<"GET", "/resources/:id/bindings", Schema.Struct<{
471
+ id: typeof Schema.String;
472
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
473
+ bindings: Schema.Array$<Schema.Struct<{
474
+ id: typeof Schema.String;
475
+ resourceId: typeof Schema.String;
476
+ projectEnvironmentId: typeof Schema.String;
477
+ role: Schema.optional<Schema.NullOr<typeof Schema.String>>;
478
+ createdAt: Schema.optional<typeof Schema.String>;
479
+ }>>;
480
+ }>>;
481
+ readonly createBinding: import("../endpoint.js").Endpoint<"POST", "/resources/:id/bindings", Schema.Struct<{
482
+ id: typeof Schema.String;
483
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
484
+ projectEnvironmentId: Schema.optional<typeof Schema.String>;
485
+ environmentId: Schema.optional<typeof Schema.String>;
486
+ role: Schema.optional<typeof Schema.String>;
487
+ }>, Schema.Struct<{
488
+ id: typeof Schema.String;
489
+ resourceId: typeof Schema.String;
490
+ projectEnvironmentId: typeof Schema.String;
491
+ role: Schema.optional<Schema.NullOr<typeof Schema.String>>;
492
+ createdAt: Schema.optional<typeof Schema.String>;
493
+ }>>;
494
+ readonly deleteBinding: import("../endpoint.js").Endpoint<"DELETE", "/resources/:id/bindings/:bindingId", Schema.Struct<{
495
+ id: typeof Schema.String;
496
+ bindingId: typeof Schema.String;
497
+ }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
498
+ success: typeof Schema.Boolean;
499
+ }>>;
500
+ };
251
501
  //# sourceMappingURL=databases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/endpoints/databases.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA8C/B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GrB,CAAA"}
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../src/endpoints/databases.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AA8C/B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GrB,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Databases endpoints — surfaced through the unified `/resources` router
3
- * (`kind=database`). Mirrors `apps/api/src/server/platform/routes/management/resources/*`.
4
- * Backups/restore/branch are CNPG-only; bindings apply to every resource kind.
2
+ * Managed resource endpoints — surfaced through the unified `/resources`
3
+ * router. Backups/restore/branch are database-only; bindings apply to every
4
+ * resource kind.
5
5
  */
6
6
  import { Schema } from 'effect';
7
7
  import { defineEndpoint } from '../endpoint.js';
@@ -44,7 +44,7 @@ export const databasesEndpoints = {
44
44
  query: KindQuery,
45
45
  response: Schema.Struct({ data: Schema.Array(Database) }),
46
46
  summary: 'List resources (filter via ?kind=database|kv|blob|search|volume)',
47
- tags: ['databases'],
47
+ tags: ['resources'],
48
48
  }),
49
49
  create: defineEndpoint({
50
50
  method: 'POST',
@@ -52,7 +52,7 @@ export const databasesEndpoints = {
52
52
  body: CreateResourceBody,
53
53
  response: Database,
54
54
  summary: 'Provision a new resource (database|kv|blob|search|volume — async, 202)',
55
- tags: ['databases'],
55
+ tags: ['resources'],
56
56
  }),
57
57
  get: defineEndpoint({
58
58
  method: 'GET',
@@ -60,7 +60,7 @@ export const databasesEndpoints = {
60
60
  params: IdPath,
61
61
  response: Database,
62
62
  summary: 'Get a resource (includes live status)',
63
- tags: ['databases'],
63
+ tags: ['resources'],
64
64
  }),
65
65
  update: defineEndpoint({
66
66
  method: 'PATCH',
@@ -69,7 +69,7 @@ export const databasesEndpoints = {
69
69
  body: Schema.Record({ key: Schema.String, value: Schema.Unknown }),
70
70
  response: Database,
71
71
  summary: 'Update resource name and/or config patch',
72
- tags: ['databases'],
72
+ tags: ['resources'],
73
73
  }),
74
74
  delete: defineEndpoint({
75
75
  method: 'DELETE',
@@ -77,7 +77,7 @@ export const databasesEndpoints = {
77
77
  params: IdPath,
78
78
  response: Schema.Struct({ success: Schema.optional(Schema.Boolean) }),
79
79
  summary: 'Deprovision a resource (204 on success, 409 when bindings exist)',
80
- tags: ['databases'],
80
+ tags: ['resources'],
81
81
  }),
82
82
  metrics: defineEndpoint({
83
83
  method: 'GET',
@@ -85,7 +85,7 @@ export const databasesEndpoints = {
85
85
  params: IdPath,
86
86
  response: MetricsResponse,
87
87
  summary: 'Prometheus metrics snapshot (adapts by resource kind)',
88
- tags: ['databases'],
88
+ tags: ['resources'],
89
89
  }),
90
90
  backups: defineEndpoint({
91
91
  method: 'GET',
@@ -128,7 +128,7 @@ export const databasesEndpoints = {
128
128
  params: IdPath,
129
129
  response: Schema.Struct({ bindings: Schema.Array(DatabaseResourceBinding) }),
130
130
  summary: 'List environment bindings for a resource',
131
- tags: ['databases'],
131
+ tags: ['resources'],
132
132
  }),
133
133
  createBinding: defineEndpoint({
134
134
  method: 'POST',
@@ -137,7 +137,7 @@ export const databasesEndpoints = {
137
137
  body: CreateBindingInput,
138
138
  response: DatabaseResourceBinding,
139
139
  summary: 'Bind a resource to an environment',
140
- tags: ['databases'],
140
+ tags: ['resources'],
141
141
  }),
142
142
  deleteBinding: defineEndpoint({
143
143
  method: 'DELETE',
@@ -145,6 +145,13 @@ export const databasesEndpoints = {
145
145
  params: BindingPath,
146
146
  response: Schema.Struct({ success: Schema.Boolean }),
147
147
  summary: 'Unbind a resource from an environment',
148
- tags: ['databases'],
148
+ tags: ['resources'],
149
149
  }),
150
150
  };
151
+ /**
152
+ * Canonical name for the unified `/resources` contract group.
153
+ *
154
+ * `databasesEndpoints` remains for database-specific callers; new generic
155
+ * resource surfaces should import `resourcesEndpoints`.
156
+ */
157
+ export const resourcesEndpoints = databasesEndpoints;
@@ -36,6 +36,7 @@ export declare const environmentsEndpoints: {
36
36
  url: Schema.optional<typeof Schema.String>;
37
37
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
38
38
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
39
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
39
40
  createdAt: Schema.optional<typeof Schema.String>;
40
41
  updatedAt: Schema.optional<typeof Schema.String>;
41
42
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -88,6 +89,7 @@ export declare const environmentsEndpoints: {
88
89
  url: Schema.optional<typeof Schema.String>;
89
90
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
90
91
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
92
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
91
93
  createdAt: Schema.optional<typeof Schema.String>;
92
94
  updatedAt: Schema.optional<typeof Schema.String>;
93
95
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -124,6 +126,7 @@ export declare const environmentsEndpoints: {
124
126
  allowPrivilegeEscalation: Schema.optional<typeof Schema.Boolean>;
125
127
  privileged: Schema.optional<typeof Schema.Boolean>;
126
128
  }>>;
129
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
127
130
  settings: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
128
131
  }>, Schema.Struct<{
129
132
  id: Schema.brand<Schema.filter<typeof Schema.String>, "EnvironmentId">;
@@ -147,6 +150,7 @@ export declare const environmentsEndpoints: {
147
150
  url: Schema.optional<typeof Schema.String>;
148
151
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
149
152
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
153
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
150
154
  createdAt: Schema.optional<typeof Schema.String>;
151
155
  updatedAt: Schema.optional<typeof Schema.String>;
152
156
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -206,6 +210,7 @@ export declare const environmentsEndpoints: {
206
210
  url: Schema.optional<typeof Schema.String>;
207
211
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
208
212
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
213
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
209
214
  createdAt: Schema.optional<typeof Schema.String>;
210
215
  updatedAt: Schema.optional<typeof Schema.String>;
211
216
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -236,6 +241,7 @@ export declare const environmentsEndpoints: {
236
241
  url: Schema.optional<typeof Schema.String>;
237
242
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
238
243
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
244
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
239
245
  createdAt: Schema.optional<typeof Schema.String>;
240
246
  updatedAt: Schema.optional<typeof Schema.String>;
241
247
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -285,6 +291,7 @@ export declare const environmentsEndpoints: {
285
291
  url: Schema.optional<typeof Schema.String>;
286
292
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
287
293
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
294
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
288
295
  createdAt: Schema.optional<typeof Schema.String>;
289
296
  updatedAt: Schema.optional<typeof Schema.String>;
290
297
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -320,6 +327,7 @@ export declare const environmentsEndpoints: {
320
327
  allowPrivilegeEscalation: Schema.optional<typeof Schema.Boolean>;
321
328
  privileged: Schema.optional<typeof Schema.Boolean>;
322
329
  }>>;
330
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
323
331
  settings: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
324
332
  }>, Schema.Struct<{
325
333
  id: Schema.brand<Schema.filter<typeof Schema.String>, "EnvironmentId">;
@@ -343,6 +351,7 @@ export declare const environmentsEndpoints: {
343
351
  url: Schema.optional<typeof Schema.String>;
344
352
  deployAppId: Schema.optional<Schema.NullOr<typeof Schema.String>>;
345
353
  namespace: Schema.optional<Schema.NullOr<typeof Schema.String>>;
354
+ defaultHealthAgentMode: Schema.optional<Schema.Literal<["auto", "passthrough", "disabled"]>>;
346
355
  createdAt: Schema.optional<typeof Schema.String>;
347
356
  updatedAt: Schema.optional<typeof Schema.String>;
348
357
  status: Schema.optional<Schema.NullOr<Schema.Struct<{
@@ -1 +1 @@
1
- {"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/endpoints/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAwD/B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsMxB,CAAA"}
1
+ {"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../../src/endpoints/environments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAwD/B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsMxB,CAAA"}
@@ -54,6 +54,17 @@ export declare const organizationsEndpoints: {
54
54
  limit: typeof Schema.Number;
55
55
  offset: typeof Schema.Number;
56
56
  }>>;
57
+ readonly memberships: import("../endpoint.js").Endpoint<"GET", "/orgs/memberships", Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
58
+ organizations: Schema.Array$<Schema.Struct<{
59
+ id: Schema.brand<Schema.filter<typeof Schema.String>, "OrgId">;
60
+ name: typeof Schema.String;
61
+ slug: typeof Schema.String;
62
+ logoUrl: Schema.NullOr<typeof Schema.String>;
63
+ role: Schema.Literal<["super_admin", "admin", "billing", "analytics", "developer", "viewer", "member"]>;
64
+ joinedAt: typeof Schema.String;
65
+ createdAt: typeof Schema.String;
66
+ }>>;
67
+ }>>;
57
68
  readonly get: import("../endpoint.js").Endpoint<"GET", "/orgs/:orgId", Schema.Struct<{
58
69
  orgId: typeof Schema.String;
59
70
  }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../src/endpoints/organizations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiZ/B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIzB,CAAA"}
1
+ {"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../src/endpoints/organizations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAkZ/B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6IzB,CAAA"}
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import { Schema } from 'effect';
14
14
  import { defineEndpoint } from '../endpoint.js';
15
- import { CreateOrgInput, InviteMemberInput, InviteMemberResult, MyOrgResponse, Organization, OrgDetail, OrgMember, OrgSettings, ProjectSession, UpdateMemberRoleInput, UpdateMemberRoleResult, UpdateOrgInput, } from '../schemas/organization.js';
15
+ import { CreateOrgInput, InviteMemberInput, InviteMemberResult, MyOrgResponse, Organization, OrgDetail, OrgMember, OrgSettings, ProjectSession, UpdateMemberRoleInput, UpdateMemberRoleResult, UpdateOrgInput, UserOrganizationsResponse, } from '../schemas/organization.js';
16
16
  import { CreateCreditCheckoutInput, CreateCreditCheckoutResult, GetAddCreditsDataResult, GetBillingBusinessSettingsResult, GetBillingUsageResult, GetInvoiceDetailResult, GetPlatformPlanResult, InvoiceIdPath, RemoveTaxIdResult, SetTaxIdInput, SetTaxIdResult, UpdateBusinessInfoInput, UpdateBusinessInfoResult, UpgradePlatformPlanInput, UpgradePlatformPlanResult, } from '../schemas/organization-billing.js';
17
17
  import { BulkDeleteProjectUsersInput, BulkDeleteProjectUsersResult, BulkUpdateProjectUsersInput, BulkUpdateProjectUsersResult, DeleteProjectUserResult, GetProjectUserResult, ListProjectUsersQuery, ListProjectUsersResult, UpdateProjectUserStatusInput, UpdateProjectUserStatusResult, } from '../schemas/organization-project-users.js';
18
18
  import { CheckSlugQuery, CheckSlugResult, CreateOrgProjectInput, CreateOrgProjectResult, DeleteOrgProjectResult, GetOrgProjectLogsResult, GetOrgProjectUsageStatsResult, ListOrgProjectsResult, UpdateOrgProjectInput, UpdateOrgProjectResult, } from '../schemas/organization-projects.js';
@@ -348,6 +348,13 @@ export const organizationsEndpoints = {
348
348
  summary: 'List organizations (admin only)',
349
349
  tags: ['organizations'],
350
350
  }),
351
+ memberships: defineEndpoint({
352
+ method: 'GET',
353
+ path: '/orgs/memberships',
354
+ response: UserOrganizationsResponse,
355
+ summary: 'List organizations the authenticated user belongs to',
356
+ tags: ['organizations'],
357
+ }),
351
358
  get: defineEndpoint({
352
359
  method: 'GET',
353
360
  path: '/orgs/:orgId',