@spacefast/common 0.2.1 → 0.4.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 (226) hide show
  1. package/dist/agents/marketplace-prompts.d.ts +1 -0
  2. package/dist/agents/marketplace-prompts.js +6 -0
  3. package/dist/agents/registry/core.d.ts +4 -12
  4. package/dist/agents/registry/core.js +7 -28
  5. package/dist/config/domains.d.ts +10 -8
  6. package/dist/config/domains.js +4 -7
  7. package/dist/contracts/access-core.d.ts +135 -0
  8. package/dist/contracts/access-core.js +242 -0
  9. package/dist/contracts/access-profiles.d.ts +8 -8
  10. package/dist/contracts/access-profiles.js +8 -8
  11. package/dist/contracts/access.d.ts +14 -103
  12. package/dist/contracts/access.js +10 -210
  13. package/dist/contracts/activity.d.ts +54 -55
  14. package/dist/contracts/activity.js +38 -9
  15. package/dist/contracts/api-keys.d.ts +69 -26
  16. package/dist/contracts/api-keys.js +29 -2
  17. package/dist/contracts/application-journal.d.ts +197 -4
  18. package/dist/contracts/application-journal.js +97 -16
  19. package/dist/contracts/auth.d.ts +20 -0
  20. package/dist/contracts/auth.js +18 -0
  21. package/dist/contracts/beta.d.ts +13 -0
  22. package/dist/contracts/beta.js +28 -0
  23. package/dist/contracts/billing.d.ts +2 -2
  24. package/dist/contracts/bootstrap.d.ts +23 -6
  25. package/dist/contracts/builds.d.ts +24 -4
  26. package/dist/contracts/builds.js +16 -4
  27. package/dist/contracts/channels.d.ts +43 -0
  28. package/dist/contracts/channels.js +22 -6
  29. package/dist/contracts/comments.d.ts +49 -0
  30. package/dist/contracts/comments.js +61 -2
  31. package/dist/contracts/commerce.d.ts +19 -13
  32. package/dist/contracts/connector-access.d.ts +28 -0
  33. package/dist/contracts/connector-access.js +31 -0
  34. package/dist/contracts/connectors.d.ts +2382 -0
  35. package/dist/contracts/connectors.js +941 -0
  36. package/dist/contracts/content-contract-verification.d.ts +112 -58
  37. package/dist/contracts/content-contract-verification.js +42 -54
  38. package/dist/contracts/content-model-emit.d.ts +97 -0
  39. package/dist/contracts/content-model-emit.js +306 -0
  40. package/dist/contracts/content-model-sdk.d.ts +101 -0
  41. package/dist/contracts/content-model-sdk.js +232 -0
  42. package/dist/contracts/{content-program.d.ts → content-model.d.ts} +338 -82
  43. package/dist/contracts/{content-program.js → content-model.js} +291 -63
  44. package/dist/contracts/content-platform-fixture.d.ts +380 -110
  45. package/dist/contracts/content-platform-fixture.js +8 -8
  46. package/dist/contracts/content-sync.d.ts +197 -74
  47. package/dist/contracts/content-sync.js +98 -37
  48. package/dist/contracts/content.d.ts +30 -422
  49. package/dist/contracts/content.js +34 -294
  50. package/dist/contracts/dashboard-prefs.d.ts +10 -3
  51. package/dist/contracts/dashboard-prefs.js +6 -3
  52. package/dist/contracts/data-location.d.ts +9 -0
  53. package/dist/contracts/data-location.js +7 -0
  54. package/dist/contracts/deployment-comparison.d.ts +67 -0
  55. package/dist/contracts/deployment-comparison.js +68 -0
  56. package/dist/contracts/device-auth.d.ts +55 -11
  57. package/dist/contracts/domains.d.ts +40 -16
  58. package/dist/contracts/domains.js +23 -0
  59. package/dist/contracts/enums.d.ts +1 -10
  60. package/dist/contracts/enums.js +0 -15
  61. package/dist/contracts/error-code-meta.d.ts +388 -20
  62. package/dist/contracts/error-code-meta.js +201 -5
  63. package/dist/contracts/error-codes.d.ts +17 -4
  64. package/dist/contracts/error-codes.js +109 -10
  65. package/dist/contracts/events.d.ts +5 -0
  66. package/dist/contracts/events.js +12 -3
  67. package/dist/contracts/execution.d.ts +5 -1
  68. package/dist/contracts/execution.js +4 -0
  69. package/dist/contracts/feature-lifecycle.d.ts +53 -20
  70. package/dist/contracts/feature-lifecycle.js +65 -23
  71. package/dist/contracts/features.d.ts +57 -31
  72. package/dist/contracts/features.js +0 -1
  73. package/dist/contracts/feedback.d.ts +124 -0
  74. package/dist/contracts/feedback.js +64 -0
  75. package/dist/contracts/fixtures/content-model-sdk-v1.generated.d.ts +129 -0
  76. package/dist/contracts/fixtures/content-model-sdk-v1.generated.js +48 -0
  77. package/dist/contracts/fixtures/content-platform-v1.json +101 -49
  78. package/dist/contracts/frame-session.d.ts +60 -10
  79. package/dist/contracts/frame-session.js +52 -12
  80. package/dist/contracts/functions.d.ts +28 -2
  81. package/dist/contracts/functions.js +25 -2
  82. package/dist/contracts/grant-copy.d.ts +2 -0
  83. package/dist/contracts/grant-copy.js +2 -0
  84. package/dist/contracts/grants-core.d.ts +95 -0
  85. package/dist/contracts/grants-core.js +435 -0
  86. package/dist/contracts/grants.d.ts +13 -84
  87. package/dist/contracts/grants.js +21 -369
  88. package/dist/contracts/ids-core.d.ts +11 -0
  89. package/dist/contracts/ids-core.js +14 -0
  90. package/dist/contracts/ids.d.ts +7 -4
  91. package/dist/contracts/ids.js +12 -4
  92. package/dist/contracts/internal.d.ts +18 -0
  93. package/dist/contracts/internal.js +19 -0
  94. package/dist/contracts/mcp.d.ts +8 -18
  95. package/dist/contracts/mcp.js +2 -23
  96. package/dist/contracts/notifications.d.ts +4 -1
  97. package/dist/contracts/notifications.js +1 -0
  98. package/dist/contracts/oauth-resources.d.ts +55 -9
  99. package/dist/contracts/oauth-resources.js +64 -1
  100. package/dist/contracts/oauth-scope-actions.d.ts +27 -3
  101. package/dist/contracts/oauth-scope-actions.js +18 -8
  102. package/dist/contracts/operations.d.ts +1 -1
  103. package/dist/contracts/partner-account.d.ts +629 -0
  104. package/dist/contracts/partner-account.js +18 -0
  105. package/dist/contracts/principal-assertion.d.ts +74 -1
  106. package/dist/contracts/principal-assertion.js +67 -3
  107. package/dist/contracts/publish-archive.d.ts +22 -1
  108. package/dist/contracts/push-new.d.ts +3 -3
  109. package/dist/contracts/push-new.js +1 -1
  110. package/dist/contracts/quotas.js +2 -1
  111. package/dist/contracts/repository-connections.d.ts +10 -6
  112. package/dist/contracts/repository-connections.js +15 -0
  113. package/dist/contracts/resources.d.ts +6 -5
  114. package/dist/contracts/resources.js +7 -0
  115. package/dist/contracts/route-inventory.d.ts +74 -19
  116. package/dist/contracts/route-inventory.js +20 -6
  117. package/dist/contracts/runtime-api.d.ts +415 -4
  118. package/dist/contracts/runtime-api.js +60 -15
  119. package/dist/contracts/runtime-app.d.ts +6 -1
  120. package/dist/contracts/runtime-components.d.ts +646 -18
  121. package/dist/contracts/runtime-components.js +304 -188
  122. package/dist/contracts/runtime-services.d.ts +15 -0
  123. package/dist/contracts/runtime-services.js +25 -0
  124. package/dist/contracts/runtime-storage.d.ts +32 -0
  125. package/dist/contracts/runtime-storage.js +37 -0
  126. package/dist/contracts/source-workspaces.d.ts +511 -0
  127. package/dist/contracts/source-workspaces.js +276 -0
  128. package/dist/contracts/space-config-spacefast.d.ts +394 -0
  129. package/dist/contracts/space-config-spacefast.js +70 -0
  130. package/dist/contracts/space-config.d.ts +177 -90
  131. package/dist/contracts/space-config.js +77 -92
  132. package/dist/contracts/spaces.d.ts +132 -24
  133. package/dist/contracts/spaces.js +77 -13
  134. package/dist/contracts/superadmin-connectors.d.ts +371 -0
  135. package/dist/contracts/superadmin-connectors.js +61 -0
  136. package/dist/contracts/superadmin-emails.d.ts +1 -1
  137. package/dist/contracts/superadmin-emails.js +1 -1
  138. package/dist/contracts/superadmin-entities.d.ts +105 -0
  139. package/dist/contracts/superadmin-entities.js +64 -0
  140. package/dist/contracts/superadmin-runtime.d.ts +35 -116
  141. package/dist/contracts/superadmin-runtime.js +13 -69
  142. package/dist/contracts/superadmin-search.d.ts +12 -14
  143. package/dist/contracts/superadmin-search.js +2 -2
  144. package/dist/contracts/superadmin-spaces.d.ts +15 -72
  145. package/dist/contracts/superadmin-spaces.js +2 -7
  146. package/dist/contracts/superadmin-teams.d.ts +12 -0
  147. package/dist/contracts/superadmin-teams.js +7 -1
  148. package/dist/contracts/superadmin-tenants.d.ts +44 -16
  149. package/dist/contracts/superadmin.d.ts +2 -2
  150. package/dist/contracts/tags.d.ts +12 -12
  151. package/dist/contracts/teams.d.ts +29 -1
  152. package/dist/contracts/teams.js +24 -2
  153. package/dist/contracts/tenants.d.ts +98 -0
  154. package/dist/contracts/tenants.js +20 -0
  155. package/dist/contracts/transfers.d.ts +92 -0
  156. package/dist/contracts/transfers.js +37 -0
  157. package/dist/contracts/usage.d.ts +9 -1
  158. package/dist/contracts/usage.js +2 -0
  159. package/dist/contracts/visual-review.d.ts +448 -0
  160. package/dist/contracts/visual-review.js +156 -0
  161. package/dist/contracts/wordpress-php-toolkit.json +9 -0
  162. package/dist/contracts/work-mode.d.ts +24 -0
  163. package/dist/contracts/work-mode.js +17 -0
  164. package/dist/contracts/wp-cli.d.ts +66 -0
  165. package/dist/contracts/wp-cli.js +68 -0
  166. package/dist/contracts/zero-catalog.d.ts +29 -0
  167. package/dist/contracts/zero-catalog.js +55 -0
  168. package/dist/contracts/zero-platform-abilities.generated.d.ts +31 -0
  169. package/dist/contracts/zero-platform-abilities.generated.js +373 -0
  170. package/dist/contracts/zero-spacefast.d.ts +444 -0
  171. package/dist/contracts/zero-spacefast.js +149 -0
  172. package/dist/contracts/zero-types.d.ts +47 -0
  173. package/dist/contracts/zero-types.js +263 -0
  174. package/dist/contracts/zero.d.ts +781 -14
  175. package/dist/contracts/zero.js +204 -10
  176. package/dist/dashboard-paths/index.d.ts +2 -2
  177. package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -2
  178. package/dist/dashboard-paths/route-reservations.generated.js +5 -0
  179. package/dist/docs/agent-prose.d.ts +1 -1
  180. package/dist/docs/agent-prose.js +15 -18
  181. package/dist/docs/agent-setup.d.ts +1 -1
  182. package/dist/docs/agent-setup.js +5 -13
  183. package/dist/docs/catalog.d.ts +64 -28
  184. package/dist/docs/catalog.js +155 -28
  185. package/dist/docs/error-docs.d.ts +365 -17
  186. package/dist/docs/error-docs.js +369 -21
  187. package/dist/docs/reference-urls.js +1 -1
  188. package/dist/docs/skills.d.ts +84 -84
  189. package/dist/docs/skills.js +66 -47
  190. package/dist/docs/start-prompts.d.ts +14 -0
  191. package/dist/docs/start-prompts.js +20 -0
  192. package/dist/utils/account-labels.d.ts +7 -0
  193. package/dist/utils/account-labels.js +15 -0
  194. package/dist/utils/auth.d.ts +1 -0
  195. package/dist/utils/auth.js +1 -0
  196. package/dist/utils/credential-policy.d.ts +22 -1
  197. package/dist/utils/credential-policy.js +55 -6
  198. package/dist/utils/local-space-state.d.ts +7 -0
  199. package/dist/utils/local-space-state.js +7 -0
  200. package/dist/utils/logger.d.ts +34 -0
  201. package/dist/utils/logger.js +144 -0
  202. package/dist/utils/page-routes.d.ts +9 -0
  203. package/dist/utils/page-routes.js +82 -0
  204. package/dist/utils/pages.d.ts +2 -0
  205. package/dist/utils/pages.js +7 -0
  206. package/dist/utils/publish-form-data.d.ts +2 -0
  207. package/dist/utils/publish-form-data.js +2 -0
  208. package/dist/utils/publish-policy-spacefast.d.ts +13 -0
  209. package/dist/utils/publish-policy-spacefast.js +117 -0
  210. package/dist/utils/publish-policy.d.ts +22 -16
  211. package/dist/utils/publish-policy.fixtures.json +15 -0
  212. package/dist/utils/publish-policy.js +62 -139
  213. package/dist/utils/query-client.js +9 -1
  214. package/dist/utils/runtime-upload.d.ts +4 -0
  215. package/dist/utils/runtime-upload.js +5 -0
  216. package/dist/utils/space-config.d.ts +2 -3
  217. package/dist/utils/space-config.js +1 -1
  218. package/dist/utils/uploaded-source.d.ts +4 -0
  219. package/dist/utils/uploaded-source.js +12 -0
  220. package/dist/visual-review.d.ts +4 -0
  221. package/dist/visual-review.js +208 -0
  222. package/dist/vocabulary.d.ts +38 -0
  223. package/dist/vocabulary.js +55 -0
  224. package/package.json +7 -2
  225. package/dist/agents/registry/deeplink-probes.d.ts +0 -23
  226. package/dist/agents/registry/deeplink-probes.js +0 -18
@@ -1,29 +1,39 @@
1
1
  import { z } from "zod";
2
2
  import { ProblemDetailsSchema } from "./common.js";
3
- import { contentProgramSha256Schema, contentSyncBindingIdSchema, contentSyncSourcePathSchema, } from "./content-program.js";
4
- import { registeredIdSchema } from "./ids.js";
5
- const syncMarkdownSchema = z.string().max(1_000_000);
3
+ import { contentModelSha256Schema, contentSyncBindingIdSchema, contentSyncFormatSchema, contentSyncSourcePathSchema, } from "./content-model.js";
4
+ // The `op_` shape is this contract's wire format, validated through the
5
+ // prefixed-id grammar rather than the host's prefix registry.
6
+ import { prefixedIdSchema } from "./ids-core.js";
7
+ /**
8
+ * The reconciliation contract names the bytes a repo file holds `text`, not
9
+ * `markdown`: the algorithm — common base, compare-and-swap, three-way merge —
10
+ * is the same whichever serializer produced them, and only the `format`
11
+ * discriminant says which one did. Spelling the format into the field names
12
+ * would mean a second contract per format and a second drain to carry it.
13
+ */
14
+ const syncTextSchema = z.string().max(1_000_000);
6
15
  const contentSyncSourceRevisionSchema = z.string().min(1).max(512);
7
16
  export const syncLedgerV1Schema = z
8
17
  .object({
9
18
  version: z.literal(1),
10
19
  bindingId: contentSyncBindingIdSchema,
11
20
  source: contentSyncSourcePathSchema,
12
- baseMarkdown: syncMarkdownSchema,
13
- markdownDigest: contentProgramSha256Schema,
14
- blocksDigest: contentProgramSha256Schema,
21
+ format: contentSyncFormatSchema,
22
+ baseText: syncTextSchema,
23
+ textDigest: contentModelSha256Schema,
24
+ blocksDigest: contentModelSha256Schema,
15
25
  wordpressRevisionId: z.number().int().positive(),
16
26
  serializerVersion: z.literal(1),
17
- revision: contentProgramSha256Schema,
27
+ revision: contentModelSha256Schema,
18
28
  lastDirection: z.enum(["push", "pull"]),
19
29
  })
20
30
  .strict();
21
31
  const syncReconcileInputFields = {
22
32
  bindingId: contentSyncBindingIdSchema,
23
33
  source: contentSyncSourcePathSchema,
24
- markdown: syncMarkdownSchema,
34
+ text: syncTextSchema,
25
35
  observedSourceRevision: contentSyncSourceRevisionSchema,
26
- operationId: registeredIdSchema("op"),
36
+ operationId: prefixedIdSchema("op", "Operation"),
27
37
  };
28
38
  export const syncReconcileInputV1Schema = z.discriminatedUnion("state", [
29
39
  z.object({ ...syncReconcileInputFields, state: z.literal("initial") }).strict(),
@@ -31,14 +41,31 @@ export const syncReconcileInputV1Schema = z.discriminatedUnion("state", [
31
41
  .object({
32
42
  ...syncReconcileInputFields,
33
43
  state: z.literal("bound"),
34
- baseRevision: contentProgramSha256Schema,
44
+ baseRevision: contentModelSha256Schema,
35
45
  })
36
46
  .strict(),
37
47
  ]);
48
+ /**
49
+ * The file a reconciliation or a materialization decided the repository should
50
+ * hold, and the revision it may be swapped in against.
51
+ *
52
+ * Both lanes hand back the same shape because the control plane lands them the
53
+ * same way: a compare-and-swap on the blob the write was prepared against,
54
+ * where `"absent"` means the file is not there yet.
55
+ */
56
+ const syncPreparedSourceWriteSchema = z
57
+ .object({
58
+ state: z.literal("prepared"),
59
+ source: contentSyncSourcePathSchema,
60
+ expectedSourceRevision: contentSyncSourceRevisionSchema,
61
+ text: syncTextSchema,
62
+ textDigest: contentModelSha256Schema,
63
+ })
64
+ .strict();
38
65
  const syncReceiptFields = {
39
- format: z.literal("spacefast.markdown-sync"),
66
+ format: z.literal("spacefast.content-sync"),
40
67
  version: z.literal(1),
41
- operationId: registeredIdSchema("op"),
68
+ operationId: prefixedIdSchema("op", "Operation"),
42
69
  ledger: syncLedgerV1Schema,
43
70
  };
44
71
  export const syncReceiptV1Schema = z
@@ -50,15 +77,7 @@ export const syncReceiptV1Schema = z
50
77
  .object({
51
78
  ...syncReceiptFields,
52
79
  status: z.literal("pulled"),
53
- sourceWrite: z
54
- .object({
55
- state: z.literal("prepared"),
56
- source: contentSyncSourcePathSchema,
57
- expectedSourceRevision: contentSyncSourceRevisionSchema,
58
- markdown: syncMarkdownSchema,
59
- markdownDigest: contentProgramSha256Schema,
60
- })
61
- .strict(),
80
+ sourceWrite: syncPreparedSourceWriteSchema,
62
81
  })
63
82
  .strict(),
64
83
  ])
@@ -80,21 +99,43 @@ export const syncReceiptV1Schema = z
80
99
  message: "prepared source write must target the ledger source",
81
100
  });
82
101
  }
83
- if (receipt.sourceWrite.markdown !== receipt.ledger.baseMarkdown) {
102
+ if (receipt.sourceWrite.text !== receipt.ledger.baseText) {
84
103
  context.addIssue({
85
104
  code: "custom",
86
- path: ["sourceWrite", "markdown"],
87
- message: "prepared source write must contain the reconciled ledger markdown",
105
+ path: ["sourceWrite", "text"],
106
+ message: "prepared source write must contain the reconciled ledger text",
88
107
  });
89
108
  }
90
- if (receipt.sourceWrite.markdownDigest !== receipt.ledger.markdownDigest) {
109
+ if (receipt.sourceWrite.textDigest !== receipt.ledger.textDigest) {
91
110
  context.addIssue({
92
111
  code: "custom",
93
- path: ["sourceWrite", "markdownDigest"],
94
- message: "prepared source write digest must match the ledger markdown digest",
112
+ path: ["sourceWrite", "textDigest"],
113
+ message: "prepared source write digest must match the ledger text digest",
95
114
  });
96
115
  }
97
116
  });
117
+ /**
118
+ * The file a document's bytes belong in, for a document that has none.
119
+ *
120
+ * Two callers, one answer. A post the editor created under a materializing
121
+ * collection has never had a file; a compile-class binding's page has a file
122
+ * nothing can write back to. Both get a NEW path and the canonical text of what
123
+ * WordPress holds, so the write compares against `"absent"` and no ledger base
124
+ * moves — there is no common base yet to move.
125
+ *
126
+ * `skipped` is that same answer replayed for a post a materialization was
127
+ * already prepared for, and carries the same write, so a retry lands exactly
128
+ * what the first attempt did.
129
+ */
130
+ export const syncMaterializeReceiptV1Schema = z
131
+ .object({
132
+ format: z.literal("spacefast.content-materialize"),
133
+ version: z.literal(1),
134
+ status: z.enum(["materialized", "skipped"]),
135
+ operationId: prefixedIdSchema("op", "Operation"),
136
+ sourceWrite: syncPreparedSourceWriteSchema,
137
+ })
138
+ .strict();
98
139
  export const syncReconciliationExchangeV1Schema = z
99
140
  .object({
100
141
  request: syncReconcileInputV1Schema,
@@ -135,22 +176,42 @@ export const syncReconciliationExchangeV1Schema = z
135
176
  });
136
177
  export const syncSourceAcknowledgementV1Schema = z
137
178
  .object({
138
- format: z.literal("spacefast.markdown-sync-ack"),
179
+ format: z.literal("spacefast.content-sync-ack"),
139
180
  version: z.literal(1),
140
181
  bindingId: contentSyncBindingIdSchema,
141
- operationId: registeredIdSchema("op"),
142
- sourceRevision: contentSyncSourceRevisionSchema,
143
- baseRevision: contentProgramSha256Schema,
182
+ operationId: prefixedIdSchema("op", "Operation"),
183
+ // Deliberately no `sourceRevision`. The caller's own revision for the bytes
184
+ // it just wrote has nowhere to live: the ledger's `revision` is a digest of
185
+ // the ledger itself, so storing it there would move the very revision this
186
+ // acknowledgement fails closed on. A field validated and then discarded
187
+ // implies a guarantee the runtime does not make, so it is not in the
188
+ // contract. Give it a home in the ledger deliberately if a caller ever
189
+ // needs source-revision tracking.
190
+ baseRevision: contentModelSha256Schema,
191
+ })
192
+ .strict();
193
+ /**
194
+ * The answer to an acknowledgement: the ledger the prepared source write closed
195
+ * against. It echoes the ledger rather than a bare ack so the caller can prove
196
+ * which common base its file now matches.
197
+ */
198
+ export const syncAcknowledgementReceiptV1Schema = z
199
+ .object({
200
+ format: z.literal("spacefast.content-sync-ack-receipt"),
201
+ version: z.literal(1),
202
+ status: z.literal("acknowledged"),
203
+ operationId: prefixedIdSchema("op", "Operation"),
204
+ ledger: syncLedgerV1Schema,
144
205
  })
145
206
  .strict();
146
207
  const syncConflictRepresentationSchema = z
147
208
  .object({
148
- markdown: syncMarkdownSchema,
149
- digest: contentProgramSha256Schema,
209
+ text: syncTextSchema,
210
+ digest: contentModelSha256Schema,
150
211
  revision: z.string().min(1).max(512),
151
212
  })
152
213
  .strict();
153
- export const contentMarkdownConflictDetailsSchema = z
214
+ export const contentSyncConflictDetailsSchema = z
154
215
  .object({
155
216
  bindingId: contentSyncBindingIdSchema,
156
217
  base: syncConflictRepresentationSchema,
@@ -160,8 +221,8 @@ export const contentMarkdownConflictDetailsSchema = z
160
221
  }),
161
222
  })
162
223
  .strict();
163
- export const contentMarkdownConflictProblemSchema = ProblemDetailsSchema.extend({
224
+ export const contentSyncConflictProblemSchema = ProblemDetailsSchema.extend({
164
225
  status: z.literal(409),
165
- code: z.literal("content_markdown_conflict"),
166
- details: contentMarkdownConflictDetailsSchema,
226
+ code: z.literal("content_sync_conflict"),
227
+ details: contentSyncConflictDetailsSchema,
167
228
  });
@@ -1,432 +1,40 @@
1
1
  import { z } from "zod";
2
- export declare const CONTENT_SCHEMA_FORMAT: "spacefast.content.schema";
3
- export declare const CONTENT_QUERY_FORMAT: "spacefast.content.query";
4
- export declare const CONTENT_SOURCE_FORMAT: "spacefast.content.source";
5
- export declare const CONTENT_RENDER_FORMAT: "spacefast.content.render";
6
- export declare const CONTENT_API_VERSION: 1;
7
- export declare const CONTENT_CONFIG_FILE: "content.config.ts";
8
- export declare const CONTENT_CONFIG_DIRECTORY: "content/";
9
- export declare const CONTENT_CAPS: {
10
- readonly batchQueries: 25;
11
- readonly collections: 50;
12
- readonly fieldsPerCollection: 100;
13
- readonly filterClauses: 24;
14
- readonly pageSize: 100;
15
- readonly selectFields: 100;
16
- readonly sourceBytes: number;
17
- readonly sourceFiles: 64;
18
- };
19
- export declare const contentSourceBundleSchema: z.ZodObject<{
20
- format: z.ZodLiteral<"spacefast.content.source">;
21
- version: z.ZodLiteral<1>;
22
- entry: z.ZodDefault<z.ZodString>;
23
- files: z.ZodRecord<z.ZodString, z.ZodString>;
24
- phpOnly: z.ZodDefault<z.ZodBoolean>;
25
- }, z.core.$strict>;
26
- export declare const contentCompileResponseSchema: z.ZodObject<{
27
- revision: z.ZodString;
28
- schemaVersion: z.ZodNumber;
29
- collections: z.ZodNumber;
30
- fields: z.ZodNumber;
31
- hooks: z.ZodNumber;
32
- quickJsHooks: z.ZodNumber;
33
- }, z.core.$strict>;
34
- export declare const contentReleaseActivateResponseSchema: z.ZodObject<{
35
- revision: z.ZodNullable<z.ZodString>;
36
- }, z.core.$strict>;
37
- export declare const contentRenderInputSchema: z.ZodObject<{
38
- format: z.ZodLiteral<"spacefast.content.render">;
39
- version: z.ZodLiteral<1>;
40
- collection: z.ZodDefault<z.ZodString>;
41
- id: z.ZodOptional<z.ZodNumber>;
42
- slug: z.ZodOptional<z.ZodString>;
43
- field: z.ZodDefault<z.ZodString>;
44
- output: z.ZodDefault<z.ZodEnum<{
45
- blocks: "blocks";
46
- html: "html";
2
+ /**
3
+ * Where a content-editor launch lands.
4
+ *
5
+ * The requested screen selects the initial Zero view. The control plane turns
6
+ * it into a signed access grant before the runtime creates the session, so the
7
+ * iframe cannot widen its own navigation permissions.
8
+ *
9
+ * `collections` and `users` are the Content dashboard's two screens.
10
+ * Omitting the screen lands on WordPress's own admin, which is the escape
11
+ * hatch the dashboard opens in a new tab.
12
+ */
13
+ export declare const contentAdminScreenSchema: z.ZodEnum<{
14
+ users: "users";
15
+ collections: "collections";
16
+ }>;
17
+ export declare const contentAdminLaunchSchema: z.ZodObject<{
18
+ screen: z.ZodOptional<z.ZodEnum<{
19
+ users: "users";
20
+ collections: "collections";
47
21
  }>>;
48
22
  }, z.core.$strict>;
49
- export declare const contentRenderResponseSchema: z.ZodObject<{
50
- id: z.ZodNumber;
51
- content: z.ZodString;
52
- output: z.ZodEnum<{
53
- blocks: "blocks";
54
- html: "html";
55
- }>;
56
- }, z.core.$strict>;
57
- export declare const contentFieldSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
58
- label: z.ZodString;
59
- required: z.ZodDefault<z.ZodBoolean>;
60
- description: z.ZodOptional<z.ZodString>;
61
- type: z.ZodLiteral<"text">;
62
- multiline: z.ZodDefault<z.ZodBoolean>;
63
- maxLength: z.ZodOptional<z.ZodNumber>;
64
- }, z.core.$strip>, z.ZodObject<{
65
- label: z.ZodString;
66
- required: z.ZodDefault<z.ZodBoolean>;
67
- description: z.ZodOptional<z.ZodString>;
68
- type: z.ZodLiteral<"markdown">;
69
- }, z.core.$strip>, z.ZodObject<{
70
- label: z.ZodString;
71
- required: z.ZodDefault<z.ZodBoolean>;
72
- description: z.ZodOptional<z.ZodString>;
73
- type: z.ZodLiteral<"richText">;
74
- }, z.core.$strip>, z.ZodObject<{
75
- label: z.ZodString;
76
- required: z.ZodDefault<z.ZodBoolean>;
77
- description: z.ZodOptional<z.ZodString>;
78
- type: z.ZodLiteral<"number">;
79
- }, z.core.$strip>, z.ZodObject<{
80
- label: z.ZodString;
81
- required: z.ZodDefault<z.ZodBoolean>;
82
- description: z.ZodOptional<z.ZodString>;
83
- type: z.ZodLiteral<"boolean">;
84
- }, z.core.$strip>, z.ZodObject<{
85
- label: z.ZodString;
86
- required: z.ZodDefault<z.ZodBoolean>;
87
- description: z.ZodOptional<z.ZodString>;
88
- type: z.ZodLiteral<"date">;
89
- }, z.core.$strip>, z.ZodObject<{
90
- label: z.ZodString;
91
- required: z.ZodDefault<z.ZodBoolean>;
92
- description: z.ZodOptional<z.ZodString>;
93
- type: z.ZodLiteral<"media">;
94
- multiple: z.ZodDefault<z.ZodBoolean>;
95
- }, z.core.$strip>, z.ZodObject<{
96
- label: z.ZodString;
97
- required: z.ZodDefault<z.ZodBoolean>;
98
- description: z.ZodOptional<z.ZodString>;
99
- type: z.ZodLiteral<"relation">;
100
- collection: z.ZodString;
101
- multiple: z.ZodDefault<z.ZodBoolean>;
102
- }, z.core.$strip>, z.ZodObject<{
103
- label: z.ZodString;
104
- required: z.ZodDefault<z.ZodBoolean>;
105
- description: z.ZodOptional<z.ZodString>;
106
- type: z.ZodLiteral<"select">;
107
- options: z.ZodArray<z.ZodString>;
108
- multiple: z.ZodDefault<z.ZodBoolean>;
109
- }, z.core.$strip>], "type">;
110
- export declare const contentCollectionSchema: z.ZodObject<{
111
- resourceId: z.ZodString;
112
- name: z.ZodString;
113
- label: z.ZodString;
114
- singularLabel: z.ZodString;
115
- public: z.ZodDefault<z.ZodBoolean>;
116
- fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
117
- label: z.ZodString;
118
- required: z.ZodDefault<z.ZodBoolean>;
119
- description: z.ZodOptional<z.ZodString>;
120
- type: z.ZodLiteral<"text">;
121
- multiline: z.ZodDefault<z.ZodBoolean>;
122
- maxLength: z.ZodOptional<z.ZodNumber>;
123
- }, z.core.$strip>, z.ZodObject<{
124
- label: z.ZodString;
125
- required: z.ZodDefault<z.ZodBoolean>;
126
- description: z.ZodOptional<z.ZodString>;
127
- type: z.ZodLiteral<"markdown">;
128
- }, z.core.$strip>, z.ZodObject<{
129
- label: z.ZodString;
130
- required: z.ZodDefault<z.ZodBoolean>;
131
- description: z.ZodOptional<z.ZodString>;
132
- type: z.ZodLiteral<"richText">;
133
- }, z.core.$strip>, z.ZodObject<{
134
- label: z.ZodString;
135
- required: z.ZodDefault<z.ZodBoolean>;
136
- description: z.ZodOptional<z.ZodString>;
137
- type: z.ZodLiteral<"number">;
138
- }, z.core.$strip>, z.ZodObject<{
139
- label: z.ZodString;
140
- required: z.ZodDefault<z.ZodBoolean>;
141
- description: z.ZodOptional<z.ZodString>;
142
- type: z.ZodLiteral<"boolean">;
143
- }, z.core.$strip>, z.ZodObject<{
144
- label: z.ZodString;
145
- required: z.ZodDefault<z.ZodBoolean>;
146
- description: z.ZodOptional<z.ZodString>;
147
- type: z.ZodLiteral<"date">;
148
- }, z.core.$strip>, z.ZodObject<{
149
- label: z.ZodString;
150
- required: z.ZodDefault<z.ZodBoolean>;
151
- description: z.ZodOptional<z.ZodString>;
152
- type: z.ZodLiteral<"media">;
153
- multiple: z.ZodDefault<z.ZodBoolean>;
154
- }, z.core.$strip>, z.ZodObject<{
155
- label: z.ZodString;
156
- required: z.ZodDefault<z.ZodBoolean>;
157
- description: z.ZodOptional<z.ZodString>;
158
- type: z.ZodLiteral<"relation">;
159
- collection: z.ZodString;
160
- multiple: z.ZodDefault<z.ZodBoolean>;
161
- }, z.core.$strip>, z.ZodObject<{
162
- label: z.ZodString;
163
- required: z.ZodDefault<z.ZodBoolean>;
164
- description: z.ZodOptional<z.ZodString>;
165
- type: z.ZodLiteral<"select">;
166
- options: z.ZodArray<z.ZodString>;
167
- multiple: z.ZodDefault<z.ZodBoolean>;
168
- }, z.core.$strip>], "type">>;
169
- }, z.core.$strict>;
170
- export declare const contentManifestSchema: z.ZodObject<{
171
- format: z.ZodLiteral<"spacefast.content.schema">;
172
- version: z.ZodLiteral<1>;
173
- collections: z.ZodRecord<z.ZodString, z.ZodObject<{
174
- resourceId: z.ZodString;
175
- name: z.ZodString;
176
- label: z.ZodString;
177
- singularLabel: z.ZodString;
178
- public: z.ZodDefault<z.ZodBoolean>;
179
- fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
180
- label: z.ZodString;
181
- required: z.ZodDefault<z.ZodBoolean>;
182
- description: z.ZodOptional<z.ZodString>;
183
- type: z.ZodLiteral<"text">;
184
- multiline: z.ZodDefault<z.ZodBoolean>;
185
- maxLength: z.ZodOptional<z.ZodNumber>;
186
- }, z.core.$strip>, z.ZodObject<{
187
- label: z.ZodString;
188
- required: z.ZodDefault<z.ZodBoolean>;
189
- description: z.ZodOptional<z.ZodString>;
190
- type: z.ZodLiteral<"markdown">;
191
- }, z.core.$strip>, z.ZodObject<{
192
- label: z.ZodString;
193
- required: z.ZodDefault<z.ZodBoolean>;
194
- description: z.ZodOptional<z.ZodString>;
195
- type: z.ZodLiteral<"richText">;
196
- }, z.core.$strip>, z.ZodObject<{
197
- label: z.ZodString;
198
- required: z.ZodDefault<z.ZodBoolean>;
199
- description: z.ZodOptional<z.ZodString>;
200
- type: z.ZodLiteral<"number">;
201
- }, z.core.$strip>, z.ZodObject<{
202
- label: z.ZodString;
203
- required: z.ZodDefault<z.ZodBoolean>;
204
- description: z.ZodOptional<z.ZodString>;
205
- type: z.ZodLiteral<"boolean">;
206
- }, z.core.$strip>, z.ZodObject<{
207
- label: z.ZodString;
208
- required: z.ZodDefault<z.ZodBoolean>;
209
- description: z.ZodOptional<z.ZodString>;
210
- type: z.ZodLiteral<"date">;
211
- }, z.core.$strip>, z.ZodObject<{
212
- label: z.ZodString;
213
- required: z.ZodDefault<z.ZodBoolean>;
214
- description: z.ZodOptional<z.ZodString>;
215
- type: z.ZodLiteral<"media">;
216
- multiple: z.ZodDefault<z.ZodBoolean>;
217
- }, z.core.$strip>, z.ZodObject<{
218
- label: z.ZodString;
219
- required: z.ZodDefault<z.ZodBoolean>;
220
- description: z.ZodOptional<z.ZodString>;
221
- type: z.ZodLiteral<"relation">;
222
- collection: z.ZodString;
223
- multiple: z.ZodDefault<z.ZodBoolean>;
224
- }, z.core.$strip>, z.ZodObject<{
225
- label: z.ZodString;
226
- required: z.ZodDefault<z.ZodBoolean>;
227
- description: z.ZodOptional<z.ZodString>;
228
- type: z.ZodLiteral<"select">;
229
- options: z.ZodArray<z.ZodString>;
230
- multiple: z.ZodDefault<z.ZodBoolean>;
231
- }, z.core.$strip>], "type">>;
232
- }, z.core.$strict>>;
233
- }, z.core.$strict>;
234
- export declare const contentScalarSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
235
- export declare const contentFilterSchema: z.ZodObject<{
236
- field: z.ZodString;
237
- operator: z.ZodEnum<{
238
- gt: "gt";
239
- in: "in";
240
- lt: "lt";
241
- eq: "eq";
242
- neq: "neq";
243
- notIn: "notIn";
244
- gte: "gte";
245
- lte: "lte";
246
- contains: "contains";
247
- exists: "exists";
23
+ export declare const contentAdminAccessSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
24
+ surface: z.ZodLiteral<"zero">;
25
+ initialScreen: z.ZodEnum<{
26
+ users: "users";
27
+ collections: "collections";
248
28
  }>;
249
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
250
- }, z.core.$strict>;
251
- export declare const contentOrderSchema: z.ZodObject<{
252
- field: z.ZodString;
253
- direction: z.ZodDefault<z.ZodEnum<{
254
- asc: "asc";
255
- desc: "desc";
256
- }>>;
257
- }, z.core.$strict>;
258
- export declare const contentQuerySchema: z.ZodObject<{
259
- collection: z.ZodString;
260
- where: z.ZodDefault<z.ZodArray<z.ZodObject<{
261
- field: z.ZodString;
262
- operator: z.ZodEnum<{
263
- gt: "gt";
264
- in: "in";
265
- lt: "lt";
266
- eq: "eq";
267
- neq: "neq";
268
- notIn: "notIn";
269
- gte: "gte";
270
- lte: "lte";
271
- contains: "contains";
272
- exists: "exists";
273
- }>;
274
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
275
- }, z.core.$strict>>>;
276
- orderBy: z.ZodDefault<z.ZodArray<z.ZodObject<{
277
- field: z.ZodString;
278
- direction: z.ZodDefault<z.ZodEnum<{
279
- asc: "asc";
280
- desc: "desc";
281
- }>>;
282
- }, z.core.$strict>>>;
283
- limit: z.ZodDefault<z.ZodNumber>;
284
- cursor: z.ZodOptional<z.ZodString>;
285
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
- status: z.ZodDefault<z.ZodEnum<{
287
- any: "any";
288
- publish: "publish";
289
- draft: "draft";
290
- }>>;
291
- }, z.core.$strict>;
292
- export declare const contentBatchQueryRequestSchema: z.ZodObject<{
293
- format: z.ZodLiteral<"spacefast.content.query">;
294
- version: z.ZodLiteral<1>;
295
- queries: z.ZodRecord<z.ZodString, z.ZodObject<{
296
- collection: z.ZodString;
297
- where: z.ZodDefault<z.ZodArray<z.ZodObject<{
298
- field: z.ZodString;
299
- operator: z.ZodEnum<{
300
- gt: "gt";
301
- in: "in";
302
- lt: "lt";
303
- eq: "eq";
304
- neq: "neq";
305
- notIn: "notIn";
306
- gte: "gte";
307
- lte: "lte";
308
- contains: "contains";
309
- exists: "exists";
310
- }>;
311
- value: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>]>>;
312
- }, z.core.$strict>>>;
313
- orderBy: z.ZodDefault<z.ZodArray<z.ZodObject<{
314
- field: z.ZodString;
315
- direction: z.ZodDefault<z.ZodEnum<{
316
- asc: "asc";
317
- desc: "desc";
318
- }>>;
319
- }, z.core.$strict>>>;
320
- limit: z.ZodDefault<z.ZodNumber>;
321
- cursor: z.ZodOptional<z.ZodString>;
322
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
- status: z.ZodDefault<z.ZodEnum<{
324
- any: "any";
325
- publish: "publish";
326
- draft: "draft";
327
- }>>;
328
- }, z.core.$strict>>;
329
- }, z.core.$strict>;
330
- export declare const contentItemSchema: z.ZodObject<{
331
- id: z.ZodNumber;
332
- slug: z.ZodString;
333
- status: z.ZodString;
334
- title: z.ZodString;
335
- createdAt: z.ZodString;
336
- updatedAt: z.ZodString;
337
- fields: z.ZodRecord<z.ZodString, z.ZodUnknown>;
338
- }, z.core.$loose>;
339
- export declare const contentQueryResultSchema: z.ZodObject<{
340
- items: z.ZodArray<z.ZodObject<{
341
- id: z.ZodNumber;
342
- slug: z.ZodString;
343
- status: z.ZodString;
344
- title: z.ZodString;
345
- createdAt: z.ZodString;
346
- updatedAt: z.ZodString;
347
- fields: z.ZodRecord<z.ZodString, z.ZodUnknown>;
348
- }, z.core.$loose>>;
349
- total: z.ZodNumber;
350
- nextCursor: z.ZodNullable<z.ZodString>;
351
- }, z.core.$strip>;
352
- export declare const contentBatchQueryResponseSchema: z.ZodObject<{
353
- format: z.ZodLiteral<"spacefast.content.query">;
354
- version: z.ZodLiteral<1>;
355
- results: z.ZodRecord<z.ZodString, z.ZodObject<{
356
- items: z.ZodArray<z.ZodObject<{
357
- id: z.ZodNumber;
358
- slug: z.ZodString;
359
- status: z.ZodString;
360
- title: z.ZodString;
361
- createdAt: z.ZodString;
362
- updatedAt: z.ZodString;
363
- fields: z.ZodRecord<z.ZodString, z.ZodUnknown>;
364
- }, z.core.$loose>>;
365
- total: z.ZodNumber;
366
- nextCursor: z.ZodNullable<z.ZodString>;
367
- }, z.core.$strip>>;
368
- }, z.core.$strict>;
369
- export declare const contentDocumentInputSchema: z.ZodUnion<readonly [z.ZodObject<{
370
- id: z.ZodNumber;
371
- collection: z.ZodString;
372
- slug: z.ZodString;
373
- title: z.ZodString;
374
- status: z.ZodDefault<z.ZodEnum<{
375
- publish: "publish";
376
- draft: "draft";
377
- }>>;
378
- fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ allowedScreens: z.ZodUnion<readonly [z.ZodTuple<[z.ZodLiteral<"collections">], null>, z.ZodTuple<[z.ZodLiteral<"collections">, z.ZodLiteral<"users">], null>]>;
379
30
  }, z.core.$strict>, z.ZodObject<{
380
- externalId: z.ZodString;
381
- collection: z.ZodString;
382
- slug: z.ZodString;
383
- title: z.ZodString;
384
- status: z.ZodDefault<z.ZodEnum<{
385
- publish: "publish";
386
- draft: "draft";
387
- }>>;
388
- fields: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
389
- }, z.core.$strict>]>;
31
+ surface: z.ZodLiteral<"wordpress">;
32
+ }, z.core.$strict>], "surface">;
390
33
  export declare const contentAdminSessionSchema: z.ZodObject<{
391
34
  url: z.ZodString;
392
35
  expiresAt: z.ZodString;
393
36
  }, z.core.$strict>;
394
- export declare const contentMarkdownSyncInputSchema: z.ZodObject<{
395
- collection: z.ZodDefault<z.ZodString>;
396
- markdown: z.ZodString;
397
- slug: z.ZodString;
398
- source: z.ZodString;
399
- status: z.ZodDefault<z.ZodEnum<{
400
- publish: "publish";
401
- draft: "draft";
402
- }>>;
403
- title: z.ZodString;
404
- }, z.core.$strict>;
405
- export type ContentField = z.infer<typeof contentFieldSchema>;
406
- export type ContentCollection = z.infer<typeof contentCollectionSchema>;
407
- export type ContentManifest = z.infer<typeof contentManifestSchema>;
408
- export type ContentFilter = z.infer<typeof contentFilterSchema>;
409
- export type ContentOrder = z.infer<typeof contentOrderSchema>;
410
- export type ContentQuery = z.infer<typeof contentQuerySchema>;
411
- export type ContentQueryInput = z.input<typeof contentQuerySchema>;
412
- export type ContentBatchQueryRequest = z.infer<typeof contentBatchQueryRequestSchema>;
413
- export type ContentBatchQueryRequestInput = z.input<typeof contentBatchQueryRequestSchema>;
414
- export type ContentItem = z.infer<typeof contentItemSchema>;
415
- export type ContentQueryResult = z.infer<typeof contentQueryResultSchema>;
416
- export type ContentBatchQueryResponse = z.infer<typeof contentBatchQueryResponseSchema>;
417
- export type ContentDocumentInput = z.infer<typeof contentDocumentInputSchema>;
418
- export type ContentMarkdownSyncInput = z.infer<typeof contentMarkdownSyncInputSchema>;
37
+ export type ContentAdminScreen = z.infer<typeof contentAdminScreenSchema>;
38
+ export type ContentAdminLaunch = z.infer<typeof contentAdminLaunchSchema>;
39
+ export type ContentAdminAccess = z.infer<typeof contentAdminAccessSchema>;
419
40
  export type ContentAdminSession = z.infer<typeof contentAdminSessionSchema>;
420
- export type ContentSourceBundle = z.infer<typeof contentSourceBundleSchema>;
421
- export type ContentSourceBundleInput = z.input<typeof contentSourceBundleSchema>;
422
- export type ContentCompileResponse = z.infer<typeof contentCompileResponseSchema>;
423
- export type ContentReleaseActivateResponse = z.infer<typeof contentReleaseActivateResponseSchema>;
424
- export type ContentRenderInput = z.infer<typeof contentRenderInputSchema>;
425
- export type ContentRenderInputOptions = z.input<typeof contentRenderInputSchema>;
426
- export type ContentRenderResponse = z.infer<typeof contentRenderResponseSchema>;
427
- export type ContentRead = {
428
- batch<TQueries extends Record<string, ContentQueryInput>>(queries: TQueries): Promise<{
429
- [TKey in keyof TQueries]: ContentQueryResult;
430
- }>;
431
- query(collection: string, options?: Omit<ContentQueryInput, "collection">): Promise<ContentQueryResult>;
432
- };