@nexia/sdk 0.8.9 → 0.8.10

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
@@ -42,3 +42,30 @@ Reconfigure mutable fixtures per test to avoid state leaking between cases.
42
42
  `nexiaAppConfig(import.meta.url)` generates Tailwind utilities from the App resources, including lazy screens, and records emitted CSS in `nexia-host.json`. The build references the shared `@nexia/sdk/theme.css` token aliases; Core supplies token values and resets. Keep those aliases aligned with the Core theme contract. Do not bundle a second preflight or global theme.
43
43
 
44
44
  After adopting the SDK release containing this fix, rebuild and resubmit each standalone App. Existing deployed bundles are unchanged until replaced. Custom builds must declare every emitted stylesheet in `nexia-host.json`.
45
+
46
+ ### App API and Core host capabilities
47
+
48
+ `api` from `@nexia/sdk/host` is bound to the calling App. It is not an
49
+ unrestricted HTTP client for Core. Development frames and installed App surfaces
50
+ use the same host transport policy; a mocked Axios response or direct HTTP test
51
+ does not exercise that boundary.
52
+
53
+ Use `useOrganizationTargetsQuery`, `useAffiliatedOperatingUnits` and Resource
54
+ Reference options for scoped business choices. Tenant-wide administration is a
55
+ different authority. Core's explicit host routes preserve their tenant-wide
56
+ permissions: legal-entity/operating-unit reads, operating-unit creation,
57
+ party duplicate lookup, user creation/invitation/credential sending, and the
58
+ actor's self-service profile. Unsupported methods and arbitrary Core routes
59
+ remain unavailable. A host refusal reports `APP_HOST_ROUTE_UNAVAILABLE` rather
60
+ than proving that the actor lacks a business permission.
61
+
62
+ `sendUserInvitation` and `useDataMigrationBackgroundOperation` retain the calling
63
+ App's client. Do not replace it with a global client to bypass a refusal.
64
+ Background operation status is accessible only to the originating App and actor;
65
+ Core returns 404 for another App's ticket even when the actor is the same.
66
+ The Core host-capability fix must be deployed before relying on these paths;
67
+ an SDK-only update does not install server routes.
68
+
69
+ Test both a successful call and a denied call through an actual development
70
+ frame or installed App transport. For invitations, use a test mail sink; for
71
+ imports, verify the terminal result as well as the initial 202 response.
@@ -302,6 +302,18 @@ export interface ProfileSlotPropsV2 {
302
302
  familyKey: string;
303
303
  workContext: SelfWorkContext | null;
304
304
  }
305
+ /** App-owned workforce view in the Core organization surface. No access memberships are implied. */
306
+ export interface OrganizationWorkforceSlotPropsV1 {
307
+ slot: 'organization.workforce';
308
+ slotApiVersion: 1;
309
+ tenant: Pick<TenantContext, 'id' | 'name'>;
310
+ legalEntity: Pick<LegalEntityContext, 'name' | 'code' | 'public_id'>;
311
+ descriptorKey: string;
312
+ appKey: string;
313
+ familyKey: string;
314
+ view: 'chart' | 'table';
315
+ search: string;
316
+ }
305
317
  export interface OperatingUnitScopeReference {
306
318
  public_id: string;
307
319
  code: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexia/sdk",
3
- "version": "0.8.9",
3
+ "version": "0.8.10",
4
4
  "description": "Frontend contracts for Nexia App Packages",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",