@spacefast/common 0.0.2

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 (202) hide show
  1. package/README.md +42 -0
  2. package/dist/brand.d.ts +15 -0
  3. package/dist/brand.js +24 -0
  4. package/dist/config/domains.d.ts +30 -0
  5. package/dist/config/domains.js +75 -0
  6. package/dist/config/index.d.ts +1 -0
  7. package/dist/config/index.js +3 -0
  8. package/dist/contracts/abuse.d.ts +93 -0
  9. package/dist/contracts/abuse.js +50 -0
  10. package/dist/contracts/access.d.ts +409 -0
  11. package/dist/contracts/access.js +396 -0
  12. package/dist/contracts/account.d.ts +28 -0
  13. package/dist/contracts/account.js +54 -0
  14. package/dist/contracts/activity.d.ts +118 -0
  15. package/dist/contracts/activity.js +180 -0
  16. package/dist/contracts/analytics.d.ts +56 -0
  17. package/dist/contracts/analytics.js +91 -0
  18. package/dist/contracts/annotations.d.ts +327 -0
  19. package/dist/contracts/annotations.js +234 -0
  20. package/dist/contracts/api-keys.d.ts +517 -0
  21. package/dist/contracts/api-keys.js +235 -0
  22. package/dist/contracts/archives.d.ts +332 -0
  23. package/dist/contracts/archives.js +120 -0
  24. package/dist/contracts/auth.d.ts +86 -0
  25. package/dist/contracts/auth.js +82 -0
  26. package/dist/contracts/beta.d.ts +106 -0
  27. package/dist/contracts/beta.js +104 -0
  28. package/dist/contracts/billing.d.ts +328 -0
  29. package/dist/contracts/billing.js +203 -0
  30. package/dist/contracts/builds.d.ts +504 -0
  31. package/dist/contracts/builds.js +248 -0
  32. package/dist/contracts/channels.d.ts +49 -0
  33. package/dist/contracts/channels.js +51 -0
  34. package/dist/contracts/common.d.ts +238 -0
  35. package/dist/contracts/common.js +175 -0
  36. package/dist/contracts/deployments.d.ts +574 -0
  37. package/dist/contracts/deployments.js +97 -0
  38. package/dist/contracts/device-auth.d.ts +194 -0
  39. package/dist/contracts/device-auth.js +162 -0
  40. package/dist/contracts/domains.d.ts +6115 -0
  41. package/dist/contracts/domains.js +1435 -0
  42. package/dist/contracts/enums.d.ts +196 -0
  43. package/dist/contracts/enums.js +211 -0
  44. package/dist/contracts/error-code-meta.d.ts +1560 -0
  45. package/dist/contracts/error-code-meta.js +400 -0
  46. package/dist/contracts/error-codes.d.ts +13 -0
  47. package/dist/contracts/error-codes.js +416 -0
  48. package/dist/contracts/events.d.ts +398 -0
  49. package/dist/contracts/events.js +320 -0
  50. package/dist/contracts/fast-domain-search.d.ts +19 -0
  51. package/dist/contracts/fast-domain-search.js +22 -0
  52. package/dist/contracts/features.d.ts +240 -0
  53. package/dist/contracts/features.js +406 -0
  54. package/dist/contracts/git.d.ts +288 -0
  55. package/dist/contracts/git.js +116 -0
  56. package/dist/contracts/ids.d.ts +35 -0
  57. package/dist/contracts/ids.js +45 -0
  58. package/dist/contracts/intercom.d.ts +6 -0
  59. package/dist/contracts/intercom.js +5 -0
  60. package/dist/contracts/internal.d.ts +103 -0
  61. package/dist/contracts/internal.js +92 -0
  62. package/dist/contracts/mcp.d.ts +788 -0
  63. package/dist/contracts/mcp.js +161 -0
  64. package/dist/contracts/me.d.ts +81 -0
  65. package/dist/contracts/me.js +104 -0
  66. package/dist/contracts/oauth-resources.d.ts +30 -0
  67. package/dist/contracts/oauth-resources.js +61 -0
  68. package/dist/contracts/operations.d.ts +54 -0
  69. package/dist/contracts/operations.js +14 -0
  70. package/dist/contracts/plan-policy.d.ts +85 -0
  71. package/dist/contracts/plan-policy.js +75 -0
  72. package/dist/contracts/platform.d.ts +359 -0
  73. package/dist/contracts/platform.js +216 -0
  74. package/dist/contracts/push-new.d.ts +156 -0
  75. package/dist/contracts/push-new.js +52 -0
  76. package/dist/contracts/quotas.d.ts +16 -0
  77. package/dist/contracts/quotas.js +36 -0
  78. package/dist/contracts/repository-connections.d.ts +231 -0
  79. package/dist/contracts/repository-connections.js +106 -0
  80. package/dist/contracts/resources.d.ts +529 -0
  81. package/dist/contracts/resources.js +209 -0
  82. package/dist/contracts/routes.d.ts +45 -0
  83. package/dist/contracts/routes.js +31 -0
  84. package/dist/contracts/runtime-api.d.ts +449 -0
  85. package/dist/contracts/runtime-api.js +513 -0
  86. package/dist/contracts/sites.d.ts +393 -0
  87. package/dist/contracts/sites.js +121 -0
  88. package/dist/contracts/slugs.d.ts +31 -0
  89. package/dist/contracts/slugs.js +47 -0
  90. package/dist/contracts/space-config.d.ts +216 -0
  91. package/dist/contracts/space-config.js +237 -0
  92. package/dist/contracts/space-theme.d.ts +25 -0
  93. package/dist/contracts/space-theme.js +49 -0
  94. package/dist/contracts/spaces.d.ts +2760 -0
  95. package/dist/contracts/spaces.js +589 -0
  96. package/dist/contracts/superadmin-activity.d.ts +205 -0
  97. package/dist/contracts/superadmin-activity.js +107 -0
  98. package/dist/contracts/superadmin-emails.d.ts +212 -0
  99. package/dist/contracts/superadmin-emails.js +112 -0
  100. package/dist/contracts/superadmin-queues.d.ts +414 -0
  101. package/dist/contracts/superadmin-queues.js +202 -0
  102. package/dist/contracts/superadmin-runtime.d.ts +27 -0
  103. package/dist/contracts/superadmin-runtime.js +38 -0
  104. package/dist/contracts/superadmin-spaces.d.ts +429 -0
  105. package/dist/contracts/superadmin-spaces.js +82 -0
  106. package/dist/contracts/superadmin-tenants.d.ts +180 -0
  107. package/dist/contracts/superadmin-tenants.js +117 -0
  108. package/dist/contracts/superadmin.d.ts +654 -0
  109. package/dist/contracts/superadmin.js +309 -0
  110. package/dist/contracts/tags.d.ts +1140 -0
  111. package/dist/contracts/tags.js +1050 -0
  112. package/dist/contracts/teams.d.ts +233 -0
  113. package/dist/contracts/teams.js +174 -0
  114. package/dist/contracts/telemetry.d.ts +2 -0
  115. package/dist/contracts/telemetry.js +1 -0
  116. package/dist/contracts/transfers.d.ts +105 -0
  117. package/dist/contracts/transfers.js +48 -0
  118. package/dist/contracts/variables.d.ts +189 -0
  119. package/dist/contracts/variables.js +82 -0
  120. package/dist/contracts/webhooks.d.ts +159 -0
  121. package/dist/contracts/webhooks.js +59 -0
  122. package/dist/contracts/zero.d.ts +1538 -0
  123. package/dist/contracts/zero.js +755 -0
  124. package/dist/docs/agent-prose.d.ts +35 -0
  125. package/dist/docs/agent-prose.js +153 -0
  126. package/dist/docs/agent-setup.d.ts +6 -0
  127. package/dist/docs/agent-setup.js +164 -0
  128. package/dist/docs/agent-solutions.d.ts +110 -0
  129. package/dist/docs/agent-solutions.js +181 -0
  130. package/dist/docs/error-docs.d.ts +12 -0
  131. package/dist/docs/error-docs.js +1601 -0
  132. package/dist/docs/skill-distribution.d.ts +12 -0
  133. package/dist/docs/skill-distribution.js +18 -0
  134. package/dist/domain-exploration.d.ts +108 -0
  135. package/dist/domain-exploration.js +488 -0
  136. package/dist/domain-normalize.d.ts +1 -0
  137. package/dist/domain-normalize.js +14 -0
  138. package/dist/domain-zones.d.ts +1 -0
  139. package/dist/domain-zones.js +5272 -0
  140. package/dist/index.d.ts +1 -0
  141. package/dist/index.js +1 -0
  142. package/dist/utils/access-policy.d.ts +39 -0
  143. package/dist/utils/access-policy.js +232 -0
  144. package/dist/utils/api.d.ts +4 -0
  145. package/dist/utils/api.js +13 -0
  146. package/dist/utils/auth-redirect.d.ts +1 -0
  147. package/dist/utils/auth-redirect.js +48 -0
  148. package/dist/utils/auth.d.ts +5 -0
  149. package/dist/utils/auth.js +13 -0
  150. package/dist/utils/build-settings.d.ts +49 -0
  151. package/dist/utils/build-settings.js +366 -0
  152. package/dist/utils/claim-token.d.ts +1 -0
  153. package/dist/utils/claim-token.js +9 -0
  154. package/dist/utils/collections.d.ts +1 -0
  155. package/dist/utils/collections.js +5 -0
  156. package/dist/utils/concurrency.d.ts +1 -0
  157. package/dist/utils/concurrency.js +18 -0
  158. package/dist/utils/content-type.d.ts +10 -0
  159. package/dist/utils/content-type.js +145 -0
  160. package/dist/utils/error-display.d.ts +7 -0
  161. package/dist/utils/error-display.js +42 -0
  162. package/dist/utils/error.d.ts +1 -0
  163. package/dist/utils/error.js +3 -0
  164. package/dist/utils/generate-space-name.d.ts +14 -0
  165. package/dist/utils/generate-space-name.js +95 -0
  166. package/dist/utils/git-repository.d.ts +5 -0
  167. package/dist/utils/git-repository.js +99 -0
  168. package/dist/utils/guards.d.ts +1 -0
  169. package/dist/utils/guards.js +3 -0
  170. package/dist/utils/publish-detection.d.ts +10 -0
  171. package/dist/utils/publish-detection.js +118 -0
  172. package/dist/utils/publish-policy.d.ts +69 -0
  173. package/dist/utils/publish-policy.js +429 -0
  174. package/dist/utils/query-client.d.ts +7 -0
  175. package/dist/utils/query-client.js +21 -0
  176. package/dist/utils/query-keys.d.ts +75 -0
  177. package/dist/utils/query-keys.js +78 -0
  178. package/dist/utils/runtime-paths.d.ts +7 -0
  179. package/dist/utils/runtime-paths.js +28 -0
  180. package/dist/utils/runtime-upload.d.ts +19 -0
  181. package/dist/utils/runtime-upload.js +27 -0
  182. package/dist/utils/slug.d.ts +5 -0
  183. package/dist/utils/slug.js +13 -0
  184. package/dist/utils/space-config.d.ts +75 -0
  185. package/dist/utils/space-config.js +415 -0
  186. package/dist/utils/space-theme.d.ts +16 -0
  187. package/dist/utils/space-theme.js +89 -0
  188. package/dist/utils/static-runtime-policy.d.ts +17 -0
  189. package/dist/utils/static-runtime-policy.js +103 -0
  190. package/dist/utils/upload-session.d.ts +34 -0
  191. package/dist/utils/upload-session.js +69 -0
  192. package/dist/utils/urls.d.ts +2 -0
  193. package/dist/utils/urls.js +7 -0
  194. package/dist/utils/version-path.d.ts +6 -0
  195. package/dist/utils/version-path.js +51 -0
  196. package/dist/utils/wpcom-auth-redirects.d.ts +14 -0
  197. package/dist/utils/wpcom-auth-redirects.js +49 -0
  198. package/dist/utils/zero-realtime-signature.d.ts +12 -0
  199. package/dist/utils/zero-realtime-signature.js +45 -0
  200. package/dist/vocabulary.d.ts +230 -0
  201. package/dist/vocabulary.js +218 -0
  202. package/package.json +58 -0
@@ -0,0 +1,234 @@
1
+ import { z } from "zod";
2
+ import { CursorPaginationSchema, cursorListQuerySchema } from "./common.js";
3
+ export const collaborationModeSchema = z.enum(["review"]);
4
+ export const annotationThreadStatusSchema = z.enum(["open", "resolved", "archived"]);
5
+ // The space access levels capability follows (SPACEFAST-CAST-PLAN D-2). Invited
6
+ // reviewers are space invitees with one of these levels; the on-page overlay and
7
+ // inbox re-evaluate the effective level server-side at join — this is only the
8
+ // stored grant the dashboard manages.
9
+ export const collaborationReviewerLevelSchema = z.enum(["viewer", "commenter", "editor"]);
10
+ // An invited reviewer: a person (by email) granted a level on the space's review
11
+ // surface. Kept in settingsJson so adding/removing reviewers never requires a
12
+ // republish (read from the ETag'd overlay-config, SPACEFAST-CAST-PLAN §4.2).
13
+ export const collaborationInvitedReviewerSchema = z.object({
14
+ email: z.string().email(),
15
+ level: collaborationReviewerLevelSchema,
16
+ });
17
+ export const collaborationSettingsSchema = z
18
+ .object({
19
+ anonymousReviewers: z.boolean().optional(),
20
+ invitedReviewers: z.array(collaborationInvitedReviewerSchema).optional(),
21
+ // Whether comments are surfaced on the live/published host (vs preview-only).
22
+ // The published loader (SPACEFAST-CAST-PLAN §4.2) mounts the orb on a live
23
+ // host only when this is true; toggling it never requires a republish — the
24
+ // always-injected inert tag reads behavior from the ETag'd overlay-config.
25
+ publishedComments: z.boolean().optional(),
26
+ allowedOrigins: z.array(z.string().min(1)).optional(),
27
+ notificationPreferences: z
28
+ .object({
29
+ newThreads: z.boolean().default(true),
30
+ newReplies: z.boolean().default(true),
31
+ statusChanges: z.boolean().default(true),
32
+ })
33
+ .partial()
34
+ .optional(),
35
+ })
36
+ .catchall(z.unknown());
37
+ export const collaborationSchema = z.object({
38
+ spaceId: z.string(),
39
+ enabled: z.boolean(),
40
+ mode: collaborationModeSchema,
41
+ castResourceId: z.string().nullable(),
42
+ castResourceKey: z.string().nullable(),
43
+ settings: collaborationSettingsSchema,
44
+ createdAt: z.string().datetime().nullable(),
45
+ updatedAt: z.string().datetime().nullable(),
46
+ });
47
+ export const collaborationUpdateSchema = z.object({
48
+ enabled: z.boolean(),
49
+ mode: collaborationModeSchema.optional(),
50
+ settings: collaborationSettingsSchema.optional(),
51
+ });
52
+ export const collaborationTokenRequestSchema = z.object({
53
+ versionId: z.string().min(1).optional(),
54
+ pagePath: z.string().min(1).default("/"),
55
+ displayName: z.string().min(1).max(120).optional(),
56
+ });
57
+ export const collaborationTokenResponseSchema = z.object({
58
+ token: z.string(),
59
+ expiresAt: z.string().datetime(),
60
+ cast: z.object({
61
+ resource: z.string(),
62
+ room: z.string().nullable(),
63
+ loaderUrl: z.string().url(),
64
+ }),
65
+ });
66
+ export const collaborationHandoffRequestSchema = z.object({
67
+ versionId: z.string().min(1),
68
+ pagePath: z.string().min(1).default("/"),
69
+ });
70
+ export const collaborationHandoffResponseSchema = z.object({
71
+ handoffToken: z.string(),
72
+ expiresAt: z.string().datetime(),
73
+ url: z.string().url().nullable(),
74
+ });
75
+ export const collaborationHandoffExchangeSchema = z.object({
76
+ handoffToken: z.string().min(16),
77
+ });
78
+ export const realtimeTokenRequestSchema = z.object({
79
+ versionId: z.string().optional(),
80
+ scope: z.enum(["space", "version"]).default("space"),
81
+ });
82
+ export const realtimeTokenResponseSchema = z.object({
83
+ token: z.string(),
84
+ expiresAt: z.string().datetime(),
85
+ cast: z.object({
86
+ resource: z.string(),
87
+ room: z.string(),
88
+ loaderUrl: z.string().url(),
89
+ }),
90
+ });
91
+ export const noticePublishSchema = z.object({
92
+ versionId: z.string().optional(),
93
+ kind: z.string().min(1).max(80).default("version.ready"),
94
+ title: z.string().min(1).max(160),
95
+ message: z.string().min(1).max(2_000),
96
+ level: z.enum(["info", "success", "warning", "error"]).default("info"),
97
+ payload: z.record(z.string(), z.unknown()).optional(),
98
+ durable: z.boolean().default(true),
99
+ idempotencyKey: z.string().min(1).max(320).optional(),
100
+ });
101
+ export const noticePublishResponseSchema = z.object({
102
+ status: z.string(),
103
+ event: z.record(z.string(), z.unknown()).nullable(),
104
+ broadcast: z.record(z.string(), z.unknown()).nullable(),
105
+ });
106
+ export const overlayConfigQuerySchema = z.object({
107
+ path: z.string().min(1).optional(),
108
+ host: z.string().min(1).optional(),
109
+ });
110
+ export const overlayConfigSchema = z.object({
111
+ enabled: z.boolean(),
112
+ features: z.object({
113
+ annotations: z.boolean(),
114
+ anonymousReviewers: z.boolean(),
115
+ notices: z.boolean(),
116
+ }),
117
+ cast: z
118
+ .object({
119
+ loaderUrl: z.string().url(),
120
+ resource: z.string(),
121
+ room: z.string(),
122
+ wsUrl: z.string().url().nullable().optional(),
123
+ inboxUrl: z.string().url().nullable().optional(),
124
+ threadUrl: z.string().url().nullable().optional(),
125
+ tokenEndpoint: z.string().url(),
126
+ handoffEndpoint: z.string().url(),
127
+ authBridgeUrl: z.string().url(),
128
+ })
129
+ .nullable(),
130
+ });
131
+ // Public (cookie-optional) space-level overlay config (SPACEFAST-CAST-PLAN §3.2,
132
+ // shared interfaces). Unlike the per-version overlay-config above, this is served
133
+ // to anonymous public visitors with no version id, cross-origin from an arbitrary
134
+ // published host. It returns ONLY the data a tiny loader needs to decide whether
135
+ // to mount the orb and which room/embed/token URLs to use — never a token.
136
+ export const publicOverlayConfigQuerySchema = z.object({
137
+ path: z.string().min(1).optional(),
138
+ });
139
+ export const publicOverlayConfigSchema = z.object({
140
+ // Whether collaboration is enabled for the space at all (the orb may mount).
141
+ enabled: z.boolean(),
142
+ // Whether comments are enabled on the live/published host (vs preview-only).
143
+ publishedComments: z.boolean(),
144
+ // Whether anonymous public visitors may join and comment without opening the
145
+ // auth bridge. The channel remains the authority for the actual action.
146
+ anonymousReviewers: z.boolean(),
147
+ // The room key for this page on the current live version (null when there is
148
+ // no ready version to anchor a room to).
149
+ room: z.string().nullable(),
150
+ // Cast resource key the SDK should join under.
151
+ resourceKey: z.string().nullable(),
152
+ // The current live version this page resolves to (null = no ready version).
153
+ version: z.object({
154
+ id: z.string().nullable(),
155
+ current: z.string().nullable(),
156
+ }),
157
+ // The Cast overlay SDK + realtime/embed/token endpoints the loader uses.
158
+ sdkUrl: z.string().url(),
159
+ wsUrl: z.string().nullable(),
160
+ inboxUrl: z.string().nullable(),
161
+ threadUrl: z.string().nullable(),
162
+ tokenUrl: z.string().url(),
163
+ // The cross-origin auth-bridge popup URL the published loader opens to mint a
164
+ // token without a third-party cookie (SPACEFAST-CAST-PLAN §4.2). Space-scoped
165
+ // so it works on any published host (no immutable version is in play).
166
+ authBridgeUrl: z.string().url(),
167
+ // The caller's effective space access level when resolvable from a session;
168
+ // null for anonymous public callers (no session cookie reaches this origin).
169
+ level: z.string().nullable(),
170
+ });
171
+ export const annotationAuthorSchema = z.object({
172
+ kind: z.string().nullable(),
173
+ id: z.string().nullable(),
174
+ name: z.string().nullable(),
175
+ });
176
+ export const annotationTargetSchema = z.record(z.string(), z.unknown()).nullable();
177
+ export const annotationThreadSchema = z.object({
178
+ id: z.string(),
179
+ castThreadId: z.string(),
180
+ spaceId: z.string(),
181
+ versionId: z.string().nullable(),
182
+ channel: z.string().nullable(),
183
+ pagePath: z.string(),
184
+ url: z.string().nullable(),
185
+ status: annotationThreadStatusSchema,
186
+ body: z.string().nullable(),
187
+ author: annotationAuthorSchema.nullable(),
188
+ target: annotationTargetSchema,
189
+ comments: z.array(z.record(z.string(), z.unknown())),
190
+ permalink: z.string().nullable(),
191
+ updatedAt: z.string().datetime().nullable(),
192
+ });
193
+ export const annotationListQuerySchema = cursorListQuerySchema.extend({
194
+ versionId: z.string().optional(),
195
+ status: annotationThreadStatusSchema.optional(),
196
+ pagePath: z.string().optional(),
197
+ });
198
+ export const annotationCreateSchema = z.object({
199
+ pagePath: z.string().min(1).default("/"),
200
+ body: z.string().min(1).max(16_000),
201
+ target: annotationTargetSchema.optional(),
202
+ idempotencyKey: z.string().min(1).max(320).optional(),
203
+ });
204
+ export const annotationScreenshotCreateSchema = z.object({
205
+ versionId: z.string().min(1),
206
+ pagePath: z.string().min(1).default("/"),
207
+ contentType: z.enum(["image/png", "image/jpeg", "image/webp"]),
208
+ contentBase64: z.string().min(1),
209
+ });
210
+ export const annotationScreenshotSchema = z.object({
211
+ id: z.string(),
212
+ key: z.string(),
213
+ url: z.string().url(),
214
+ expiresAt: z.string().datetime(),
215
+ });
216
+ export const annotationReplySchema = z.object({
217
+ body: z.string().min(1).max(16_000),
218
+ idempotencyKey: z.string().min(1).max(320).optional(),
219
+ });
220
+ export const annotationPatchSchema = z.object({
221
+ status: annotationThreadStatusSchema.optional(),
222
+ });
223
+ export const annotationExportQuerySchema = z.object({
224
+ format: z.enum(["markdown", "json"]).default("markdown"),
225
+ status: annotationThreadStatusSchema.optional(),
226
+ });
227
+ export const annotationListResponseSchema = z.object({
228
+ data: z.array(annotationThreadSchema),
229
+ pagination: CursorPaginationSchema,
230
+ });
231
+ export const annotationExportResponseSchema = z.object({
232
+ format: z.enum(["markdown", "json"]),
233
+ content: z.string(),
234
+ });