@sylphx/contract 0.5.1 → 0.7.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 (168) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/README.md +1 -1
  3. package/dist/compute.d.ts +33 -0
  4. package/dist/compute.d.ts.map +1 -0
  5. package/dist/compute.js +119 -0
  6. package/dist/endpoint.d.ts +3 -1
  7. package/dist/endpoint.d.ts.map +1 -1
  8. package/dist/endpoints/admin-audit.d.ts +2 -2
  9. package/dist/endpoints/admin-audit.js +2 -2
  10. package/dist/endpoints/admin-bootstrap.js +3 -3
  11. package/dist/endpoints/admin-branch-databases.d.ts +1 -1
  12. package/dist/endpoints/admin-branch-databases.js +2 -2
  13. package/dist/endpoints/admin-config.d.ts +3 -0
  14. package/dist/endpoints/admin-config.d.ts.map +1 -1
  15. package/dist/endpoints/admin-config.js +9 -1
  16. package/dist/endpoints/admin-envs-spec.d.ts +27 -0
  17. package/dist/endpoints/admin-envs-spec.d.ts.map +1 -0
  18. package/dist/endpoints/admin-envs-spec.js +25 -0
  19. package/dist/endpoints/admin-projects.d.ts +1 -1
  20. package/dist/endpoints/admin-rate-limits.d.ts +1 -1
  21. package/dist/endpoints/admin-rate-limits.js +3 -3
  22. package/dist/endpoints/admin-secrets.d.ts +3 -3
  23. package/dist/endpoints/admin-secrets.js +1 -1
  24. package/dist/endpoints/admin-services.d.ts +3 -3
  25. package/dist/endpoints/admin-services.d.ts.map +1 -1
  26. package/dist/endpoints/admin-services.js +4 -5
  27. package/dist/endpoints/ai-admin.d.ts +134 -5
  28. package/dist/endpoints/ai-admin.d.ts.map +1 -1
  29. package/dist/endpoints/analytics-admin.d.ts +141 -6
  30. package/dist/endpoints/analytics-admin.d.ts.map +1 -1
  31. package/dist/endpoints/analytics-admin.js +7 -7
  32. package/dist/endpoints/auth.d.ts +26 -8
  33. package/dist/endpoints/auth.d.ts.map +1 -1
  34. package/dist/endpoints/auth.js +5 -5
  35. package/dist/endpoints/branch-databases.d.ts +13 -7
  36. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  37. package/dist/endpoints/branch-databases.js +3 -3
  38. package/dist/endpoints/databases.d.ts +100 -164
  39. package/dist/endpoints/databases.d.ts.map +1 -1
  40. package/dist/endpoints/databases.js +8 -35
  41. package/dist/endpoints/deployments.d.ts +1 -3
  42. package/dist/endpoints/deployments.d.ts.map +1 -1
  43. package/dist/endpoints/deployments.js +1 -1
  44. package/dist/endpoints/domains.d.ts +7 -1
  45. package/dist/endpoints/domains.d.ts.map +1 -1
  46. package/dist/endpoints/email-admin.d.ts +1 -0
  47. package/dist/endpoints/email-admin.d.ts.map +1 -1
  48. package/dist/endpoints/environments.d.ts +11 -42
  49. package/dist/endpoints/environments.d.ts.map +1 -1
  50. package/dist/endpoints/flags-admin.d.ts +8 -0
  51. package/dist/endpoints/flags-admin.d.ts.map +1 -1
  52. package/dist/endpoints/image-opt.d.ts +5 -13
  53. package/dist/endpoints/image-opt.d.ts.map +1 -1
  54. package/dist/endpoints/image-opt.js +6 -18
  55. package/dist/endpoints/kv-admin.d.ts +0 -1
  56. package/dist/endpoints/kv-admin.d.ts.map +1 -1
  57. package/dist/endpoints/notifications-admin.d.ts +4 -4
  58. package/dist/endpoints/organizations.d.ts +8 -6
  59. package/dist/endpoints/organizations.d.ts.map +1 -1
  60. package/dist/endpoints/project-manifest.d.ts +362 -354
  61. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  62. package/dist/endpoints/projects.d.ts +0 -8
  63. package/dist/endpoints/projects.d.ts.map +1 -1
  64. package/dist/endpoints/realtime-admin.d.ts +0 -1
  65. package/dist/endpoints/realtime-admin.d.ts.map +1 -1
  66. package/dist/endpoints/realtime-admin.js +1 -1
  67. package/dist/endpoints/regions.d.ts +2 -4
  68. package/dist/endpoints/regions.d.ts.map +1 -1
  69. package/dist/endpoints/regions.js +2 -2
  70. package/dist/endpoints/tasks.d.ts +2 -6
  71. package/dist/endpoints/tasks.d.ts.map +1 -1
  72. package/dist/hono-app.d.ts +3 -3
  73. package/dist/hono-app.js +2 -2
  74. package/dist/index.d.ts +852 -632
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +7 -0
  77. package/dist/schemas/_primitives.d.ts +14 -0
  78. package/dist/schemas/_primitives.d.ts.map +1 -1
  79. package/dist/schemas/_primitives.js +16 -0
  80. package/dist/schemas/admin-audit.d.ts +4 -4
  81. package/dist/schemas/admin-audit.js +3 -3
  82. package/dist/schemas/admin-bootstrap.d.ts +1 -1
  83. package/dist/schemas/admin-bootstrap.js +1 -1
  84. package/dist/schemas/admin-builds.d.ts +1 -1
  85. package/dist/schemas/admin-builds.js +1 -1
  86. package/dist/schemas/admin-config.d.ts +4 -0
  87. package/dist/schemas/admin-config.d.ts.map +1 -1
  88. package/dist/schemas/admin-config.js +3 -0
  89. package/dist/schemas/admin-envs-spec.d.ts +49 -0
  90. package/dist/schemas/admin-envs-spec.d.ts.map +1 -0
  91. package/dist/schemas/admin-envs-spec.js +58 -0
  92. package/dist/schemas/admin-projects.d.ts +2 -2
  93. package/dist/schemas/admin-projects.js +1 -1
  94. package/dist/schemas/admin-rate-limits.d.ts +2 -2
  95. package/dist/schemas/admin-rate-limits.js +2 -2
  96. package/dist/schemas/admin-secrets.d.ts +14 -14
  97. package/dist/schemas/admin-secrets.d.ts.map +1 -1
  98. package/dist/schemas/admin-secrets.js +10 -10
  99. package/dist/schemas/admin-services.d.ts +18 -22
  100. package/dist/schemas/admin-services.d.ts.map +1 -1
  101. package/dist/schemas/admin-services.js +15 -19
  102. package/dist/schemas/ai-admin.d.ts +137 -8
  103. package/dist/schemas/ai-admin.d.ts.map +1 -1
  104. package/dist/schemas/ai-admin.js +119 -13
  105. package/dist/schemas/analytics-admin.d.ts +164 -7
  106. package/dist/schemas/analytics-admin.d.ts.map +1 -1
  107. package/dist/schemas/analytics-admin.js +104 -3
  108. package/dist/schemas/auth.d.ts +2 -1
  109. package/dist/schemas/auth.d.ts.map +1 -1
  110. package/dist/schemas/auth.js +2 -1
  111. package/dist/schemas/branch-database.d.ts +25 -18
  112. package/dist/schemas/branch-database.d.ts.map +1 -1
  113. package/dist/schemas/branch-database.js +15 -14
  114. package/dist/schemas/database.d.ts +13 -19
  115. package/dist/schemas/database.d.ts.map +1 -1
  116. package/dist/schemas/database.js +7 -19
  117. package/dist/schemas/deployment.d.ts +5 -7
  118. package/dist/schemas/deployment.d.ts.map +1 -1
  119. package/dist/schemas/deployment.js +6 -6
  120. package/dist/schemas/domain.d.ts +3 -1
  121. package/dist/schemas/domain.d.ts.map +1 -1
  122. package/dist/schemas/domain.js +2 -1
  123. package/dist/schemas/email-admin.d.ts +1 -0
  124. package/dist/schemas/email-admin.d.ts.map +1 -1
  125. package/dist/schemas/email-admin.js +1 -0
  126. package/dist/schemas/environment.d.ts +17 -31
  127. package/dist/schemas/environment.d.ts.map +1 -1
  128. package/dist/schemas/environment.js +11 -16
  129. package/dist/schemas/flags-admin.d.ts +13 -0
  130. package/dist/schemas/flags-admin.d.ts.map +1 -1
  131. package/dist/schemas/flags-admin.js +6 -0
  132. package/dist/schemas/ids.d.ts +4 -0
  133. package/dist/schemas/ids.d.ts.map +1 -1
  134. package/dist/schemas/ids.js +2 -0
  135. package/dist/schemas/image-opt.d.ts +10 -11
  136. package/dist/schemas/image-opt.d.ts.map +1 -1
  137. package/dist/schemas/image-opt.js +11 -12
  138. package/dist/schemas/kv-admin.d.ts +0 -1
  139. package/dist/schemas/kv-admin.d.ts.map +1 -1
  140. package/dist/schemas/kv-admin.js +0 -1
  141. package/dist/schemas/notifications-admin.d.ts +6 -6
  142. package/dist/schemas/notifications-admin.js +1 -1
  143. package/dist/schemas/organization.d.ts +8 -6
  144. package/dist/schemas/organization.d.ts.map +1 -1
  145. package/dist/schemas/organization.js +11 -6
  146. package/dist/schemas/project-manifest.d.ts +458 -455
  147. package/dist/schemas/project-manifest.d.ts.map +1 -1
  148. package/dist/schemas/project-manifest.js +66 -56
  149. package/dist/schemas/project.d.ts +0 -6
  150. package/dist/schemas/project.d.ts.map +1 -1
  151. package/dist/schemas/project.js +0 -2
  152. package/dist/schemas/realtime-admin.d.ts +0 -1
  153. package/dist/schemas/realtime-admin.d.ts.map +1 -1
  154. package/dist/schemas/realtime-admin.js +0 -1
  155. package/dist/schemas/realtime.d.ts +2 -2
  156. package/dist/schemas/realtime.js +2 -2
  157. package/dist/schemas/region.d.ts +3 -21
  158. package/dist/schemas/region.d.ts.map +1 -1
  159. package/dist/schemas/region.js +2 -11
  160. package/dist/schemas/resources.d.ts +213 -164
  161. package/dist/schemas/resources.d.ts.map +1 -1
  162. package/dist/schemas/resources.js +87 -105
  163. package/dist/schemas/storage.d.ts +1 -1
  164. package/dist/schemas/storage.js +1 -1
  165. package/dist/schemas/tasks.d.ts +3 -8
  166. package/dist/schemas/tasks.d.ts.map +1 -1
  167. package/dist/schemas/tasks.js +1 -4
  168. package/package.json +5 -1
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Part of the P1 gap #3 design (`docs/design/edge-functions-isr-image-opt.md`
5
5
  * § 3.3). Customers use the loader shipped in `@sylphx/sdk/nextjs` — it calls
6
- * the sign endpoint (or mints URLs client-side when a public bucket is used)
7
- * and produces an imgproxy-compatible URL:
6
+ * the sign endpoint (or mints URLs client-side for a public file) and produces
7
+ * a Sylphx image URL:
8
8
  *
9
9
  * https://img.sylphx.app/{projectSlug}/{signature}/{params}/{sourcePath}
10
10
  *
@@ -12,21 +12,20 @@
12
12
  * project's image-signing secret. The secret NEVER leaves the server —
13
13
  * the signing call is Management plane.
14
14
  *
15
- * Scope for the scaffold: sign-only. Imgproxy is still a separate infra PR.
16
- * Until that lands, the handler returns a stub signed URL so downstream
17
- * consumers can wire the loader without waiting on imgproxy.
15
+ * The optimizer backend is platform-owned and can change without changing this
16
+ * public URL contract.
18
17
  */
19
18
  import { Schema } from 'effect';
20
19
  /** Output format. `auto` negotiates via Accept header; the others are forced. */
21
20
  export declare const ImageFormat: Schema.Literal<["auto", "avif", "webp", "jpeg", "png"]>;
22
21
  export type ImageFormat = typeof ImageFormat.Type;
23
- /** Resize strategy mirrors imgproxy's `rt` param. */
22
+ /** Resize strategy for the output image. */
24
23
  export declare const ImageResizeMode: Schema.Literal<["fit", "fill", "crop", "auto"]>;
25
24
  export type ImageResizeMode = typeof ImageResizeMode.Type;
26
25
  /**
27
- * Input to the signing endpoint. `sourcePath` is an S3 key relative to the
28
- * project's storage bucket (e.g. `uploads/hero.png`); `width` / `height`
29
- * / `format` map 1:1 to imgproxy params.
26
+ * Input to the signing endpoint. `sourcePath` is a storage path relative to
27
+ * the project's files (e.g. `uploads/hero.png`); `width` / `height` /
28
+ * `format` describe the requested image variant.
30
29
  */
31
30
  export declare const ImageOptimizationRequest: Schema.Struct<{
32
31
  sourcePath: Schema.filter<typeof Schema.String>;
@@ -36,7 +35,7 @@ export declare const ImageOptimizationRequest: Schema.Struct<{
36
35
  resize: Schema.optional<Schema.Literal<["fit", "fill", "crop", "auto"]>>;
37
36
  /** DPR multiplier. 1 = 1x, 2 = retina. Capped at 3 server-side. */
38
37
  dpr: Schema.optional<typeof Schema.Number>;
39
- /** JPEG / WebP quality (1-100). Default chosen by imgproxy when omitted. */
38
+ /** JPEG / WebP quality (1-100). Platform default is used when omitted. */
40
39
  quality: Schema.optional<typeof Schema.Number>;
41
40
  }>;
42
41
  export type ImageOptimizationRequest = typeof ImageOptimizationRequest.Type;
@@ -46,7 +45,7 @@ export declare const ImageOptimizationResult: Schema.Struct<{
46
45
  url: typeof Schema.String;
47
46
  /** The signature segment — useful for clients that want to cache the URL shape. */
48
47
  signature: typeof Schema.String;
49
- /** The imgproxy preset path used (e.g. `rs:fit:800:600:0/f:webp`). */
48
+ /** The normalized image-variant parameter path (e.g. `rs:fit:800:600:0/f:webp`). */
50
49
  params: typeof Schema.String;
51
50
  /** Seconds until the signed URL expires. Null when signing is eternal. */
52
51
  expiresIn: Schema.NullOr<typeof Schema.Number>;
@@ -1 +1 @@
1
- {"version":3,"file":"image-opt.d.ts","sourceRoot":"","sources":["../../src/schemas/image-opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,iFAAiF;AACjF,eAAO,MAAM,WAAW,yDAAwD,CAAA;AAChF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,uDAAuD;AACvD,eAAO,MAAM,eAAe,iDAAgD,CAAA;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;IAMpC,mEAAmE;;IAEnE,4EAA4E;;EAE3E,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAI3E,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;IACnC,iEAAiE;;IAEjE,mFAAmF;;IAEnF,sEAAsE;;IAEtE,0EAA0E;;EAEzE,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"image-opt.d.ts","sourceRoot":"","sources":["../../src/schemas/image-opt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,iFAAiF;AACjF,eAAO,MAAM,WAAW,yDAAwD,CAAA;AAChF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,4CAA4C;AAC5C,eAAO,MAAM,eAAe,iDAAgD,CAAA;AAC5E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAIzD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;IAMpC,mEAAmE;;IAEnE,0EAA0E;;EAEzE,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAI3E,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;IACnC,iEAAiE;;IAEjE,mFAAmF;;IAEnF,oFAAoF;;IAEpF,0EAA0E;;EAEzE,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAIzE;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Part of the P1 gap #3 design (`docs/design/edge-functions-isr-image-opt.md`
5
5
  * § 3.3). Customers use the loader shipped in `@sylphx/sdk/nextjs` — it calls
6
- * the sign endpoint (or mints URLs client-side when a public bucket is used)
7
- * and produces an imgproxy-compatible URL:
6
+ * the sign endpoint (or mints URLs client-side for a public file) and produces
7
+ * a Sylphx image URL:
8
8
  *
9
9
  * https://img.sylphx.app/{projectSlug}/{signature}/{params}/{sourcePath}
10
10
  *
@@ -12,21 +12,20 @@
12
12
  * project's image-signing secret. The secret NEVER leaves the server —
13
13
  * the signing call is Management plane.
14
14
  *
15
- * Scope for the scaffold: sign-only. Imgproxy is still a separate infra PR.
16
- * Until that lands, the handler returns a stub signed URL so downstream
17
- * consumers can wire the loader without waiting on imgproxy.
15
+ * The optimizer backend is platform-owned and can change without changing this
16
+ * public URL contract.
18
17
  */
19
18
  import { Schema } from 'effect';
20
19
  // ── Shared enums ───────────────────────────────────────────────────────────
21
20
  /** Output format. `auto` negotiates via Accept header; the others are forced. */
22
21
  export const ImageFormat = Schema.Literal('auto', 'avif', 'webp', 'jpeg', 'png');
23
- /** Resize strategy mirrors imgproxy's `rt` param. */
22
+ /** Resize strategy for the output image. */
24
23
  export const ImageResizeMode = Schema.Literal('fit', 'fill', 'crop', 'auto');
25
24
  // ── Request ────────────────────────────────────────────────────────────────
26
25
  /**
27
- * Input to the signing endpoint. `sourcePath` is an S3 key relative to the
28
- * project's storage bucket (e.g. `uploads/hero.png`); `width` / `height`
29
- * / `format` map 1:1 to imgproxy params.
26
+ * Input to the signing endpoint. `sourcePath` is a storage path relative to
27
+ * the project's files (e.g. `uploads/hero.png`); `width` / `height` /
28
+ * `format` describe the requested image variant.
30
29
  */
31
30
  export const ImageOptimizationRequest = Schema.Struct({
32
31
  sourcePath: Schema.String.pipe(Schema.minLength(1)),
@@ -36,7 +35,7 @@ export const ImageOptimizationRequest = Schema.Struct({
36
35
  resize: Schema.optional(ImageResizeMode),
37
36
  /** DPR multiplier. 1 = 1x, 2 = retina. Capped at 3 server-side. */
38
37
  dpr: Schema.optional(Schema.Number),
39
- /** JPEG / WebP quality (1-100). Default chosen by imgproxy when omitted. */
38
+ /** JPEG / WebP quality (1-100). Platform default is used when omitted. */
40
39
  quality: Schema.optional(Schema.Number),
41
40
  });
42
41
  // ── Response ───────────────────────────────────────────────────────────────
@@ -46,12 +45,12 @@ export const ImageOptimizationResult = Schema.Struct({
46
45
  url: Schema.String,
47
46
  /** The signature segment — useful for clients that want to cache the URL shape. */
48
47
  signature: Schema.String,
49
- /** The imgproxy preset path used (e.g. `rs:fit:800:600:0/f:webp`). */
48
+ /** The normalized image-variant parameter path (e.g. `rs:fit:800:600:0/f:webp`). */
50
49
  params: Schema.String,
51
50
  /** Seconds until the signed URL expires. Null when signing is eternal. */
52
51
  expiresIn: Schema.NullOr(Schema.Number),
53
52
  });
54
- // ── Public-URL path params (forwarded through to imgproxy) ─────────────────
53
+ // ── Public-URL path params ─────────────────────────────────────────────────
55
54
  /**
56
55
  * Path params on the public forwarding route
57
56
  * `GET /img/:signature/:params/:url`.
@@ -28,7 +28,6 @@ export declare const KvAdminSetInput: Schema.Struct<{
28
28
  export type KvAdminSetInput = typeof KvAdminSetInput.Type;
29
29
  export declare const KvAdminStatusResult: Schema.Struct<{
30
30
  available: typeof Schema.Boolean;
31
- provider: typeof Schema.String;
32
31
  }>;
33
32
  export type KvAdminStatusResult = typeof KvAdminStatusResult.Type;
34
33
  export declare const KvAdminGetResult: Schema.Struct<{
@@ -1 +1 @@
1
- {"version":3,"file":"kv-admin.d.ts","sourceRoot":"","sources":["../../src/schemas/kv-admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,qBAAqB;;EAA8C,CAAA;AAChF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AACrE,eAAO,MAAM,gBAAgB;;EAAwC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;EAI1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,mBAAmB;;;EAG9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;EAA6C,CAAA;AAC1E,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAC3D,eAAO,MAAM,mBAAmB;;;EAG9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AACjE,eAAO,MAAM,iBAAiB;;;EAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"kv-admin.d.ts","sourceRoot":"","sources":["../../src/schemas/kv-admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,qBAAqB;;EAA8C,CAAA;AAChF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AACrE,eAAO,MAAM,gBAAgB;;EAAwC,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,eAAe;;;;EAI1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAEzD,eAAO,MAAM,mBAAmB;;EAE9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;EAA6C,CAAA;AAC1E,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAC3D,eAAO,MAAM,mBAAmB;;;EAG9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AACjE,eAAO,MAAM,iBAAiB;;;EAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAC7D,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA"}
@@ -20,7 +20,6 @@ export const KvAdminSetInput = Schema.Struct({
20
20
  });
21
21
  export const KvAdminStatusResult = Schema.Struct({
22
22
  available: Schema.Boolean,
23
- provider: Schema.String,
24
23
  });
25
24
  export const KvAdminGetResult = Schema.Struct({
26
25
  key: Schema.String,
@@ -16,7 +16,7 @@ export declare const MobilePlatform: Schema.Literal<["ios", "android"]>;
16
16
  export type MobilePlatform = typeof MobilePlatform.Type;
17
17
  export declare const InAppMessageType: Schema.Literal<["info", "success", "warning", "error", "promotion"]>;
18
18
  export type InAppMessageType = typeof InAppMessageType.Type;
19
- export declare const InAppMessagePriority: Schema.Literal<["low", "medium", "high", "urgent"]>;
19
+ export declare const InAppMessagePriority: Schema.Literal<["low", "normal", "high", "urgent"]>;
20
20
  export type InAppMessagePriority = typeof InAppMessagePriority.Type;
21
21
  export declare const AdminPushSubscription: Schema.Struct<{
22
22
  id: typeof Schema.String;
@@ -209,7 +209,7 @@ export declare const MobilePreferencesResult: Schema.Struct<{
209
209
  export type MobilePreferencesResult = typeof MobilePreferencesResult.Type;
210
210
  export declare const SendInAppToUserInput: Schema.Struct<{
211
211
  type: Schema.optional<Schema.Literal<["info", "success", "warning", "error", "promotion"]>>;
212
- priority: Schema.optional<Schema.Literal<["low", "medium", "high", "urgent"]>>;
212
+ priority: Schema.optional<Schema.Literal<["low", "normal", "high", "urgent"]>>;
213
213
  title: typeof Schema.String;
214
214
  body: typeof Schema.String;
215
215
  icon: Schema.optional<typeof Schema.String>;
@@ -227,7 +227,7 @@ export declare const SendInAppToUserInput: Schema.Struct<{
227
227
  export type SendInAppToUserInput = typeof SendInAppToUserInput.Type;
228
228
  export declare const SendInAppToUsersInput: Schema.Struct<{
229
229
  type: Schema.optional<Schema.Literal<["info", "success", "warning", "error", "promotion"]>>;
230
- priority: Schema.optional<Schema.Literal<["low", "medium", "high", "urgent"]>>;
230
+ priority: Schema.optional<Schema.Literal<["low", "normal", "high", "urgent"]>>;
231
231
  title: typeof Schema.String;
232
232
  body: typeof Schema.String;
233
233
  icon: Schema.optional<typeof Schema.String>;
@@ -246,7 +246,7 @@ export type SendInAppToUsersInput = typeof SendInAppToUsersInput.Type;
246
246
  export declare const BroadcastInAppInput: Schema.Struct<{
247
247
  projectId: typeof Schema.String;
248
248
  type: Schema.optional<Schema.Literal<["info", "success", "warning", "error", "promotion"]>>;
249
- priority: Schema.optional<Schema.Literal<["low", "medium", "high", "urgent"]>>;
249
+ priority: Schema.optional<Schema.Literal<["low", "normal", "high", "urgent"]>>;
250
250
  title: typeof Schema.String;
251
251
  body: typeof Schema.String;
252
252
  icon: Schema.optional<typeof Schema.String>;
@@ -266,7 +266,7 @@ export type SendInAppResult = typeof SendInAppResult.Type;
266
266
  export declare const AdminInAppMessage: Schema.Struct<{
267
267
  id: typeof Schema.String;
268
268
  type: Schema.Literal<["info", "success", "warning", "error", "promotion"]>;
269
- priority: Schema.Literal<["low", "medium", "high", "urgent"]>;
269
+ priority: Schema.Literal<["low", "normal", "high", "urgent"]>;
270
270
  title: typeof Schema.String;
271
271
  body: typeof Schema.String;
272
272
  icon: Schema.NullOr<typeof Schema.String>;
@@ -296,7 +296,7 @@ export declare const ListInAppMessagesResult: Schema.Struct<{
296
296
  messages: Schema.Array$<Schema.Struct<{
297
297
  id: typeof Schema.String;
298
298
  type: Schema.Literal<["info", "success", "warning", "error", "promotion"]>;
299
- priority: Schema.Literal<["low", "medium", "high", "urgent"]>;
299
+ priority: Schema.Literal<["low", "normal", "high", "urgent"]>;
300
300
  title: typeof Schema.String;
301
301
  body: typeof Schema.String;
302
302
  icon: Schema.NullOr<typeof Schema.String>;
@@ -15,7 +15,7 @@ import { Schema } from 'effect';
15
15
  // ── Shared types ───────────────────────────────────────────────────────────
16
16
  export const MobilePlatform = Schema.Literal('ios', 'android');
17
17
  export const InAppMessageType = Schema.Literal('info', 'success', 'warning', 'error', 'promotion');
18
- export const InAppMessagePriority = Schema.Literal('low', 'medium', 'high', 'urgent');
18
+ export const InAppMessagePriority = Schema.Literal('low', 'normal', 'high', 'urgent');
19
19
  // ── Web push ───────────────────────────────────────────────────────────────
20
20
  export const AdminPushSubscription = Schema.Struct({
21
21
  id: Schema.String,
@@ -113,15 +113,17 @@ export declare const OrgSettings: Schema.Struct<{
113
113
  }>;
114
114
  export type OrgSettings = typeof OrgSettings.Type;
115
115
  export declare const CreateOrgInput: Schema.Struct<{
116
- name: typeof Schema.String;
117
- slug: typeof Schema.String;
116
+ name: Schema.filter<Schema.filter<typeof Schema.String>>;
117
+ slug: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>;
118
+ email: Schema.optional<Schema.filter<typeof Schema.String>>;
119
+ metadata: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>;
118
120
  }>;
119
121
  export type CreateOrgInput = typeof CreateOrgInput.Type;
120
122
  export declare const UpdateOrgInput: Schema.Struct<{
121
- name: Schema.optional<typeof Schema.String>;
122
- slug: Schema.optional<typeof Schema.String>;
123
- email: Schema.optional<Schema.NullOr<typeof Schema.String>>;
124
- billingEmail: Schema.optional<Schema.NullOr<typeof Schema.String>>;
123
+ name: Schema.optional<Schema.filter<Schema.filter<typeof Schema.String>>>;
124
+ slug: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>>;
125
+ email: Schema.optional<Schema.NullOr<Schema.filter<typeof Schema.String>>>;
126
+ billingEmail: Schema.optional<Schema.NullOr<Schema.filter<typeof Schema.String>>>;
125
127
  logoUrl: Schema.optional<Schema.NullOr<typeof Schema.String>>;
126
128
  }>;
127
129
  export type UpdateOrgInput = typeof UpdateOrgInput.Type;
@@ -1 +1 @@
1
- {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/schemas/organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/schemas/organization.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@
5
5
  * (billing, sessions, team, project-users — ADR-084 Wave 2b).
6
6
  */
7
7
  import { Schema } from 'effect';
8
+ import { Email } from './_primitives.js';
8
9
  import { OrgId, ProjectId, SessionId, UserId } from './ids.js';
10
+ const OrgName = Schema.String.pipe(Schema.minLength(1), Schema.maxLength(100));
11
+ const OrgSlug = Schema.String.pipe(Schema.minLength(2), Schema.maxLength(30), Schema.pattern(/^[a-z0-9]+(?:-[a-z0-9]+)*$/));
9
12
  export const Organization = Schema.Struct({
10
13
  id: OrgId,
11
14
  slug: Schema.String,
@@ -83,14 +86,16 @@ export const OrgSettings = Schema.Struct({
83
86
  hasSettingsAccess: Schema.Boolean,
84
87
  });
85
88
  export const CreateOrgInput = Schema.Struct({
86
- name: Schema.String,
87
- slug: Schema.String,
89
+ name: OrgName,
90
+ slug: Schema.optional(OrgSlug),
91
+ email: Schema.optional(Email),
92
+ metadata: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
88
93
  });
89
94
  export const UpdateOrgInput = Schema.Struct({
90
- name: Schema.optional(Schema.String),
91
- slug: Schema.optional(Schema.String),
92
- email: Schema.optional(Schema.NullOr(Schema.String)),
93
- billingEmail: Schema.optional(Schema.NullOr(Schema.String)),
95
+ name: Schema.optional(OrgName),
96
+ slug: Schema.optional(OrgSlug),
97
+ email: Schema.optional(Schema.NullOr(Email)),
98
+ billingEmail: Schema.optional(Schema.NullOr(Email)),
94
99
  logoUrl: Schema.optional(Schema.NullOr(Schema.String)),
95
100
  });
96
101
  export const OrgMember = Schema.Struct({