@nizam-os/customer-sdk 5.0.0 → 5.1.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.
@@ -0,0 +1,64 @@
1
+ /**
2
+ * An asset as seen by an operator assigned to operate it — the operational identity fields, without the dashboard's lifecycle-management hints.
3
+ */
4
+ export interface OperatorAsset {
5
+ /** Stable UUID. */
6
+ id: string;
7
+ /** Top-level kind. */
8
+ kind: OperatorAsset.Kind;
9
+ /** Sub-kind within the kind (free-form). */
10
+ sub_kind?: string | undefined;
11
+ /** SAE J3016 autonomy level 0..5. */
12
+ autonomy_level?: number | undefined;
13
+ /** Lifecycle status. */
14
+ status: OperatorAsset.Status;
15
+ /** Display name. */
16
+ name?: string | undefined;
17
+ /** Vehicle Identification Number. */
18
+ vin?: string | undefined;
19
+ /** License plate. */
20
+ plate_number?: string | undefined;
21
+ /** Manufacturer. */
22
+ make?: string | undefined;
23
+ /** Model designation. */
24
+ model?: string | undefined;
25
+ /** Model year. */
26
+ year?: number | undefined;
27
+ /** Owning organization id. */
28
+ organization_id?: string | undefined;
29
+ /** Current primary operator (active assignment, role=primary). */
30
+ current_primary_operator_id?: string | undefined;
31
+ /** Object type discriminator. */
32
+ object: OperatorAsset.Object_;
33
+ }
34
+ export declare namespace OperatorAsset {
35
+ /** Top-level kind. */
36
+ const Kind: {
37
+ readonly GroundVehicle: "ground_vehicle";
38
+ readonly AerialVehicle: "aerial_vehicle";
39
+ readonly MarineVehicle: "marine_vehicle";
40
+ readonly Robot: "robot";
41
+ readonly Agv: "agv";
42
+ readonly Trailer: "trailer";
43
+ readonly Container: "container";
44
+ readonly Pallet: "pallet";
45
+ readonly Equipment: "equipment";
46
+ };
47
+ type Kind = (typeof Kind)[keyof typeof Kind];
48
+ /** Lifecycle status. */
49
+ const Status: {
50
+ readonly Active: "active";
51
+ readonly Maintenance: "maintenance";
52
+ readonly OutOfService: "out_of_service";
53
+ readonly Retired: "retired";
54
+ readonly Sold: "sold";
55
+ readonly Inactive: "inactive";
56
+ readonly Lost: "lost";
57
+ };
58
+ type Status = (typeof Status)[keyof typeof Status];
59
+ /** Object type discriminator. */
60
+ const Object_: {
61
+ readonly Asset: "asset";
62
+ };
63
+ type Object_ = (typeof Object_)[keyof typeof Object_];
64
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.OperatorAsset = void 0;
5
+ var OperatorAsset;
6
+ (function (OperatorAsset) {
7
+ /** Top-level kind. */
8
+ OperatorAsset.Kind = {
9
+ GroundVehicle: "ground_vehicle",
10
+ AerialVehicle: "aerial_vehicle",
11
+ MarineVehicle: "marine_vehicle",
12
+ Robot: "robot",
13
+ Agv: "agv",
14
+ Trailer: "trailer",
15
+ Container: "container",
16
+ Pallet: "pallet",
17
+ Equipment: "equipment",
18
+ };
19
+ /** Lifecycle status. */
20
+ OperatorAsset.Status = {
21
+ Active: "active",
22
+ Maintenance: "maintenance",
23
+ OutOfService: "out_of_service",
24
+ Retired: "retired",
25
+ Sold: "sold",
26
+ Inactive: "inactive",
27
+ Lost: "lost",
28
+ };
29
+ /** Object type discriminator. */
30
+ OperatorAsset.Object_ = {
31
+ Asset: "asset",
32
+ };
33
+ })(OperatorAsset || (exports.OperatorAsset = OperatorAsset = {}));
@@ -9,6 +9,8 @@ export interface User {
9
9
  /** Keycloak Organization id the user belongs to. Null for cross-tenant platform admins. */
10
10
  organization_id?: string | undefined;
11
11
  roles: string[];
12
+ /** The caller's effective permission ids for the active organization (epic #317): the union of catalog grants for every role they hold. Gate actions on these (`can("asset:create")`) rather than role strings, so frontend and backend reference the one catalog and cannot drift. Coarse and instance-independent; per-instance authority ('may delete THIS asset') is enforced server-side at the mutation, never precomputed here. */
13
+ permissions: User.Permissions.Item[];
12
14
  /** Email shadowed from Keycloak. Null until the user completes a profile. */
13
15
  email?: string | undefined;
14
16
  /** Display name shadowed from Keycloak. */
@@ -34,6 +36,26 @@ export declare namespace User {
34
36
  readonly Admin: "admin";
35
37
  };
36
38
  type Portal = (typeof Portal)[keyof typeof Portal];
39
+ type Permissions = Permissions.Item[];
40
+ namespace Permissions {
41
+ const Item: {
42
+ readonly AssetCreate: "asset:create";
43
+ readonly AssetDelete: "asset:delete";
44
+ readonly AssetDispose: "asset:dispose";
45
+ readonly AssetExport: "asset:export";
46
+ readonly AssetImport: "asset:import";
47
+ readonly AssetRead: "asset:read";
48
+ readonly AssetTransition: "asset:transition";
49
+ readonly AssetUpdate: "asset:update";
50
+ readonly KeycloakProjectionAdminister: "keycloak-projection:administer";
51
+ readonly NotificationDeliveryRead: "notification-delivery:read";
52
+ readonly OrgMaintenanceAdminister: "org-maintenance:administer";
53
+ readonly ServiceAccountAdminister: "service-account:administer";
54
+ readonly UserAdminister: "user:administer";
55
+ readonly UserInvite: "user:invite";
56
+ };
57
+ type Item = (typeof Item)[keyof typeof Item];
58
+ }
37
59
  /** Object type discriminator. */
38
60
  const Object_: {
39
61
  readonly User: "user";
@@ -14,6 +14,25 @@ var User;
14
14
  PlatformStaff: "platform_staff",
15
15
  Admin: "admin",
16
16
  };
17
+ let Permissions;
18
+ (function (Permissions) {
19
+ Permissions.Item = {
20
+ AssetCreate: "asset:create",
21
+ AssetDelete: "asset:delete",
22
+ AssetDispose: "asset:dispose",
23
+ AssetExport: "asset:export",
24
+ AssetImport: "asset:import",
25
+ AssetRead: "asset:read",
26
+ AssetTransition: "asset:transition",
27
+ AssetUpdate: "asset:update",
28
+ KeycloakProjectionAdminister: "keycloak-projection:administer",
29
+ NotificationDeliveryRead: "notification-delivery:read",
30
+ OrgMaintenanceAdminister: "org-maintenance:administer",
31
+ ServiceAccountAdminister: "service-account:administer",
32
+ UserAdminister: "user:administer",
33
+ UserInvite: "user:invite",
34
+ };
35
+ })(Permissions = User.Permissions || (User.Permissions = {}));
17
36
  /** Object type discriminator. */
18
37
  User.Object_ = {
19
38
  User: "user",
@@ -71,6 +71,7 @@ export * from "./NotificationsMarkedRead.js";
71
71
  export * from "./NotificationUnreadCount.js";
72
72
  export * from "./OpenAssignmentRequest.js";
73
73
  export * from "./Operator.js";
74
+ export * from "./OperatorAsset.js";
74
75
  export * from "./OperatorPosition.js";
75
76
  export * from "./Organization.js";
76
77
  export * from "./Position.js";
@@ -87,6 +87,7 @@ __exportStar(require("./NotificationsMarkedRead.js"), exports);
87
87
  __exportStar(require("./NotificationUnreadCount.js"), exports);
88
88
  __exportStar(require("./OpenAssignmentRequest.js"), exports);
89
89
  __exportStar(require("./Operator.js"), exports);
90
+ __exportStar(require("./OperatorAsset.js"), exports);
90
91
  __exportStar(require("./OperatorPosition.js"), exports);
91
92
  __exportStar(require("./Organization.js"), exports);
92
93
  __exportStar(require("./Position.js"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nizam-os/customer-sdk",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Nizam Customer API SDK for TypeScript / JavaScript.",
5
5
  "license": "MIT",
6
6
  "private": false,