@praxisui/core 9.0.5-rc.23 → 9.0.5-rc.25

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/README.md CHANGED
@@ -253,7 +253,7 @@ export const appConfig = {
253
253
 
254
254
  Use `GlobalActionRef` and the catalog helpers when declaring or validating action payloads. The host remains responsible for registered executors and policy.
255
255
 
256
- Resource action discovery also carries an optional `execution` contract. Consumers must materialize its interaction, idempotency, correlation, resource-version, selection, outcome and refresh policies instead of inferring command behavior from labels or HTTP methods. `ResourceActionOpenAdapterService` projects form-based actions into Dynamic Form inputs, uses transient schema-owned command layout, keeps the materialized host inputs authoritative over saved preferences, and fails closed when a required `If-Match` version cannot be supplied or bound at runtime.
256
+ Resource action discovery also carries an optional `execution` contract. Consumers must materialize its interaction, idempotency, correlation, resource-version, selection, outcome and refresh policies instead of inferring command behavior from labels or HTTP methods. `ResourceDiscoveryService.getActionsByResourceKey(...)` resolves the canonical `/schemas/actions?resource=...` catalog without requiring the consumer to know a resource path. A collection action may declare `resourceVersionTargetResourceKey` and `resourceVersionTargetIdField` when its `If-Match` belongs to another canonical resource, allowing a consumer to bind optimistic concurrency without deducing the target from paths or labels. `ResourceActionOpenAdapterService` projects form-based actions into Dynamic Form inputs, uses transient schema-owned command layout, keeps the materialized host inputs authoritative over saved preferences, and fails closed when a required `If-Match` version cannot be supplied or bound at runtime.
257
257
 
258
258
  ## Collection Export
259
259
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-08-15T00:41:03.182Z",
3
+ "generatedAt": "2026-08-15T05:23:47.203Z",
4
4
  "packageName": "@praxisui/core",
5
- "packageVersion": "9.0.5-rc.23",
5
+ "packageVersion": "9.0.5-rc.25",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 4,
@@ -13851,6 +13851,13 @@ class ResourceDiscoveryService {
13851
13851
  getActions(source, options) {
13852
13852
  return this.followLink(source, 'actions', options);
13853
13853
  }
13854
+ getActionsByResourceKey(resourceKey, options) {
13855
+ const normalizedResourceKey = resourceKey.trim();
13856
+ if (!normalizedResourceKey) {
13857
+ throw new Error('ResourceDiscoveryService requires a resource key for action discovery.');
13858
+ }
13859
+ return this.http.get(this.resolveHref('/schemas/actions', options), { params: new HttpParams().set('resource', normalizedResourceKey) });
13860
+ }
13854
13861
  getCapabilities(source, options) {
13855
13862
  return this.followLink(source, 'capabilities', options);
13856
13863
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/core",
3
- "version": "9.0.5-rc.23",
3
+ "version": "9.0.5-rc.25",
4
4
  "description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -1525,6 +1525,10 @@ interface ResourceActionExecutionContract {
1525
1525
  resourceVersionTransport: ResourceActionVersionTransport;
1526
1526
  /** Response-row field carrying the persisted version used by the declared transport. */
1527
1527
  resourceVersionField?: string | null;
1528
+ /** Canonical resource whose version governs this action when it differs from the action owner. */
1529
+ resourceVersionTargetResourceKey?: string | null;
1530
+ /** Request field carrying the canonical identifier of the cross-resource version target. */
1531
+ resourceVersionTargetIdField?: string | null;
1528
1532
  };
1529
1533
  selection: {
1530
1534
  idsField?: string | null;
@@ -9371,6 +9375,7 @@ declare class ResourceDiscoveryService {
9371
9375
  followLink<T>(source: ResourceLinkSource | null | undefined, rel: string, options?: ResourceDiscoveryRequestOptions): Observable<T>;
9372
9376
  getSurfaces(source: ResourceLinkSource | null | undefined, options?: ResourceDiscoveryRequestOptions): Observable<ResourceSurfaceCatalogResponse>;
9373
9377
  getActions(source: ResourceLinkSource | null | undefined, options?: ResourceDiscoveryRequestOptions): Observable<ResourceActionCatalogResponse>;
9378
+ getActionsByResourceKey(resourceKey: string, options?: ResourceDiscoveryRequestOptions): Observable<ResourceActionCatalogResponse>;
9374
9379
  getCapabilities(source: ResourceLinkSource | null | undefined, options?: ResourceDiscoveryRequestOptions): Observable<ResourceCapabilitySnapshot>;
9375
9380
  getCapabilitiesByUrl(href: string, options?: ResourceDiscoveryRequestOptions): Observable<ResourceCapabilitySnapshot>;
9376
9381
  getSchemaCatalog(query?: ResourceSchemaCatalogQuery, options?: ResourceDiscoveryRequestOptions): Observable<ResourceSchemaCatalogResponse>;