@honua/react 0.1.7-beta.0 → 0.1.10-beta.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 (249) hide show
  1. package/control-plane/admin-client.d.ts +89 -0
  2. package/control-plane/admin-client.d.ts.map +1 -0
  3. package/control-plane/admin-client.js +200 -0
  4. package/control-plane/client.d.ts +1 -1
  5. package/control-plane/client.d.ts.map +1 -1
  6. package/control-plane/client.js +145 -11
  7. package/control-plane/commands/catalog.d.ts +133 -0
  8. package/control-plane/commands/catalog.d.ts.map +1 -0
  9. package/control-plane/commands/catalog.js +365 -0
  10. package/control-plane/commands/errors.d.ts +96 -0
  11. package/control-plane/commands/errors.d.ts.map +1 -0
  12. package/control-plane/commands/errors.js +130 -0
  13. package/control-plane/commands/identity.d.ts +71 -0
  14. package/control-plane/commands/identity.d.ts.map +1 -0
  15. package/control-plane/commands/identity.js +0 -0
  16. package/control-plane/commands/index.d.ts +39 -0
  17. package/control-plane/commands/index.d.ts.map +1 -0
  18. package/control-plane/commands/index.js +34 -0
  19. package/control-plane/commands/runtime.d.ts +146 -0
  20. package/control-plane/commands/runtime.d.ts.map +1 -0
  21. package/control-plane/commands/runtime.js +330 -0
  22. package/control-plane/commands/types.d.ts +228 -0
  23. package/control-plane/commands/types.d.ts.map +1 -0
  24. package/control-plane/commands/types.js +30 -0
  25. package/control-plane/commands/validate.d.ts +27 -0
  26. package/control-plane/commands/validate.d.ts.map +1 -0
  27. package/control-plane/commands/validate.js +132 -0
  28. package/control-plane/generated/admin-api.d.ts +30265 -0
  29. package/control-plane/generated/admin-api.d.ts.map +1 -0
  30. package/control-plane/generated/admin-api.js +5 -0
  31. package/control-plane/generated/admin-operations.d.ts +4053 -0
  32. package/control-plane/generated/admin-operations.d.ts.map +1 -0
  33. package/control-plane/generated/admin-operations.js +820 -0
  34. package/control-plane/index.d.ts +11 -0
  35. package/control-plane/index.d.ts.map +1 -1
  36. package/control-plane/index.js +8 -0
  37. package/control-plane/types.d.ts +14 -0
  38. package/control-plane/types.d.ts.map +1 -1
  39. package/core/client.d.ts.map +1 -1
  40. package/core/client.js +29 -31
  41. package/core/credential-redaction.d.ts +163 -0
  42. package/core/credential-redaction.d.ts.map +1 -0
  43. package/core/credential-redaction.js +389 -0
  44. package/core/error-classifications.d.ts +15 -0
  45. package/core/error-classifications.d.ts.map +1 -1
  46. package/core/error-classifications.js +15 -0
  47. package/core/error-code-registry.d.ts +15 -0
  48. package/core/error-code-registry.d.ts.map +1 -1
  49. package/core/error-code-registry.js +15 -0
  50. package/core/error-envelope.d.ts +31 -0
  51. package/core/error-envelope.d.ts.map +1 -1
  52. package/core/error-envelope.js +11 -0
  53. package/core/errors.d.ts +15 -3
  54. package/core/errors.d.ts.map +1 -1
  55. package/core/errors.js +254 -2
  56. package/core/geometry-input-sr.d.ts +3 -0
  57. package/core/geometry-input-sr.d.ts.map +1 -0
  58. package/core/geometry-input-sr.js +28 -0
  59. package/core/geoservices.d.ts.map +1 -1
  60. package/core/geoservices.js +33 -6
  61. package/core/grpc-adapter.d.ts +2 -2
  62. package/core/grpc-adapter.d.ts.map +1 -1
  63. package/core/grpc-adapter.js +41 -9
  64. package/core/job-run-errors.d.ts +10 -0
  65. package/core/job-run-errors.d.ts.map +1 -0
  66. package/core/job-run-errors.js +14 -0
  67. package/core/job-run-lifecycle.d.ts +34 -0
  68. package/core/job-run-lifecycle.d.ts.map +1 -0
  69. package/core/job-run-lifecycle.js +193 -0
  70. package/core/ogc-processes.d.ts +38 -31
  71. package/core/ogc-processes.d.ts.map +1 -1
  72. package/core/ogc-processes.js +123 -173
  73. package/core/pbf-decoder.d.ts.map +1 -1
  74. package/core/pbf-decoder.js +16 -4
  75. package/core/process-runner.js +15 -100
  76. package/core/protocol-transport.d.ts +6 -1
  77. package/core/protocol-transport.d.ts.map +1 -1
  78. package/core/request-pipeline.d.ts +6 -3
  79. package/core/request-pipeline.d.ts.map +1 -1
  80. package/core/request-pipeline.js +28 -11
  81. package/core/spatial-filter.d.ts +4 -4
  82. package/core/spatial-filter.d.ts.map +1 -1
  83. package/core/spatial-filter.js +7 -7
  84. package/core/surfaces.d.ts +2 -8
  85. package/core/surfaces.d.ts.map +1 -1
  86. package/core/surfaces.js +21 -112
  87. package/core/types.d.ts +21 -9
  88. package/core/types.d.ts.map +1 -1
  89. package/esri-compat/class-breaks-renderer.d.ts +2 -0
  90. package/esri-compat/class-breaks-renderer.d.ts.map +1 -1
  91. package/esri-compat/class-breaks-renderer.js +7 -0
  92. package/esri-compat/controls.d.ts +10 -1
  93. package/esri-compat/controls.d.ts.map +1 -1
  94. package/esri-compat/controls.js +86 -2
  95. package/esri-compat/directions.d.ts +35 -0
  96. package/esri-compat/directions.d.ts.map +1 -1
  97. package/esri-compat/directions.js +153 -2
  98. package/esri-compat/expand.d.ts +1 -0
  99. package/esri-compat/expand.d.ts.map +1 -1
  100. package/esri-compat/expand.js +61 -0
  101. package/esri-compat/feature-layer.d.ts +29 -4
  102. package/esri-compat/feature-layer.d.ts.map +1 -1
  103. package/esri-compat/feature-layer.js +335 -13
  104. package/esri-compat/geometry-engine.d.ts +4 -0
  105. package/esri-compat/geometry-engine.d.ts.map +1 -1
  106. package/esri-compat/geometry-engine.js +8 -1
  107. package/esri-compat/graphic.d.ts +7 -4
  108. package/esri-compat/graphic.d.ts.map +1 -1
  109. package/esri-compat/legend.d.ts +2 -1
  110. package/esri-compat/legend.d.ts.map +1 -1
  111. package/esri-compat/legend.js +15 -0
  112. package/esri-compat/map-view-mount.d.ts +48 -0
  113. package/esri-compat/map-view-mount.d.ts.map +1 -0
  114. package/esri-compat/map-view-mount.js +344 -0
  115. package/esri-compat/map-view.d.ts +38 -6
  116. package/esri-compat/map-view.d.ts.map +1 -1
  117. package/esri-compat/map-view.js +467 -33
  118. package/esri-compat/portal.d.ts +2 -0
  119. package/esri-compat/portal.d.ts.map +1 -1
  120. package/esri-compat/portal.js +7 -2
  121. package/esri-compat/renderer-objects.d.ts +7 -2
  122. package/esri-compat/renderer-objects.d.ts.map +1 -1
  123. package/esri-compat/renderer-objects.js +16 -5
  124. package/esri-compat/route-layer.d.ts +8 -0
  125. package/esri-compat/route-layer.d.ts.map +1 -1
  126. package/esri-compat/route-layer.js +24 -4
  127. package/esri-compat/route-task.d.ts +5 -1
  128. package/esri-compat/route-task.d.ts.map +1 -1
  129. package/esri-compat/route-task.js +119 -7
  130. package/esri-compat/scene-view.d.ts.map +1 -1
  131. package/esri-compat/scene-view.js +1 -0
  132. package/esri-compat/search.d.ts +2 -1
  133. package/esri-compat/search.d.ts.map +1 -1
  134. package/esri-compat/search.js +52 -2
  135. package/esri-compat/unique-value-renderer.d.ts +2 -0
  136. package/esri-compat/unique-value-renderer.d.ts.map +1 -1
  137. package/esri-compat/unique-value-renderer.js +7 -0
  138. package/esri-compat/web-map.d.ts +10 -0
  139. package/esri-compat/web-map.d.ts.map +1 -1
  140. package/esri-compat/web-map.js +102 -0
  141. package/gen/geospatial/v1/common_pb.d.ts +514 -0
  142. package/gen/geospatial/v1/common_pb.d.ts.map +1 -0
  143. package/gen/geospatial/v1/common_pb.js +335 -0
  144. package/gen/geospatial/v1/execution_types_pb.d.ts +1186 -0
  145. package/gen/geospatial/v1/execution_types_pb.d.ts.map +1 -0
  146. package/gen/geospatial/v1/execution_types_pb.js +396 -0
  147. package/gen/geospatial/v1/feature_service_pb.d.ts +403 -0
  148. package/gen/geospatial/v1/feature_service_pb.d.ts.map +1 -0
  149. package/gen/geospatial/v1/feature_service_pb.js +47 -0
  150. package/gen/geospatial/v1/index.d.ts +5 -0
  151. package/gen/geospatial/v1/index.d.ts.map +1 -0
  152. package/gen/geospatial/v1/index.js +9 -0
  153. package/gen/geospatial/v1/spatial_types_pb.d.ts +285 -0
  154. package/gen/geospatial/v1/spatial_types_pb.d.ts.map +1 -0
  155. package/gen/geospatial/v1/spatial_types_pb.js +58 -0
  156. package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts +379 -0
  157. package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts.map +1 -0
  158. package/gen/geospatial/v1/workspace_artifact_types_pb.js +151 -0
  159. package/generated-app/projection.d.ts.map +1 -1
  160. package/generated-app/projection.js +10 -1
  161. package/map/webmap-maplibre.d.ts +2 -1
  162. package/map/webmap-maplibre.d.ts.map +1 -1
  163. package/map/webmap-maplibre.js +3 -0
  164. package/package.json +3 -3
  165. package/query-planner/geoservices.d.ts.map +1 -1
  166. package/query-planner/geoservices.js +2 -0
  167. package/query-planner/grpc.d.ts +4 -4
  168. package/query-planner/grpc.d.ts.map +1 -1
  169. package/query-planner/grpc.js +11 -11
  170. package/query-planner/types.d.ts +6 -4
  171. package/query-planner/types.d.ts.map +1 -1
  172. package/realtime/honua-server.d.ts +4 -0
  173. package/realtime/honua-server.d.ts.map +1 -1
  174. package/realtime/honua-server.js +10 -0
  175. package/realtime/resumable.js +9 -0
  176. package/realtime/types.d.ts +8 -0
  177. package/realtime/types.d.ts.map +1 -1
  178. package/runtime/errors.d.ts +1 -1
  179. package/runtime/errors.d.ts.map +1 -1
  180. package/runtime/errors.js +2 -0
  181. package/runtime/generated/map-package-schema-meta.d.ts +11 -0
  182. package/runtime/generated/map-package-schema-meta.d.ts.map +1 -0
  183. package/runtime/generated/map-package-schema-meta.js +12 -0
  184. package/runtime/generated/map-package-schema-validator.d.ts +16 -0
  185. package/runtime/generated/map-package-schema-validator.d.ts.map +1 -0
  186. package/runtime/generated/map-package-schema-validator.js +1422 -0
  187. package/runtime/index.d.ts +5 -1
  188. package/runtime/index.d.ts.map +1 -1
  189. package/runtime/index.js +6 -0
  190. package/runtime/map-package-export.d.ts +151 -0
  191. package/runtime/map-package-export.d.ts.map +1 -0
  192. package/runtime/map-package-export.js +636 -0
  193. package/runtime/map-package-validation.d.ts +21 -1
  194. package/runtime/map-package-validation.d.ts.map +1 -1
  195. package/runtime/map-package-validation.js +132 -95
  196. package/runtime/map-package.d.ts +80 -0
  197. package/runtime/map-package.d.ts.map +1 -1
  198. package/studio/capability-manifest.d.ts +10 -0
  199. package/studio/capability-manifest.d.ts.map +1 -1
  200. package/studio/capability-manifest.js +38 -0
  201. package/studio/chart-spec.d.ts +6 -6
  202. package/studio/chart-spec.d.ts.map +1 -1
  203. package/studio/chart-spec.js +6 -6
  204. package/studio/command-adapter.d.ts +35 -0
  205. package/studio/command-adapter.d.ts.map +1 -0
  206. package/studio/command-adapter.js +36 -0
  207. package/studio/generated/studio-api.d.ts +1062 -0
  208. package/studio/generated/studio-api.d.ts.map +1 -0
  209. package/studio/generated/studio-api.js +4 -0
  210. package/studio/index.d.ts +25 -13
  211. package/studio/index.d.ts.map +1 -1
  212. package/studio/index.js +21 -10
  213. package/studio/lifecycle-client.d.ts +262 -22
  214. package/studio/lifecycle-client.d.ts.map +1 -1
  215. package/studio/lifecycle-client.js +543 -24
  216. package/studio/lifecycle-errors.d.ts +8 -2
  217. package/studio/lifecycle-errors.d.ts.map +1 -1
  218. package/studio/lifecycle-errors.js +6 -1
  219. package/studio/lifecycle-types.d.ts +237 -38
  220. package/studio/lifecycle-types.d.ts.map +1 -1
  221. package/studio/lifecycle-types.js +5 -12
  222. package/studio/publication-status.d.ts +55 -0
  223. package/studio/publication-status.d.ts.map +1 -0
  224. package/studio/publication-status.js +103 -0
  225. package/studio/types.d.ts +37 -7
  226. package/studio/types.d.ts.map +1 -1
  227. package/studio/types.js +5 -3
  228. package/studio/validate.d.ts.map +1 -1
  229. package/studio/validate.js +104 -7
  230. package/style/renderers.d.ts +6 -1
  231. package/style/renderers.d.ts.map +1 -1
  232. package/style/renderers.js +11 -6
  233. package/style/visual-variables.d.ts +43 -0
  234. package/style/visual-variables.d.ts.map +1 -0
  235. package/style/visual-variables.js +183 -0
  236. package/webmap/convert-layer.d.ts +2 -1
  237. package/webmap/convert-layer.d.ts.map +1 -1
  238. package/webmap/convert-layer.js +20 -3
  239. package/webmap/convert-renderer.d.ts +10 -3
  240. package/webmap/convert-renderer.d.ts.map +1 -1
  241. package/webmap/convert-renderer.js +190 -36
  242. package/webmap/index.d.ts +1 -0
  243. package/webmap/index.d.ts.map +1 -1
  244. package/webmap/parse.d.ts +2 -1
  245. package/webmap/parse.d.ts.map +1 -1
  246. package/webmap/parse.js +1 -1
  247. package/gen/honua/v1/feature_service_pb.d.ts +0 -918
  248. package/gen/honua/v1/feature_service_pb.d.ts.map +0 -1
  249. package/gen/honua/v1/feature_service_pb.js +0 -375
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Every non-2xx response from the Studio package lifecycle API
5
5
  * (`/api/v{version}/studio`) is either a handler-generated client error
6
- * (`400`/`404`/`409`) or a caught internal failure (`500`), and both use
6
+ * (`400`/`401`/`403`/`404`/`409`) or a caught internal failure (`500`), and
7
+ * both use
7
8
  * RFC 7807 problem details with `type: "https://honua.io/problems/studio"`
8
9
  * (see `docs/internal/admin-api/studio-package-lifecycle.md` in
9
10
  * `honua-server`). {@link HonuaStudioError} normalizes both into one typed
@@ -65,6 +66,10 @@ export function classifyStudioProblemStatus(statusCode) {
65
66
  switch (statusCode) {
66
67
  case 400:
67
68
  return "validation";
69
+ case 401:
70
+ return "unauthorized";
71
+ case 403:
72
+ return "forbidden";
68
73
  case 404:
69
74
  return "not-found";
70
75
  case 409:
@@ -3,24 +3,19 @@
3
3
  * (`/api/v{version}/studio` in `honua-server`), backing
4
4
  * {@link HonuaStudioLifecycleClient}.
5
5
  *
6
- * These mirror the DTOs documented in
7
- * `docs/internal/admin-api/studio-package-lifecycle.md` (`honua-server`):
8
- * `Honua.Core.Features.Studio.Domain` for the entities and
9
- * `Honua.Server.Features.Studio.Models` for the request shapes. Every
10
- * interface keeps an open `[extra: string]: unknown` index signature so
11
- * additive server fields do not break existing clients, and reuses the
12
- * existing {@link StudioPackageDiagnostic} / {@link HonuaStudioPackageFamily}
13
- * projections from `./validation.js` / `./types.js` rather than redeclaring
14
- * them.
6
+ * Canonical request/response DTOs are generated from the SHA-pinned Studio
7
+ * OpenAPI document in `honua-server`; semantic helpers reuse the existing
8
+ * {@link StudioPackageDiagnostic} / {@link HonuaStudioPackageFamily}
9
+ * projections from `./validation.js` / `./types.js`.
15
10
  *
16
11
  * @experimental Not yet covered by the SDK's semver contract — these shapes
17
- * may change in any minor release prior to `1.0.0`, and until a dedicated
18
- * Studio OpenAPI snapshot is published this doc and the source-generated
19
- * JSON contexts are `honua-server`'s only contract reference.
12
+ * may change in any minor release prior to `1.0.0`.
20
13
  * @module
21
14
  */
15
+ import type { components as StudioOpenApiComponents, operations as StudioOpenApiOperations } from "./generated/studio-api.js";
22
16
  import type { HonuaStudioPackageFamily } from "./types.js";
23
17
  import type { StudioPackageDiagnostic } from "./validation.js";
18
+ type StudioOpenApiSchemas = StudioOpenApiComponents["schemas"];
24
19
  /**
25
20
  * Successful `ApiResponse<T>` envelope every Studio lifecycle endpoint wraps
26
21
  * its payload in. The source-generated JSON context omits `null`-valued
@@ -249,38 +244,122 @@ export interface StudioVersionComparison {
249
244
  readonly [extra: string]: unknown;
250
245
  }
251
246
  /**
252
- * `pending` is reserved for later asynchronous publication execution and is
253
- * not emitted by the API service today.
247
+ * Compatibility lifecycle states understood by the bounded poller. The
248
+ * canonical OpenAPI wire states are `pending`, `accepted`, and `rejected`;
249
+ * these normalized names also retain the richer proposal states exposed by
250
+ * pre-contract SDK builds without claiming they are present in the schema.
251
+ *
252
+ * - `AwaitingApproval` — the proposal is persisted and queued for a
253
+ * *separate* approving principal. Non-terminal.
254
+ * - `Approved` — an approver (never the proposer — see the module doc on
255
+ * {@link HonuaStudioPublicationRequestsClient}) cleared the proposal.
256
+ * Non-terminal: publication has not executed yet.
257
+ * - `Executing` — the publication operation is running. Non-terminal.
258
+ * - `Active` — the publication is live. **The only state that carries a final
259
+ * publication URL.**
260
+ * - `Rejected` — an approver declined the proposal. Terminal, not successful.
261
+ * - `Failed` — execution failed after approval. Terminal, not successful.
262
+ *
263
+ * @experimental
264
+ */
265
+ export type StudioPublicationLifecycleState = "AwaitingApproval" | "Approved" | "Executing" | "Active" | "Rejected" | "Failed";
266
+ /**
267
+ * `StudioPublicationRequest.status` as it arrives on the wire.
268
+ *
269
+ * Starts with the generated contract's `accepted` / `rejected` / `pending`
270
+ * values and retains the pre-contract {@link StudioPublicationLifecycleState}
271
+ * compatibility values. The union stays open to
272
+ * `(string & {})` so a state this SDK release does not know about still
273
+ * round-trips instead of crashing the client — but an unrecognized value is
274
+ * never treated as terminal and never as success. Normalize with
275
+ * {@link normalizeStudioPublicationStatus} rather than comparing strings.
276
+ *
277
+ * @experimental
278
+ */
279
+ export type StudioPublicationRequestStatus = StudioOpenApiSchemas["StudioPublicationRequest"]["status"] | StudioPublicationLifecycleState | (string & {});
280
+ /**
281
+ * The five distinct identifiers a publication proposal joins together, each
282
+ * addressing a different system:
283
+ *
284
+ * - `operationInstanceId` — the server-side publication operation instance.
285
+ * - `proposalId` — the governance proposal awaiting a separate approver.
286
+ * - `proposalUri` — the addressable location of that proposal. This is the
287
+ * *proposal* resource, never the published artifact; the final publication
288
+ * URL is {@link StudioPublicationRequest.publicationUrl} and appears only at
289
+ * `Active`.
290
+ * - `auditId` — the immutable audit-log entry for the submission.
291
+ * - `correlationId` — the caller-visible correlation id threaded through
292
+ * telemetry for the whole submit/approve/execute chain.
293
+ *
294
+ * All five are optional: a deployment that has not enabled the proposal
295
+ * workflow returns only the ones it produces. Every one that *is* returned is
296
+ * preserved verbatim end to end by this client.
297
+ *
298
+ * @experimental
254
299
  */
255
- export type StudioPublicationRequestStatus = "accepted" | "rejected" | "pending" | (string & {});
300
+ export interface StudioPublicationIdentifiers {
301
+ readonly operationInstanceId?: string;
302
+ readonly proposalId?: string;
303
+ readonly proposalUri?: string;
304
+ readonly auditId?: string;
305
+ readonly correlationId?: string;
306
+ }
256
307
  /**
257
308
  * `POST /content-items/{itemId}/versions/{versionId}/publish-requests`
258
309
  * request body. `intent` overrides the version envelope's
259
310
  * `publicationIntent` when supplied; an invalid override fails with `400`
260
- * before a request is persisted. `warningAcknowledgment` is optional audit
261
- * text for `warning`-status versions.
311
+ * before a request is persisted. The canonical `warningAcknowledgement`
312
+ * spelling is optional audit text for `warning`-status versions.
313
+ *
314
+ * `contentHash` pins the exact immutable version bytes being proposed, and
315
+ * `idempotencyKey` gives the submission a stable identity so a retried or
316
+ * replayed submit resolves to the same proposal instead of creating a second
317
+ * one.
318
+ *
319
+ * A submission body may **not** carry approval or policy-override fields —
320
+ * see {@link HonuaStudioPublicationRequestsClient.create}, which rejects them
321
+ * client-side before any request is sent.
262
322
  */
263
- export interface StudioPublicationRequestInput {
264
- readonly intent?: StudioPublicationIntent;
323
+ export type StudioPublicationRequestInput = StudioOpenApiSchemas["CreateStudioPublicationRequest"] & {
324
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
265
325
  readonly warningAcknowledgment?: string;
326
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
327
+ readonly contentHash?: string;
328
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
329
+ readonly idempotencyKey?: string;
330
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
331
+ readonly correlationId?: string;
266
332
  readonly [extra: string]: unknown;
267
- }
333
+ };
268
334
  /**
269
- * A persisted publication request. Versions whose captured validation status
270
- * is `invalid` still produce a durable request with `status: "rejected"` and
271
- * do not move the published pointer; `valid`/`warning` versions are
272
- * `"accepted"` and do move it.
335
+ * A persisted publication request (proposal).
336
+ *
337
+ * Under the legacy synchronous behaviour, versions whose captured validation
338
+ * status is `invalid` still produce a durable request with
339
+ * `status: "rejected"` and do not move the published pointer, while
340
+ * `valid`/`warning` versions are `"accepted"` and do move it. Under the
341
+ * proposal workflow the request starts at `AwaitingApproval` and is walked to
342
+ * a terminal state by {@link HonuaStudioPublicationRequestsClient.poll}.
343
+ *
344
+ * `publicationUrl` is meaningful **only** when the status normalizes to
345
+ * `Active`; the client never surfaces it from any other state, even if a
346
+ * server sends one.
273
347
  */
274
- export interface StudioPublicationRequest {
275
- readonly requestId: string;
276
- readonly itemId: string;
277
- readonly versionId: string;
348
+ export type StudioPublicationRequest = Omit<StudioOpenApiSchemas["StudioPublicationRequest"], "status"> & {
278
349
  readonly status: StudioPublicationRequestStatus;
279
- readonly intent?: StudioPublicationIntent;
280
- readonly createdAt?: string;
350
+ } & StudioPublicationIdentifiers & {
351
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
352
+ readonly contentHash?: string;
353
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
354
+ readonly publicationUrl?: string;
355
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
356
+ readonly reason?: string;
357
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
281
358
  readonly createdBy?: string;
359
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
360
+ readonly updatedAt?: string;
282
361
  readonly [extra: string]: unknown;
283
- }
362
+ };
284
363
  /**
285
364
  * `POST /content-items/{itemId}/versions/{versionId}/reopen` request body.
286
365
  * No fields are documented as required; this is intentionally open for a
@@ -293,13 +372,15 @@ export interface StudioReopenVersionRequest {
293
372
  }
294
373
  /** Which content-item pointer(s) a rollback request moves. */
295
374
  export type StudioRollbackPointer = "current" | "published" | "both";
296
- /** `POST /content-items/{itemId}/rollback-requests` request body. */
297
- export interface StudioRollbackRequestInput {
298
- readonly versionId: string;
299
- readonly pointer: StudioRollbackPointer;
300
- readonly message?: string;
375
+ /**
376
+ * `POST /content-items/{itemId}/rollback-requests` request body, exactly the
377
+ * canonical `CreateStudioRollbackRequest` wire contract. The server binds the
378
+ * target from `targetVersionId` and the pointer from `pointer`; an omitted
379
+ * `pointer` moves only the current pointer.
380
+ */
381
+ export type StudioRollbackRequestInput = StudioOpenApiSchemas["CreateStudioRollbackRequest"] & {
301
382
  readonly [extra: string]: unknown;
302
- }
383
+ };
303
384
  /** The Studio content item's current/published version pointers. */
304
385
  export interface StudioContentItemPointers {
305
386
  readonly itemId: string;
@@ -311,11 +392,129 @@ export interface StudioContentItemPointers {
311
392
  export interface StudioRollbackRequest {
312
393
  readonly requestId: string;
313
394
  readonly itemId: string;
314
- readonly versionId: string;
395
+ readonly targetVersionId: string;
315
396
  readonly pointer: StudioRollbackPointer;
316
397
  readonly pointers: StudioContentItemPointers;
398
+ readonly requestedBy?: string;
399
+ readonly reason?: string;
317
400
  readonly createdAt?: string;
401
+ readonly [extra: string]: unknown;
402
+ }
403
+ /**
404
+ * A Studio content item's *derived* lifecycle state, as computed by the server
405
+ * from the item's pointers:
406
+ *
407
+ * - `draft` — no immutable version has been saved yet (`currentVersionId` is
408
+ * absent);
409
+ * - `current` — a saved version exists but is not published;
410
+ * - `published` — `publishedVersionId` is set.
411
+ *
412
+ * This is deliberately distinct from a joined publication's *route* lifecycle
413
+ * ({@link StudioPublicationRouteLifecycle}), which describes the Content
414
+ * Publication Registry route rather than the Studio item.
415
+ *
416
+ * @experimental
417
+ */
418
+ export type StudioContentItemState = "draft" | "current" | "published";
419
+ /**
420
+ * The route lifecycle a joined Content Publication Registry publication
421
+ * reports. Kept open (`string & {}`) because the registry owns this vocabulary
422
+ * and may add values without a Studio change.
423
+ *
424
+ * @experimental
425
+ */
426
+ export type StudioPublicationRouteLifecycle = "active" | "suspended" | "archived" | (string & {});
427
+ /**
428
+ * The publication-registry lifecycle badge joined onto a
429
+ * {@link StudioContentItemListRow} (REQ-004), so a content browser can render
430
+ * lifecycle state without one extra call per row.
431
+ *
432
+ * The registry has no foreign key back to Studio: the join uses the convention
433
+ * that a publication's `sourceContentId` equals the Studio `itemId`. The badge
434
+ * therefore reflects the *route's* current state, which can be newer than the
435
+ * version Studio considers current or published, and is absent entirely when
436
+ * no publication references the item.
437
+ *
438
+ * @experimental
439
+ */
440
+ export interface StudioContentItemPublicationBadge {
441
+ readonly publicationId: string;
442
+ readonly routeSlug: string;
443
+ readonly routePath: string;
444
+ readonly lifecycle: StudioPublicationRouteLifecycle;
445
+ readonly activeRevision: number;
446
+ readonly updatedAt: string;
447
+ readonly [extra: string]: unknown;
448
+ }
449
+ /**
450
+ * One row of `GET /content-items`. This is a *summary* projection, not a full
451
+ * content item: it deliberately carries no envelope. Fetch
452
+ * `contentVersions.get(itemId, versionId)` for package content.
453
+ *
454
+ * @experimental
455
+ */
456
+ export type StudioContentItemListRow = StudioOpenApiSchemas["StudioContentItemSummary"] & {
457
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
318
458
  readonly createdBy?: string;
459
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
460
+ readonly updatedBy?: string;
461
+ /** @deprecated Not present in the canonical Studio OpenAPI contract. */
462
+ readonly publication?: StudioContentItemPublicationBadge;
463
+ readonly [extra: string]: unknown;
464
+ };
465
+ /**
466
+ * A page of an opaque keyset-paginated Studio listing.
467
+ *
468
+ * `total` counts every row matching the query across *all* pages, not the page
469
+ * length. `nextCursor` is the opaque cursor to pass back as `cursor` for the
470
+ * following page; on the last page the server sends `null`, and its
471
+ * source-generated JSON context omits `null` properties, so it arrives as
472
+ * either `null` or absent — treat both as "no more pages" (which is exactly
473
+ * what {@link isStudioListExhausted} does).
474
+ *
475
+ * @experimental
476
+ */
477
+ export interface StudioListPage<TItem> {
478
+ readonly items: readonly TItem[];
479
+ readonly total: number;
480
+ readonly nextCursor?: string | null;
319
481
  readonly [extra: string]: unknown;
320
482
  }
483
+ /** `GET /content-items` response. @experimental */
484
+ export type StudioContentItemListResponse = StudioListPage<StudioContentItemListRow>;
485
+ /**
486
+ * `GET /package-drafts` response. Rows are full {@link StudioPackageDraft}
487
+ * objects — identical to `GET /package-drafts/{draftId}` — and carry no
488
+ * publication badge: drafts are mutable and pre-publication by definition.
489
+ *
490
+ * @experimental
491
+ */
492
+ export type StudioPackageDraftListResponse = StudioListPage<StudioPackageDraft>;
493
+ /**
494
+ * Query filters shared by `GET /content-items` and `GET /package-drafts`.
495
+ *
496
+ * `family` accepts one of the package-family values published by the canonical
497
+ * contract. An unknown family is rejected by the server with `400`.
498
+ *
499
+ * `search` is a case-insensitive substring match against `packageKey` only — there
500
+ * is no full-text index in this slice.
501
+ *
502
+ * `ownerId` is an exact match against the recorded owner. Note that with
503
+ * `Studio:EndUserAuthorization:Enabled` on, the server **forces** a non-admin
504
+ * caller's effective owner filter to their own resolved id and ignores this
505
+ * value; it is honored as supplied only for admins, or while that flag is off.
506
+ *
507
+ * @experimental
508
+ */
509
+ export type StudioListFilterOptions = NonNullable<StudioOpenApiOperations["listStudioPackageDrafts"]["parameters"]["query"]>;
510
+ /** `GET /package-drafts` filters. @experimental */
511
+ export type StudioPackageDraftListOptions = NonNullable<StudioOpenApiOperations["listStudioPackageDrafts"]["parameters"]["query"]>;
512
+ /**
513
+ * `GET /content-items` filters — the shared set plus `state`, a filter over
514
+ * the derived lifecycle state.
515
+ *
516
+ * @experimental
517
+ */
518
+ export type StudioContentItemListOptions = NonNullable<StudioOpenApiOperations["listStudioContentItems"]["parameters"]["query"]>;
519
+ export {};
321
520
  //# sourceMappingURL=lifecycle-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-types.d.ts","sourceRoot":"","sources":["../../../src/studio/lifecycle-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-types.d.ts","sourceRoot":"","sources":["../../../src/studio/lifecycle-types.ts"],"names":[],"mappings":"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"}
@@ -3,20 +3,13 @@
3
3
  * (`/api/v{version}/studio` in `honua-server`), backing
4
4
  * {@link HonuaStudioLifecycleClient}.
5
5
  *
6
- * These mirror the DTOs documented in
7
- * `docs/internal/admin-api/studio-package-lifecycle.md` (`honua-server`):
8
- * `Honua.Core.Features.Studio.Domain` for the entities and
9
- * `Honua.Server.Features.Studio.Models` for the request shapes. Every
10
- * interface keeps an open `[extra: string]: unknown` index signature so
11
- * additive server fields do not break existing clients, and reuses the
12
- * existing {@link StudioPackageDiagnostic} / {@link HonuaStudioPackageFamily}
13
- * projections from `./validation.js` / `./types.js` rather than redeclaring
14
- * them.
6
+ * Canonical request/response DTOs are generated from the SHA-pinned Studio
7
+ * OpenAPI document in `honua-server`; semantic helpers reuse the existing
8
+ * {@link StudioPackageDiagnostic} / {@link HonuaStudioPackageFamily}
9
+ * projections from `./validation.js` / `./types.js`.
15
10
  *
16
11
  * @experimental Not yet covered by the SDK's semver contract — these shapes
17
- * may change in any minor release prior to `1.0.0`, and until a dedicated
18
- * Studio OpenAPI snapshot is published this doc and the source-generated
19
- * JSON contexts are `honua-server`'s only contract reference.
12
+ * may change in any minor release prior to `1.0.0`.
20
13
  * @module
21
14
  */
22
15
  export {};
@@ -0,0 +1,55 @@
1
+ /**
2
+ * The publication-proposal state machine shared by
3
+ * {@link HonuaStudioPublicationRequestsClient} and any caller that renders
4
+ * proposal status itself.
5
+ *
6
+ * A Studio publication proposal walks `AwaitingApproval → Approved →
7
+ * Executing → Active`, and can leave the walk at `Rejected` (an approver
8
+ * declined) or `Failed` (execution failed after approval). Only `Active`
9
+ * means published.
10
+ *
11
+ * Two invariants are load-bearing and are asserted by the tests:
12
+ *
13
+ * 1. **A status this SDK release does not recognize is never terminal and
14
+ * never successful.** A future server state must stall a poll until its
15
+ * bound is reached, not be mistaken for a finished — let alone a
16
+ * successful — publication.
17
+ * 2. **A final publication URL exists only at `Active`.** `Rejected` and
18
+ * `Failed` are terminal *without* a URL, and {@link studioPublicationUrl}
19
+ * refuses to surface a `publicationUrl` that a misbehaving server attaches
20
+ * to any non-`Active` state.
21
+ *
22
+ * @module
23
+ */
24
+ import type { StudioPublicationLifecycleState, StudioPublicationRequest, StudioPublicationRequestStatus } from "./lifecycle-types.js";
25
+ /** Every canonical publication-proposal state, in lifecycle order. */
26
+ export declare const STUDIO_PUBLICATION_LIFECYCLE_STATES: readonly ["AwaitingApproval", "Approved", "Executing", "Active", "Rejected", "Failed"];
27
+ /**
28
+ * Resolve a wire status to its canonical {@link StudioPublicationLifecycleState},
29
+ * or `undefined` when this SDK release does not recognize it.
30
+ *
31
+ * Recognition is case- and separator-insensitive, and covers the legacy
32
+ * synchronous `accepted`/`rejected`/`pending` values. `undefined` is the
33
+ * deliberate signal for "unknown": callers must treat it as neither terminal
34
+ * nor successful.
35
+ */
36
+ export declare function normalizeStudioPublicationStatus(status: StudioPublicationRequestStatus | undefined): StudioPublicationLifecycleState | undefined;
37
+ /**
38
+ * True only for `Active`, `Rejected` and `Failed`. An unrecognized status is
39
+ * **not** terminal — a poll must keep waiting (up to its bound) rather than
40
+ * declare a state it cannot interpret finished.
41
+ */
42
+ export declare function isStudioPublicationTerminal(status: StudioPublicationRequestStatus | undefined): boolean;
43
+ /**
44
+ * True only for `Active` — the single successful terminal state. `Rejected`
45
+ * and `Failed` are terminal but not successful, and an unrecognized status is
46
+ * never successful.
47
+ */
48
+ export declare function isStudioPublicationActive(status: StudioPublicationRequestStatus | undefined): boolean;
49
+ /**
50
+ * The proposal's final publication URL, and `undefined` from every state
51
+ * other than `Active` — including a non-`Active` proposal that carries a
52
+ * `publicationUrl` field anyway.
53
+ */
54
+ export declare function studioPublicationUrl(request: StudioPublicationRequest | undefined): string | undefined;
55
+ //# sourceMappingURL=publication-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication-status.d.ts","sourceRoot":"","sources":["../../../src/studio/publication-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,+BAA+B,EAC/B,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,sBAAsB,CAAC;AAE9B,sEAAsE;AACtE,eAAO,MAAM,mCAAmC,wFAOe,CAAC;AAoChE;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,8BAA8B,GAAG,SAAS,GACjD,+BAA+B,GAAG,SAAS,CAG7C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,GAAG,OAAO,CAGvG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,8BAA8B,GAAG,SAAS,GAAG,OAAO,CAErG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMtG"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * The publication-proposal state machine shared by
3
+ * {@link HonuaStudioPublicationRequestsClient} and any caller that renders
4
+ * proposal status itself.
5
+ *
6
+ * A Studio publication proposal walks `AwaitingApproval → Approved →
7
+ * Executing → Active`, and can leave the walk at `Rejected` (an approver
8
+ * declined) or `Failed` (execution failed after approval). Only `Active`
9
+ * means published.
10
+ *
11
+ * Two invariants are load-bearing and are asserted by the tests:
12
+ *
13
+ * 1. **A status this SDK release does not recognize is never terminal and
14
+ * never successful.** A future server state must stall a poll until its
15
+ * bound is reached, not be mistaken for a finished — let alone a
16
+ * successful — publication.
17
+ * 2. **A final publication URL exists only at `Active`.** `Rejected` and
18
+ * `Failed` are terminal *without* a URL, and {@link studioPublicationUrl}
19
+ * refuses to surface a `publicationUrl` that a misbehaving server attaches
20
+ * to any non-`Active` state.
21
+ *
22
+ * @module
23
+ */
24
+ /** Every canonical publication-proposal state, in lifecycle order. */
25
+ export const STUDIO_PUBLICATION_LIFECYCLE_STATES = [
26
+ "AwaitingApproval",
27
+ "Approved",
28
+ "Executing",
29
+ "Active",
30
+ "Rejected",
31
+ "Failed",
32
+ ];
33
+ /** Terminal states — the proposal will not change again. Only `Active` is a success. */
34
+ const TERMINAL_STATES = new Set([
35
+ "Active",
36
+ "Rejected",
37
+ "Failed",
38
+ ]);
39
+ function comparisonForm(value) {
40
+ return value.toLowerCase().replace(/[-_\s]/g, "");
41
+ }
42
+ /**
43
+ * Canonical state keyed by its comparison form (lower-cased with `-`/`_`/
44
+ * whitespace removed), so `AwaitingApproval`, `awaitingApproval`,
45
+ * `awaiting-approval` and `awaiting_approval` all resolve identically.
46
+ *
47
+ * The three legacy synchronous values map onto the canonical walk:
48
+ * `accepted` was emitted only once the published pointer had already moved
49
+ * (so it is `Active`), `rejected` is `Rejected`, and `pending` — documented as
50
+ * "reserved for later asynchronous publication execution" — is `Executing`.
51
+ * Both `pending` and `Executing` are non-terminal, so a legacy deployment
52
+ * polls to the same outcome either way.
53
+ */
54
+ const STATE_BY_COMPARISON_FORM = new Map([
55
+ ...STUDIO_PUBLICATION_LIFECYCLE_STATES.map((state) => [comparisonForm(state), state]),
56
+ ["accepted", "Active"],
57
+ ["pending", "Executing"],
58
+ ]);
59
+ /**
60
+ * Resolve a wire status to its canonical {@link StudioPublicationLifecycleState},
61
+ * or `undefined` when this SDK release does not recognize it.
62
+ *
63
+ * Recognition is case- and separator-insensitive, and covers the legacy
64
+ * synchronous `accepted`/`rejected`/`pending` values. `undefined` is the
65
+ * deliberate signal for "unknown": callers must treat it as neither terminal
66
+ * nor successful.
67
+ */
68
+ export function normalizeStudioPublicationStatus(status) {
69
+ if (typeof status !== "string" || status.length === 0)
70
+ return undefined;
71
+ return STATE_BY_COMPARISON_FORM.get(comparisonForm(status));
72
+ }
73
+ /**
74
+ * True only for `Active`, `Rejected` and `Failed`. An unrecognized status is
75
+ * **not** terminal — a poll must keep waiting (up to its bound) rather than
76
+ * declare a state it cannot interpret finished.
77
+ */
78
+ export function isStudioPublicationTerminal(status) {
79
+ const state = normalizeStudioPublicationStatus(status);
80
+ return state !== undefined && TERMINAL_STATES.has(state);
81
+ }
82
+ /**
83
+ * True only for `Active` — the single successful terminal state. `Rejected`
84
+ * and `Failed` are terminal but not successful, and an unrecognized status is
85
+ * never successful.
86
+ */
87
+ export function isStudioPublicationActive(status) {
88
+ return normalizeStudioPublicationStatus(status) === "Active";
89
+ }
90
+ /**
91
+ * The proposal's final publication URL, and `undefined` from every state
92
+ * other than `Active` — including a non-`Active` proposal that carries a
93
+ * `publicationUrl` field anyway.
94
+ */
95
+ export function studioPublicationUrl(request) {
96
+ if (request === undefined)
97
+ return undefined;
98
+ if (!isStudioPublicationActive(request.status))
99
+ return undefined;
100
+ return typeof request.publicationUrl === "string" && request.publicationUrl.length > 0
101
+ ? request.publicationUrl
102
+ : undefined;
103
+ }