@sylphx/contract 0.4.0 → 0.5.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 (220) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/endpoint.d.ts +45 -3
  3. package/dist/endpoint.d.ts.map +1 -1
  4. package/dist/endpoint.js +9 -0
  5. package/dist/endpoints/admin-ai-playground.d.ts +3 -3
  6. package/dist/endpoints/admin-anomalies.d.ts +7 -7
  7. package/dist/endpoints/admin-apm.d.ts +6 -6
  8. package/dist/endpoints/admin-audit.d.ts +94 -58
  9. package/dist/endpoints/admin-audit.d.ts.map +1 -1
  10. package/dist/endpoints/admin-audit.js +8 -1
  11. package/dist/endpoints/admin-billing.d.ts +35 -24
  12. package/dist/endpoints/admin-billing.d.ts.map +1 -1
  13. package/dist/endpoints/admin-billing.js +4 -3
  14. package/dist/endpoints/admin-bootstrap.d.ts +1 -1
  15. package/dist/endpoints/admin-branch-databases.d.ts +43 -0
  16. package/dist/endpoints/admin-branch-databases.d.ts.map +1 -0
  17. package/dist/endpoints/admin-branch-databases.js +41 -0
  18. package/dist/endpoints/admin-broadcasts.d.ts +10 -8
  19. package/dist/endpoints/admin-broadcasts.d.ts.map +1 -1
  20. package/dist/endpoints/admin-broadcasts.js +1 -0
  21. package/dist/endpoints/admin-builds.d.ts +1 -1
  22. package/dist/endpoints/admin-config.d.ts +11 -11
  23. package/dist/endpoints/admin-consent.d.ts +78 -41
  24. package/dist/endpoints/admin-consent.d.ts.map +1 -1
  25. package/dist/endpoints/admin-consent.js +9 -6
  26. package/dist/endpoints/admin-env-services.d.ts +1 -1
  27. package/dist/endpoints/admin-impersonation.d.ts +9 -9
  28. package/dist/endpoints/admin-invitations.d.ts +9 -5
  29. package/dist/endpoints/admin-invitations.d.ts.map +1 -1
  30. package/dist/endpoints/admin-invitations.js +2 -0
  31. package/dist/endpoints/admin-jwt-keys.d.ts +6 -6
  32. package/dist/endpoints/admin-logs.d.ts +7 -7
  33. package/dist/endpoints/admin-plans.d.ts +6 -4
  34. package/dist/endpoints/admin-plans.d.ts.map +1 -1
  35. package/dist/endpoints/admin-plans.js +1 -0
  36. package/dist/endpoints/admin-project-users.d.ts +8 -8
  37. package/dist/endpoints/admin-projects.d.ts +11 -9
  38. package/dist/endpoints/admin-projects.d.ts.map +1 -1
  39. package/dist/endpoints/admin-projects.js +3 -2
  40. package/dist/endpoints/admin-quotas.d.ts +6 -6
  41. package/dist/endpoints/admin-rate-limits.d.ts +2 -2
  42. package/dist/endpoints/admin-reconcile.d.ts +1 -1
  43. package/dist/endpoints/admin-resources.d.ts +2 -2
  44. package/dist/endpoints/admin-secrets.d.ts +2 -2
  45. package/dist/endpoints/admin-services.d.ts +1 -1
  46. package/dist/endpoints/admin-tasks.d.ts +6 -6
  47. package/dist/endpoints/admin-tenants.d.ts +3 -1
  48. package/dist/endpoints/admin-tenants.d.ts.map +1 -1
  49. package/dist/endpoints/admin-tenants.js +1 -0
  50. package/dist/endpoints/admin-traces.d.ts +5 -5
  51. package/dist/endpoints/admin-users.d.ts +8 -8
  52. package/dist/endpoints/admin-webhook-signature-versions.d.ts +5 -3
  53. package/dist/endpoints/admin-webhook-signature-versions.d.ts.map +1 -1
  54. package/dist/endpoints/admin-webhook-signature-versions.js +1 -0
  55. package/dist/endpoints/ai-admin.d.ts +5 -5
  56. package/dist/endpoints/analytics-admin.d.ts +123 -38
  57. package/dist/endpoints/analytics-admin.d.ts.map +1 -1
  58. package/dist/endpoints/analytics-admin.js +17 -9
  59. package/dist/endpoints/analytics.d.ts +4 -4
  60. package/dist/endpoints/audit-chain.d.ts +1 -1
  61. package/dist/endpoints/audit.d.ts +1 -1
  62. package/dist/endpoints/auth-admin.d.ts +5 -5
  63. package/dist/endpoints/auth.d.ts +25 -22
  64. package/dist/endpoints/auth.d.ts.map +1 -1
  65. package/dist/endpoints/auth.js +2 -2
  66. package/dist/endpoints/backups.d.ts +4 -4
  67. package/dist/endpoints/billing-console.d.ts +16 -16
  68. package/dist/endpoints/billing-settings.d.ts +11 -11
  69. package/dist/endpoints/branch-databases.d.ts +8 -4
  70. package/dist/endpoints/branch-databases.d.ts.map +1 -1
  71. package/dist/endpoints/branch-databases.js +2 -0
  72. package/dist/endpoints/challenge.d.ts +5 -5
  73. package/dist/endpoints/ci-settings.d.ts +8 -8
  74. package/dist/endpoints/consent-admin.d.ts +9 -7
  75. package/dist/endpoints/consent-admin.d.ts.map +1 -1
  76. package/dist/endpoints/consent-admin.js +1 -0
  77. package/dist/endpoints/databases.d.ts +187 -321
  78. package/dist/endpoints/databases.d.ts.map +1 -1
  79. package/dist/endpoints/databases.js +42 -41
  80. package/dist/endpoints/deployments.d.ts +71 -18
  81. package/dist/endpoints/deployments.d.ts.map +1 -1
  82. package/dist/endpoints/deployments.js +9 -1
  83. package/dist/endpoints/domains.d.ts +33 -23
  84. package/dist/endpoints/domains.d.ts.map +1 -1
  85. package/dist/endpoints/domains.js +7 -4
  86. package/dist/endpoints/email-admin.d.ts +29 -23
  87. package/dist/endpoints/email-admin.d.ts.map +1 -1
  88. package/dist/endpoints/email-admin.js +3 -0
  89. package/dist/endpoints/email.d.ts +4 -4
  90. package/dist/endpoints/engagement-admin.d.ts +6 -6
  91. package/dist/endpoints/env-vars.d.ts +3 -3
  92. package/dist/endpoints/environments.d.ts +30 -27
  93. package/dist/endpoints/environments.d.ts.map +1 -1
  94. package/dist/endpoints/environments.js +3 -7
  95. package/dist/endpoints/experiments.d.ts +20 -18
  96. package/dist/endpoints/experiments.d.ts.map +1 -1
  97. package/dist/endpoints/experiments.js +1 -0
  98. package/dist/endpoints/flags-admin.d.ts +73 -9
  99. package/dist/endpoints/flags-admin.d.ts.map +1 -1
  100. package/dist/endpoints/flags-admin.js +1 -0
  101. package/dist/endpoints/flags.d.ts +1 -1
  102. package/dist/endpoints/github.d.ts +3 -3
  103. package/dist/endpoints/image-opt.d.ts +2 -2
  104. package/dist/endpoints/kv-admin.d.ts +6 -6
  105. package/dist/endpoints/kv.d.ts +8 -8
  106. package/dist/endpoints/monitoring-admin.d.ts +10 -10
  107. package/dist/endpoints/monitoring.d.ts +2 -2
  108. package/dist/endpoints/newsletter.d.ts +30 -24
  109. package/dist/endpoints/newsletter.d.ts.map +1 -1
  110. package/dist/endpoints/newsletter.js +3 -0
  111. package/dist/endpoints/notifications-admin.d.ts +17 -17
  112. package/dist/endpoints/notifications.d.ts +16 -16
  113. package/dist/endpoints/oidc.d.ts +6 -4
  114. package/dist/endpoints/oidc.d.ts.map +1 -1
  115. package/dist/endpoints/oidc.js +1 -0
  116. package/dist/endpoints/organizations.d.ts +56 -48
  117. package/dist/endpoints/organizations.d.ts.map +1 -1
  118. package/dist/endpoints/organizations.js +4 -0
  119. package/dist/endpoints/plans.d.ts +9 -7
  120. package/dist/endpoints/plans.d.ts.map +1 -1
  121. package/dist/endpoints/plans.js +1 -0
  122. package/dist/endpoints/privacy.d.ts +11 -9
  123. package/dist/endpoints/privacy.d.ts.map +1 -1
  124. package/dist/endpoints/privacy.js +1 -0
  125. package/dist/endpoints/project-manifest.d.ts +18 -42
  126. package/dist/endpoints/project-manifest.d.ts.map +1 -1
  127. package/dist/endpoints/projects.d.ts +7 -5
  128. package/dist/endpoints/projects.d.ts.map +1 -1
  129. package/dist/endpoints/projects.js +2 -1
  130. package/dist/endpoints/rate-limits.d.ts +4 -4
  131. package/dist/endpoints/realtime-admin.d.ts +6 -4
  132. package/dist/endpoints/realtime-admin.d.ts.map +1 -1
  133. package/dist/endpoints/realtime-admin.js +1 -0
  134. package/dist/endpoints/realtime.d.ts +3 -3
  135. package/dist/endpoints/referrals-admin.d.ts +7 -5
  136. package/dist/endpoints/referrals-admin.d.ts.map +1 -1
  137. package/dist/endpoints/referrals-admin.js +1 -0
  138. package/dist/endpoints/refresh.d.ts +1 -1
  139. package/dist/endpoints/regions.d.ts +5 -22
  140. package/dist/endpoints/regions.d.ts.map +1 -1
  141. package/dist/endpoints/regions.js +5 -27
  142. package/dist/endpoints/runners.d.ts +4 -4
  143. package/dist/endpoints/saml.d.ts +13 -11
  144. package/dist/endpoints/saml.d.ts.map +1 -1
  145. package/dist/endpoints/saml.js +1 -0
  146. package/dist/endpoints/search.d.ts +3 -3
  147. package/dist/endpoints/secrets.d.ts +9 -7
  148. package/dist/endpoints/secrets.d.ts.map +1 -1
  149. package/dist/endpoints/secrets.js +1 -0
  150. package/dist/endpoints/security.d.ts +28 -28
  151. package/dist/endpoints/service-tokens.d.ts +20 -12
  152. package/dist/endpoints/service-tokens.d.ts.map +1 -1
  153. package/dist/endpoints/service-tokens.js +4 -0
  154. package/dist/endpoints/session-replay.d.ts +4 -4
  155. package/dist/endpoints/storage-admin.d.ts +14 -10
  156. package/dist/endpoints/storage-admin.d.ts.map +1 -1
  157. package/dist/endpoints/storage-admin.js +3 -1
  158. package/dist/endpoints/storage.d.ts +12 -12
  159. package/dist/endpoints/tasks.d.ts +13 -9
  160. package/dist/endpoints/tasks.d.ts.map +1 -1
  161. package/dist/endpoints/tasks.js +2 -0
  162. package/dist/endpoints/users.d.ts +12 -12
  163. package/dist/endpoints/webhooks.d.ts +10 -10
  164. package/dist/hono-app.d.ts +55 -26
  165. package/dist/hono-app.d.ts.map +1 -1
  166. package/dist/index.d.ts +1496 -1090
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +6 -5
  169. package/dist/schemas/admin-audit.d.ts +50 -0
  170. package/dist/schemas/admin-audit.d.ts.map +1 -1
  171. package/dist/schemas/admin-audit.js +43 -0
  172. package/dist/schemas/admin-billing.d.ts +19 -5
  173. package/dist/schemas/admin-billing.d.ts.map +1 -1
  174. package/dist/schemas/admin-billing.js +16 -5
  175. package/dist/schemas/admin-branch-databases.d.ts +34 -0
  176. package/dist/schemas/admin-branch-databases.d.ts.map +1 -0
  177. package/dist/schemas/admin-branch-databases.js +33 -0
  178. package/dist/schemas/admin-broadcasts.d.ts +6 -6
  179. package/dist/schemas/admin-broadcasts.d.ts.map +1 -1
  180. package/dist/schemas/admin-broadcasts.js +1 -1
  181. package/dist/schemas/admin-consent.d.ts +90 -6
  182. package/dist/schemas/admin-consent.d.ts.map +1 -1
  183. package/dist/schemas/admin-consent.js +50 -3
  184. package/dist/schemas/analytics-admin.d.ts +99 -9
  185. package/dist/schemas/analytics-admin.d.ts.map +1 -1
  186. package/dist/schemas/analytics-admin.js +70 -0
  187. package/dist/schemas/database.d.ts +1 -0
  188. package/dist/schemas/database.d.ts.map +1 -1
  189. package/dist/schemas/database.js +1 -0
  190. package/dist/schemas/deployment.d.ts +53 -0
  191. package/dist/schemas/deployment.d.ts.map +1 -1
  192. package/dist/schemas/deployment.js +53 -1
  193. package/dist/schemas/experiments.d.ts +13 -33
  194. package/dist/schemas/experiments.d.ts.map +1 -1
  195. package/dist/schemas/experiments.js +5 -4
  196. package/dist/schemas/flags-admin.d.ts +115 -19
  197. package/dist/schemas/flags-admin.d.ts.map +1 -1
  198. package/dist/schemas/flags-admin.js +28 -8
  199. package/dist/schemas/ids.d.ts +2 -0
  200. package/dist/schemas/ids.d.ts.map +1 -1
  201. package/dist/schemas/ids.js +1 -0
  202. package/dist/schemas/project-manifest.d.ts +16 -70
  203. package/dist/schemas/project-manifest.d.ts.map +1 -1
  204. package/dist/schemas/project-manifest.js +0 -21
  205. package/dist/schemas/project.d.ts +3 -3
  206. package/dist/schemas/project.d.ts.map +1 -1
  207. package/dist/schemas/project.js +2 -2
  208. package/dist/schemas/region.d.ts +4 -52
  209. package/dist/schemas/region.d.ts.map +1 -1
  210. package/dist/schemas/region.js +4 -46
  211. package/dist/schemas/resources.d.ts +55 -4
  212. package/dist/schemas/resources.d.ts.map +1 -1
  213. package/dist/schemas/resources.js +52 -1
  214. package/package.json +1 -1
  215. package/dist/endpoints/edge-deployments.d.ts +0 -92
  216. package/dist/endpoints/edge-deployments.d.ts.map +0 -1
  217. package/dist/endpoints/edge-deployments.js +0 -58
  218. package/dist/schemas/edge-deployments.d.ts +0 -140
  219. package/dist/schemas/edge-deployments.d.ts.map +0 -1
  220. package/dist/schemas/edge-deployments.js +0 -87
@@ -19,7 +19,7 @@ export const VolumeStatus = Schema.Literal('provisioning', 'active', 'error');
19
19
  * caches / parallel workers)
20
20
  */
21
21
  export const VolumeAccessMode = Schema.Literal('ReadWriteOnce', 'ReadWriteMany');
22
- export const BindingRole = Schema.Literal('primary', 'replica', 'analytics', 'backup');
22
+ export const BindingRole = Schema.Literal('primary', 'replica', 'analytics', 'backup', 'session');
23
23
  // ── Tier Badge (display) ───────────────────────────────────────────────────
24
24
  export const TierBadge = Schema.Struct({
25
25
  tier: ResourceTier,
@@ -218,3 +218,54 @@ export const CreateSearchResourceInput = Schema.Struct({
218
218
  export const ListSearchResourcesResult = Schema.Struct({
219
219
  resources: Schema.Array(SearchResource),
220
220
  });
221
+ // ── Unified Managed Resource Wire Shape ───────────────────────────────────
222
+ export const ManagedResource = Schema.Struct({
223
+ id: Schema.String,
224
+ orgId: Schema.optional(Schema.String),
225
+ name: Schema.String,
226
+ slug: Schema.optional(Schema.NullOr(Schema.String)),
227
+ kind: Schema.optional(ResourceType),
228
+ provider: Schema.optional(Schema.String),
229
+ tier: Schema.optional(Schema.String),
230
+ status: Schema.optional(Schema.String),
231
+ reconcileStatus: Schema.optional(Schema.String),
232
+ bindingCount: Schema.optional(Schema.Number),
233
+ host: Schema.optional(Schema.NullOr(Schema.String)),
234
+ directHost: Schema.optional(Schema.NullOr(Schema.String)),
235
+ port: Schema.optional(Schema.Number),
236
+ publicPort: Schema.optional(Schema.NullOr(Schema.Number)),
237
+ publicHost: Schema.optional(Schema.NullOr(Schema.String)),
238
+ dbUser: Schema.optional(Schema.NullOr(Schema.String)),
239
+ dbName: Schema.optional(Schema.NullOr(Schema.String)),
240
+ cacheUser: Schema.optional(Schema.NullOr(Schema.String)),
241
+ keyPrefix: Schema.optional(Schema.NullOr(Schema.String)),
242
+ connectionString: Schema.optional(Schema.NullOr(Schema.String)),
243
+ maskedConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
244
+ publicConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
245
+ maskedPublicConnectionString: Schema.optional(Schema.NullOr(Schema.String)),
246
+ storageGb: Schema.optional(Schema.Number),
247
+ env: Schema.optional(Schema.String),
248
+ engine: Schema.optional(Schema.String),
249
+ instances: Schema.optional(Schema.Number),
250
+ clusterName: Schema.optional(Schema.NullOr(Schema.String)),
251
+ branchName: Schema.optional(Schema.NullOr(Schema.String)),
252
+ backupRetentionDays: Schema.optional(Schema.Number),
253
+ bucket: Schema.optional(Schema.String),
254
+ endpoint: Schema.optional(Schema.NullOr(Schema.String)),
255
+ region: Schema.optional(Schema.NullOr(Schema.String)),
256
+ prefix: Schema.optional(Schema.NullOr(Schema.String)),
257
+ publicUrl: Schema.optional(Schema.NullOr(Schema.String)),
258
+ accessMode: Schema.optional(VolumeAccessMode),
259
+ hostPath: Schema.optional(Schema.NullOr(Schema.String)),
260
+ mountPath: Schema.optional(Schema.NullOr(Schema.String)),
261
+ sizeGb: Schema.optional(Schema.NullOr(Schema.Number)),
262
+ memoryGb: Schema.optional(Schema.Number),
263
+ nodes: Schema.optional(Schema.Number),
264
+ apiKey: Schema.optional(Schema.NullOr(Schema.String)),
265
+ message: Schema.optional(Schema.String),
266
+ provisioningError: Schema.optional(Schema.NullOr(Schema.String)),
267
+ conditions: Schema.optional(Schema.Array(Schema.Unknown)),
268
+ config: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
269
+ createdAt: Schema.optional(Schema.String),
270
+ updatedAt: Schema.optional(Schema.String),
271
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylphx/contract",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Sylphx Platform contract — Effect Schema SSOT for every API endpoint (ADR-084).",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -1,92 +0,0 @@
1
- /**
2
- * Edge Deployment endpoints — customer edge Workers, Management plane.
3
- *
4
- * Mount: `/projects/:id/edge-deployments` (see
5
- * `apps/api/src/server/platform/routes/edge-deployments.ts`). Scaffold stage:
6
- * handlers accept the upload and log "CF Workers API integration pending".
7
- *
8
- * Design reference: `docs/design/edge-functions-isr-image-opt.md` § 3.1 + § 6.
9
- */
10
- import { Schema } from 'effect';
11
- export declare const edgeDeploymentsEndpoints: {
12
- readonly create: import("../endpoint.js").Endpoint<"POST", "/projects/:id/edge-deployments", Schema.Struct<{
13
- id: typeof Schema.String;
14
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
15
- environmentId: typeof Schema.String;
16
- bundle: typeof Schema.String;
17
- routes: Schema.optional<Schema.Array$<Schema.Struct<{
18
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
19
- path: Schema.filter<typeof Schema.String>;
20
- }>>>;
21
- label: Schema.optional<typeof Schema.String>;
22
- }>, Schema.Struct<{
23
- deployment: Schema.Struct<{
24
- id: typeof Schema.String;
25
- projectId: typeof Schema.String;
26
- environmentId: typeof Schema.String;
27
- workerName: typeof Schema.String;
28
- version: typeof Schema.String;
29
- routes: Schema.Array$<Schema.Struct<{
30
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
31
- path: Schema.filter<typeof Schema.String>;
32
- }>>;
33
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
34
- error: Schema.NullOr<typeof Schema.String>;
35
- bundleSizeBytes: typeof Schema.Number;
36
- deployedBy: typeof Schema.String;
37
- deployedAt: typeof Schema.String;
38
- }>;
39
- }>>;
40
- readonly list: import("../endpoint.js").Endpoint<"GET", "/projects/:id/edge-deployments", Schema.Struct<{
41
- id: typeof Schema.String;
42
- }>, Schema.Struct<{
43
- environmentId: Schema.optional<typeof Schema.String>;
44
- status: Schema.optional<Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>>;
45
- limit: Schema.optional<typeof Schema.String>;
46
- offset: Schema.optional<typeof Schema.String>;
47
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
48
- deployments: Schema.Array$<Schema.Struct<{
49
- id: typeof Schema.String;
50
- projectId: typeof Schema.String;
51
- environmentId: typeof Schema.String;
52
- workerName: typeof Schema.String;
53
- version: typeof Schema.String;
54
- routes: Schema.Array$<Schema.Struct<{
55
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
56
- path: Schema.filter<typeof Schema.String>;
57
- }>>;
58
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
59
- error: Schema.NullOr<typeof Schema.String>;
60
- bundleSizeBytes: typeof Schema.Number;
61
- deployedBy: typeof Schema.String;
62
- deployedAt: typeof Schema.String;
63
- }>>;
64
- total: typeof Schema.Number;
65
- }>>;
66
- readonly get: import("../endpoint.js").Endpoint<"GET", "/projects/:id/edge-deployments/:deploymentId", Schema.Struct<{
67
- id: typeof Schema.String;
68
- deploymentId: typeof Schema.String;
69
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
70
- id: typeof Schema.String;
71
- projectId: typeof Schema.String;
72
- environmentId: typeof Schema.String;
73
- workerName: typeof Schema.String;
74
- version: typeof Schema.String;
75
- routes: Schema.Array$<Schema.Struct<{
76
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
77
- path: Schema.filter<typeof Schema.String>;
78
- }>>;
79
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
80
- error: Schema.NullOr<typeof Schema.String>;
81
- bundleSizeBytes: typeof Schema.Number;
82
- deployedBy: typeof Schema.String;
83
- deployedAt: typeof Schema.String;
84
- }>>;
85
- readonly delete: import("../endpoint.js").Endpoint<"DELETE", "/projects/:id/edge-deployments/:deploymentId", Schema.Struct<{
86
- id: typeof Schema.String;
87
- deploymentId: typeof Schema.String;
88
- }>, Schema.Schema.AnyNoContext | undefined, Schema.Schema.AnyNoContext | undefined, Schema.Struct<{
89
- deleted: typeof Schema.Boolean;
90
- }>>;
91
- };
92
- //# sourceMappingURL=edge-deployments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edge-deployments.d.ts","sourceRoot":"","sources":["../../src/endpoints/edge-deployments.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiB/B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC3B,CAAA"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Edge Deployment endpoints — customer edge Workers, Management plane.
3
- *
4
- * Mount: `/projects/:id/edge-deployments` (see
5
- * `apps/api/src/server/platform/routes/edge-deployments.ts`). Scaffold stage:
6
- * handlers accept the upload and log "CF Workers API integration pending".
7
- *
8
- * Design reference: `docs/design/edge-functions-isr-image-opt.md` § 3.1 + § 6.
9
- */
10
- import { Schema } from 'effect';
11
- import { defineEndpoint } from '../endpoint.js';
12
- import { CreateEdgeDeploymentInput, CreateEdgeDeploymentResult, DeleteEdgeDeploymentResult, EdgeDeployment, ListEdgeDeploymentsQuery, ListEdgeDeploymentsResult, } from '../schemas/edge-deployments.js';
13
- const ProjectPath = Schema.Struct({ id: Schema.String });
14
- const ProjectAndDeploymentPath = Schema.Struct({
15
- id: Schema.String,
16
- deploymentId: Schema.String,
17
- });
18
- export const edgeDeploymentsEndpoints = {
19
- create: defineEndpoint({
20
- method: 'POST',
21
- path: '/projects/:id/edge-deployments',
22
- params: ProjectPath,
23
- body: CreateEdgeDeploymentInput,
24
- response: CreateEdgeDeploymentResult,
25
- plane: 'management',
26
- summary: 'Upload a bundled edge Worker and record the deployment',
27
- description: "Accepts a base64-encoded ESM bundle from `sylphx edge deploy`. The Platform API records the deployment row and forwards to the Cloudflare Workers Platform API on the caller's behalf.",
28
- tags: ['edge-deployments'],
29
- }),
30
- list: defineEndpoint({
31
- method: 'GET',
32
- path: '/projects/:id/edge-deployments',
33
- params: ProjectPath,
34
- query: ListEdgeDeploymentsQuery,
35
- response: ListEdgeDeploymentsResult,
36
- plane: 'management',
37
- summary: 'List edge deployments for a project',
38
- tags: ['edge-deployments'],
39
- }),
40
- get: defineEndpoint({
41
- method: 'GET',
42
- path: '/projects/:id/edge-deployments/:deploymentId',
43
- params: ProjectAndDeploymentPath,
44
- response: EdgeDeployment,
45
- plane: 'management',
46
- summary: 'Get a single edge deployment by id',
47
- tags: ['edge-deployments'],
48
- }),
49
- delete: defineEndpoint({
50
- method: 'DELETE',
51
- path: '/projects/:id/edge-deployments/:deploymentId',
52
- params: ProjectAndDeploymentPath,
53
- response: DeleteEdgeDeploymentResult,
54
- plane: 'management',
55
- summary: 'Retire an edge deployment (removes the Worker script on Cloudflare once integrated)',
56
- tags: ['edge-deployments'],
57
- }),
58
- };
@@ -1,140 +0,0 @@
1
- /**
2
- * Edge Deployments — customer code that runs on Cloudflare Workers at the
3
- * edge. Part of the P1 gap #10 design (`docs/design/edge-functions-isr-image-opt.md`).
4
- *
5
- * Plane: `management` — customers call `POST /projects/:id/edge-deployments`
6
- * via the CLI (`sylphx edge deploy`) to upload a pre-bundled ESM script. The
7
- * Platform API then speaks to Cloudflare's Workers Platform API on their
8
- * behalf (credentials never touch the customer machine, per § 8 of the design).
9
- *
10
- * The wire shapes are intentionally minimal for the scaffold step. When the
11
- * real Cloudflare integration lands, `CreateEdgeDeploymentInput` will grow
12
- * bindings / secrets / dispatch-namespace hints — but every new field must
13
- * pass through this contract (ADR-084 Rule 1).
14
- */
15
- import { Schema } from 'effect';
16
- /** Lifecycle of a single edge-deployment row. Mirrors `edge_deployments.state` in the design doc (§ 5). */
17
- export declare const EdgeDeploymentStatus: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
18
- export type EdgeDeploymentStatus = typeof EdgeDeploymentStatus.Type;
19
- /** A single HTTP method + path combo the worker handles (e.g. GET /api/hello). */
20
- export declare const EdgeRoute: Schema.Struct<{
21
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
22
- path: Schema.filter<typeof Schema.String>;
23
- }>;
24
- export type EdgeRoute = typeof EdgeRoute.Type;
25
- /** Single deployment record. Mirrors the `edge_deployments` table in the design doc. */
26
- export declare const EdgeDeployment: Schema.Struct<{
27
- /** TypeID `edge_xxx`. */
28
- id: typeof Schema.String;
29
- /** TypeID `proj_xxx`. */
30
- projectId: typeof Schema.String;
31
- /** TypeID `env_xxx`. */
32
- environmentId: typeof Schema.String;
33
- /** Cloudflare dispatch namespace + script id (e.g. `sylphx-prod/proj_abc-v3`). */
34
- workerName: typeof Schema.String;
35
- /** Cloudflare script tag — opaque per upload, used for rollback. */
36
- version: typeof Schema.String;
37
- /** Every URL pattern the deployment claims. */
38
- routes: Schema.Array$<Schema.Struct<{
39
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
40
- path: Schema.filter<typeof Schema.String>;
41
- }>>;
42
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
43
- /** Populated only when `status === 'failed'`. */
44
- error: Schema.NullOr<typeof Schema.String>;
45
- /** Byte size of the uploaded bundle — useful for quota displays. */
46
- bundleSizeBytes: typeof Schema.Number;
47
- /** TypeID `user_xxx` of the operator who triggered the deploy. */
48
- deployedBy: typeof Schema.String;
49
- deployedAt: typeof Schema.String;
50
- }>;
51
- export type EdgeDeployment = typeof EdgeDeployment.Type;
52
- /**
53
- * Create-deployment body. The `bundle` field carries the raw ESM script as
54
- * a base64 string — matches the CLI's `bundle → base64 → POST` flow. For
55
- * larger bundles (> 1 MB) a follow-up multipart endpoint will land; scope
56
- * for the scaffold is the small-bundle path only.
57
- */
58
- export declare const CreateEdgeDeploymentInput: Schema.Struct<{
59
- /** Target environment for the deployment (dev / preview / production). */
60
- environmentId: typeof Schema.String;
61
- /** Base64-encoded ESM worker bundle. */
62
- bundle: typeof Schema.String;
63
- /** Optional route hints; server can also infer from the bundle on deploy. */
64
- routes: Schema.optional<Schema.Array$<Schema.Struct<{
65
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
66
- path: Schema.filter<typeof Schema.String>;
67
- }>>>;
68
- /** Human label surfaced in the Console deploy list. */
69
- label: Schema.optional<typeof Schema.String>;
70
- }>;
71
- export type CreateEdgeDeploymentInput = typeof CreateEdgeDeploymentInput.Type;
72
- export declare const CreateEdgeDeploymentResult: Schema.Struct<{
73
- deployment: Schema.Struct<{
74
- /** TypeID `edge_xxx`. */
75
- id: typeof Schema.String;
76
- /** TypeID `proj_xxx`. */
77
- projectId: typeof Schema.String;
78
- /** TypeID `env_xxx`. */
79
- environmentId: typeof Schema.String;
80
- /** Cloudflare dispatch namespace + script id (e.g. `sylphx-prod/proj_abc-v3`). */
81
- workerName: typeof Schema.String;
82
- /** Cloudflare script tag — opaque per upload, used for rollback. */
83
- version: typeof Schema.String;
84
- /** Every URL pattern the deployment claims. */
85
- routes: Schema.Array$<Schema.Struct<{
86
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
87
- path: Schema.filter<typeof Schema.String>;
88
- }>>;
89
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
90
- /** Populated only when `status === 'failed'`. */
91
- error: Schema.NullOr<typeof Schema.String>;
92
- /** Byte size of the uploaded bundle — useful for quota displays. */
93
- bundleSizeBytes: typeof Schema.Number;
94
- /** TypeID `user_xxx` of the operator who triggered the deploy. */
95
- deployedBy: typeof Schema.String;
96
- deployedAt: typeof Schema.String;
97
- }>;
98
- }>;
99
- export type CreateEdgeDeploymentResult = typeof CreateEdgeDeploymentResult.Type;
100
- export declare const ListEdgeDeploymentsResult: Schema.Struct<{
101
- deployments: Schema.Array$<Schema.Struct<{
102
- /** TypeID `edge_xxx`. */
103
- id: typeof Schema.String;
104
- /** TypeID `proj_xxx`. */
105
- projectId: typeof Schema.String;
106
- /** TypeID `env_xxx`. */
107
- environmentId: typeof Schema.String;
108
- /** Cloudflare dispatch namespace + script id (e.g. `sylphx-prod/proj_abc-v3`). */
109
- workerName: typeof Schema.String;
110
- /** Cloudflare script tag — opaque per upload, used for rollback. */
111
- version: typeof Schema.String;
112
- /** Every URL pattern the deployment claims. */
113
- routes: Schema.Array$<Schema.Struct<{
114
- method: Schema.Literal<["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "*"]>;
115
- path: Schema.filter<typeof Schema.String>;
116
- }>>;
117
- status: Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>;
118
- /** Populated only when `status === 'failed'`. */
119
- error: Schema.NullOr<typeof Schema.String>;
120
- /** Byte size of the uploaded bundle — useful for quota displays. */
121
- bundleSizeBytes: typeof Schema.Number;
122
- /** TypeID `user_xxx` of the operator who triggered the deploy. */
123
- deployedBy: typeof Schema.String;
124
- deployedAt: typeof Schema.String;
125
- }>>;
126
- total: typeof Schema.Number;
127
- }>;
128
- export type ListEdgeDeploymentsResult = typeof ListEdgeDeploymentsResult.Type;
129
- export declare const DeleteEdgeDeploymentResult: Schema.Struct<{
130
- deleted: typeof Schema.Boolean;
131
- }>;
132
- export type DeleteEdgeDeploymentResult = typeof DeleteEdgeDeploymentResult.Type;
133
- export declare const ListEdgeDeploymentsQuery: Schema.Struct<{
134
- environmentId: Schema.optional<typeof Schema.String>;
135
- status: Schema.optional<Schema.Literal<["pending", "deploying", "active", "failed", "retired"]>>;
136
- limit: Schema.optional<typeof Schema.String>;
137
- offset: Schema.optional<typeof Schema.String>;
138
- }>;
139
- export type ListEdgeDeploymentsQuery = typeof ListEdgeDeploymentsQuery.Type;
140
- //# sourceMappingURL=edge-deployments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edge-deployments.d.ts","sourceRoot":"","sources":["../../src/schemas/edge-deployments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,2GAA2G;AAC3G,eAAO,MAAM,oBAAoB,yEAMhC,CAAA;AACD,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAInE,kFAAkF;AAClF,eAAO,MAAM,SAAS;;;EAGpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAI7C,wFAAwF;AACxF,eAAO,MAAM,cAAc;IAC1B,yBAAyB;;IAEzB,yBAAyB;;IAEzB,wBAAwB;;IAExB,kFAAkF;;IAElF,oEAAoE;;IAEpE,+CAA+C;;;;;;IAG/C,iDAAiD;;IAEjD,oEAAoE;;IAEpE,kEAAkE;;;EAGjE,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAIvD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;IACrC,0EAA0E;;IAE1E,wCAAwC;;IAExC,6EAA6E;;;;;IAE7E,uDAAuD;;EAEtD,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAI7E,eAAO,MAAM,0BAA0B;;QA7CtC,yBAAyB;;QAEzB,yBAAyB;;QAEzB,wBAAwB;;QAExB,kFAAkF;;QAElF,oEAAoE;;QAEpE,+CAA+C;;;;;;QAG/C,iDAAiD;;QAEjD,oEAAoE;;QAEpE,kEAAkE;;;;EA8BjE,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAE/E,eAAO,MAAM,yBAAyB;;QAlDrC,yBAAyB;;QAEzB,yBAAyB;;QAEzB,wBAAwB;;QAExB,kFAAkF;;QAElF,oEAAoE;;QAEpE,+CAA+C;;;;;;QAG/C,iDAAiD;;QAEjD,oEAAoE;;QAEpE,kEAAkE;;;;;EAoCjE,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,0BAA0B;;EAErC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,IAAI,CAAA;AAI/E,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Edge Deployments — customer code that runs on Cloudflare Workers at the
3
- * edge. Part of the P1 gap #10 design (`docs/design/edge-functions-isr-image-opt.md`).
4
- *
5
- * Plane: `management` — customers call `POST /projects/:id/edge-deployments`
6
- * via the CLI (`sylphx edge deploy`) to upload a pre-bundled ESM script. The
7
- * Platform API then speaks to Cloudflare's Workers Platform API on their
8
- * behalf (credentials never touch the customer machine, per § 8 of the design).
9
- *
10
- * The wire shapes are intentionally minimal for the scaffold step. When the
11
- * real Cloudflare integration lands, `CreateEdgeDeploymentInput` will grow
12
- * bindings / secrets / dispatch-namespace hints — but every new field must
13
- * pass through this contract (ADR-084 Rule 1).
14
- */
15
- import { Schema } from 'effect';
16
- // ── Status enum ────────────────────────────────────────────────────────────
17
- /** Lifecycle of a single edge-deployment row. Mirrors `edge_deployments.state` in the design doc (§ 5). */
18
- export const EdgeDeploymentStatus = Schema.Literal('pending', // CLI upload accepted, Cloudflare API call not yet made
19
- 'deploying', // Cloudflare API call in-flight
20
- 'active', // Worker script is serving traffic
21
- 'failed', // Cloudflare API returned an error; see `error` field
22
- 'retired');
23
- // ── Route definition carried alongside each deployment ─────────────────────
24
- /** A single HTTP method + path combo the worker handles (e.g. GET /api/hello). */
25
- export const EdgeRoute = Schema.Struct({
26
- method: Schema.Literal('GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', '*'),
27
- path: Schema.String.pipe(Schema.minLength(1)),
28
- });
29
- // ── Entity shape on the wire ───────────────────────────────────────────────
30
- /** Single deployment record. Mirrors the `edge_deployments` table in the design doc. */
31
- export const EdgeDeployment = Schema.Struct({
32
- /** TypeID `edge_xxx`. */
33
- id: Schema.String,
34
- /** TypeID `proj_xxx`. */
35
- projectId: Schema.String,
36
- /** TypeID `env_xxx`. */
37
- environmentId: Schema.String,
38
- /** Cloudflare dispatch namespace + script id (e.g. `sylphx-prod/proj_abc-v3`). */
39
- workerName: Schema.String,
40
- /** Cloudflare script tag — opaque per upload, used for rollback. */
41
- version: Schema.String,
42
- /** Every URL pattern the deployment claims. */
43
- routes: Schema.Array(EdgeRoute),
44
- status: EdgeDeploymentStatus,
45
- /** Populated only when `status === 'failed'`. */
46
- error: Schema.NullOr(Schema.String),
47
- /** Byte size of the uploaded bundle — useful for quota displays. */
48
- bundleSizeBytes: Schema.Number,
49
- /** TypeID `user_xxx` of the operator who triggered the deploy. */
50
- deployedBy: Schema.String,
51
- deployedAt: Schema.String,
52
- });
53
- // ── Inputs ─────────────────────────────────────────────────────────────────
54
- /**
55
- * Create-deployment body. The `bundle` field carries the raw ESM script as
56
- * a base64 string — matches the CLI's `bundle → base64 → POST` flow. For
57
- * larger bundles (> 1 MB) a follow-up multipart endpoint will land; scope
58
- * for the scaffold is the small-bundle path only.
59
- */
60
- export const CreateEdgeDeploymentInput = Schema.Struct({
61
- /** Target environment for the deployment (dev / preview / production). */
62
- environmentId: Schema.String,
63
- /** Base64-encoded ESM worker bundle. */
64
- bundle: Schema.String,
65
- /** Optional route hints; server can also infer from the bundle on deploy. */
66
- routes: Schema.optional(Schema.Array(EdgeRoute)),
67
- /** Human label surfaced in the Console deploy list. */
68
- label: Schema.optional(Schema.String),
69
- });
70
- // ── Responses ──────────────────────────────────────────────────────────────
71
- export const CreateEdgeDeploymentResult = Schema.Struct({
72
- deployment: EdgeDeployment,
73
- });
74
- export const ListEdgeDeploymentsResult = Schema.Struct({
75
- deployments: Schema.Array(EdgeDeployment),
76
- total: Schema.Number,
77
- });
78
- export const DeleteEdgeDeploymentResult = Schema.Struct({
79
- deleted: Schema.Boolean,
80
- });
81
- // ── Query params ───────────────────────────────────────────────────────────
82
- export const ListEdgeDeploymentsQuery = Schema.Struct({
83
- environmentId: Schema.optional(Schema.String),
84
- status: Schema.optional(EdgeDeploymentStatus),
85
- limit: Schema.optional(Schema.String),
86
- offset: Schema.optional(Schema.String),
87
- });