@honua/app-platform 0.1.7-beta.0 → 0.1.9-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.
- package/control-plane/admin-client.d.ts +87 -0
- package/control-plane/admin-client.d.ts.map +1 -0
- package/control-plane/admin-client.js +169 -0
- package/control-plane/client.d.ts.map +1 -1
- package/control-plane/client.js +21 -3
- package/control-plane/commands/catalog.d.ts +133 -0
- package/control-plane/commands/catalog.d.ts.map +1 -0
- package/control-plane/commands/catalog.js +353 -0
- package/control-plane/commands/errors.d.ts +96 -0
- package/control-plane/commands/errors.d.ts.map +1 -0
- package/control-plane/commands/errors.js +130 -0
- package/control-plane/commands/identity.d.ts +71 -0
- package/control-plane/commands/identity.d.ts.map +1 -0
- package/control-plane/commands/identity.js +0 -0
- package/control-plane/commands/index.d.ts +39 -0
- package/control-plane/commands/index.d.ts.map +1 -0
- package/control-plane/commands/index.js +34 -0
- package/control-plane/commands/runtime.d.ts +146 -0
- package/control-plane/commands/runtime.d.ts.map +1 -0
- package/control-plane/commands/runtime.js +318 -0
- package/control-plane/commands/types.d.ts +226 -0
- package/control-plane/commands/types.d.ts.map +1 -0
- package/control-plane/commands/types.js +30 -0
- package/control-plane/commands/validate.d.ts +27 -0
- package/control-plane/commands/validate.d.ts.map +1 -0
- package/control-plane/commands/validate.js +132 -0
- package/control-plane/generated/admin-api.d.ts +30263 -0
- package/control-plane/generated/admin-api.d.ts.map +1 -0
- package/control-plane/generated/admin-api.js +5 -0
- package/control-plane/generated/admin-operations.d.ts +4053 -0
- package/control-plane/generated/admin-operations.d.ts.map +1 -0
- package/control-plane/generated/admin-operations.js +820 -0
- package/control-plane/index.d.ts +11 -0
- package/control-plane/index.d.ts.map +1 -1
- package/control-plane/index.js +8 -0
- package/control-plane/types.d.ts +14 -0
- package/control-plane/types.d.ts.map +1 -1
- package/controls/catalog.d.ts.map +1 -1
- package/controls/catalog.js +12 -1
- package/controls/qualification.d.ts.map +1 -1
- package/controls/qualification.js +61 -2
- package/core/client.js +1 -1
- package/core/credential-redaction.d.ts +163 -0
- package/core/credential-redaction.d.ts.map +1 -0
- package/core/credential-redaction.js +389 -0
- package/core/error-classifications.d.ts +15 -0
- package/core/error-classifications.d.ts.map +1 -1
- package/core/error-classifications.js +15 -0
- package/core/error-code-registry.d.ts +15 -0
- package/core/error-code-registry.d.ts.map +1 -1
- package/core/error-code-registry.js +15 -0
- package/core/grpc-adapter.d.ts +2 -2
- package/core/grpc-adapter.d.ts.map +1 -1
- package/core/grpc-adapter.js +30 -6
- package/core/job-run-errors.d.ts +10 -0
- package/core/job-run-errors.d.ts.map +1 -0
- package/core/job-run-errors.js +14 -0
- package/core/job-run-lifecycle.d.ts +34 -0
- package/core/job-run-lifecycle.d.ts.map +1 -0
- package/core/job-run-lifecycle.js +193 -0
- package/core/ogc-processes.d.ts +38 -31
- package/core/ogc-processes.d.ts.map +1 -1
- package/core/ogc-processes.js +123 -173
- package/core/process-runner.js +15 -100
- package/core/surfaces.d.ts +2 -8
- package/core/surfaces.d.ts.map +1 -1
- package/core/surfaces.js +21 -112
- package/core/types.d.ts +7 -6
- package/core/types.d.ts.map +1 -1
- package/gen/geospatial/v1/common_pb.d.ts +514 -0
- package/gen/geospatial/v1/common_pb.d.ts.map +1 -0
- package/gen/geospatial/v1/common_pb.js +335 -0
- package/gen/geospatial/v1/execution_types_pb.d.ts +1186 -0
- package/gen/geospatial/v1/execution_types_pb.d.ts.map +1 -0
- package/gen/geospatial/v1/execution_types_pb.js +396 -0
- package/gen/geospatial/v1/feature_service_pb.d.ts +403 -0
- package/gen/geospatial/v1/feature_service_pb.d.ts.map +1 -0
- package/gen/geospatial/v1/feature_service_pb.js +47 -0
- package/gen/geospatial/v1/index.d.ts +5 -0
- package/gen/geospatial/v1/index.d.ts.map +1 -0
- package/gen/geospatial/v1/index.js +9 -0
- package/gen/geospatial/v1/spatial_types_pb.d.ts +285 -0
- package/gen/geospatial/v1/spatial_types_pb.d.ts.map +1 -0
- package/gen/geospatial/v1/spatial_types_pb.js +58 -0
- package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts +379 -0
- package/gen/geospatial/v1/workspace_artifact_types_pb.d.ts.map +1 -0
- package/gen/geospatial/v1/workspace_artifact_types_pb.js +151 -0
- package/generated-app/projection.d.ts.map +1 -1
- package/generated-app/projection.js +10 -1
- package/operate/client.d.ts +11 -1
- package/operate/client.d.ts.map +1 -1
- package/operate/client.js +39 -2
- package/operate/index.d.ts +1 -1
- package/operate/index.d.ts.map +1 -1
- package/operate/types.d.ts +40 -6
- package/operate/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/query-planner/grpc.d.ts +4 -4
- package/query-planner/grpc.d.ts.map +1 -1
- package/query-planner/grpc.js +11 -11
- package/query-planner/types.d.ts +4 -4
- package/query-planner/types.d.ts.map +1 -1
- package/runtime/errors.d.ts +1 -1
- package/runtime/errors.d.ts.map +1 -1
- package/runtime/errors.js +2 -0
- package/runtime/generated/map-package-schema-meta.d.ts +11 -0
- package/runtime/generated/map-package-schema-meta.d.ts.map +1 -0
- package/runtime/generated/map-package-schema-meta.js +12 -0
- package/runtime/generated/map-package-schema-validator.d.ts +16 -0
- package/runtime/generated/map-package-schema-validator.d.ts.map +1 -0
- package/runtime/generated/map-package-schema-validator.js +1422 -0
- package/runtime/index.d.ts +5 -1
- package/runtime/index.d.ts.map +1 -1
- package/runtime/index.js +6 -0
- package/runtime/map-package-export.d.ts +151 -0
- package/runtime/map-package-export.d.ts.map +1 -0
- package/runtime/map-package-export.js +636 -0
- package/runtime/map-package-validation.d.ts +21 -1
- package/runtime/map-package-validation.d.ts.map +1 -1
- package/runtime/map-package-validation.js +132 -95
- package/runtime/map-package.d.ts +80 -0
- package/runtime/map-package.d.ts.map +1 -1
- package/scene-workspace/cesium-adapter.d.ts +8 -8
- package/scene-workspace/cesium-adapter.d.ts.map +1 -1
- package/scene-workspace/cesium-adapter.js +31 -18
- package/scene-workspace/primitives.d.ts.map +1 -1
- package/scene-workspace/primitives.js +9 -6
- package/scene-workspace/source-to-cesium.js +1 -1
- package/studio/chart-spec.d.ts +6 -6
- package/studio/chart-spec.d.ts.map +1 -1
- package/studio/chart-spec.js +6 -6
- package/studio/index.d.ts +17 -7
- package/studio/index.d.ts.map +1 -1
- package/studio/index.js +15 -5
- package/studio/lifecycle-client.d.ts +262 -22
- package/studio/lifecycle-client.d.ts.map +1 -1
- package/studio/lifecycle-client.js +524 -24
- package/studio/lifecycle-errors.d.ts +8 -2
- package/studio/lifecycle-errors.d.ts.map +1 -1
- package/studio/lifecycle-errors.js +6 -1
- package/studio/lifecycle-types.d.ts +228 -8
- package/studio/lifecycle-types.d.ts.map +1 -1
- package/studio/publication-status.d.ts +55 -0
- package/studio/publication-status.d.ts.map +1 -0
- package/studio/publication-status.js +103 -0
- package/web-components/application-context.d.ts +186 -0
- package/web-components/application-context.d.ts.map +1 -0
- package/web-components/application-context.js +429 -0
- package/web-components/elements.d.ts +10 -1
- package/web-components/elements.d.ts.map +1 -1
- package/web-components/elements.js +187 -7
- package/web-components/export-redaction.d.ts +11 -102
- package/web-components/export-redaction.d.ts.map +1 -1
- package/web-components/export-redaction.js +7 -260
- package/web-components/feature-editor-offline.d.ts +32 -0
- package/web-components/feature-editor-offline.d.ts.map +1 -0
- package/web-components/feature-editor-offline.js +115 -0
- package/web-components/feature-editor-workflow.d.ts +85 -22
- package/web-components/feature-editor-workflow.d.ts.map +1 -1
- package/web-components/feature-editor-workflow.js +240 -0
- package/web-components/feature-editor.d.ts +20 -6
- package/web-components/feature-editor.d.ts.map +1 -1
- package/web-components/feature-editor.js +159 -7
- package/web-components/feature-inspection.d.ts +287 -0
- package/web-components/feature-inspection.d.ts.map +1 -0
- package/web-components/feature-inspection.js +1464 -0
- package/web-components/feature-mutation.d.ts +77 -0
- package/web-components/feature-mutation.d.ts.map +1 -0
- package/web-components/feature-mutation.js +137 -0
- package/web-components/feature-table-engine.d.ts +94 -4
- package/web-components/feature-table-engine.d.ts.map +1 -1
- package/web-components/feature-table-engine.js +365 -18
- package/web-components/feature-table-view.d.ts +35 -1
- package/web-components/feature-table-view.d.ts.map +1 -1
- package/web-components/feature-table-view.js +128 -12
- package/web-components/index.d.ts +14 -6
- package/web-components/index.d.ts.map +1 -1
- package/web-components/index.js +8 -2
- package/gen/honua/v1/feature_service_pb.d.ts +0 -918
- package/gen/honua/v1/feature_service_pb.d.ts.map +0 -1
- package/gen/honua/v1/feature_service_pb.js +0 -375
|
@@ -149,8 +149,11 @@ function diagnoseScenePrimitiveStructure(primitive, capabilities) {
|
|
|
149
149
|
unsupported(primitive, capabilities, "Renderer adapter does not support terrain sources.", "Render without terrain and keep elevation metadata for a 3D adapter."),
|
|
150
150
|
];
|
|
151
151
|
if (!terrain.protocols.includes(primitive.protocol)) {
|
|
152
|
+
const fallback = capabilities.renderer === "cesium"
|
|
153
|
+
? "Publish quantized-mesh terrain for Cesium, or route raster DEM/Terrain-RGB to MapLibre 2.5D."
|
|
154
|
+
: "Use terrain-rgb/raster-dem for MapLibre 2.5D or route quantized mesh to Cesium.";
|
|
152
155
|
return [
|
|
153
|
-
unsupported(primitive, capabilities, `Terrain protocol '${primitive.protocol}' is not supported by ${capabilities.renderer}.`,
|
|
156
|
+
unsupported(primitive, capabilities, `Terrain protocol '${primitive.protocol}' is not supported by ${capabilities.renderer}.`, fallback),
|
|
154
157
|
];
|
|
155
158
|
}
|
|
156
159
|
if (primitive.exaggeration !== undefined && terrain.supportsExaggeration !== true) {
|
|
@@ -314,11 +317,11 @@ function diagnostic(code, severity, status, primitive, capabilities, message, fa
|
|
|
314
317
|
* Endpoint and range validation for an elevation source, applied to every
|
|
315
318
|
* terrain protocol rather than `terrain-rgb` alone.
|
|
316
319
|
*
|
|
317
|
-
*
|
|
318
|
-
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
* and keeps it off the live scene.
|
|
320
|
+
* Renderer capability filtering happens before this function. The protocols a
|
|
321
|
+
* renderer actually supports then receive the same endpoint and range checks;
|
|
322
|
+
* a missing or malformed endpoint must not reach either a quantized-mesh
|
|
323
|
+
* provider or a MapLibre `raster-dem` source. Failing closed here keeps that
|
|
324
|
+
* failure legible and keeps it off the live scene.
|
|
322
325
|
*/
|
|
323
326
|
function diagnoseRenderableTerrain(primitive, capabilities) {
|
|
324
327
|
const diagnostics = [];
|
|
@@ -553,7 +553,7 @@ function entityFingerprint(facets) {
|
|
|
553
553
|
if (facets.geometry === undefined || facets.properties === undefined || facets.availability === undefined) {
|
|
554
554
|
return undefined;
|
|
555
555
|
}
|
|
556
|
-
return `${facets.geometry}
|
|
556
|
+
return `${facets.geometry}\0${facets.properties}\0${facets.availability}`;
|
|
557
557
|
}
|
|
558
558
|
/**
|
|
559
559
|
* Classify one projected feature against what this mount already owns.
|
package/studio/chart-spec.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A documented, compatible subset of the Vega-Lite
|
|
2
|
+
* A documented, compatible subset of the Vega-Lite v6 spec used by Studio
|
|
3
3
|
* dashboard and report charts. The acceptance criterion for cross-surface
|
|
4
4
|
* parity is that "dashboard/report charts use Vega-Lite specs or an explicitly
|
|
5
5
|
* documented compatible subset" — this module is that documented subset, plus
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { HonuaGeneratedAppChartWidget } from "../generated-app/manifest.js";
|
|
20
20
|
/** Vega-Lite schema URL this subset targets. */
|
|
21
|
-
export declare const
|
|
21
|
+
export declare const HONUA_VEGA_LITE_SCHEMA: "https://vega.github.io/schema/vega-lite/v6.json";
|
|
22
22
|
/** Mark types in the supported subset. */
|
|
23
23
|
export type HonuaChartMark = "bar" | "line" | "point" | "arc";
|
|
24
24
|
/** Encoding field type in the supported subset. */
|
|
@@ -57,7 +57,7 @@ export interface HonuaChartEncoding {
|
|
|
57
57
|
* @experimental
|
|
58
58
|
*/
|
|
59
59
|
export interface HonuaVegaLiteChartSpec {
|
|
60
|
-
readonly $schema: typeof
|
|
60
|
+
readonly $schema: typeof HONUA_VEGA_LITE_SCHEMA;
|
|
61
61
|
readonly title?: string;
|
|
62
62
|
readonly description?: string;
|
|
63
63
|
readonly mark: HonuaChartMark | {
|
|
@@ -65,7 +65,7 @@ export interface HonuaVegaLiteChartSpec {
|
|
|
65
65
|
readonly tooltip?: boolean;
|
|
66
66
|
};
|
|
67
67
|
readonly encoding: HonuaChartEncoding;
|
|
68
|
-
readonly data
|
|
68
|
+
readonly data: {
|
|
69
69
|
readonly values?: ReadonlyArray<Record<string, unknown>>;
|
|
70
70
|
readonly name?: string;
|
|
71
71
|
};
|
|
@@ -75,8 +75,8 @@ export interface HonuaVegaLiteChartSpec {
|
|
|
75
75
|
/**
|
|
76
76
|
* Derive a {@link HonuaVegaLiteChartSpec} from a generated-app chart widget so
|
|
77
77
|
* dashboard and report charts render identically across surfaces. `rows`, when
|
|
78
|
-
* supplied, become inline `data.values`; otherwise the host binds
|
|
79
|
-
* dataset. Returns `undefined` when the widget lacks the field needed for its
|
|
78
|
+
* supplied, become inline `data.values`; otherwise the host binds the named
|
|
79
|
+
* dataset identified by the widget id. Returns `undefined` when the widget lacks the field needed for its
|
|
80
80
|
* chart kind (so a caller can degrade cleanly rather than emit a broken spec).
|
|
81
81
|
*
|
|
82
82
|
* @experimental
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-spec.d.ts","sourceRoot":"","sources":["../../../src/studio/chart-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAEjF,gDAAgD;AAChD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"chart-spec.d.ts","sourceRoot":"","sources":["../../../src/studio/chart-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAEjF,gDAAgD;AAChD,eAAO,MAAM,sBAAsB,EAAG,iDAA0D,CAAC;AAEjG,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9D,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,sBAAsB,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CACxC;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,4BAA4B,EACpC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,sBAAsB,GAAG,SAAS,CAiDpC"}
|
package/studio/chart-spec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A documented, compatible subset of the Vega-Lite
|
|
2
|
+
* A documented, compatible subset of the Vega-Lite v6 spec used by Studio
|
|
3
3
|
* dashboard and report charts. The acceptance criterion for cross-surface
|
|
4
4
|
* parity is that "dashboard/report charts use Vega-Lite specs or an explicitly
|
|
5
5
|
* documented compatible subset" — this module is that documented subset, plus
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
19
|
/** Vega-Lite schema URL this subset targets. */
|
|
20
|
-
export const
|
|
20
|
+
export const HONUA_VEGA_LITE_SCHEMA = "https://vega.github.io/schema/vega-lite/v6.json";
|
|
21
21
|
/**
|
|
22
22
|
* Map a generated-app chart widget kind to a Vega-Lite mark and the encoding
|
|
23
23
|
* shape the subset expects.
|
|
@@ -30,8 +30,8 @@ const CHART_KIND_MARK = {
|
|
|
30
30
|
/**
|
|
31
31
|
* Derive a {@link HonuaVegaLiteChartSpec} from a generated-app chart widget so
|
|
32
32
|
* dashboard and report charts render identically across surfaces. `rows`, when
|
|
33
|
-
* supplied, become inline `data.values`; otherwise the host binds
|
|
34
|
-
* dataset. Returns `undefined` when the widget lacks the field needed for its
|
|
33
|
+
* supplied, become inline `data.values`; otherwise the host binds the named
|
|
34
|
+
* dataset identified by the widget id. Returns `undefined` when the widget lacks the field needed for its
|
|
35
35
|
* chart kind (so a caller can degrade cleanly rather than emit a broken spec).
|
|
36
36
|
*
|
|
37
37
|
* @experimental
|
|
@@ -81,12 +81,12 @@ export function chartWidgetToVegaLiteSpec(widget, rows) {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
return {
|
|
84
|
-
$schema:
|
|
84
|
+
$schema: HONUA_VEGA_LITE_SCHEMA,
|
|
85
85
|
...(widget.title ? { title: widget.title } : {}),
|
|
86
86
|
mark: { type: mark, tooltip: true },
|
|
87
87
|
encoding,
|
|
88
88
|
width: "container",
|
|
89
|
-
|
|
89
|
+
data: rows ? { values: rows } : { name: widget.id },
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
function metricToAggregate(metric) {
|
package/studio/index.d.ts
CHANGED
|
@@ -17,9 +17,18 @@
|
|
|
17
17
|
* (`/api/v{version}/studio`): package-family discovery, draft CRUD with
|
|
18
18
|
* optimistic-generation checking, validate, preview-plan, immutable content
|
|
19
19
|
* versions and comparisons, publish requests, reopen, and rollback requests.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* It also enumerates: `contentItems.list()` and `drafts.list()` page the
|
|
21
|
+
* `honua-server#3003` content-browser endpoints with filters, opaque keyset
|
|
22
|
+
* cursors, and a joined publication-registry lifecycle badge per content-item
|
|
23
|
+
* row — plus bounded `listAll()`/`collect()` cursor walks. See that module's
|
|
24
|
+
* doc comment.
|
|
25
|
+
*
|
|
26
|
+
* Publication proposals are submitted, read and polled to a final state
|
|
27
|
+
* through `publicationRequests` — `create`, `get` and a bounded, cancellable
|
|
28
|
+
* `poll` that returns a final publication URL only at `Active`. This surface
|
|
29
|
+
* carries **no** approve/authorize/override capability by design: approval is
|
|
30
|
+
* a separate principal acting through the canonical Admin API/CLI. See
|
|
31
|
+
* `./publication-status.js` for the state machine.
|
|
23
32
|
*
|
|
24
33
|
* @experimental This entrypoint is not yet covered by the SDK's semver contract
|
|
25
34
|
* — the surface may change in any minor release prior to `1.0.0`, and the
|
|
@@ -34,7 +43,7 @@ export { validatePackageProvenance, validateStudioPackage } from "./validate.js"
|
|
|
34
43
|
export type { ValidateStudioPackageOptions } from "./validate.js";
|
|
35
44
|
export { HONUA_PACKAGE_PROVENANCE_FORMAT_V1, getPackageProvenance } from "./provenance.js";
|
|
36
45
|
export type { HonuaPackageOrigin, HonuaPackagePermission, HonuaPackageProvenance, HonuaPackageProvenanceFormat, HonuaPlanProvenance, HonuaPlanStep, HonuaPromptProvenance, HonuaProvenanceDataBinding, } from "./provenance.js";
|
|
37
|
-
export {
|
|
46
|
+
export { HONUA_VEGA_LITE_SCHEMA, chartWidgetToVegaLiteSpec } from "./chart-spec.js";
|
|
38
47
|
export type { HonuaChartEncoding, HonuaChartEncodingChannel, HonuaChartFieldType, HonuaChartMark, HonuaVegaLiteChartSpec, } from "./chart-spec.js";
|
|
39
48
|
export { getCapability, getCapabilityReasonCode, hasCapability, hasPackageFamily, isCapabilitySupported, } from "./capability-manifest.js";
|
|
40
49
|
export type { StudioCapabilityAnalysisLimits, StudioCapabilityAttachmentLimits, StudioCapabilityEditLimits, StudioCapabilityEntitlementDecision, StudioCapabilityEntry, StudioCapabilityEnvironment, StudioCapabilityGeometryLimits, StudioCapabilityJobLimits, StudioCapabilityLimits, StudioCapabilityLink, StudioCapabilityManifest, StudioCapabilityPackageFamily, StudioCapabilityPackages, StudioCapabilityPolicies, StudioCapabilityPreviewLimits, StudioCapabilityPublicationLimits, StudioCapabilityQueryLimits, StudioCapabilityScope, StudioCapabilityServerInfo, StudioCapabilityStreamingLimits, StudioCapabilityTransports, StudioCapabilityTransportState, StudioCapabilityUploadLimits, } from "./capability-manifest.js";
|
|
@@ -45,7 +54,8 @@ export { HONUA_GENERATED_APP_MANIFEST_FORMAT_V1 } from "../generated-app/manifes
|
|
|
45
54
|
export type { HonuaGeneratedAppManifest, HonuaGeneratedAppPackage } from "../generated-app/manifest.js";
|
|
46
55
|
export { HONUA_STUDIO_PROBLEM_TYPE, HonuaStudioError, classifyStudioProblemStatus, isHonuaStudioError, isHonuaStudioGenerationConflict, } from "./lifecycle-errors.js";
|
|
47
56
|
export type { HonuaStudioProblemDetails, HonuaStudioProblemKind } from "./lifecycle-errors.js";
|
|
48
|
-
export
|
|
49
|
-
export {
|
|
50
|
-
export
|
|
57
|
+
export { STUDIO_PUBLICATION_LIFECYCLE_STATES, isStudioPublicationActive, isStudioPublicationTerminal, normalizeStudioPublicationStatus, studioPublicationUrl, } from "./publication-status.js";
|
|
58
|
+
export type { StudioApiResponse, StudioBindingRef, StudioContentItemListOptions, StudioContentItemListResponse, StudioContentItemListRow, StudioContentItemPointers, StudioContentItemPublicationBadge, StudioContentItemState, StudioContentVersion, StudioContentVersionListResponse, StudioDependencyRef, StudioListFilterOptions, StudioListPage, StudioPackageDraft, StudioPackageDraftCreateRequest, StudioPackageDraftListOptions, StudioPackageDraftListResponse, StudioPackageDraftReplaceRequest, StudioPackageEnvelope, StudioPackageFamilyCapabilities, StudioPackageFamilyCapability, StudioPackageFamilyOperation, StudioPackageFamilySupportLevel, StudioPersistenceMode, StudioPreviewPlan, StudioProvenanceRef, StudioPublicationIdentifiers, StudioPublicationIntent, StudioPublicationLifecycleState, StudioPublicationRequest, StudioPublicationRequestInput, StudioPublicationRequestStatus, StudioPublicationRouteLifecycle, StudioReopenVersionRequest, StudioRollbackPointer, StudioRollbackRequest, StudioRollbackRequestInput, StudioValidationDepth, StudioValidationStatus, StudioValidationSummary, StudioVersionComparison, StudioVersionComparisonDiff, StudioVersionComparisonRequest, } from "./lifecycle-types.js";
|
|
59
|
+
export { HONUA_STUDIO_LIFECYCLE_BASE_PATH, HONUA_STUDIO_LIST_DEFAULT_LIMIT, HONUA_STUDIO_LIST_MAX_LIMIT, HONUA_STUDIO_LIST_MAX_PAGES, HONUA_STUDIO_PUBLICATION_POLL_INTERVAL_MS, HONUA_STUDIO_PUBLICATION_POLL_MAX_ATTEMPTS, HonuaStudioContentItemsClient, HonuaStudioContentVersionsClient, HonuaStudioDraftsClient, HonuaStudioLifecycleClient, HonuaStudioPackageFamiliesClient, HonuaStudioPublicationRequestsClient, HonuaStudioRollbackRequestsClient, createHonuaStudioLifecycleClient, isStudioListExhausted, } from "./lifecycle-client.js";
|
|
60
|
+
export type { HonuaStudioLifecycleClientOptions, HonuaStudioPaginationOptions, HonuaStudioPublicationPollOptions, HonuaStudioRawRequest, HonuaStudioRequestOptions, StudioListCollection, StudioPublicationPollOutcome, } from "./lifecycle-client.js";
|
|
51
61
|
//# sourceMappingURL=index.d.ts.map
|
package/studio/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/studio/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/studio/index.ts"],"names":[],"mappings":"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"}
|
package/studio/index.js
CHANGED
|
@@ -17,9 +17,18 @@
|
|
|
17
17
|
* (`/api/v{version}/studio`): package-family discovery, draft CRUD with
|
|
18
18
|
* optimistic-generation checking, validate, preview-plan, immutable content
|
|
19
19
|
* versions and comparisons, publish requests, reopen, and rollback requests.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* It also enumerates: `contentItems.list()` and `drafts.list()` page the
|
|
21
|
+
* `honua-server#3003` content-browser endpoints with filters, opaque keyset
|
|
22
|
+
* cursors, and a joined publication-registry lifecycle badge per content-item
|
|
23
|
+
* row — plus bounded `listAll()`/`collect()` cursor walks. See that module's
|
|
24
|
+
* doc comment.
|
|
25
|
+
*
|
|
26
|
+
* Publication proposals are submitted, read and polled to a final state
|
|
27
|
+
* through `publicationRequests` — `create`, `get` and a bounded, cancellable
|
|
28
|
+
* `poll` that returns a final publication URL only at `Active`. This surface
|
|
29
|
+
* carries **no** approve/authorize/override capability by design: approval is
|
|
30
|
+
* a separate principal acting through the canonical Admin API/CLI. See
|
|
31
|
+
* `./publication-status.js` for the state machine.
|
|
23
32
|
*
|
|
24
33
|
* @experimental This entrypoint is not yet covered by the SDK's semver contract
|
|
25
34
|
* — the surface may change in any minor release prior to `1.0.0`, and the
|
|
@@ -30,7 +39,7 @@ export { HONUA_ANALYSIS_PACKAGE_FORMAT_V1, HONUA_ETL_PACKAGE_FORMAT_V1, HONUA_FO
|
|
|
30
39
|
export { fromMapPackageValidation, toStudioValidationResponse } from "./validation.js";
|
|
31
40
|
export { validatePackageProvenance, validateStudioPackage } from "./validate.js";
|
|
32
41
|
export { HONUA_PACKAGE_PROVENANCE_FORMAT_V1, getPackageProvenance } from "./provenance.js";
|
|
33
|
-
export {
|
|
42
|
+
export { HONUA_VEGA_LITE_SCHEMA, chartWidgetToVegaLiteSpec } from "./chart-spec.js";
|
|
34
43
|
export { getCapability, getCapabilityReasonCode, hasCapability, hasPackageFamily, isCapabilitySupported, } from "./capability-manifest.js";
|
|
35
44
|
// Re-exported established families so `@honua/sdk-js/studio` is the single
|
|
36
45
|
// import path for every Studio package projection. These leaf modules carry
|
|
@@ -38,4 +47,5 @@ export { getCapability, getCapabilityReasonCode, hasCapability, hasPackageFamily
|
|
|
38
47
|
export { HONUA_MAP_PACKAGE_FORMAT_V1 } from "../runtime/map-package.js";
|
|
39
48
|
export { HONUA_GENERATED_APP_MANIFEST_FORMAT_V1 } from "../generated-app/manifest.js";
|
|
40
49
|
export { HONUA_STUDIO_PROBLEM_TYPE, HonuaStudioError, classifyStudioProblemStatus, isHonuaStudioError, isHonuaStudioGenerationConflict, } from "./lifecycle-errors.js";
|
|
41
|
-
export {
|
|
50
|
+
export { STUDIO_PUBLICATION_LIFECYCLE_STATES, isStudioPublicationActive, isStudioPublicationTerminal, normalizeStudioPublicationStatus, studioPublicationUrl, } from "./publication-status.js";
|
|
51
|
+
export { HONUA_STUDIO_LIFECYCLE_BASE_PATH, HONUA_STUDIO_LIST_DEFAULT_LIMIT, HONUA_STUDIO_LIST_MAX_LIMIT, HONUA_STUDIO_LIST_MAX_PAGES, HONUA_STUDIO_PUBLICATION_POLL_INTERVAL_MS, HONUA_STUDIO_PUBLICATION_POLL_MAX_ATTEMPTS, HonuaStudioContentItemsClient, HonuaStudioContentVersionsClient, HonuaStudioDraftsClient, HonuaStudioLifecycleClient, HonuaStudioPackageFamiliesClient, HonuaStudioPublicationRequestsClient, HonuaStudioRollbackRequestsClient, createHonuaStudioLifecycleClient, isStudioListExhausted, } from "./lifecycle-client.js";
|
|
@@ -17,31 +17,38 @@
|
|
|
17
17
|
* `./lifecycle-errors.js` for the RFC 7807 problem-detail taxonomy and the
|
|
18
18
|
* `generation-conflict` discriminant.
|
|
19
19
|
*
|
|
20
|
-
* ##
|
|
20
|
+
* ## Publication proposals
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
22
|
+
* {@link HonuaStudioPublicationRequestsClient} submits an already-saved
|
|
23
|
+
* immutable version for publication, reads the resulting proposal, and walks
|
|
24
|
+
* it to a final state with a bounded, cancellable
|
|
25
|
+
* {@link HonuaStudioPublicationRequestsClient.poll}. Only `Active` yields a
|
|
26
|
+
* final publication URL; `Rejected` and `Failed` are terminal without one,
|
|
27
|
+
* and a status this release does not recognize is treated as neither.
|
|
28
|
+
* Approval is deliberately **not** part of this surface — see that class's
|
|
29
|
+
* doc comment.
|
|
30
30
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
31
|
+
* ## Enumeration
|
|
32
|
+
*
|
|
33
|
+
* `contentItems.list()` (`GET /content-items`) and `drafts.list()`
|
|
34
|
+
* (`GET /package-drafts`) are the content-browser entry points added by
|
|
35
|
+
* `honua-server#3003`: filters (`family`, `workspaceId`, `owner`, `q`, plus
|
|
36
|
+
* `state` for content items), opaque keyset-cursor pagination ordered by
|
|
37
|
+
* `updatedAt` then row id descending, and — for content items — a joined
|
|
38
|
+
* Content Publication Registry lifecycle badge per row, so a lifecycle badge
|
|
39
|
+
* costs no extra request. Both resource groups also expose a bounded
|
|
40
|
+
* `listAll()` async generator and a `collect()` convenience that walk the
|
|
41
|
+
* cursor for you; neither can loop forever (see
|
|
42
|
+
* {@link HONUA_STUDIO_LIST_MAX_PAGES}).
|
|
43
|
+
*
|
|
44
|
+
* Cursors are **opaque**. Pass a `nextCursor` back verbatim; never build,
|
|
45
|
+
* parse, or persist-and-mutate one.
|
|
39
46
|
*
|
|
40
47
|
* @module
|
|
41
48
|
*/
|
|
42
49
|
import type { HonuaClient } from "../core/client.js";
|
|
43
50
|
import type { QueryMethod } from "../core/types.js";
|
|
44
|
-
import type { StudioContentVersion, StudioContentVersionListResponse, StudioPackageDraft, StudioPackageDraftCreateRequest, StudioPackageDraftReplaceRequest, StudioPackageFamilyCapabilities, StudioPreviewPlan, StudioPublicationRequest, StudioPublicationRequestInput, StudioReopenVersionRequest, StudioRollbackRequest, StudioRollbackRequestInput, StudioValidationSummary, StudioVersionComparison, StudioVersionComparisonRequest } from "./lifecycle-types.js";
|
|
51
|
+
import type { StudioContentItemListOptions, StudioContentItemListResponse, StudioContentItemListRow, StudioContentVersion, StudioContentVersionListResponse, StudioListPage, StudioPackageDraft, StudioPackageDraftCreateRequest, StudioPackageDraftListOptions, StudioPackageDraftListResponse, StudioPackageDraftReplaceRequest, StudioPackageFamilyCapabilities, StudioPreviewPlan, StudioPublicationLifecycleState, StudioPublicationRequest, StudioPublicationRequestInput, StudioReopenVersionRequest, StudioRollbackRequest, StudioRollbackRequestInput, StudioValidationSummary, StudioVersionComparison, StudioVersionComparisonRequest } from "./lifecycle-types.js";
|
|
45
52
|
/** Default base path for the Studio package lifecycle API. */
|
|
46
53
|
export declare const HONUA_STUDIO_LIFECYCLE_BASE_PATH: "/api/v1/studio";
|
|
47
54
|
/** Constructor options for {@link HonuaStudioLifecycleClient}. */
|
|
@@ -71,12 +78,13 @@ export declare class HonuaStudioLifecycleClient {
|
|
|
71
78
|
#private;
|
|
72
79
|
readonly packageFamilies: HonuaStudioPackageFamiliesClient;
|
|
73
80
|
readonly drafts: HonuaStudioDraftsClient;
|
|
81
|
+
readonly contentItems: HonuaStudioContentItemsClient;
|
|
74
82
|
readonly contentVersions: HonuaStudioContentVersionsClient;
|
|
75
83
|
readonly publicationRequests: HonuaStudioPublicationRequestsClient;
|
|
76
84
|
readonly rollbackRequests: HonuaStudioRollbackRequestsClient;
|
|
77
85
|
constructor(options: HonuaStudioLifecycleClientOptions);
|
|
78
86
|
get basePath(): string;
|
|
79
|
-
/** Escape hatch for
|
|
87
|
+
/** Escape hatch for any endpoint that does not have a dedicated method on this client yet. */
|
|
80
88
|
raw<T = unknown>(request: HonuaStudioRawRequest): Promise<T>;
|
|
81
89
|
/** @internal */
|
|
82
90
|
request<T>(method: QueryMethod, path: string, body: unknown, options?: HonuaStudioRequestOptions): Promise<T>;
|
|
@@ -96,6 +104,25 @@ export declare class HonuaStudioDraftsClient {
|
|
|
96
104
|
constructor(lifecycle: HonuaStudioLifecycleClient);
|
|
97
105
|
/** `POST /package-drafts` — create a mutable package draft. */
|
|
98
106
|
create(request: StudioPackageDraftCreateRequest, options?: HonuaStudioRequestOptions): Promise<StudioPackageDraft>;
|
|
107
|
+
/**
|
|
108
|
+
* `GET /package-drafts` — one page of mutable drafts matching `filters`
|
|
109
|
+
* (`family`, `workspaceId`, `owner`, `q`), ordered by `updatedAt` then
|
|
110
|
+
* `draftId` descending.
|
|
111
|
+
*
|
|
112
|
+
* Rows are full {@link StudioPackageDraft} objects. Pass the response's
|
|
113
|
+
* `nextCursor` back as `filters.cursor` for the next page; its absence (or
|
|
114
|
+
* `null`) means this was the last one. Prefer {@link listAll} or
|
|
115
|
+
* {@link collect} over hand-rolling that loop.
|
|
116
|
+
*/
|
|
117
|
+
list(filters?: StudioPackageDraftListOptions, options?: HonuaStudioRequestOptions): Promise<StudioPackageDraftListResponse>;
|
|
118
|
+
/**
|
|
119
|
+
* Walk `GET /package-drafts` to completion, yielding each page verbatim.
|
|
120
|
+
* Bounded by `options.maxPages` — see {@link HonuaStudioContentItemsClient.listAll}
|
|
121
|
+
* for the shared pagination rules.
|
|
122
|
+
*/
|
|
123
|
+
listAll(filters?: StudioPackageDraftListOptions, options?: HonuaStudioPaginationOptions): AsyncGenerator<StudioPackageDraftListResponse, void, undefined>;
|
|
124
|
+
/** Accumulate every draft page into one {@link StudioListCollection}. */
|
|
125
|
+
collect(filters?: StudioPackageDraftListOptions, options?: HonuaStudioPaginationOptions): Promise<StudioListCollection<StudioPackageDraft>>;
|
|
99
126
|
/** `GET /package-drafts/{draftId}` — retrieve a mutable draft. */
|
|
100
127
|
get(draftId: string, options?: HonuaStudioRequestOptions): Promise<StudioPackageDraft>;
|
|
101
128
|
/**
|
|
@@ -119,6 +146,101 @@ export declare class HonuaStudioDraftsClient {
|
|
|
119
146
|
*/
|
|
120
147
|
createContentVersion(draftId: string, options?: HonuaStudioRequestOptions): Promise<StudioContentVersion>;
|
|
121
148
|
}
|
|
149
|
+
/** Page size `GET /content-items` and `GET /package-drafts` use when `limit` is omitted. */
|
|
150
|
+
export declare const HONUA_STUDIO_LIST_DEFAULT_LIMIT = 25;
|
|
151
|
+
/**
|
|
152
|
+
* Largest `limit` the Studio list endpoints accept. The server clamps anything
|
|
153
|
+
* larger down to this value rather than erroring, which would silently hand a
|
|
154
|
+
* caller fewer rows than they asked for, so this client rejects an oversized
|
|
155
|
+
* `limit` up front instead.
|
|
156
|
+
*/
|
|
157
|
+
export declare const HONUA_STUDIO_LIST_MAX_LIMIT = 1000;
|
|
158
|
+
/**
|
|
159
|
+
* Default hard bound on how many pages {@link HonuaStudioContentItemsClient.listAll}
|
|
160
|
+
* / {@link HonuaStudioDraftsClient.listAll} will fetch. There is no
|
|
161
|
+
* "walk forever" mode, and no option that produces one.
|
|
162
|
+
*/
|
|
163
|
+
export declare const HONUA_STUDIO_LIST_MAX_PAGES = 1000;
|
|
164
|
+
/** Per-call options for the bounded `listAll` / `collect` cursor walks. */
|
|
165
|
+
export interface HonuaStudioPaginationOptions extends HonuaStudioRequestOptions {
|
|
166
|
+
/**
|
|
167
|
+
* Hard upper bound on the number of pages fetched, defaulting to
|
|
168
|
+
* {@link HONUA_STUDIO_LIST_MAX_PAGES}. Reaching it stops the walk; the last
|
|
169
|
+
* page yielded still carries the `nextCursor` to resume from, so nothing is
|
|
170
|
+
* lost — and {@link StudioListCollection.truncated} says it happened.
|
|
171
|
+
*/
|
|
172
|
+
readonly maxPages?: number;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* The result of accumulating a bounded cursor walk.
|
|
176
|
+
*
|
|
177
|
+
* `truncated: true` means the page cap was reached while the server was still
|
|
178
|
+
* advertising more rows — it is *not* an error and not a complete answer:
|
|
179
|
+
* resume from {@link StudioListCollection.nextCursor}.
|
|
180
|
+
*/
|
|
181
|
+
export interface StudioListCollection<TItem> {
|
|
182
|
+
/** Every row from every page fetched, in server order. */
|
|
183
|
+
readonly items: readonly TItem[];
|
|
184
|
+
/** How many pages were fetched. */
|
|
185
|
+
readonly pages: number;
|
|
186
|
+
/** The last page's `total` — every row matching the query server-side. */
|
|
187
|
+
readonly total: number;
|
|
188
|
+
/** The cursor to resume from; present only when `truncated` is true. */
|
|
189
|
+
readonly nextCursor: string | undefined;
|
|
190
|
+
/** True only when the page cap stopped a walk the server had not finished. */
|
|
191
|
+
readonly truncated: boolean;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* True when a page is the last one — the server sends `nextCursor: null` on
|
|
195
|
+
* the final page, and its source-generated JSON context omits `null`
|
|
196
|
+
* properties, so "absent" and "null" mean the same thing. An empty-string
|
|
197
|
+
* cursor is treated as exhausted too rather than replayed as a filter value.
|
|
198
|
+
*/
|
|
199
|
+
export declare function isStudioListExhausted(page: StudioListPage<unknown>): boolean;
|
|
200
|
+
/** `/content-items` — enumerate Studio content items with joined publication badges. */
|
|
201
|
+
export declare class HonuaStudioContentItemsClient {
|
|
202
|
+
#private;
|
|
203
|
+
constructor(lifecycle: HonuaStudioLifecycleClient);
|
|
204
|
+
/**
|
|
205
|
+
* `GET /content-items` — one page of content items matching `filters`
|
|
206
|
+
* (`family`, `workspaceId`, `owner`, `state`, `q`), ordered by `updatedAt`
|
|
207
|
+
* then `itemId` descending so pages stay stable while other rows are
|
|
208
|
+
* concurrently created or updated.
|
|
209
|
+
*
|
|
210
|
+
* Each row is a summary projection — no envelope — carrying the derived
|
|
211
|
+
* `state` (`draft`/`current`/`published`) and, when the Content Publication
|
|
212
|
+
* Registry has a publication whose `sourceContentId` is this `itemId`, a
|
|
213
|
+
* joined `publication` badge with the route's *own* lifecycle. That join is
|
|
214
|
+
* batched server-side, so a badge costs no extra request.
|
|
215
|
+
*
|
|
216
|
+
* A non-admin caller under `Studio:EndUserAuthorization:Enabled` always gets
|
|
217
|
+
* their own content regardless of the `owner` filter they pass, and a caller
|
|
218
|
+
* whose id cannot be resolved at all is refused with `403` rather than shown
|
|
219
|
+
* an unscoped list. An unknown `family` or `state` value is `400`.
|
|
220
|
+
*/
|
|
221
|
+
list(filters?: StudioContentItemListOptions, options?: HonuaStudioRequestOptions): Promise<StudioContentItemListResponse>;
|
|
222
|
+
/**
|
|
223
|
+
* Walk `GET /content-items` to completion, yielding each page verbatim.
|
|
224
|
+
*
|
|
225
|
+
* - **Bounded by construction.** At most `options.maxPages` pages
|
|
226
|
+
* ({@link HONUA_STUDIO_LIST_MAX_PAGES} by default) are fetched. Reaching
|
|
227
|
+
* the cap ends the walk; the last yielded page still carries the
|
|
228
|
+
* `nextCursor` to resume from.
|
|
229
|
+
* - **Cursors stay opaque.** Each request replays the previous page's
|
|
230
|
+
* `nextCursor` verbatim; `filters.cursor` seeds the walk, so a walk can be
|
|
231
|
+
* resumed exactly where a previous one stopped.
|
|
232
|
+
* - **Cancellable.** `options.signal` aborts the in-flight page request and
|
|
233
|
+
* ends the iteration.
|
|
234
|
+
* - **A stuck server is not an infinite loop.** A page that repeats the
|
|
235
|
+
* cursor it was fetched with throws {@link HonuaStudioError} rather than
|
|
236
|
+
* paging forever.
|
|
237
|
+
* - **Standard error handling.** Every non-2xx surfaces as
|
|
238
|
+
* {@link HonuaStudioError} with its RFC 7807 problem details.
|
|
239
|
+
*/
|
|
240
|
+
listAll(filters?: StudioContentItemListOptions, options?: HonuaStudioPaginationOptions): AsyncGenerator<StudioContentItemListResponse, void, undefined>;
|
|
241
|
+
/** Accumulate every content-item page into one {@link StudioListCollection}. */
|
|
242
|
+
collect(filters?: StudioContentItemListOptions, options?: HonuaStudioPaginationOptions): Promise<StudioListCollection<StudioContentItemListRow>>;
|
|
243
|
+
}
|
|
122
244
|
/** `/content-items/{itemId}/versions*` and `/version-comparisons` — immutable content versions. */
|
|
123
245
|
export declare class HonuaStudioContentVersionsClient {
|
|
124
246
|
#private;
|
|
@@ -139,16 +261,134 @@ export declare class HonuaStudioContentVersionsClient {
|
|
|
139
261
|
*/
|
|
140
262
|
reopen(itemId: string, versionId: string, request?: StudioReopenVersionRequest, options?: HonuaStudioRequestOptions): Promise<StudioPackageDraft>;
|
|
141
263
|
}
|
|
142
|
-
/**
|
|
264
|
+
/** Default delay between {@link HonuaStudioPublicationRequestsClient.poll} attempts. */
|
|
265
|
+
export declare const HONUA_STUDIO_PUBLICATION_POLL_INTERVAL_MS = 1000;
|
|
266
|
+
/** Default attempt bound for {@link HonuaStudioPublicationRequestsClient.poll}. */
|
|
267
|
+
export declare const HONUA_STUDIO_PUBLICATION_POLL_MAX_ATTEMPTS = 30;
|
|
268
|
+
/** Per-call options for {@link HonuaStudioPublicationRequestsClient.poll}. */
|
|
269
|
+
export interface HonuaStudioPublicationPollOptions extends HonuaStudioRequestOptions {
|
|
270
|
+
/**
|
|
271
|
+
* Delay between attempts, in milliseconds. Defaults to
|
|
272
|
+
* {@link HONUA_STUDIO_PUBLICATION_POLL_INTERVAL_MS}. `0` polls back-to-back
|
|
273
|
+
* with no wait, which is what tests want and production code does not.
|
|
274
|
+
*/
|
|
275
|
+
readonly intervalMs?: number;
|
|
276
|
+
/**
|
|
277
|
+
* Hard upper bound on the number of `GET`s, defaulting to
|
|
278
|
+
* {@link HONUA_STUDIO_PUBLICATION_POLL_MAX_ATTEMPTS}. The poll always stops:
|
|
279
|
+
* there is no "wait forever" mode, and no option that produces one.
|
|
280
|
+
*/
|
|
281
|
+
readonly maxAttempts?: number;
|
|
282
|
+
/**
|
|
283
|
+
* Optional wall-clock bound, in milliseconds, checked before each attempt
|
|
284
|
+
* and before each wait. Whichever of `maxAttempts`/`timeoutMs` is reached
|
|
285
|
+
* first ends the poll.
|
|
286
|
+
*/
|
|
287
|
+
readonly timeoutMs?: number;
|
|
288
|
+
/** Invoked with every observed proposal, including the last one. */
|
|
289
|
+
readonly onStatus?: (request: StudioPublicationRequest, state: StudioPublicationLifecycleState | undefined) => void;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* The outcome of a bounded {@link HonuaStudioPublicationRequestsClient.poll}.
|
|
293
|
+
*
|
|
294
|
+
* `terminal: false` means the bound was reached before the proposal settled
|
|
295
|
+
* (`exhausted` says which bound) — it is *not* a failure and the proposal may
|
|
296
|
+
* still be progressing server-side; poll again with the same `requestId`.
|
|
297
|
+
*/
|
|
298
|
+
export interface StudioPublicationPollOutcome {
|
|
299
|
+
/** The last proposal observed, verbatim — every joined identifier preserved. */
|
|
300
|
+
readonly request: StudioPublicationRequest;
|
|
301
|
+
/** The last status normalized, or `undefined` when this release does not recognize it. */
|
|
302
|
+
readonly state: StudioPublicationLifecycleState | undefined;
|
|
303
|
+
/** True only for `Active`, `Rejected` and `Failed`. An unrecognized state is never terminal. */
|
|
304
|
+
readonly terminal: boolean;
|
|
305
|
+
/** True only for `Active`. `Rejected`/`Failed` are terminal but not successful. */
|
|
306
|
+
readonly active: boolean;
|
|
307
|
+
/** The final publication URL — present **only** when `active` is true. */
|
|
308
|
+
readonly publicationUrl: string | undefined;
|
|
309
|
+
/** How many `GET`s were issued. */
|
|
310
|
+
readonly attempts: number;
|
|
311
|
+
/** Which bound ended a non-terminal poll, if any. */
|
|
312
|
+
readonly exhausted: "max-attempts" | "timeout" | undefined;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* `/content-items/{itemId}/versions/{versionId}/publish-requests` — submit an
|
|
316
|
+
* already-saved immutable version for publication and walk the resulting
|
|
317
|
+
* proposal to a final state.
|
|
318
|
+
*
|
|
319
|
+
* ## Approval is a different principal
|
|
320
|
+
*
|
|
321
|
+
* This client can **create**, **get** and **poll** a publication proposal. It
|
|
322
|
+
* deliberately exposes no approve, authorize, force, or policy-override
|
|
323
|
+
* capability, and {@link create} refuses to serialize a submission body that
|
|
324
|
+
* tries to smuggle one (see {@link REJECTED_SUBMISSION_KEYS}). A proposer
|
|
325
|
+
* therefore cannot approve their own publication, or bypass policy, through
|
|
326
|
+
* any method on this class — approval happens through the canonical Admin
|
|
327
|
+
* API/CLI acting as a separate principal, and the server enforces the same
|
|
328
|
+
* rule with a `403` (`code: "forbidden"`) if a proposer tries anyway.
|
|
329
|
+
*
|
|
330
|
+
* {@link HonuaStudioLifecycleClient.raw} is a generic HTTP escape hatch with
|
|
331
|
+
* no Studio approval semantics of its own; it reaches whatever the server
|
|
332
|
+
* exposes and is subject to exactly the same server-side authorization.
|
|
333
|
+
*/
|
|
143
334
|
export declare class HonuaStudioPublicationRequestsClient {
|
|
144
335
|
#private;
|
|
145
336
|
constructor(lifecycle: HonuaStudioLifecycleClient);
|
|
146
337
|
/**
|
|
147
338
|
* `POST /content-items/{itemId}/versions/{versionId}/publish-requests` —
|
|
148
|
-
*
|
|
149
|
-
*
|
|
339
|
+
* submit an already-saved immutable version for publication.
|
|
340
|
+
*
|
|
341
|
+
* The submission carries only the identity of what is being published
|
|
342
|
+
* (`itemId`, `versionId`, the optional `contentHash` pin), the requested
|
|
343
|
+
* route/visibility `intent`, and an optional `idempotencyKey` so a replayed
|
|
344
|
+
* submit resolves to the same proposal. It never carries a decision:
|
|
345
|
+
* an approval, policy-override, or `status` key in `request` throws a
|
|
346
|
+
* {@link HonuaStudioError} with `code: "validation"` **before** anything is
|
|
347
|
+
* sent.
|
|
348
|
+
*
|
|
349
|
+
* The response carries the joined `operationInstanceId`, `proposalId`,
|
|
350
|
+
* `proposalUri`, `auditId` and `correlationId` identifiers verbatim.
|
|
150
351
|
*/
|
|
151
352
|
create(itemId: string, versionId: string, request?: StudioPublicationRequestInput, options?: HonuaStudioRequestOptions): Promise<StudioPublicationRequest>;
|
|
353
|
+
/**
|
|
354
|
+
* `GET /content-items/{itemId}/versions/{versionId}/publish-requests/{requestId}`
|
|
355
|
+
* — read one publication proposal's current status and joined identifiers.
|
|
356
|
+
*
|
|
357
|
+
* A proposal that does not exist, or is not reachable from this
|
|
358
|
+
* `itemId`/`versionId` pair, throws `code: "not-found"`; one outside the
|
|
359
|
+
* caller's owner/tenant scope throws `code: "forbidden"`.
|
|
360
|
+
*/
|
|
361
|
+
get(itemId: string, versionId: string, requestId: string, options?: HonuaStudioRequestOptions): Promise<StudioPublicationRequest>;
|
|
362
|
+
/**
|
|
363
|
+
* Poll one publication proposal until it reaches a terminal state or a
|
|
364
|
+
* bound is reached, whichever comes first.
|
|
365
|
+
*
|
|
366
|
+
* - **Bounded by construction.** Every poll stops after at most
|
|
367
|
+
* `maxAttempts` `GET`s (and `timeoutMs`, when given). There is no
|
|
368
|
+
* unbounded mode.
|
|
369
|
+
* - **A final publication URL only at `Active`.** `Rejected` and `Failed`
|
|
370
|
+
* end the poll with `terminal: true`, `active: false` and no URL.
|
|
371
|
+
* - **An unrecognized status is never final.** A state this release does
|
|
372
|
+
* not know keeps the poll waiting until a bound is hit, and comes back as
|
|
373
|
+
* `state: undefined, terminal: false, active: false`.
|
|
374
|
+
* - **Cancellable.** `options.signal` aborts the in-flight request and the
|
|
375
|
+
* wait between attempts; the returned promise rejects with the signal's
|
|
376
|
+
* abort reason — including when the abort lands mid-request, where the
|
|
377
|
+
* underlying `HonuaClient` would otherwise normalize the rejection to a
|
|
378
|
+
* generic SDK abort error.
|
|
379
|
+
* - **`timeoutMs` is a real wall-clock bound.** It aborts an in-flight `GET`
|
|
380
|
+
* as well as being checked between attempts, and the inter-attempt wait is
|
|
381
|
+
* clamped to the time left, so a hung response cannot leave the poll
|
|
382
|
+
* pending past the deadline even when the underlying `HonuaClient` has no
|
|
383
|
+
* `timeoutMs` of its own. A deadline reached with at least one observation
|
|
384
|
+
* returns `exhausted: "timeout"`; a deadline that expires before the very
|
|
385
|
+
* first response arrives has nothing to report and throws
|
|
386
|
+
* {@link HonuaTimeoutError}.
|
|
387
|
+
* - **Standard error handling.** Every non-2xx surfaces as
|
|
388
|
+
* {@link HonuaStudioError} with its RFC 7807 problem details, exactly as
|
|
389
|
+
* for every other method on this client.
|
|
390
|
+
*/
|
|
391
|
+
poll(itemId: string, versionId: string, requestId: string, options?: HonuaStudioPublicationPollOptions): Promise<StudioPublicationPollOutcome>;
|
|
152
392
|
}
|
|
153
393
|
/** `/content-items/{itemId}/rollback-requests`. */
|
|
154
394
|
export declare class HonuaStudioRollbackRequestsClient {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-client.d.ts","sourceRoot":"","sources":["../../../src/studio/lifecycle-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lifecycle-client.d.ts","sourceRoot":"","sources":["../../../src/studio/lifecycle-client.ts"],"names":[],"mappings":"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"}
|