@spacefast/common 0.0.24 → 0.2.1

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 (320) hide show
  1. package/brand-assets/LICENSE-Haskoy.txt +93 -0
  2. package/brand-assets/haskoy-latin-variable.woff2 +0 -0
  3. package/brand-assets/spacefast-favicon.svg +4 -4
  4. package/brand-assets/spacefast-sf-full-bleed.svg +3 -3
  5. package/brand-assets/spacefast-wordmark.svg +2 -4
  6. package/dist/agents/connect-targets.d.ts +6 -146
  7. package/dist/agents/connect-targets.js +63 -295
  8. package/dist/agents/private-key-oauth.d.ts +31 -2
  9. package/dist/agents/private-key-oauth.js +166 -92
  10. package/dist/agents/registry/core.d.ts +292 -0
  11. package/dist/agents/registry/core.js +1388 -0
  12. package/dist/agents/registry/deeplink-probes.d.ts +23 -0
  13. package/dist/agents/registry/deeplink-probes.js +18 -0
  14. package/dist/agents/registry/node.d.ts +56 -0
  15. package/dist/agents/registry/node.js +339 -0
  16. package/dist/brand-assets-build.js +3 -6
  17. package/dist/brand-assets.d.ts +5 -15
  18. package/dist/brand-assets.js +12 -14
  19. package/dist/brand.d.ts +17 -0
  20. package/dist/brand.js +24 -4
  21. package/dist/config/domains.d.ts +79 -12
  22. package/dist/config/domains.js +128 -29
  23. package/dist/config/index.js +1 -2
  24. package/dist/contracts/abuse.js +9 -24
  25. package/dist/contracts/access-profiles.d.ts +86 -0
  26. package/dist/contracts/access-profiles.js +89 -0
  27. package/dist/contracts/access.d.ts +24 -30
  28. package/dist/contracts/access.js +33 -64
  29. package/dist/contracts/activity.d.ts +18 -1
  30. package/dist/contracts/activity.js +72 -26
  31. package/dist/contracts/analytics.js +8 -10
  32. package/dist/contracts/api-keys.d.ts +77 -52
  33. package/dist/contracts/api-keys.js +44 -24
  34. package/dist/contracts/application-journal.d.ts +216 -0
  35. package/dist/contracts/application-journal.js +167 -0
  36. package/dist/contracts/auth.d.ts +90 -17
  37. package/dist/contracts/auth.js +86 -17
  38. package/dist/contracts/beta.d.ts +9 -4
  39. package/dist/contracts/beta.js +20 -16
  40. package/dist/contracts/billing.d.ts +2 -1
  41. package/dist/contracts/billing.js +37 -11
  42. package/dist/contracts/bootstrap.d.ts +791 -0
  43. package/dist/contracts/bootstrap.js +51 -0
  44. package/dist/contracts/builds.d.ts +209 -18
  45. package/dist/contracts/builds.js +93 -27
  46. package/dist/contracts/channels.d.ts +43 -0
  47. package/dist/contracts/channels.js +25 -9
  48. package/dist/contracts/cli.d.ts +7 -0
  49. package/dist/contracts/cli.js +6 -0
  50. package/dist/contracts/collab-public.d.ts +1 -1
  51. package/dist/contracts/collab-public.js +5 -8
  52. package/dist/contracts/comments.d.ts +44 -34
  53. package/dist/contracts/comments.js +107 -77
  54. package/dist/contracts/commerce.d.ts +165 -0
  55. package/dist/contracts/commerce.js +146 -0
  56. package/dist/contracts/common.d.ts +3 -3
  57. package/dist/contracts/common.js +20 -31
  58. package/dist/contracts/content-contract-verification.d.ts +521 -0
  59. package/dist/contracts/content-contract-verification.js +320 -0
  60. package/dist/contracts/content-platform-fixture.d.ts +1278 -0
  61. package/dist/contracts/content-platform-fixture.js +44 -0
  62. package/dist/contracts/content-program.d.ts +994 -0
  63. package/dist/contracts/content-program.js +658 -0
  64. package/dist/contracts/content-sync.d.ts +290 -0
  65. package/dist/contracts/content-sync.js +167 -0
  66. package/dist/contracts/content.d.ts +432 -0
  67. package/dist/contracts/content.js +303 -0
  68. package/dist/contracts/continuation.d.ts +17 -1
  69. package/dist/contracts/continuation.js +23 -23
  70. package/dist/contracts/countries.js +3 -4
  71. package/dist/contracts/crons.d.ts +52 -0
  72. package/dist/contracts/crons.js +60 -0
  73. package/dist/contracts/dashboard-prefs.d.ts +56 -0
  74. package/dist/contracts/dashboard-prefs.js +51 -0
  75. package/dist/contracts/device-auth.d.ts +234 -37
  76. package/dist/contracts/device-auth.js +267 -53
  77. package/dist/contracts/docs.d.ts +1 -5
  78. package/dist/contracts/docs.js +7 -15
  79. package/dist/contracts/domains.d.ts +501 -93
  80. package/dist/contracts/domains.js +193 -55
  81. package/dist/contracts/email-preferences.d.ts +3 -3
  82. package/dist/contracts/email-preferences.js +6 -7
  83. package/dist/contracts/enums.d.ts +27 -26
  84. package/dist/contracts/enums.js +68 -61
  85. package/dist/contracts/error-code-meta.d.ts +283 -7
  86. package/dist/contracts/error-code-meta.js +97 -5
  87. package/dist/contracts/error-codes.d.ts +5 -5
  88. package/dist/contracts/error-codes.js +82 -17
  89. package/dist/contracts/events.d.ts +100 -20
  90. package/dist/contracts/events.js +107 -20
  91. package/dist/contracts/execution.d.ts +48 -64
  92. package/dist/contracts/execution.js +52 -62
  93. package/dist/contracts/feature-lifecycle.d.ts +73 -27
  94. package/dist/contracts/feature-lifecycle.js +86 -26
  95. package/dist/contracts/features.d.ts +68 -19
  96. package/dist/contracts/features.js +42 -41
  97. package/dist/contracts/fixtures/content-platform-v1.json +1108 -0
  98. package/dist/contracts/frame-session.d.ts +192 -0
  99. package/dist/contracts/frame-session.js +164 -0
  100. package/dist/contracts/functions.d.ts +338 -164
  101. package/dist/contracts/functions.js +367 -198
  102. package/dist/contracts/git.d.ts +27 -33
  103. package/dist/contracts/git.js +10 -11
  104. package/dist/contracts/grant-copy.d.ts +43 -0
  105. package/dist/contracts/grant-copy.js +44 -0
  106. package/dist/contracts/grants.d.ts +62 -54
  107. package/dist/contracts/grants.js +124 -23
  108. package/dist/contracts/ids.d.ts +4 -1
  109. package/dist/contracts/ids.js +6 -3
  110. package/dist/contracts/internal.d.ts +8 -18
  111. package/dist/contracts/internal.js +13 -14
  112. package/dist/contracts/mcp.d.ts +28 -0
  113. package/dist/contracts/mcp.js +28 -0
  114. package/dist/contracts/me.d.ts +6 -1
  115. package/dist/contracts/me.js +12 -6
  116. package/dist/contracts/notifications.d.ts +27 -29
  117. package/dist/contracts/notifications.js +9 -4
  118. package/dist/contracts/oauth-resources.d.ts +112 -10
  119. package/dist/contracts/oauth-resources.js +116 -11
  120. package/dist/contracts/oauth-scope-actions.d.ts +90 -0
  121. package/dist/contracts/oauth-scope-actions.js +126 -0
  122. package/dist/contracts/operations.d.ts +27 -4
  123. package/dist/contracts/operations.js +12 -6
  124. package/dist/contracts/pages.d.ts +31 -7
  125. package/dist/contracts/pages.js +22 -5
  126. package/dist/contracts/partner-notifications.d.ts +3 -0
  127. package/dist/contracts/partner-notifications.js +65 -0
  128. package/dist/contracts/{platform.d.ts → partner.d.ts} +29 -42
  129. package/dist/contracts/{platform.js → partner.js} +27 -40
  130. package/dist/contracts/plan-policy.js +1 -1
  131. package/dist/contracts/principal-assertion.d.ts +43 -0
  132. package/dist/contracts/principal-assertion.js +67 -0
  133. package/dist/contracts/principals.d.ts +73 -0
  134. package/dist/contracts/principals.js +59 -0
  135. package/dist/contracts/privacy.d.ts +11 -0
  136. package/dist/contracts/privacy.js +17 -0
  137. package/dist/contracts/problem-document.js +3 -4
  138. package/dist/contracts/publish-archive.d.ts +269 -161
  139. package/dist/contracts/publish-archive.js +11 -1
  140. package/dist/contracts/push-new.d.ts +8 -8
  141. package/dist/contracts/quotas.js +5 -5
  142. package/dist/contracts/realtime.d.ts +52 -0
  143. package/dist/contracts/realtime.js +54 -0
  144. package/dist/contracts/repository-connections.d.ts +44 -31
  145. package/dist/contracts/repository-connections.js +17 -5
  146. package/dist/contracts/resources.d.ts +105 -14
  147. package/dist/contracts/resources.js +150 -26
  148. package/dist/contracts/route-inventory.d.ts +358 -0
  149. package/dist/contracts/route-inventory.js +141 -0
  150. package/dist/contracts/runtime-api.d.ts +206 -82
  151. package/dist/contracts/runtime-api.js +131 -70
  152. package/dist/contracts/runtime-app.d.ts +13 -23
  153. package/dist/contracts/runtime-app.js +39 -24
  154. package/dist/contracts/runtime-components.d.ts +143 -0
  155. package/dist/contracts/runtime-components.js +199 -0
  156. package/dist/contracts/runtime-db.d.ts +49 -23
  157. package/dist/contracts/runtime-db.js +87 -22
  158. package/dist/contracts/runtime-purge.d.ts +8 -0
  159. package/dist/contracts/runtime-purge.js +5 -0
  160. package/dist/contracts/runtime-services.d.ts +43 -75
  161. package/dist/contracts/runtime-services.js +29 -49
  162. package/dist/contracts/runtime-storage.d.ts +15 -14
  163. package/dist/contracts/runtime-storage.js +30 -14
  164. package/dist/contracts/sf-config-v1.d.ts +48 -14
  165. package/dist/contracts/slugs.js +13 -4
  166. package/dist/contracts/space-config.d.ts +283 -19
  167. package/dist/contracts/space-config.js +430 -80
  168. package/dist/contracts/spaces.d.ts +376 -290
  169. package/dist/contracts/spaces.js +200 -135
  170. package/dist/contracts/superadmin-activity.d.ts +3 -43
  171. package/dist/contracts/superadmin-activity.js +6 -30
  172. package/dist/contracts/superadmin-emails.d.ts +1 -0
  173. package/dist/contracts/superadmin-emails.js +17 -1
  174. package/dist/contracts/superadmin-runtime.d.ts +199 -0
  175. package/dist/contracts/superadmin-runtime.js +141 -0
  176. package/dist/contracts/superadmin-search.d.ts +22 -2
  177. package/dist/contracts/superadmin-search.js +14 -6
  178. package/dist/contracts/superadmin-spaces.d.ts +438 -189
  179. package/dist/contracts/superadmin-spaces.js +131 -25
  180. package/dist/contracts/superadmin-teams.d.ts +5 -2
  181. package/dist/contracts/superadmin-teams.js +1 -2
  182. package/dist/contracts/superadmin-tenants.d.ts +627 -12
  183. package/dist/contracts/superadmin-tenants.js +32 -13
  184. package/dist/contracts/superadmin.d.ts +232 -37
  185. package/dist/contracts/superadmin.js +106 -22
  186. package/dist/contracts/tags.d.ts +85 -58
  187. package/dist/contracts/tags.js +47 -37
  188. package/dist/contracts/teams.d.ts +86 -26
  189. package/dist/contracts/teams.js +90 -31
  190. package/dist/contracts/tenants.d.ts +135 -0
  191. package/dist/contracts/tenants.js +120 -0
  192. package/dist/contracts/test-triggers.d.ts +70 -0
  193. package/dist/contracts/test-triggers.js +116 -0
  194. package/dist/contracts/theme-json.js +3 -8
  195. package/dist/contracts/transfers.d.ts +1 -0
  196. package/dist/contracts/transfers.js +3 -2
  197. package/dist/contracts/usage.d.ts +209 -0
  198. package/dist/contracts/usage.js +124 -12
  199. package/dist/contracts/variables.d.ts +2 -2
  200. package/dist/contracts/variables.js +9 -13
  201. package/dist/contracts/webhooks.d.ts +13 -5
  202. package/dist/contracts/webhooks.js +3 -1
  203. package/dist/contracts/zero.d.ts +72 -81
  204. package/dist/contracts/zero.js +80 -78
  205. package/dist/dashboard-paths/index.d.ts +24 -21
  206. package/dist/dashboard-paths/index.js +35 -47
  207. package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -0
  208. package/dist/dashboard-paths/route-reservations.generated.js +36 -0
  209. package/dist/docs/agent-arrival.d.ts +92 -0
  210. package/dist/docs/agent-arrival.js +227 -0
  211. package/dist/docs/agent-output-policy.d.ts +6 -0
  212. package/dist/docs/agent-output-policy.js +22 -0
  213. package/dist/docs/agent-prose.d.ts +12 -18
  214. package/dist/docs/agent-prose.js +73 -51
  215. package/dist/docs/agent-setup.d.ts +72 -41
  216. package/dist/docs/agent-setup.js +339 -436
  217. package/dist/docs/catalog.d.ts +153 -95
  218. package/dist/docs/catalog.js +163 -48
  219. package/dist/docs/error-docs.d.ts +2098 -1
  220. package/dist/docs/error-docs.js +421 -144
  221. package/dist/docs/index-build.d.ts +0 -1
  222. package/dist/docs/index-build.js +2 -3
  223. package/dist/docs/page-context-prompt.d.ts +77 -0
  224. package/dist/docs/page-context-prompt.js +131 -0
  225. package/dist/docs/reference-urls.d.ts +46 -0
  226. package/dist/docs/reference-urls.js +79 -0
  227. package/dist/docs/search.d.ts +6 -8
  228. package/dist/docs/search.js +10 -13
  229. package/dist/docs/skill-distribution.d.ts +4 -1
  230. package/dist/docs/skill-distribution.js +10 -5
  231. package/dist/docs/skills.d.ts +120 -120
  232. package/dist/docs/skills.js +121 -73
  233. package/dist/docs/start-prompts.d.ts +45 -0
  234. package/dist/docs/start-prompts.js +62 -0
  235. package/dist/domain-exploration.js +9 -13
  236. package/dist/og-template.d.ts +56 -0
  237. package/dist/og-template.js +56 -0
  238. package/dist/slug-policy/index.js +5 -11
  239. package/dist/test-helpers/fetch-stub.js +1 -0
  240. package/dist/utils/browser-credential.d.ts +13 -6
  241. package/dist/utils/browser-credential.js +14 -7
  242. package/dist/utils/build-settings.d.ts +21 -1
  243. package/dist/utils/build-settings.js +133 -15
  244. package/dist/utils/canonical-json.d.ts +3 -5
  245. package/dist/utils/canonical-json.js +4 -5
  246. package/dist/utils/cast-transport.d.ts +5 -17
  247. package/dist/utils/cast-transport.js +6 -19
  248. package/dist/utils/claim-token.js +1 -2
  249. package/dist/utils/comment-avatars.js +4 -6
  250. package/dist/utils/concurrency.js +3 -3
  251. package/dist/utils/content-type.d.ts +7 -6
  252. package/dist/utils/content-type.js +73 -51
  253. package/dist/utils/credential-policy.d.ts +50 -6
  254. package/dist/utils/credential-policy.js +126 -59
  255. package/dist/utils/dns-instructions.js +9 -9
  256. package/dist/utils/egress-policy.fixtures.json +1 -1
  257. package/dist/utils/error-code.js +1 -0
  258. package/dist/utils/generate-space-name.d.ts +3 -8
  259. package/dist/utils/generate-space-name.js +3 -8
  260. package/dist/utils/grant-decision.fixtures.json +2 -2
  261. package/dist/utils/grants.d.ts +0 -1
  262. package/dist/utils/grants.js +7 -8
  263. package/dist/utils/gravatar.d.ts +2 -4
  264. package/dist/utils/gravatar.js +6 -12
  265. package/dist/utils/id-hints.js +14 -23
  266. package/dist/utils/idempotency.d.ts +3 -3
  267. package/dist/utils/idempotency.js +6 -7
  268. package/dist/utils/local-space-state.d.ts +23 -26
  269. package/dist/utils/local-space-state.js +46 -46
  270. package/dist/utils/oauth-signed-query.d.ts +3 -5
  271. package/dist/utils/oauth-signed-query.js +6 -9
  272. package/dist/utils/one-shot-replay.d.ts +7 -6
  273. package/dist/utils/one-shot-replay.js +3 -5
  274. package/dist/utils/page-colors.d.ts +15 -19
  275. package/dist/utils/page-colors.js +23 -45
  276. package/dist/utils/page-fonts.d.ts +1 -1
  277. package/dist/utils/page-fonts.js +8 -20
  278. package/dist/utils/page-preview.d.ts +0 -1
  279. package/dist/utils/page-preview.js +0 -1
  280. package/dist/utils/pages.d.ts +33 -3
  281. package/dist/utils/pages.js +83 -30
  282. package/dist/utils/privacy-regions.d.ts +19 -0
  283. package/dist/utils/privacy-regions.js +91 -0
  284. package/dist/utils/publish-form-data.d.ts +4 -5
  285. package/dist/utils/publish-form-data.js +2 -3
  286. package/dist/utils/publish-policy.d.ts +11 -17
  287. package/dist/utils/publish-policy.fixtures.json +11 -5
  288. package/dist/utils/publish-policy.js +65 -110
  289. package/dist/utils/query-client.d.ts +2 -0
  290. package/dist/utils/query-client.js +10 -1
  291. package/dist/utils/runtime-paths.d.ts +4 -4
  292. package/dist/utils/runtime-paths.js +6 -8
  293. package/dist/utils/runtime-upload.d.ts +9 -0
  294. package/dist/utils/runtime-upload.js +12 -0
  295. package/dist/utils/secure-local-file.d.ts +3 -3
  296. package/dist/utils/secure-local-file.js +23 -40
  297. package/dist/utils/space-config.d.ts +12 -15
  298. package/dist/utils/space-config.js +13 -16
  299. package/dist/utils/static-runtime-policy.d.ts +10 -7
  300. package/dist/utils/static-runtime-policy.fixtures.json +38 -41
  301. package/dist/utils/static-runtime-policy.generated.d.ts +16 -0
  302. package/dist/utils/static-runtime-policy.generated.js +70 -0
  303. package/dist/utils/static-runtime-policy.js +31 -132
  304. package/dist/utils/storage-policy.js +1 -2
  305. package/dist/utils/upload-session.d.ts +4 -1
  306. package/dist/utils/upload-session.js +41 -19
  307. package/dist/utils/version-path.js +11 -19
  308. package/dist/utils/wpcom-auth-redirects.d.ts +5 -14
  309. package/dist/utils/wpcom-auth-redirects.js +1 -4
  310. package/dist/vocabulary.d.ts +13 -13
  311. package/dist/vocabulary.js +52 -27
  312. package/package.json +15 -18
  313. package/dist/agents/client-registry.d.ts +0 -22
  314. package/dist/agents/client-registry.js +0 -41
  315. package/dist/docs/agent-handoff-document.d.ts +0 -15
  316. package/dist/docs/agent-handoff-document.js +0 -180
  317. package/dist/docs/agent-solutions.d.ts +0 -110
  318. package/dist/docs/agent-solutions.js +0 -183
  319. package/dist/utils/query-keys.d.ts +0 -84
  320. package/dist/utils/query-keys.js +0 -108
@@ -1,13 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { makeOffsetListSchema } from "./common.js";
3
3
  import { superadminPaginationSchema } from "./superadmin.js";
4
- // Private-beta enrollment contracts.
5
4
  // Two invite systems coexist: `stattic_beta_signups` (this file) is the public
6
- // waitlist, while `stattic_auth_invitation` stays team-membership-only — the
5
+ // waitlist, while `stattic_auth_invitation` stays team-membership-only. The
7
6
  // two share no rows, routes, or email templates.
8
- // `stattic_beta_signups` state machine: pending → invited → enrolled.
9
- // `pending enrolled` is possible a team grant path can enroll the user
10
- // before any invite was sent; the enrolling code back-fills the matching row.
7
+ // State machine: pending → invited → enrolled. A team grant can enroll a user
8
+ // before any invite was sent, back-filling the matching row.
11
9
  export const betaSignupStatusValues = ["pending", "invited", "enrolled"];
12
10
  export const betaSignupStatusSchema = z
13
11
  .enum(betaSignupStatusValues)
@@ -27,9 +25,8 @@ export const betaEligibleTeamSourceValues = [
27
25
  export const betaEligibleTeamSourceSchema = z
28
26
  .enum(betaEligibleTeamSourceValues)
29
27
  .describe("Why the team is joinable by the caller.");
30
- // `POST /v1/beta/signups` (public). `website` is a honeypot: real browsers
31
- // leave it empty, and the route accepts and drops it silently either way —
32
- // never a validation error that would tip off bots.
28
+ // `POST /v1/beta/signups` (public). `website` is a honeypot: the route accepts
29
+ // and silently drops it, never erroring in a way that would tip off bots.
33
30
  export const betaSignupCreateSchema = z.object({
34
31
  email: z
35
32
  .string()
@@ -40,13 +37,22 @@ export const betaSignupCreateSchema = z.object({
40
37
  .describe("Address to put on the waitlist."),
41
38
  website: z.string().optional().describe("Honeypot field; leave empty."),
42
39
  });
43
- // Always the same generic body duplicates included so the public endpoint
40
+ // Always the same generic body, duplicates included, so the public endpoint
44
41
  // cannot be used to enumerate the waitlist.
45
42
  export const betaSignupReceiptSchema = z.object({
46
43
  ok: z.literal(true).describe("Generic acknowledgement; identical for every outcome."),
47
44
  });
45
+ export const betaVisitorResponseSchema = z.object({
46
+ earlyAccessGranted: z
47
+ .boolean()
48
+ .describe("Whether the account or trusted network grants early access."),
49
+ source: z
50
+ .enum(["account", "network"])
51
+ .nullable()
52
+ .describe("The access source, or null when early access is not granted."),
53
+ });
48
54
  // `POST /v1/beta/accept` (authed): binds the invite token's signup row to the
49
- // calling account and enrolls it. Idempotent an already-enrolled caller
55
+ // calling account and enrolls it. Idempotent: an already-enrolled caller
50
56
  // still binds the row and gets a 200.
51
57
  export const betaAcceptSchema = z.object({
52
58
  token: z.string().trim().min(1).max(255).describe("Raw invite token from the email link."),
@@ -55,9 +61,8 @@ export const betaAcceptResponseSchema = z.object({
55
61
  enrolled: z.literal(true).describe("The calling account is enrolled in the private beta."),
56
62
  });
57
63
  // Team auto-enroll entries (`GET/POST/DELETE /v1/teams/{teamId}/auto-enroll`).
58
- // A match grants beta enrollment but NOT team membership the user gets a
59
- // picker. Values are normalized before storage: domains IDNA-canonicalized to
60
- // ASCII.
64
+ // A match grants beta enrollment but NOT team membership; the user gets a
65
+ // picker. Domains are IDNA-canonicalized to ASCII before storage.
61
66
  export const teamAutoEnrollEntrySchema = z.object({
62
67
  id: z.string().describe("Auto-enroll entry id."),
63
68
  teamId: z.string().describe("Team the entry belongs to."),
@@ -84,14 +89,13 @@ export const SuperadminBetaSignupSchema = z.object({
84
89
  id: z.string(),
85
90
  email: z.string().email(),
86
91
  status: betaSignupStatusSchema,
87
- isAutomattician: z.boolean(),
88
- wpcom: z.boolean(),
92
+ automatticDomain: z.boolean(),
89
93
  invitedAt: z.string().datetime().nullable(),
90
94
  tokenExpiresAt: z.string().datetime().nullable(),
91
95
  invitedBy: z
92
96
  .string()
93
97
  .nullable()
94
- .describe("Inviting operator user id; null when auto-approved (Automattician signup)."),
98
+ .describe("Inviting operator user id; null when an Automattic-domain signup is auto-approved."),
95
99
  enrolledUserId: z.string().nullable(),
96
100
  createdAt: z.string().datetime(),
97
101
  });
@@ -10,6 +10,7 @@ export declare const billingIntervalSchema: z.ZodEnum<{
10
10
  yearly: "yearly";
11
11
  }>;
12
12
  export type BillingIntervalValue = z.infer<typeof billingIntervalSchema>;
13
+ export declare const stripeSyncEventTypes: readonly ["checkout.session.completed", "checkout.session.expired", "checkout.session.async_payment_succeeded", "checkout.session.async_payment_failed", "customer.subscription.created", "customer.subscription.updated", "customer.subscription.paused", "customer.subscription.resumed", "customer.subscription.deleted", "customer.subscription.trial_will_end", "invoice.created", "invoice.finalized", "invoice.updated", "invoice.paid", "invoice.payment_succeeded", "invoice.payment_failed", "invoice.marked_uncollectible", "invoice.voided", "refund.created", "refund.updated", "charge.dispute.created", "charge.dispute.updated", "charge.dispute.closed", "charge.dispute.funds_withdrawn", "charge.dispute.funds_reinstated"];
13
14
  export declare const billingTransactionKindValues: readonly ["purchase", "renewal", "refund", "adjustment"];
14
15
  export declare const billingTransactionKindSchema: z.ZodEnum<{
15
16
  purchase: "purchase";
@@ -30,9 +31,9 @@ export type BillingTransactionScope = z.infer<typeof billingTransactionScopeSche
30
31
  export declare const billingAddonSourceValues: readonly ["grant", "stripe"];
31
32
  export declare const billingAddonLimitKeyValues: readonly ["teamMembers", "subTeams", "storageBytes", "externalDomainGroups"];
32
33
  export declare const billingAddonLimitKeySchema: z.ZodEnum<{
34
+ storageBytes: "storageBytes";
33
35
  teamMembers: "teamMembers";
34
36
  subTeams: "subTeams";
35
- storageBytes: "storageBytes";
36
37
  externalDomainGroups: "externalDomainGroups";
37
38
  }>;
38
39
  export type BillingAddonLimitKey = z.infer<typeof billingAddonLimitKeySchema>;
@@ -1,16 +1,44 @@
1
1
  import { z } from "zod";
2
2
  import { planCodeSchema, planLimitValueSchema } from "./features.js";
3
- // Billing providers a team plan can resolve from. `grant` is a
4
- // superadmin-assigned subscription: no payment, no transactions, just an
5
- // operator-issued entitlement row (optionally expiring).
3
+ // Billing providers a team plan can resolve from. `grant` is a superadmin-issued
4
+ // entitlement row, optionally expiring: no payment, no transactions.
6
5
  export const billingProviderValues = ["stripe", "grant"];
7
6
  export const billingProviderSchema = z.enum(billingProviderValues).describe("Billing provider.");
8
7
  export const billingIntervalValues = ["monthly", "yearly"];
9
8
  export const billingIntervalSchema = z.enum(billingIntervalValues);
10
- // Transaction ledger vocabulary. Every REAL payment event lands as one row —
11
- // operator grants never do (no transactions by definition). Amounts are
12
- // micros of the payment currency (1_000_000 micros = 1 unit) so Stripe cents
13
- // normalize losslessly.
9
+ // Keep Stripe endpoint subscriptions and the webhook intake allowlist on one
10
+ // contract. The environment setup command imports this exact list, so adding a
11
+ // new processor event cannot leave deployed webhook endpoints behind.
12
+ export const stripeSyncEventTypes = [
13
+ "checkout.session.completed",
14
+ "checkout.session.expired",
15
+ "checkout.session.async_payment_succeeded",
16
+ "checkout.session.async_payment_failed",
17
+ "customer.subscription.created",
18
+ "customer.subscription.updated",
19
+ "customer.subscription.paused",
20
+ "customer.subscription.resumed",
21
+ "customer.subscription.deleted",
22
+ "customer.subscription.trial_will_end",
23
+ "invoice.created",
24
+ "invoice.finalized",
25
+ "invoice.updated",
26
+ "invoice.paid",
27
+ "invoice.payment_succeeded",
28
+ "invoice.payment_failed",
29
+ "invoice.marked_uncollectible",
30
+ "invoice.voided",
31
+ "refund.created",
32
+ "refund.updated",
33
+ "charge.dispute.created",
34
+ "charge.dispute.updated",
35
+ "charge.dispute.closed",
36
+ "charge.dispute.funds_withdrawn",
37
+ "charge.dispute.funds_reinstated",
38
+ ];
39
+ // Transaction ledger vocabulary. Every REAL payment event lands as one row;
40
+ // operator grants never do. Amounts are micros of the payment currency
41
+ // (1_000_000 micros = 1 unit), so Stripe cents normalize losslessly.
14
42
  export const billingTransactionKindValues = [
15
43
  "purchase",
16
44
  "renewal",
@@ -22,8 +50,7 @@ export const billingTransactionKindSchema = z.enum(billingTransactionKindValues)
22
50
  export const billingTransactionScopeValues = ["plan", "seats", "domain", "other"];
23
51
  export const billingTransactionScopeSchema = z.enum(billingTransactionScopeValues);
24
52
  // Add-on entitlements (extra seats, extra storage): additive limit bumps that
25
- // ride the EntitlementGrant seam. `grant` source = operator-assigned, no
26
- // payment; `stripe` source = paid add-on synced from a Stripe subscription item.
53
+ // ride the EntitlementGrant seam. `stripe` add-ons sync from a subscription item.
27
54
  export const billingAddonSourceValues = ["grant", "stripe"];
28
55
  export const billingAddonLimitKeyValues = [
29
56
  "teamMembers",
@@ -32,8 +59,7 @@ export const billingAddonLimitKeyValues = [
32
59
  "externalDomainGroups",
33
60
  ];
34
61
  export const billingAddonLimitKeySchema = z.enum(billingAddonLimitKeyValues);
35
- // One active-plan source as surfaced to operators and the team billing page:
36
- // where a plan claim comes from and whether it is currently effective.
62
+ // One active-plan source, as operators and the team billing page see it.
37
63
  export const billingPlanSourceSchema = z.object({
38
64
  provider: billingProviderSchema,
39
65
  planCode: planCodeSchema,