@astrale-domains/services 0.4.8 → 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 (181) hide show
  1. package/README.md +153 -816
  2. package/dist/schema/index.d.ts +4 -5
  3. package/dist/schema/index.js +2 -3
  4. package/dist/schema/modules/deployment/classes/cloudflare-deployment.d.ts +4 -321
  5. package/dist/schema/modules/deployment/classes/cloudflare-deployment.js +1 -19
  6. package/dist/schema/modules/deployment/classes/current-deployment.d.ts +20 -0
  7. package/dist/schema/modules/deployment/classes/current-deployment.js +13 -0
  8. package/dist/schema/modules/deployment/classes/{deployment-on-line.d.ts → deployment-of.d.ts} +3 -3
  9. package/dist/schema/modules/deployment/classes/deployment-of.js +11 -0
  10. package/dist/schema/modules/deployment/classes/deployment.d.ts +9 -57
  11. package/dist/schema/modules/deployment/classes/deployment.js +9 -23
  12. package/dist/schema/modules/deployment/classes/index.d.ts +2 -3
  13. package/dist/schema/modules/deployment/classes/index.js +2 -3
  14. package/dist/schema/modules/deployment/errors/deployment-not-found.d.ts +2 -5
  15. package/dist/schema/modules/deployment/errors/deployment-not-found.js +2 -5
  16. package/dist/schema/modules/deployment/errors/index.d.ts +0 -2
  17. package/dist/schema/modules/deployment/errors/index.js +0 -2
  18. package/dist/schema/modules/deployment/functions/index.d.ts +0 -10
  19. package/dist/schema/modules/deployment/functions/index.js +0 -10
  20. package/dist/schema/modules/deployment/functions/retire-deployment.d.ts +8 -7
  21. package/dist/schema/modules/deployment/functions/retire-deployment.js +8 -7
  22. package/dist/schema/modules/deployment/index.d.ts +6 -6
  23. package/dist/schema/modules/deployment/index.js +7 -5
  24. package/dist/schema/modules/deployment/policies/index.d.ts +1 -4
  25. package/dist/schema/modules/deployment/policies/index.js +1 -4
  26. package/dist/schema/modules/deployment/policies/own-deployment.d.ts +1 -1
  27. package/dist/schema/modules/deployment/policies/own-deployment.js +6 -7
  28. package/dist/schema/modules/deployment/policies/traverse-owned-service-deployment.d.ts +2 -0
  29. package/dist/schema/modules/deployment/policies/traverse-owned-service-deployment.js +7 -0
  30. package/dist/schema/modules/deployment/states/deployment-lifecycle.d.ts +6 -9
  31. package/dist/schema/modules/deployment/states/deployment-lifecycle.js +6 -7
  32. package/dist/schema/modules/deployment/types/deployment-hosting.d.ts +9 -28
  33. package/dist/schema/modules/deployment/types/deployment-hosting.js +3 -3
  34. package/dist/schema/modules/deployment/types/deployment-request.d.ts +12 -40
  35. package/dist/schema/modules/deployment/types/deployment-request.js +17 -9
  36. package/dist/schema/modules/deployment/types/deployment-response.d.ts +7 -15
  37. package/dist/schema/modules/deployment/types/deployment-response.js +2 -2
  38. package/dist/schema/modules/deployment/types/deployment-retire.d.ts +1 -1
  39. package/dist/schema/modules/deployment/types/deployment-secret.d.ts +0 -39
  40. package/dist/schema/modules/deployment/types/deployment-secret.js +0 -34
  41. package/dist/schema/modules/deployment/types/deployment-summary.d.ts +14 -45
  42. package/dist/schema/modules/deployment/types/deployment-summary.js +9 -8
  43. package/dist/schema/modules/deployment/types/index.d.ts +7 -3
  44. package/dist/schema/modules/deployment/types/index.js +4 -2
  45. package/dist/schema/modules/{service → deployment}/types/service-deployment-artifact-module.d.ts +2 -20
  46. package/dist/schema/modules/deployment/types/service-deployment-artifact-module.js +10 -0
  47. package/dist/schema/modules/{service → deployment}/types/service-deployment-assets.d.ts +4 -20
  48. package/dist/schema/modules/{service → deployment}/types/service-deployment-assets.js +4 -7
  49. package/dist/schema/modules/service/classes/cloudflare-service.d.ts +321 -0
  50. package/dist/schema/modules/service/classes/cloudflare-service.js +35 -0
  51. package/dist/schema/modules/service/classes/index.d.ts +1 -1
  52. package/dist/schema/modules/service/classes/index.js +1 -1
  53. package/dist/schema/modules/service/classes/service.d.ts +18 -107
  54. package/dist/schema/modules/service/classes/service.js +16 -27
  55. package/dist/schema/modules/service/errors/index.d.ts +1 -0
  56. package/dist/schema/modules/service/errors/index.js +1 -0
  57. package/dist/schema/modules/service/errors/service-not-found.d.ts +7 -0
  58. package/dist/schema/modules/service/errors/service-not-found.js +8 -0
  59. package/dist/schema/modules/service/functions/delete-service.d.ts +1 -1
  60. package/dist/schema/modules/service/functions/delete-service.js +1 -1
  61. package/dist/schema/modules/{deployment/functions/deploy-cloudflare-deployment.d.ts → service/functions/deploy-service.d.ts} +20 -35
  62. package/dist/schema/modules/service/functions/deploy-service.js +15 -0
  63. package/dist/schema/modules/service/functions/describe-hosting.d.ts +8 -0
  64. package/dist/schema/modules/service/functions/describe-hosting.js +11 -0
  65. package/dist/schema/modules/service/functions/index.d.ts +5 -10
  66. package/dist/schema/modules/service/functions/index.js +5 -10
  67. package/dist/schema/modules/{deployment/functions/list-cloudflare-deployments.d.ts → service/functions/list-service-deployments.d.ts} +8 -12
  68. package/dist/schema/modules/service/functions/list-service-deployments.js +10 -0
  69. package/dist/schema/modules/service/functions/list-service-logs.d.ts +2 -1
  70. package/dist/schema/modules/service/functions/list-service-logs.js +1 -1
  71. package/dist/schema/modules/service/functions/list-service-schedules.d.ts +1 -1
  72. package/dist/schema/modules/service/functions/list-service-schedules.js +1 -1
  73. package/dist/schema/modules/service/functions/list-service-secret-names.d.ts +1 -1
  74. package/dist/schema/modules/service/functions/list-service-secret-names.js +1 -1
  75. package/dist/schema/modules/service/functions/promote-service.d.ts +14 -0
  76. package/dist/schema/modules/service/functions/promote-service.js +4 -0
  77. package/dist/schema/modules/service/functions/replace-service-schedules.d.ts +1 -1
  78. package/dist/schema/modules/service/functions/replace-service-schedules.js +1 -4
  79. package/dist/schema/modules/service/functions/set-service-secret.d.ts +4 -2
  80. package/dist/schema/modules/service/functions/set-service-secret.js +1 -1
  81. package/dist/schema/modules/service/functions/transfer-service.d.ts +14 -0
  82. package/dist/schema/modules/service/functions/transfer-service.js +4 -0
  83. package/dist/schema/modules/service/index.d.ts +5 -5
  84. package/dist/schema/modules/service/index.js +5 -4
  85. package/dist/schema/modules/service/policies/act-as.d.ts +6 -0
  86. package/dist/schema/modules/service/policies/act-as.js +10 -0
  87. package/dist/schema/modules/service/policies/index.d.ts +1 -0
  88. package/dist/schema/modules/service/policies/index.js +1 -0
  89. package/dist/schema/modules/service/states/service-lifecycle.d.ts +7 -20
  90. package/dist/schema/modules/service/states/service-lifecycle.js +6 -21
  91. package/dist/schema/modules/service/types/index.d.ts +1 -13
  92. package/dist/schema/modules/service/types/index.js +1 -8
  93. package/dist/schema/modules/service/types/service-management.d.ts +65 -24
  94. package/dist/schema/modules/service/types/service-management.js +46 -21
  95. package/dist/schema/schema.d.ts +252 -758
  96. package/dist/schema/schema.js +7 -11
  97. package/package.json +4 -11
  98. package/dist/scaffold/create-service.mjs +0 -77
  99. package/dist/scaffold/template/.env.example +0 -2
  100. package/dist/scaffold/template/README.md +0 -37
  101. package/dist/scaffold/template/gitignore +0 -6
  102. package/dist/scaffold/template/scripts/build.mjs +0 -10
  103. package/dist/scaffold/template/scripts/deploy.mjs +0 -50
  104. package/dist/scaffold/template/src/account.js +0 -26
  105. package/dist/scaffold/template/src/index.js +0 -32
  106. package/dist/scaffold/template/src/job.js +0 -19
  107. package/dist/schema/modules/deployment/classes/deployment-line.d.ts +0 -23
  108. package/dist/schema/modules/deployment/classes/deployment-line.js +0 -24
  109. package/dist/schema/modules/deployment/classes/deployment-on-line.js +0 -11
  110. package/dist/schema/modules/deployment/classes/line-owned-by.d.ts +0 -26
  111. package/dist/schema/modules/deployment/classes/line-owned-by.js +0 -19
  112. package/dist/schema/modules/deployment/errors/deployment-label-not-found.d.ts +0 -12
  113. package/dist/schema/modules/deployment/errors/deployment-label-not-found.js +0 -11
  114. package/dist/schema/modules/deployment/errors/deployment-registry-only.d.ts +0 -11
  115. package/dist/schema/modules/deployment/errors/deployment-registry-only.js +0 -12
  116. package/dist/schema/modules/deployment/functions/deploy-cloudflare-deployment.js +0 -14
  117. package/dist/schema/modules/deployment/functions/describe-deployment-hosting.d.ts +0 -8
  118. package/dist/schema/modules/deployment/functions/describe-deployment-hosting.js +0 -11
  119. package/dist/schema/modules/deployment/functions/expire-deployment-previews.d.ts +0 -16
  120. package/dist/schema/modules/deployment/functions/expire-deployment-previews.js +0 -14
  121. package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.d.ts +0 -5
  122. package/dist/schema/modules/deployment/functions/list-cloudflare-deployment-secret-names.js +0 -4
  123. package/dist/schema/modules/deployment/functions/list-cloudflare-deployments.js +0 -10
  124. package/dist/schema/modules/deployment/functions/list-deployment-secret-names.d.ts +0 -4
  125. package/dist/schema/modules/deployment/functions/list-deployment-secret-names.js +0 -6
  126. package/dist/schema/modules/deployment/functions/read-deployment-last-calls.d.ts +0 -10
  127. package/dist/schema/modules/deployment/functions/read-deployment-last-calls.js +0 -13
  128. package/dist/schema/modules/deployment/functions/retain-deployment.d.ts +0 -12
  129. package/dist/schema/modules/deployment/functions/retain-deployment.js +0 -13
  130. package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.d.ts +0 -18
  131. package/dist/schema/modules/deployment/functions/set-cloudflare-deployment-secret.js +0 -7
  132. package/dist/schema/modules/deployment/functions/set-deployment-secret.d.ts +0 -14
  133. package/dist/schema/modules/deployment/functions/set-deployment-secret.js +0 -3
  134. package/dist/schema/modules/deployment/policies/act-for-organization.d.ts +0 -6
  135. package/dist/schema/modules/deployment/policies/act-for-organization.js +0 -10
  136. package/dist/schema/modules/deployment/policies/own-line.d.ts +0 -5
  137. package/dist/schema/modules/deployment/policies/own-line.js +0 -10
  138. package/dist/schema/modules/deployment/policies/traverse-owned-line-deployment.d.ts +0 -2
  139. package/dist/schema/modules/deployment/policies/traverse-owned-line-deployment.js +0 -7
  140. package/dist/schema/modules/deployment/policies/traverse-owned-line.d.ts +0 -2
  141. package/dist/schema/modules/deployment/policies/traverse-owned-line.js +0 -7
  142. package/dist/schema/modules/deployment/types/deployment-retention.d.ts +0 -49
  143. package/dist/schema/modules/deployment/types/deployment-retention.js +0 -45
  144. package/dist/schema/modules/service/classes/cloudflare-worker.d.ts +0 -352
  145. package/dist/schema/modules/service/classes/cloudflare-worker.js +0 -41
  146. package/dist/schema/modules/service/functions/delete-service-secret.d.ts +0 -11
  147. package/dist/schema/modules/service/functions/delete-service-secret.js +0 -3
  148. package/dist/schema/modules/service/functions/delete-worker-secret.d.ts +0 -11
  149. package/dist/schema/modules/service/functions/delete-worker-secret.js +0 -7
  150. package/dist/schema/modules/service/functions/delete-worker.d.ts +0 -9
  151. package/dist/schema/modules/service/functions/delete-worker.js +0 -7
  152. package/dist/schema/modules/service/functions/deploy-cloudflare-worker.d.ts +0 -109
  153. package/dist/schema/modules/service/functions/deploy-cloudflare-worker.js +0 -9
  154. package/dist/schema/modules/service/functions/list-worker-logs.d.ts +0 -12
  155. package/dist/schema/modules/service/functions/list-worker-logs.js +0 -7
  156. package/dist/schema/modules/service/functions/list-worker-schedules.d.ts +0 -4
  157. package/dist/schema/modules/service/functions/list-worker-schedules.js +0 -7
  158. package/dist/schema/modules/service/functions/list-worker-secret-names.d.ts +0 -4
  159. package/dist/schema/modules/service/functions/list-worker-secret-names.js +0 -7
  160. package/dist/schema/modules/service/functions/migrate-worker-ingress.d.ts +0 -24
  161. package/dist/schema/modules/service/functions/migrate-worker-ingress.js +0 -26
  162. package/dist/schema/modules/service/functions/replace-worker-schedules.d.ts +0 -11
  163. package/dist/schema/modules/service/functions/replace-worker-schedules.js +0 -7
  164. package/dist/schema/modules/service/functions/set-worker-secret.d.ts +0 -12
  165. package/dist/schema/modules/service/functions/set-worker-secret.js +0 -7
  166. package/dist/schema/modules/service/types/deploy-cloudflare-worker.d.ts +0 -286
  167. package/dist/schema/modules/service/types/deploy-cloudflare-worker.js +0 -51
  168. package/dist/schema/modules/service/types/legacy/service-deployment-content.js +0 -22
  169. package/dist/schema/modules/service/types/service-deployment-artifact-module.js +0 -13
  170. package/dist/schema/modules/service/types/service-deployment-resource-limits.d.ts +0 -6
  171. package/dist/schema/modules/service/types/service-deployment-resource-limits.js +0 -7
  172. package/dist/schema/modules/service/types/service-readiness.d.ts +0 -6
  173. package/dist/schema/modules/service/types/service-readiness.js +0 -6
  174. package/dist/schema/modules/service/types/service-secret-operation-rejection.d.ts +0 -9
  175. package/dist/schema/modules/service/types/service-secret-operation-rejection.js +0 -5
  176. /package/dist/schema/modules/{service → deployment}/types/content/index.d.ts +0 -0
  177. /package/dist/schema/modules/{service → deployment}/types/content/index.js +0 -0
  178. /package/dist/schema/modules/{service → deployment}/types/content/limits.d.ts +0 -0
  179. /package/dist/schema/modules/{service → deployment}/types/content/limits.js +0 -0
  180. /package/dist/schema/modules/{service → deployment}/types/service-deployment-content.d.ts +0 -0
  181. /package/dist/schema/modules/{service → deployment}/types/service-deployment-content.js +0 -0
@@ -1,48 +1,84 @@
1
1
  import { z } from 'zod';
2
- export declare const setServiceSecretContract: {
3
- readonly description: 'Set one write-only Service secret.';
4
- readonly auth: 'authorized';
2
+ export declare const promoteServiceContract: {
3
+ readonly description: 'Make one active deployment of this Service the one its URL serves.';
4
+ readonly auth: 'authenticated';
5
5
  readonly input: z.ZodObject<{
6
- name: z.ZodString;
7
- value: z.ZodString;
6
+ label: z.ZodString;
8
7
  }, z.core.$strict>;
9
8
  readonly output: z.ZodUnion<readonly [z.ZodObject<{
10
- name: z.ZodString;
9
+ current: z.ZodString;
11
10
  }, z.core.$strict>, z.ZodObject<{
12
11
  kind: z.ZodLiteral<"rejected">;
13
12
  reason: z.ZodEnum<{
14
- "binding-unavailable": "binding-unavailable";
15
- "invalid-secret-name": "invalid-secret-name";
13
+ "address-mismatch": "address-mismatch";
14
+ "build-mismatch": "build-mismatch";
15
+ "deployment-conflict": "deployment-conflict";
16
+ "deployment-retired": "deployment-retired";
17
+ "hosting-unavailable": "hosting-unavailable";
18
+ "invalid-deployment": "invalid-deployment";
19
+ "service-owned-elsewhere": "service-owned-elsewhere";
16
20
  "service-unavailable": "service-unavailable";
17
21
  }>;
22
+ message: z.ZodString;
23
+ retryAfter: z.ZodOptional<z.ZodString>;
18
24
  }, z.core.$strict>]>;
19
25
  };
20
- export declare const deleteServiceSecretContract: {
21
- readonly description: 'Delete one write-only Service secret.';
22
- readonly auth: 'authorized';
26
+ export declare const transferServiceContract: {
27
+ readonly description: 'Give this Service to another Identity the caller is or acts as.';
28
+ readonly auth: 'authenticated';
29
+ readonly input: z.ZodObject<{
30
+ owner: z.ZodString;
31
+ }, z.core.$strict>;
32
+ readonly output: z.ZodUnion<readonly [z.ZodObject<{
33
+ owner: z.ZodString;
34
+ }, z.core.$strict>, z.ZodObject<{
35
+ kind: z.ZodLiteral<"rejected">;
36
+ reason: z.ZodEnum<{
37
+ "address-mismatch": "address-mismatch";
38
+ "build-mismatch": "build-mismatch";
39
+ "deployment-conflict": "deployment-conflict";
40
+ "deployment-retired": "deployment-retired";
41
+ "hosting-unavailable": "hosting-unavailable";
42
+ "invalid-deployment": "invalid-deployment";
43
+ "service-owned-elsewhere": "service-owned-elsewhere";
44
+ "service-unavailable": "service-unavailable";
45
+ }>;
46
+ message: z.ZodString;
47
+ retryAfter: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strict>]>;
49
+ };
50
+ /**
51
+ * Rewrite one secret of the current deployment in place. The next deploy binds the values it
52
+ * carries itself: Services never keeps a secret value.
53
+ */
54
+ export declare const setServiceSecretContract: {
55
+ readonly description: 'Rewrite one declared secret of the current deployment in place.';
56
+ readonly auth: 'authenticated';
23
57
  readonly input: z.ZodObject<{
24
58
  name: z.ZodString;
59
+ value: z.ZodString;
25
60
  }, z.core.$strict>;
26
61
  readonly output: z.ZodUnion<readonly [z.ZodObject<{
27
- ok: z.ZodLiteral<true>;
62
+ name: z.ZodString;
28
63
  }, z.core.$strict>, z.ZodObject<{
29
64
  kind: z.ZodLiteral<"rejected">;
30
65
  reason: z.ZodEnum<{
31
- "binding-unavailable": "binding-unavailable";
32
- "invalid-secret-name": "invalid-secret-name";
66
+ "secret-undeclared": "secret-undeclared";
33
67
  "service-unavailable": "service-unavailable";
34
68
  }>;
69
+ message: z.ZodString;
70
+ retryAfter: z.ZodOptional<z.ZodString>;
35
71
  }, z.core.$strict>]>;
36
72
  };
37
73
  export declare const listServiceSecretNamesContract: {
38
- readonly description: 'List write-only Service secret names without exposing values.';
39
- readonly auth: 'authorized';
74
+ readonly description: 'List the names of the secrets the current deployment binds, never their values.';
75
+ readonly auth: 'authenticated';
40
76
  readonly input: z.ZodObject<{}, z.core.$strict>;
41
77
  readonly output: z.ZodArray<z.ZodString>;
42
78
  };
43
79
  export declare const replaceServiceSchedulesContract: {
44
- readonly description: 'Replace the complete Service cron set.';
45
- readonly auth: 'authorized';
80
+ readonly description: 'Replace the complete UTC cron set of this Service; it runs on the current deployment.';
81
+ readonly auth: 'authenticated';
46
82
  readonly input: z.ZodObject<{
47
83
  crons: z.ZodArray<z.ZodString>;
48
84
  }, z.core.$strict>;
@@ -57,15 +93,16 @@ export declare const replaceServiceSchedulesContract: {
57
93
  }, z.core.$strict>]>;
58
94
  };
59
95
  export declare const listServiceSchedulesContract: {
60
- readonly description: 'List active Service cron expressions.';
61
- readonly auth: 'authorized';
96
+ readonly description: 'List the UTC cron expressions of this Service.';
97
+ readonly auth: 'authenticated';
62
98
  readonly input: z.ZodObject<{}, z.core.$strict>;
63
99
  readonly output: z.ZodArray<z.ZodString>;
64
100
  };
65
101
  export declare const listServiceLogsContract: {
66
- readonly description: 'Read recent Service runtime logs.';
67
- readonly auth: 'authorized';
102
+ readonly description: 'Read recent runtime logs of the current deployment, or of one named deployment.';
103
+ readonly auth: 'authenticated';
68
104
  readonly input: z.ZodObject<{
105
+ label: z.ZodOptional<z.ZodString>;
69
106
  tail: z.ZodOptional<z.ZodNumber>;
70
107
  since: z.ZodOptional<z.ZodNumber>;
71
108
  }, z.core.$strict>;
@@ -76,9 +113,13 @@ export declare const listServiceLogsContract: {
76
113
  line: z.ZodString;
77
114
  }, z.core.$strict>>;
78
115
  };
116
+ /**
117
+ * Retire every deployment of this Service, then delete it and free its name. Retirement is two
118
+ * phases per deployment: `deleting` answers when a retry may finish.
119
+ */
79
120
  export declare const deleteServiceContract: {
80
- readonly description: 'Convergently delete provider resources and the owned Service without uninstalling consumers.';
81
- readonly auth: 'authorized';
121
+ readonly description: 'Retire every deployment of this Service, then delete it and free its name.';
122
+ readonly auth: 'authenticated';
82
123
  readonly input: z.ZodObject<{}, z.core.$strict>;
83
124
  readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
84
125
  kind: z.ZodLiteral<"deleted">;
@@ -1,9 +1,35 @@
1
1
  import { z } from 'zod';
2
+ import { deploymentRejection, deploymentSecretRejection } from '../../deployment/index.js';
2
3
  import { secretName } from './service-secret-name.js';
3
- import { secretOperationRejection } from './service-secret-operation-rejection.js';
4
+ /**
5
+ * Every Service Method is `authenticated`: a deployer's identities on the Admin instance hold no
6
+ * `can_use` on Services' Functions, which an `authorized` Method requires of every non-Root
7
+ * caller. Each handler asks the Kernel `OwnService` for the caller on its own session before it
8
+ * reads anything, and a caller who does not own the Service finds none (`SERVICE_NOT_FOUND`). The
9
+ * day the Admin instance grants deployers `can_use` on these Methods, they become `authorized` with
10
+ * the `OwnService` Policy and the handler checks go.
11
+ */
12
+ /** One deployment of this Service, named by its label. */
13
+ const deploymentLabel = z.string().min(33).max(57);
14
+ export const promoteServiceContract = {
15
+ description: 'Make one active deployment of this Service the one its URL serves.',
16
+ auth: 'authenticated',
17
+ input: z.strictObject({ label: deploymentLabel }),
18
+ output: z.union([z.strictObject({ current: deploymentLabel }), deploymentRejection]),
19
+ };
20
+ export const transferServiceContract = {
21
+ description: 'Give this Service to another Identity the caller is or acts as.',
22
+ auth: 'authenticated',
23
+ input: z.strictObject({ owner: z.string().min(1).max(256) }),
24
+ output: z.union([z.strictObject({ owner: z.string().min(1) }), deploymentRejection]),
25
+ };
26
+ /**
27
+ * Rewrite one secret of the current deployment in place. The next deploy binds the values it
28
+ * carries itself: Services never keeps a secret value.
29
+ */
4
30
  export const setServiceSecretContract = {
5
- description: 'Set one write-only Service secret.',
6
- auth: 'authorized',
31
+ description: 'Rewrite one declared secret of the current deployment in place.',
32
+ auth: 'authenticated',
7
33
  input: z.strictObject({
8
34
  name: secretName,
9
35
  value: z
@@ -11,23 +37,17 @@ export const setServiceSecretContract = {
11
37
  .min(1)
12
38
  .max(64 * 1024),
13
39
  }),
14
- output: z.union([z.strictObject({ name: secretName }), secretOperationRejection]),
15
- };
16
- export const deleteServiceSecretContract = {
17
- description: 'Delete one write-only Service secret.',
18
- auth: 'authorized',
19
- input: z.strictObject({ name: secretName }),
20
- output: z.union([z.strictObject({ ok: z.literal(true) }), secretOperationRejection]),
40
+ output: z.union([z.strictObject({ name: secretName }), deploymentSecretRejection]),
21
41
  };
22
42
  export const listServiceSecretNamesContract = {
23
- description: 'List write-only Service secret names without exposing values.',
24
- auth: 'authorized',
43
+ description: 'List the names of the secrets the current deployment binds, never their values.',
44
+ auth: 'authenticated',
25
45
  input: z.strictObject({}),
26
46
  output: z.array(secretName),
27
47
  };
28
48
  export const replaceServiceSchedulesContract = {
29
- description: 'Replace the complete Service cron set.',
30
- auth: 'authorized',
49
+ description: 'Replace the complete UTC cron set of this Service; it runs on the current deployment.',
50
+ auth: 'authenticated',
31
51
  input: z.strictObject({ crons: z.array(z.string()).max(24) }),
32
52
  output: z.union([
33
53
  z.strictObject({ crons: z.array(z.string()) }),
@@ -38,29 +58,34 @@ export const replaceServiceSchedulesContract = {
38
58
  ]),
39
59
  };
40
60
  export const listServiceSchedulesContract = {
41
- description: 'List active Service cron expressions.',
42
- auth: 'authorized',
61
+ description: 'List the UTC cron expressions of this Service.',
62
+ auth: 'authenticated',
43
63
  input: z.strictObject({}),
44
64
  output: z.array(z.string()),
45
65
  };
46
66
  export const listServiceLogsContract = {
47
- description: 'Read recent Service runtime logs.',
48
- auth: 'authorized',
67
+ description: 'Read recent runtime logs of the current deployment, or of one named deployment.',
68
+ auth: 'authenticated',
49
69
  input: z.strictObject({
70
+ label: deploymentLabel.optional(),
50
71
  tail: z.number().int().min(1).max(1_000).optional(),
51
72
  since: z.number().int().min(0).optional(),
52
73
  }),
53
74
  output: z.array(z.strictObject({ id: z.string(), ts: z.number(), level: z.string(), line: z.string() })),
54
75
  };
76
+ /**
77
+ * Retire every deployment of this Service, then delete it and free its name. Retirement is two
78
+ * phases per deployment: `deleting` answers when a retry may finish.
79
+ */
55
80
  export const deleteServiceContract = {
56
- description: 'Convergently delete provider resources and the owned Service without uninstalling consumers.',
57
- auth: 'authorized',
81
+ description: 'Retire every deployment of this Service, then delete it and free its name.',
82
+ auth: 'authenticated',
58
83
  input: z.strictObject({}),
59
84
  output: z.discriminatedUnion('kind', [
60
85
  z.strictObject({ kind: z.literal('deleted') }),
61
86
  z.strictObject({
62
87
  kind: z.literal('deleting'),
63
- retryAfterMs: z.number().int().min(250).max(30_000),
88
+ retryAfterMs: z.number().int().min(0).max(3_600_000),
64
89
  }),
65
90
  ]),
66
91
  };