@espressif/rainmaker-admin-sdk 1.2.0 → 1.3.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 (91) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/README.md +2 -1
  3. package/dist/cjs/ESPRMBase.cjs +1 -0
  4. package/dist/cjs/ESPRMClaim.cjs +16 -0
  5. package/dist/cjs/entries/ESPRMAdminCommonCustomData.cjs +1 -0
  6. package/dist/cjs/entries/ESPRMAdminNode.cjs +1 -0
  7. package/dist/cjs/entries/ESPRMClaim.cjs +14 -0
  8. package/dist/cjs/index.cjs +7 -0
  9. package/dist/cjs/methods/ESPRMAdminCommonCustomData/DeleteCommonCustomData.cjs +24 -0
  10. package/dist/cjs/methods/ESPRMAdminCommonCustomData/SetCommonCustomData.cjs +7 -0
  11. package/dist/cjs/methods/ESPRMAdminNode/ActivateDeactivateNodes.cjs +11 -1
  12. package/dist/cjs/methods/ESPRMAdminNode/DeleteNode.cjs +24 -0
  13. package/dist/cjs/methods/ESPRMClaim/InitiateClaim.cjs +28 -0
  14. package/dist/cjs/methods/ESPRMClaim/VerifyClaim.cjs +28 -0
  15. package/dist/cjs/services/ESPRMAPIManager.cjs +15 -1
  16. package/dist/cjs/utils/constants.cjs +14 -0
  17. package/dist/cjs/utils/error/errorMessages.cjs +9 -0
  18. package/dist/cjs/utils/validator/ConfigValidator.cjs +9 -0
  19. package/dist/esm/ESPRMBase.js +1 -0
  20. package/dist/esm/ESPRMClaim.js +14 -0
  21. package/dist/esm/entries/ESPRMAdminCommonCustomData.js +1 -0
  22. package/dist/esm/entries/ESPRMAdminNode.js +1 -0
  23. package/dist/esm/entries/ESPRMClaim.js +8 -0
  24. package/dist/esm/index.js +6 -1
  25. package/dist/esm/methods/ESPRMAdminCommonCustomData/DeleteCommonCustomData.js +22 -0
  26. package/dist/esm/methods/ESPRMAdminCommonCustomData/SetCommonCustomData.js +8 -1
  27. package/dist/esm/methods/ESPRMAdminNode/ActivateDeactivateNodes.js +12 -2
  28. package/dist/esm/methods/ESPRMAdminNode/DeleteNode.js +22 -0
  29. package/dist/esm/methods/ESPRMClaim/InitiateClaim.js +26 -0
  30. package/dist/esm/methods/ESPRMClaim/VerifyClaim.js +26 -0
  31. package/dist/esm/services/ESPRMAPIManager.js +15 -1
  32. package/dist/esm/utils/constants.js +14 -1
  33. package/dist/esm/utils/error/errorMessages.js +9 -0
  34. package/dist/esm/utils/validator/ConfigValidator.js +9 -0
  35. package/dist/types/ESPRMClaim.d.ts +12 -0
  36. package/dist/types/entries/ESPRMClaim.d.ts +7 -0
  37. package/dist/types/methods/ESPRMAdminCommonCustomData/DeleteCommonCustomData.d.ts +22 -0
  38. package/dist/types/methods/ESPRMAdminCommonCustomData/SetCommonCustomData.d.ts +6 -1
  39. package/dist/types/methods/ESPRMAdminCommonCustomData/index.d.ts +1 -0
  40. package/dist/types/methods/ESPRMAdminEventFilter/UpdateEventFilter.d.ts +5 -0
  41. package/dist/types/methods/ESPRMAdminNode/ActivateDeactivateNodes.d.ts +9 -6
  42. package/dist/types/methods/ESPRMAdminNode/DeleteNode.d.ts +19 -0
  43. package/dist/types/methods/ESPRMAdminNode/index.d.ts +1 -0
  44. package/dist/types/methods/ESPRMAdminWebhook/GetWebhookIntegrations.d.ts +2 -1
  45. package/dist/types/methods/ESPRMClaim/InitiateClaim.d.ts +21 -0
  46. package/dist/types/methods/ESPRMClaim/VerifyClaim.d.ts +21 -0
  47. package/dist/types/methods/ESPRMClaim/index.d.ts +7 -0
  48. package/dist/types/methods/export.d.ts +1 -0
  49. package/dist/types/services/ESPRMAPIManager.d.ts +6 -0
  50. package/dist/types/types/claim.d.ts +45 -0
  51. package/dist/types/types/common_custom_data.d.ts +32 -5
  52. package/dist/types/types/config.d.ts +9 -0
  53. package/dist/types/types/event_filter.d.ts +17 -3
  54. package/dist/types/types/index.d.ts +1 -0
  55. package/dist/types/types/input.d.ts +2 -1
  56. package/dist/types/types/mainTypes.d.ts +2 -1
  57. package/dist/types/types/node.d.ts +33 -3
  58. package/dist/types/types/output.d.ts +2 -1
  59. package/dist/types/types/webhook.d.ts +5 -2
  60. package/dist/types/utils/constants.d.ts +14 -1
  61. package/dist/types/utils/error/errorMessages.d.ts +9 -0
  62. package/dist/types/utils/validator/ConfigValidator.d.ts +1 -0
  63. package/dist/types-cjs/ESPRMClaim.d.cts +12 -0
  64. package/dist/types-cjs/entries/ESPRMClaim.d.cts +7 -0
  65. package/dist/types-cjs/methods/ESPRMAdminCommonCustomData/DeleteCommonCustomData.d.cts +22 -0
  66. package/dist/types-cjs/methods/ESPRMAdminCommonCustomData/SetCommonCustomData.d.cts +6 -1
  67. package/dist/types-cjs/methods/ESPRMAdminCommonCustomData/index.d.cts +1 -0
  68. package/dist/types-cjs/methods/ESPRMAdminEventFilter/UpdateEventFilter.d.cts +5 -0
  69. package/dist/types-cjs/methods/ESPRMAdminNode/ActivateDeactivateNodes.d.cts +9 -6
  70. package/dist/types-cjs/methods/ESPRMAdminNode/DeleteNode.d.cts +19 -0
  71. package/dist/types-cjs/methods/ESPRMAdminNode/index.d.cts +1 -0
  72. package/dist/types-cjs/methods/ESPRMAdminWebhook/GetWebhookIntegrations.d.cts +2 -1
  73. package/dist/types-cjs/methods/ESPRMClaim/InitiateClaim.d.cts +21 -0
  74. package/dist/types-cjs/methods/ESPRMClaim/VerifyClaim.d.cts +21 -0
  75. package/dist/types-cjs/methods/ESPRMClaim/index.d.cts +7 -0
  76. package/dist/types-cjs/methods/export.d.cts +1 -0
  77. package/dist/types-cjs/services/ESPRMAPIManager.d.cts +6 -0
  78. package/dist/types-cjs/types/claim.d.cts +45 -0
  79. package/dist/types-cjs/types/common_custom_data.d.cts +32 -5
  80. package/dist/types-cjs/types/config.d.cts +9 -0
  81. package/dist/types-cjs/types/event_filter.d.cts +17 -3
  82. package/dist/types-cjs/types/index.d.cts +1 -0
  83. package/dist/types-cjs/types/input.d.cts +2 -1
  84. package/dist/types-cjs/types/mainTypes.d.cts +2 -1
  85. package/dist/types-cjs/types/node.d.cts +33 -3
  86. package/dist/types-cjs/types/output.d.cts +2 -1
  87. package/dist/types-cjs/types/webhook.d.cts +5 -2
  88. package/dist/types-cjs/utils/constants.d.cts +14 -1
  89. package/dist/types-cjs/utils/error/errorMessages.d.cts +9 -0
  90. package/dist/types-cjs/utils/validator/ConfigValidator.d.cts +1 -0
  91. package/package.json +11 -1
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import type { ESPAPISuccessResponse } from "./api.cjs";
6
7
  /** Parameters for listing admin nodes. */
7
8
  export interface GetAdminNodesParams {
8
9
  /** Maximum number of records to return. */
@@ -34,11 +35,40 @@ export interface GetAdminNodesParams {
34
35
  }
35
36
  /** Parameters for activating or deactivating nodes. */
36
37
  export interface ActivateDeactivateNodesParams {
37
- /** ID of the node to activate or deactivate. */
38
- node_id: string;
39
- /** Whether to activate (true) or deactivate (false) the node. */
38
+ /**
39
+ * IDs of the nodes to activate or deactivate. At most
40
+ * `MAX_NODE_ACTIVATION_BATCH_SIZE` (25) per request.
41
+ */
42
+ node_ids: string[];
43
+ /** Whether to activate (true) or deactivate (false) the nodes. */
40
44
  activate: boolean;
41
45
  }
46
+ /** Per-node success entry in a 207 activation response. */
47
+ export interface NodeActivationSuccessResult {
48
+ node_id: string;
49
+ status: "success";
50
+ description: string;
51
+ }
52
+ /** Per-node failure entry in a 207 activation response. */
53
+ export interface NodeActivationFailureResult {
54
+ node_id: string;
55
+ status: "failure";
56
+ error_code: number;
57
+ description: string;
58
+ }
59
+ /**
60
+ * 207 Multi-Status response from `PUT admin/nodes`, returned when the
61
+ * per-node outcomes differ.
62
+ */
63
+ export interface NodeActivationMultiStatusResponse {
64
+ responses: Array<NodeActivationSuccessResult | NodeActivationFailureResult>;
65
+ }
66
+ /**
67
+ * Response from `activateDeactivateNodes`. When every node has the same
68
+ * outcome the backend returns a single 200 success; otherwise 207 with
69
+ * per-node results. A uniform failure rejects with `ESPAPIError`.
70
+ */
71
+ export type ActivateDeactivateNodesResponse = ESPAPISuccessResponse | NodeActivationMultiStatusResponse;
42
72
  /** Parameters for listing node tags or tag values. */
43
73
  export interface GetNodeTagsParams {
44
74
  /** Filter by tag name to retrieve its associated tag values. */
@@ -29,7 +29,7 @@ export type { GetDashboardUpdateStatusResponse, GetDashboardVersionMappingRespon
29
29
  export type { LicenseFileInfo, GetLicenseFileResponse, GetLicenseQuotaResponse, } from "./license.cjs";
30
30
  export type { GenerateNodeIdsResponse, GetNodeIdsResponse, NodeCertificateInfo, GetNodeCertificatesResponse, NodeCertificateRegistrationStatusResponse, GetMQTTHostResponse, } from "./node_registration.cjs";
31
31
  export type { GetDeploymentDetailsResponse } from "./deployment_details.cjs";
32
- export type { GetCommonCustomDataResponse } from "./common_custom_data.cjs";
32
+ export type { CommonCustomDataItem, GetCommonCustomDataResponse, } from "./common_custom_data.cjs";
33
33
  export type { GetDeploymentSettingsResponse, GetRbacDeploymentSettingResponse, RbacConfigurationValue, } from "./deployment_setting.cjs";
34
34
  export type { GetNotificationsResponse } from "./configuration.cjs";
35
35
  export type { GetIoTDeviceRateRuleResponse } from "./iot_device_rate_limit.cjs";
@@ -38,6 +38,7 @@ export type { CustomMessageTemplateInfo, GetCustomMessageTemplatesResponse, } fr
38
38
  export type { MobilePlatformInfo, CreateMobilePlatformResponse, GetMobilePlatformsResponse, } from "./mobile_platform.cjs";
39
39
  export type { PassthroughConfigInfo, CreatePassthroughConfigResponse, GetPassthroughConfigResponse, } from "./passthrough.cjs";
40
40
  export type { GetNodeCACertificateResponse } from "./node_certificate_ca.cjs";
41
+ export type { InitiateClaimResponse, VerifyClaimResponse } from "./claim.cjs";
41
42
  export type { WebhookIntegrationInfo, GetWebhookIntegrationsResponse, WebhookEventMappingInfo, GetWebhookEventMappingResponse, } from "./webhook.cjs";
42
43
  export type { StatsCount, StatsObject, GetStatsInfoResponse, } from "./statistical_service.cjs";
43
44
  export type { MailFailureInfo, GetMailFailuresResponse } from "./mail_failure.cjs";
@@ -63,8 +63,11 @@ export interface WebhookIntegrationInfo {
63
63
  }
64
64
  /** Response containing a list of webhook integrations. */
65
65
  export interface GetWebhookIntegrationsResponse {
66
- /** Array of webhook integration details. */
67
- webhooks_endpoints?: WebhookIntegrationInfo[];
66
+ /**
67
+ * Array of webhook integration details.
68
+ * The backend returns `null` when no integrations are configured.
69
+ */
70
+ integration_info_list?: WebhookIntegrationInfo[] | null;
68
71
  }
69
72
  /** Details of a webhook event mapping. */
70
73
  export interface WebhookEventMappingInfo {
@@ -94,6 +94,8 @@ declare const APIEndpoints: {
94
94
  readonly ADMIN_MATTER_BATCH: "admin/matter/batch";
95
95
  readonly ADMIN_MATTER_BATCH_NODES: "admin/matter/batch/nodes";
96
96
  readonly ADMIN_MAIL_FAILURES: "admin/mail_failures";
97
+ readonly CLAIM_INITIATE: "claim/initiate";
98
+ readonly CLAIM_VERIFY: "claim/verify";
97
99
  };
98
100
  declare const StorageKeys: {
99
101
  readonly ACCESSTOKEN: "com.esprmbase.accessToken";
@@ -104,6 +106,8 @@ declare const ConfigErrorCodes: {
104
106
  readonly SDK_NOT_CONFIGURED: "SDK_NOT_CONFIGURED";
105
107
  readonly INVALID_CONFIG_OBJECT: "INVALID_CONFIG_OBJECT";
106
108
  readonly INVALID_BASE_URL: "INVALID_BASE_URL";
109
+ readonly INVALID_CLAIMING_BASE_URL: "INVALID_CLAIMING_BASE_URL";
110
+ readonly CLAIMING_NOT_CONFIGURED: "CLAIMING_NOT_CONFIGURED";
107
111
  };
108
112
  declare const ValidationErrorCodes: {
109
113
  readonly MISSING_LOGIN_PASSWORD: "MISSING_LOGIN_PASSWORD";
@@ -151,6 +155,13 @@ declare const APICallValidationErrorCodes: {
151
155
  readonly MISSING_BATCH_ID: "MISSING_BATCH_ID";
152
156
  readonly MISSING_CANCEL_COMMAND_SCOPE: "MISSING_CANCEL_COMMAND_SCOPE";
153
157
  readonly CMD_ID_REQUIRES_NODE_ID: "CMD_ID_REQUIRES_NODE_ID";
158
+ readonly MISSING_COMMON_CUSTOM_DATA_NAME: "MISSING_COMMON_CUSTOM_DATA_NAME";
159
+ readonly MISSING_COMMON_CUSTOM_DATA_VALUE: "MISSING_COMMON_CUSTOM_DATA_VALUE";
160
+ readonly MISSING_MAC_ADDRESS: "MISSING_MAC_ADDRESS";
161
+ readonly MISSING_CLAIM_PLATFORM: "MISSING_CLAIM_PLATFORM";
162
+ readonly MISSING_CSR: "MISSING_CSR";
163
+ readonly MISSING_NODE_IDS: "MISSING_NODE_IDS";
164
+ readonly TOO_MANY_NODE_IDS: "TOO_MANY_NODE_IDS";
154
165
  };
155
166
  declare const TokenErrorCodes: {
156
167
  readonly MISSING_ACCESS_TOKEN: "MISSING_ACCESS_TOKEN";
@@ -176,9 +187,11 @@ declare const DEFAULT_REST_API_VERSION = "v1";
176
187
  declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
177
188
  /** Tokens expiring within this many seconds are refreshed proactively. */
178
189
  declare const TOKEN_EXPIRY_MARGIN_SECONDS = 30;
190
+ /** Backend limit on node IDs per `PUT admin/nodes` activation request. */
191
+ declare const MAX_NODE_ACTIVATION_BATCH_SIZE = 25;
179
192
  /** errorCode values the SDK itself sets on ESPAPIError for non-HTTP failures. */
180
193
  declare const APIErrorCodes: {
181
194
  readonly REQUEST_TIMEOUT: "REQUEST_TIMEOUT";
182
195
  readonly NETWORK_ERROR: "NETWORK_ERROR";
183
196
  };
184
- export { HTTPMethods, APIEndpoints, StorageKeys, ConfigErrorCodes, ValidationErrorCodes, StorageAdapterErrorCodes, APICallValidationErrorCodes, TokenErrorCodes, ErrorLabels, HTTPStatusCodes, AdditionalInfo, DEFAULT_REST_API_VERSION, DEFAULT_REQUEST_TIMEOUT_MS, TOKEN_EXPIRY_MARGIN_SECONDS, APIErrorCodes, };
197
+ export { HTTPMethods, APIEndpoints, StorageKeys, ConfigErrorCodes, ValidationErrorCodes, StorageAdapterErrorCodes, APICallValidationErrorCodes, TokenErrorCodes, ErrorLabels, HTTPStatusCodes, AdditionalInfo, DEFAULT_REST_API_VERSION, DEFAULT_REQUEST_TIMEOUT_MS, TOKEN_EXPIRY_MARGIN_SECONDS, APIErrorCodes, MAX_NODE_ACTIVATION_BATCH_SIZE, };
@@ -7,6 +7,8 @@ declare const configErrorMessages: {
7
7
  SDK_NOT_CONFIGURED: string;
8
8
  INVALID_CONFIG_OBJECT: string;
9
9
  INVALID_BASE_URL: string;
10
+ INVALID_CLAIMING_BASE_URL: string;
11
+ CLAIMING_NOT_CONFIGURED: string;
10
12
  };
11
13
  declare const validationErrorMessages: {
12
14
  MISSING_LOGIN_PASSWORD: string;
@@ -18,6 +20,8 @@ declare const storageAdapterErrorMessages: {
18
20
  };
19
21
  declare const apiCallValidationErrorMessages: {
20
22
  MISSING_NODE_ID: string;
23
+ MISSING_NODE_IDS: string;
24
+ TOO_MANY_NODE_IDS: string;
21
25
  MISSING_OTA_IMAGE_ID: string;
22
26
  MISSING_ARCHIVE_FLAG: string;
23
27
  MISSING_OTA_JOB_ID: string;
@@ -54,6 +58,11 @@ declare const apiCallValidationErrorMessages: {
54
58
  MISSING_BATCH_ID: string;
55
59
  MISSING_CANCEL_COMMAND_SCOPE: string;
56
60
  CMD_ID_REQUIRES_NODE_ID: string;
61
+ MISSING_COMMON_CUSTOM_DATA_NAME: string;
62
+ MISSING_COMMON_CUSTOM_DATA_VALUE: string;
63
+ MISSING_MAC_ADDRESS: string;
64
+ MISSING_CLAIM_PLATFORM: string;
65
+ MISSING_CSR: string;
57
66
  };
58
67
  declare const tokenErrorMessages: {
59
68
  MISSING_ACCESS_TOKEN: string;
@@ -7,5 +7,6 @@ import { ESPRMBaseConfig } from "../../types/config.cjs";
7
7
  export declare class ConfigValidator {
8
8
  static validateConfig(config: ESPRMBaseConfig): void;
9
9
  private static validateConfigObject;
10
+ private static validateClaimingBaseUrl;
10
11
  private static validateBaseUrl;
11
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@espressif/rainmaker-admin-sdk",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Espressif's Rainmaker Admin SDK enables seamless integration of admin applications with the ESP Rainmaker ecosystem.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Espressif Systems (Shanghai) CO LTD",
@@ -527,6 +527,16 @@
527
527
  "default": "./dist/cjs/entries/ESPRMBase.cjs"
528
528
  }
529
529
  },
530
+ "./ESPRMClaim": {
531
+ "import": {
532
+ "types": "./dist/types/entries/ESPRMClaim.d.ts",
533
+ "default": "./dist/esm/entries/ESPRMClaim.js"
534
+ },
535
+ "require": {
536
+ "types": "./dist/types-cjs/entries/ESPRMClaim.d.cts",
537
+ "default": "./dist/cjs/entries/ESPRMClaim.cjs"
538
+ }
539
+ },
530
540
  "./ESPRMUser": {
531
541
  "import": {
532
542
  "types": "./dist/types/entries/ESPRMUser.d.ts",