@stackfactor/client-api 1.1.231 → 1.1.234

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 (220) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +138 -138
  3. package/declarations/axios.d.ts +1 -1
  4. package/dist/cjs/lib/billingProfiles.d.ts +0 -14
  5. package/dist/cjs/lib/billingProfiles.d.ts.map +1 -1
  6. package/dist/cjs/lib/billingProfiles.js +1 -43
  7. package/dist/cjs/lib/billingProfiles.js.map +1 -1
  8. package/dist/cjs/lib/learningContent/learningContent.d.ts +51 -0
  9. package/dist/cjs/lib/learningContent/learningContent.d.ts.map +1 -0
  10. package/dist/cjs/lib/learningContent/learningContent.js +131 -0
  11. package/dist/cjs/lib/learningContent/learningContent.js.map +1 -0
  12. package/dist/cjs/lib/learningContent.d.ts +1 -0
  13. package/dist/cjs/lib/learningContent.d.ts.map +1 -1
  14. package/dist/cjs/lib/learningContent.js +35 -1
  15. package/dist/cjs/lib/learningContent.js.map +1 -1
  16. package/dist/esm/lib/billingProfiles.d.ts +0 -14
  17. package/dist/esm/lib/billingProfiles.d.ts.map +1 -1
  18. package/dist/esm/lib/billingProfiles.js +0 -40
  19. package/dist/esm/lib/billingProfiles.js.map +1 -1
  20. package/dist/esm/lib/learningContent/learningContent.d.ts +51 -0
  21. package/dist/esm/lib/learningContent/learningContent.d.ts.map +1 -0
  22. package/dist/esm/lib/learningContent/learningContent.js +126 -0
  23. package/dist/esm/lib/learningContent/learningContent.js.map +1 -0
  24. package/dist/esm/lib/learningContent.d.ts +1 -0
  25. package/dist/esm/lib/learningContent.d.ts.map +1 -1
  26. package/dist/esm/lib/learningContent.js +1 -0
  27. package/dist/esm/lib/learningContent.js.map +1 -1
  28. package/package.json +57 -57
  29. package/dist/cjs/lib/talentTransfromation.d.ts +0 -29
  30. package/dist/cjs/lib/talentTransfromation.d.ts.map +0 -1
  31. package/dist/cjs/lib/talentTransfromation.js +0 -100
  32. package/dist/cjs/lib/talentTransfromation.js.map +0 -1
  33. package/dist/esm/lib/talentTransfromation.d.ts +0 -29
  34. package/dist/esm/lib/talentTransfromation.d.ts.map +0 -1
  35. package/dist/esm/lib/talentTransfromation.js +0 -93
  36. package/dist/esm/lib/talentTransfromation.js.map +0 -1
  37. package/dist/esm/src/lib/actionNotifications.d.ts +0 -24
  38. package/dist/esm/src/lib/actionNotifications.d.ts.map +0 -1
  39. package/dist/esm/src/lib/actionNotifications.js +0 -67
  40. package/dist/esm/src/lib/actionNotifications.js.map +0 -1
  41. package/dist/esm/src/lib/address.d.ts +0 -8
  42. package/dist/esm/src/lib/address.d.ts.map +0 -1
  43. package/dist/esm/src/lib/address.js +0 -20
  44. package/dist/esm/src/lib/address.js.map +0 -1
  45. package/dist/esm/src/lib/aiAssistant.d.ts +0 -42
  46. package/dist/esm/src/lib/aiAssistant.d.ts.map +0 -1
  47. package/dist/esm/src/lib/aiAssistant.js +0 -126
  48. package/dist/esm/src/lib/aiAssistant.js.map +0 -1
  49. package/dist/esm/src/lib/avatar.d.ts +0 -12
  50. package/dist/esm/src/lib/avatar.d.ts.map +0 -1
  51. package/dist/esm/src/lib/avatar.js +0 -29
  52. package/dist/esm/src/lib/avatar.js.map +0 -1
  53. package/dist/esm/src/lib/axiosClient.d.ts +0 -30
  54. package/dist/esm/src/lib/axiosClient.d.ts.map +0 -1
  55. package/dist/esm/src/lib/axiosClient.js +0 -88
  56. package/dist/esm/src/lib/axiosClient.js.map +0 -1
  57. package/dist/esm/src/lib/config.d.ts +0 -23
  58. package/dist/esm/src/lib/config.d.ts.map +0 -1
  59. package/dist/esm/src/lib/config.js +0 -57
  60. package/dist/esm/src/lib/config.js.map +0 -1
  61. package/dist/esm/src/lib/constants.d.ts +0 -69
  62. package/dist/esm/src/lib/constants.d.ts.map +0 -1
  63. package/dist/esm/src/lib/constants.js +0 -89
  64. package/dist/esm/src/lib/constants.js.map +0 -1
  65. package/dist/esm/src/lib/control.d.ts +0 -103
  66. package/dist/esm/src/lib/control.d.ts.map +0 -1
  67. package/dist/esm/src/lib/control.js +0 -308
  68. package/dist/esm/src/lib/control.js.map +0 -1
  69. package/dist/esm/src/lib/controlTemplate.d.ts +0 -66
  70. package/dist/esm/src/lib/controlTemplate.d.ts.map +0 -1
  71. package/dist/esm/src/lib/controlTemplate.js +0 -200
  72. package/dist/esm/src/lib/controlTemplate.js.map +0 -1
  73. package/dist/esm/src/lib/customFields.d.ts +0 -9
  74. package/dist/esm/src/lib/customFields.d.ts.map +0 -1
  75. package/dist/esm/src/lib/customFields.js +0 -22
  76. package/dist/esm/src/lib/customFields.js.map +0 -1
  77. package/dist/esm/src/lib/dashboard.d.ts +0 -23
  78. package/dist/esm/src/lib/dashboard.d.ts.map +0 -1
  79. package/dist/esm/src/lib/dashboard.js +0 -68
  80. package/dist/esm/src/lib/dashboard.js.map +0 -1
  81. package/dist/esm/src/lib/departmentTrainingPlans.d.ts +0 -53
  82. package/dist/esm/src/lib/departmentTrainingPlans.d.ts.map +0 -1
  83. package/dist/esm/src/lib/departmentTrainingPlans.js +0 -144
  84. package/dist/esm/src/lib/departmentTrainingPlans.js.map +0 -1
  85. package/dist/esm/src/lib/groups.d.ts +0 -90
  86. package/dist/esm/src/lib/groups.d.ts.map +0 -1
  87. package/dist/esm/src/lib/groups.js +0 -258
  88. package/dist/esm/src/lib/groups.js.map +0 -1
  89. package/dist/esm/src/lib/index.d.ts +0 -46
  90. package/dist/esm/src/lib/index.d.ts.map +0 -1
  91. package/dist/esm/src/lib/index.js +0 -45
  92. package/dist/esm/src/lib/index.js.map +0 -1
  93. package/dist/esm/src/lib/integration.d.ts +0 -83
  94. package/dist/esm/src/lib/integration.d.ts.map +0 -1
  95. package/dist/esm/src/lib/integration.js +0 -300
  96. package/dist/esm/src/lib/integration.js.map +0 -1
  97. package/dist/esm/src/lib/integrationConfiguration.d.ts +0 -27
  98. package/dist/esm/src/lib/integrationConfiguration.d.ts.map +0 -1
  99. package/dist/esm/src/lib/integrationConfiguration.js +0 -80
  100. package/dist/esm/src/lib/integrationConfiguration.js.map +0 -1
  101. package/dist/esm/src/lib/integrations/contentGenerator.d.ts +0 -26
  102. package/dist/esm/src/lib/integrations/contentGenerator.d.ts.map +0 -1
  103. package/dist/esm/src/lib/integrations/contentGenerator.js +0 -88
  104. package/dist/esm/src/lib/integrations/contentGenerator.js.map +0 -1
  105. package/dist/esm/src/lib/labSessions.d.ts +0 -54
  106. package/dist/esm/src/lib/labSessions.d.ts.map +0 -1
  107. package/dist/esm/src/lib/labSessions.js +0 -168
  108. package/dist/esm/src/lib/labSessions.js.map +0 -1
  109. package/dist/esm/src/lib/learningContent.d.ts +0 -213
  110. package/dist/esm/src/lib/learningContent.d.ts.map +0 -1
  111. package/dist/esm/src/lib/learningContent.js +0 -690
  112. package/dist/esm/src/lib/learningContent.js.map +0 -1
  113. package/dist/esm/src/lib/learningPath.d.ts +0 -64
  114. package/dist/esm/src/lib/learningPath.d.ts.map +0 -1
  115. package/dist/esm/src/lib/learningPath.js +0 -194
  116. package/dist/esm/src/lib/learningPath.js.map +0 -1
  117. package/dist/esm/src/lib/logger.d.ts +0 -19
  118. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  119. package/dist/esm/src/lib/logger.js +0 -55
  120. package/dist/esm/src/lib/logger.js.map +0 -1
  121. package/dist/esm/src/lib/microSkillsQuizes.d.ts +0 -18
  122. package/dist/esm/src/lib/microSkillsQuizes.d.ts.map +0 -1
  123. package/dist/esm/src/lib/microSkillsQuizes.js +0 -48
  124. package/dist/esm/src/lib/microSkillsQuizes.js.map +0 -1
  125. package/dist/esm/src/lib/policy.d.ts +0 -103
  126. package/dist/esm/src/lib/policy.d.ts.map +0 -1
  127. package/dist/esm/src/lib/policy.js +0 -308
  128. package/dist/esm/src/lib/policy.js.map +0 -1
  129. package/dist/esm/src/lib/policyTemplate.d.ts +0 -66
  130. package/dist/esm/src/lib/policyTemplate.d.ts.map +0 -1
  131. package/dist/esm/src/lib/policyTemplate.js +0 -200
  132. package/dist/esm/src/lib/policyTemplate.js.map +0 -1
  133. package/dist/esm/src/lib/quotas.d.ts +0 -15
  134. package/dist/esm/src/lib/quotas.d.ts.map +0 -1
  135. package/dist/esm/src/lib/quotas.js +0 -45
  136. package/dist/esm/src/lib/quotas.js.map +0 -1
  137. package/dist/esm/src/lib/reports.d.ts +0 -47
  138. package/dist/esm/src/lib/reports.d.ts.map +0 -1
  139. package/dist/esm/src/lib/reports.js +0 -87
  140. package/dist/esm/src/lib/reports.js.map +0 -1
  141. package/dist/esm/src/lib/requirement.d.ts +0 -103
  142. package/dist/esm/src/lib/requirement.d.ts.map +0 -1
  143. package/dist/esm/src/lib/requirement.js +0 -308
  144. package/dist/esm/src/lib/requirement.js.map +0 -1
  145. package/dist/esm/src/lib/requirementTemplate.d.ts +0 -66
  146. package/dist/esm/src/lib/requirementTemplate.d.ts.map +0 -1
  147. package/dist/esm/src/lib/requirementTemplate.js +0 -200
  148. package/dist/esm/src/lib/requirementTemplate.js.map +0 -1
  149. package/dist/esm/src/lib/role.d.ts +0 -119
  150. package/dist/esm/src/lib/role.d.ts.map +0 -1
  151. package/dist/esm/src/lib/role.js +0 -393
  152. package/dist/esm/src/lib/role.js.map +0 -1
  153. package/dist/esm/src/lib/roleTemplate.d.ts +0 -73
  154. package/dist/esm/src/lib/roleTemplate.d.ts.map +0 -1
  155. package/dist/esm/src/lib/roleTemplate.js +0 -224
  156. package/dist/esm/src/lib/roleTemplate.js.map +0 -1
  157. package/dist/esm/src/lib/security.d.ts +0 -27
  158. package/dist/esm/src/lib/security.d.ts.map +0 -1
  159. package/dist/esm/src/lib/security.js +0 -72
  160. package/dist/esm/src/lib/security.js.map +0 -1
  161. package/dist/esm/src/lib/skill.d.ts +0 -141
  162. package/dist/esm/src/lib/skill.d.ts.map +0 -1
  163. package/dist/esm/src/lib/skill.js +0 -418
  164. package/dist/esm/src/lib/skill.js.map +0 -1
  165. package/dist/esm/src/lib/skillAssessmentTestingSession.d.ts +0 -85
  166. package/dist/esm/src/lib/skillAssessmentTestingSession.d.ts.map +0 -1
  167. package/dist/esm/src/lib/skillAssessmentTestingSession.js +0 -261
  168. package/dist/esm/src/lib/skillAssessmentTestingSession.js.map +0 -1
  169. package/dist/esm/src/lib/skillAssessments.d.ts +0 -49
  170. package/dist/esm/src/lib/skillAssessments.d.ts.map +0 -1
  171. package/dist/esm/src/lib/skillAssessments.js +0 -147
  172. package/dist/esm/src/lib/skillAssessments.js.map +0 -1
  173. package/dist/esm/src/lib/skillTemplate.d.ts +0 -87
  174. package/dist/esm/src/lib/skillTemplate.d.ts.map +0 -1
  175. package/dist/esm/src/lib/skillTemplate.js +0 -267
  176. package/dist/esm/src/lib/skillTemplate.js.map +0 -1
  177. package/dist/esm/src/lib/socketError.d.ts +0 -22
  178. package/dist/esm/src/lib/socketError.d.ts.map +0 -1
  179. package/dist/esm/src/lib/socketError.js +0 -12
  180. package/dist/esm/src/lib/socketError.js.map +0 -1
  181. package/dist/esm/src/lib/standard.d.ts +0 -103
  182. package/dist/esm/src/lib/standard.d.ts.map +0 -1
  183. package/dist/esm/src/lib/standard.js +0 -308
  184. package/dist/esm/src/lib/standard.js.map +0 -1
  185. package/dist/esm/src/lib/standardTemplate.d.ts +0 -66
  186. package/dist/esm/src/lib/standardTemplate.d.ts.map +0 -1
  187. package/dist/esm/src/lib/standardTemplate.js +0 -200
  188. package/dist/esm/src/lib/standardTemplate.js.map +0 -1
  189. package/dist/esm/src/lib/talentTransfromation.d.ts +0 -29
  190. package/dist/esm/src/lib/talentTransfromation.d.ts.map +0 -1
  191. package/dist/esm/src/lib/talentTransfromation.js +0 -93
  192. package/dist/esm/src/lib/talentTransfromation.js.map +0 -1
  193. package/dist/esm/src/lib/teams.d.ts +0 -92
  194. package/dist/esm/src/lib/teams.d.ts.map +0 -1
  195. package/dist/esm/src/lib/teams.js +0 -258
  196. package/dist/esm/src/lib/teams.js.map +0 -1
  197. package/dist/esm/src/lib/tenants.d.ts +0 -22
  198. package/dist/esm/src/lib/tenants.d.ts.map +0 -1
  199. package/dist/esm/src/lib/tenants.js +0 -67
  200. package/dist/esm/src/lib/tenants.js.map +0 -1
  201. package/dist/esm/src/lib/trainingPlans.d.ts +0 -96
  202. package/dist/esm/src/lib/trainingPlans.d.ts.map +0 -1
  203. package/dist/esm/src/lib/trainingPlans.js +0 -315
  204. package/dist/esm/src/lib/trainingPlans.js.map +0 -1
  205. package/dist/esm/src/lib/trainingPlansProficiencyLevels.d.ts +0 -32
  206. package/dist/esm/src/lib/trainingPlansProficiencyLevels.d.ts.map +0 -1
  207. package/dist/esm/src/lib/trainingPlansProficiencyLevels.js +0 -90
  208. package/dist/esm/src/lib/trainingPlansProficiencyLevels.js.map +0 -1
  209. package/dist/esm/src/lib/userInformation.d.ts +0 -29
  210. package/dist/esm/src/lib/userInformation.d.ts.map +0 -1
  211. package/dist/esm/src/lib/userInformation.js +0 -75
  212. package/dist/esm/src/lib/userInformation.js.map +0 -1
  213. package/dist/esm/src/lib/users.d.ts +0 -206
  214. package/dist/esm/src/lib/users.d.ts.map +0 -1
  215. package/dist/esm/src/lib/users.js +0 -663
  216. package/dist/esm/src/lib/users.js.map +0 -1
  217. package/dist/esm/src/lib/utils.d.ts +0 -14
  218. package/dist/esm/src/lib/utils.d.ts.map +0 -1
  219. package/dist/esm/src/lib/utils.js +0 -51
  220. package/dist/esm/src/lib/utils.js.map +0 -1
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
2
-
3
- You are free to:
4
-
5
- Share — copy and redistribute the material in any medium or format
6
- for any purpose, even commercially.
7
-
8
- Under the following terms:
9
-
10
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
11
-
12
- NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.
13
-
14
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
15
-
16
- Notices:
17
- You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
18
- No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
19
-
20
- For the full license text, see:
21
- https://creativecommons.org/licenses/by-nd/4.0/legalcode
1
+ Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
2
+
3
+ You are free to:
4
+
5
+ Share — copy and redistribute the material in any medium or format
6
+ for any purpose, even commercially.
7
+
8
+ Under the following terms:
9
+
10
+ Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
11
+
12
+ NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.
13
+
14
+ No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
15
+
16
+ Notices:
17
+ You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
18
+ No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
19
+
20
+ For the full license text, see:
21
+ https://creativecommons.org/licenses/by-nd/4.0/legalcode
package/README.md CHANGED
@@ -1,138 +1,138 @@
1
- # @stackfactor/client-api
2
-
3
- A TypeScript/JavaScript client library for interacting with the StackFactor API. This package provides a comprehensive set of modules for managing users, skills, roles, teams, training plans, assessments, and more — designed for use in web and Node.js applications.
4
-
5
- ## Features
6
-
7
- - **User Management** — account creation, authentication (login, logout, token refresh), API tokens, invitations, email/phone confirmation, password reset
8
- - **Skills & Roles** — create, publish, import from templates, assign to users
9
- - **Teams & Groups** — create and manage organizational structures
10
- - **Training Plans** — create, publish, archive, manage proficiency levels and activities
11
- - **Skill Assessments** — create assessments, manage testing sessions
12
- - **AI Assistant** — start conversations, ask questions, voice assistant
13
- - **Content Generation** — synchronous and asynchronous AI-powered content generation
14
- - **Learning Content & Paths** — author and manage learning materials
15
- - **Dashboard, Notifications, Security** — configurable dashboard cards, action notifications, auth connections and MFA
16
-
17
- ## Installation
18
-
19
- ```
20
- npm install @stackfactor/client-api
21
- ```
22
-
23
- ## Usage
24
-
25
- Import the modules you need from the library:
26
-
27
- ```typescript
28
- import { users, skill, role, team, address } from "@stackfactor/client-api";
29
-
30
- // Login
31
- users
32
- .login("user@example.com", "password")
33
- .then((data) => console.log(data))
34
- .catch((err) => console.error(err));
35
-
36
- // Create a skill
37
- skill
38
- .createSkill({ name: "TypeScript" }, authToken)
39
- .then((result) => console.log(result));
40
-
41
- // Address autocomplete
42
- address
43
- .autoComplete("123 Main St", authToken)
44
- .then((result) => console.log(result));
45
- ```
46
-
47
- ### Available Modules
48
-
49
- | Import Name | Description |
50
- | ------------------------------- | ------------------------------------- |
51
- | `actionNotifications` | User action notifications |
52
- | `address` | Address validation and autocomplete |
53
- | `aiAssistant` | AI assistant conversations and voice |
54
- | `avatar` | User and element avatars |
55
- | `client` | Configured Axios HTTP client instance |
56
- | `config` | Platform configuration |
57
- | `contentGenerator` | AI-powered content generation |
58
- | `customFields` | Custom field definitions |
59
- | `dashboard` | Dashboard card management |
60
- | `departmentTraingPlans` | Department training plans |
61
- | `groups` | User group management |
62
- | `integration` | Integration management |
63
- | `integrationConfiguration` | Integration configuration |
64
- | `learningContent` | Learning content authoring |
65
- | `learningPath` | Learning path management |
66
- | `logger` | Logging utilities |
67
- | `microSkillsQuizes` | Micro-skill quiz management |
68
- | `quotas` | Usage quotas |
69
- | `role` | Role management |
70
- | `roleTemplate` | Role template management |
71
- | `security` | Auth connections, MFA, Auth0 sync |
72
- | `skill` | Skill management |
73
- | `skillAssessment` | Skill assessment management |
74
- | `skillAssessmentTestingSession` | Assessment testing sessions |
75
- | `skillTemplate` | Skill template management |
76
- | `onboarding` | Onboarding step tracking |
77
- | `team` | Team management |
78
- | `tenant` | Tenant settings |
79
- | `trainingPlan` | Training plan management |
80
- | `trainingPlanProficiencyLevel` | Training plan proficiency levels |
81
- | `userInformation` | User business profile properties |
82
- | `users` | User accounts and authentication |
83
-
84
- Constants `DOCUMENT_VERSION`, `RESPONSE_TYPE`, `PERMISSIONS`, and `PERMISSION_DESCRIPTIONS` are also exported directly.
85
-
86
- Utility functions `errorToString`, `getErrorType`, `getErrorInformation`, and `shouldReturnError` are exported at the top level for Axios error handling.
87
-
88
- ## Documentation
89
-
90
- Full method-level documentation for each module is available in the [doc/](doc/) folder:
91
-
92
- - [Action Notifications](doc/actionNotifications.md)
93
- - [Address](doc/address.md)
94
- - [AI Assistant](doc/aiAssistant.md)
95
- - [Avatar](doc/avatar.md)
96
- - [Axios Client](doc/axiosClient.md)
97
- - [Config](doc/config.md)
98
- - [Constants](doc/constants.md)
99
- - [Content Generator](doc/contentGenerator.md)
100
- - [Custom Fields](doc/customFields.md)
101
- - [Dashboard](doc/dashboard.md)
102
- - [Department Training Plans](doc/departmentTrainingPlans.md)
103
- - [Groups](doc/groups.md)
104
- - [Integration](doc/integration.md)
105
- - [Integration Configuration](doc/integrationConfiguration.md)
106
- - [Learning Content](doc/learningContent.md)
107
- - [Learning Path](doc/learningPath.md)
108
- - [Logger](doc/logger.md)
109
- - [Micro Skills Quizzes](doc/microSkillsQuizes.md)
110
- - [Quotas](doc/quotas.md)
111
- - [Role](doc/role.md)
112
- - [Role Template](doc/roleTemplate.md)
113
- - [Security](doc/security.md)
114
- - [Skill](doc/skill.md)
115
- - [Skill Assessments](doc/skillAssessments.md)
116
- - [Skill Assessment Testing Session](doc/skillAssessmentTestingSession.md)
117
- - [Skill Template](doc/skillTemplate.md)
118
- - [Onboarding](doc/onboarding.md)
119
- - [Teams](doc/teams.md)
120
- - [Tenants](doc/tenants.md)
121
- - [Training Plans](doc/trainingPlans.md)
122
- - [Training Plans Proficiency Levels](doc/trainingPlansProficiencyLevels.md)
123
- - [User Information](doc/userInformation.md)
124
- - [Users](doc/users.md)
125
- - [Utils](doc/utils.md)
126
-
127
- ## License
128
-
129
- This package is licensed under the [Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)](https://creativecommons.org/licenses/by-nd/4.0/legalcode). See the [LICENSE](LICENSE) file for details.
130
-
131
- ## Support
132
-
133
- For questions or support, open an issue in the [GitHub repository](https://github.com/StackFactor/stackfactor-client-api).
134
-
135
- ## Links
136
-
137
- - [StackFactor Developer Resources](https://stackfactor.ai/resources/developers)
138
- - [CC BY-ND 4.0 License](https://creativecommons.org/licenses/by-nd/4.0/legalcode)
1
+ # @stackfactor/client-api
2
+
3
+ A TypeScript/JavaScript client library for interacting with the StackFactor API. This package provides a comprehensive set of modules for managing users, skills, roles, teams, training plans, assessments, and more — designed for use in web and Node.js applications.
4
+
5
+ ## Features
6
+
7
+ - **User Management** — account creation, authentication (login, logout, token refresh), API tokens, invitations, email/phone confirmation, password reset
8
+ - **Skills & Roles** — create, publish, import from templates, assign to users
9
+ - **Teams & Groups** — create and manage organizational structures
10
+ - **Training Plans** — create, publish, archive, manage proficiency levels and activities
11
+ - **Skill Assessments** — create assessments, manage testing sessions
12
+ - **AI Assistant** — start conversations, ask questions, voice assistant
13
+ - **Content Generation** — synchronous and asynchronous AI-powered content generation
14
+ - **Learning Content & Paths** — author and manage learning materials
15
+ - **Dashboard, Notifications, Security** — configurable dashboard cards, action notifications, auth connections and MFA
16
+
17
+ ## Installation
18
+
19
+ ```
20
+ npm install @stackfactor/client-api
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ Import the modules you need from the library:
26
+
27
+ ```typescript
28
+ import { users, skill, role, team, address } from "@stackfactor/client-api";
29
+
30
+ // Login
31
+ users
32
+ .login("user@example.com", "password")
33
+ .then((data) => console.log(data))
34
+ .catch((err) => console.error(err));
35
+
36
+ // Create a skill
37
+ skill
38
+ .createSkill({ name: "TypeScript" }, authToken)
39
+ .then((result) => console.log(result));
40
+
41
+ // Address autocomplete
42
+ address
43
+ .autoComplete("123 Main St", authToken)
44
+ .then((result) => console.log(result));
45
+ ```
46
+
47
+ ### Available Modules
48
+
49
+ | Import Name | Description |
50
+ | ------------------------------- | ------------------------------------- |
51
+ | `actionNotifications` | User action notifications |
52
+ | `address` | Address validation and autocomplete |
53
+ | `aiAssistant` | AI assistant conversations and voice |
54
+ | `avatar` | User and element avatars |
55
+ | `client` | Configured Axios HTTP client instance |
56
+ | `config` | Platform configuration |
57
+ | `contentGenerator` | AI-powered content generation |
58
+ | `customFields` | Custom field definitions |
59
+ | `dashboard` | Dashboard card management |
60
+ | `departmentTraingPlans` | Department training plans |
61
+ | `groups` | User group management |
62
+ | `integration` | Integration management |
63
+ | `integrationConfiguration` | Integration configuration |
64
+ | `learningContent` | Learning content authoring |
65
+ | `learningPath` | Learning path management |
66
+ | `logger` | Logging utilities |
67
+ | `microSkillsQuizes` | Micro-skill quiz management |
68
+ | `quotas` | Usage quotas |
69
+ | `role` | Role management |
70
+ | `roleTemplate` | Role template management |
71
+ | `security` | Auth connections, MFA, Auth0 sync |
72
+ | `skill` | Skill management |
73
+ | `skillAssessment` | Skill assessment management |
74
+ | `skillAssessmentTestingSession` | Assessment testing sessions |
75
+ | `skillTemplate` | Skill template management |
76
+ | `onboarding` | Onboarding step tracking |
77
+ | `team` | Team management |
78
+ | `tenant` | Tenant settings |
79
+ | `trainingPlan` | Training plan management |
80
+ | `trainingPlanProficiencyLevel` | Training plan proficiency levels |
81
+ | `userInformation` | User business profile properties |
82
+ | `users` | User accounts and authentication |
83
+
84
+ Constants `DOCUMENT_VERSION`, `RESPONSE_TYPE`, `PERMISSIONS`, and `PERMISSION_DESCRIPTIONS` are also exported directly.
85
+
86
+ Utility functions `errorToString`, `getErrorType`, `getErrorInformation`, and `shouldReturnError` are exported at the top level for Axios error handling.
87
+
88
+ ## Documentation
89
+
90
+ Full method-level documentation for each module is available in the [doc/](doc/) folder:
91
+
92
+ - [Action Notifications](doc/actionNotifications.md)
93
+ - [Address](doc/address.md)
94
+ - [AI Assistant](doc/aiAssistant.md)
95
+ - [Avatar](doc/avatar.md)
96
+ - [Axios Client](doc/axiosClient.md)
97
+ - [Config](doc/config.md)
98
+ - [Constants](doc/constants.md)
99
+ - [Content Generator](doc/contentGenerator.md)
100
+ - [Custom Fields](doc/customFields.md)
101
+ - [Dashboard](doc/dashboard.md)
102
+ - [Department Training Plans](doc/departmentTrainingPlans.md)
103
+ - [Groups](doc/groups.md)
104
+ - [Integration](doc/integration.md)
105
+ - [Integration Configuration](doc/integrationConfiguration.md)
106
+ - [Learning Content](doc/learningContent.md)
107
+ - [Learning Path](doc/learningPath.md)
108
+ - [Logger](doc/logger.md)
109
+ - [Micro Skills Quizzes](doc/microSkillsQuizes.md)
110
+ - [Quotas](doc/quotas.md)
111
+ - [Role](doc/role.md)
112
+ - [Role Template](doc/roleTemplate.md)
113
+ - [Security](doc/security.md)
114
+ - [Skill](doc/skill.md)
115
+ - [Skill Assessments](doc/skillAssessments.md)
116
+ - [Skill Assessment Testing Session](doc/skillAssessmentTestingSession.md)
117
+ - [Skill Template](doc/skillTemplate.md)
118
+ - [Onboarding](doc/onboarding.md)
119
+ - [Teams](doc/teams.md)
120
+ - [Tenants](doc/tenants.md)
121
+ - [Training Plans](doc/trainingPlans.md)
122
+ - [Training Plans Proficiency Levels](doc/trainingPlansProficiencyLevels.md)
123
+ - [User Information](doc/userInformation.md)
124
+ - [Users](doc/users.md)
125
+ - [Utils](doc/utils.md)
126
+
127
+ ## License
128
+
129
+ This package is licensed under the [Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)](https://creativecommons.org/licenses/by-nd/4.0/legalcode). See the [LICENSE](LICENSE) file for details.
130
+
131
+ ## Support
132
+
133
+ For questions or support, open an issue in the [GitHub repository](https://github.com/StackFactor/stackfactor-client-api).
134
+
135
+ ## Links
136
+
137
+ - [StackFactor Developer Resources](https://stackfactor.ai/resources/developers)
138
+ - [CC BY-ND 4.0 License](https://creativecommons.org/licenses/by-nd/4.0/legalcode)
@@ -1 +1 @@
1
- // axios provides its own type definitions
1
+ // axios provides its own type definitions
@@ -37,18 +37,4 @@ export declare const setBillingProfileInformation: (id: string, data: object, to
37
37
  * @returns {Promise<object>}
38
38
  */
39
39
  export declare const deleteBillingProfile: (id: string, token: string) => Promise<object>;
40
- /**
41
- * Publish billing profile
42
- * @param {String} id The id of the billing profile to be published
43
- * @param {String} token Authorization token
44
- * @returns {Promise<object>}
45
- */
46
- export declare const publishBillingProfile: (id: string, token: string) => Promise<object>;
47
- /**
48
- * Discard billing profile draft changes
49
- * @param {String} id The id of the billing profile to be discarded
50
- * @param {String} token Authorization token
51
- * @returns {Promise<object>}
52
- */
53
- export declare const discardBillingProfileChanges: (id: string, token: string) => Promise<object>;
54
40
  //# sourceMappingURL=billingProfiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"billingProfiles.d.ts","sourceRoot":"","sources":["../../../src/lib/billingProfiles.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SACzB,MAAM,SACL,MAAM,KACZ,OAAO,CAAC,MAAM,CAoBhB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,WACxB,MAAM,EAAE,WACP,MAAM,kBACC,OAAO,SAChB,MAAM,KACZ,OAAO,CAAC,MAAM,CA0BhB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,OACvC,MAAM,WACD,MAAM,SACR,MAAM,KACZ,OAAO,CAAC,MAAM,CAgBhB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,OACnC,MAAM,QACJ,MAAM,SACL,MAAM,KACZ,OAAO,CAAC,MAAM,CAqBhB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,OAC3B,MAAM,SACH,MAAM,KACZ,OAAO,CAAC,MAAM,CAiBhB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAC5B,MAAM,SACH,MAAM,KACZ,OAAO,CAAC,MAAM,CAiBhB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,OACnC,MAAM,SACH,MAAM,KACZ,OAAO,CAAC,MAAM,CAahB,CAAC"}
1
+ {"version":3,"file":"billingProfiles.d.ts","sourceRoot":"","sources":["../../../src/lib/billingProfiles.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SACzB,MAAM,SACL,MAAM,KACZ,OAAO,CAAC,MAAM,CAoBhB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,WACxB,MAAM,EAAE,WACP,MAAM,kBACC,OAAO,SAChB,MAAM,KACZ,OAAO,CAAC,MAAM,CA0BhB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,OACvC,MAAM,WACD,MAAM,SACR,MAAM,KACZ,OAAO,CAAC,MAAM,CAgBhB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,OACnC,MAAM,QACJ,MAAM,SACL,MAAM,KACZ,OAAO,CAAC,MAAM,CAqBhB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,OAC3B,MAAM,SACH,MAAM,KACZ,OAAO,CAAC,MAAM,CAiBhB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.discardBillingProfileChanges = exports.publishBillingProfile = exports.deleteBillingProfile = exports.setBillingProfileInformation = exports.getBillingProfileInformationById = exports.getBillingProfileList = exports.createBillingProfile = void 0;
3
+ exports.deleteBillingProfile = exports.setBillingProfileInformation = exports.getBillingProfileInformationById = exports.getBillingProfileList = exports.createBillingProfile = void 0;
4
4
  const axiosClient_js_1 = require("./axiosClient.js");
5
5
  /**
6
6
  * Create billing profile
@@ -128,46 +128,4 @@ const deleteBillingProfile = (id, token) => {
128
128
  });
129
129
  };
130
130
  exports.deleteBillingProfile = deleteBillingProfile;
131
- /**
132
- * Publish billing profile
133
- * @param {String} id The id of the billing profile to be published
134
- * @param {String} token Authorization token
135
- * @returns {Promise<object>}
136
- */
137
- const publishBillingProfile = (id, token) => {
138
- return new Promise((resolve, reject) => {
139
- const confirmationRequest = axiosClient_js_1.client.post(`/api/v1/billingprofiles/publish/${id}`, {}, {
140
- headers: { authorization: token },
141
- });
142
- confirmationRequest
143
- .then((response) => {
144
- resolve(response.data);
145
- })
146
- .catch((error) => {
147
- reject(error);
148
- });
149
- });
150
- };
151
- exports.publishBillingProfile = publishBillingProfile;
152
- /**
153
- * Discard billing profile draft changes
154
- * @param {String} id The id of the billing profile to be discarded
155
- * @param {String} token Authorization token
156
- * @returns {Promise<object>}
157
- */
158
- const discardBillingProfileChanges = (id, token) => {
159
- return new Promise((resolve, reject) => {
160
- const request = axiosClient_js_1.client.get(`/api/v1/billingprofiles/discard/${id}`, {
161
- headers: { authorization: token },
162
- });
163
- request
164
- .then((response) => {
165
- resolve(response.data);
166
- })
167
- .catch((error) => {
168
- reject(error);
169
- });
170
- });
171
- };
172
- exports.discardBillingProfileChanges = discardBillingProfileChanges;
173
131
  //# sourceMappingURL=billingProfiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billingProfiles.js","sourceRoot":"","sources":["../../../src/lib/billingProfiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billingProfiles.js","sourceRoot":"","sources":["../../../src/lib/billingProfiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ interface MediaProps {
2
+ _id?: string;
3
+ set?: boolean;
4
+ prompt?: string;
5
+ }
6
+ interface FlippableCardItem {
7
+ _id?: string;
8
+ image?: MediaProps;
9
+ }
10
+ interface SceneElement {
11
+ type?: string;
12
+ props?: {
13
+ id?: string;
14
+ image?: MediaProps;
15
+ video?: MediaProps;
16
+ items?: Array<SceneElement | FlippableCardItem>;
17
+ };
18
+ }
19
+ interface Scene {
20
+ content?: SceneElement[];
21
+ }
22
+ interface LearningContentData {
23
+ videoContent?: {
24
+ scenes?: Scene[];
25
+ };
26
+ content?: {
27
+ scenes?: Scene[];
28
+ };
29
+ }
30
+ /**
31
+ * Updates the original data object with URLs from the enriched list.
32
+ * @param {any} data - Original object with videoContent.scenes or content.scenes
33
+ * @param {Array<{id: string, url: string}>} enriched - List of {id, url}
34
+ * @returns {any} - The updated data object
35
+ */
36
+ export declare const applyImageUrls: (data: LearningContentData, enriched: Array<{
37
+ id: string;
38
+ _id: string;
39
+ url: string;
40
+ }>) => LearningContentData;
41
+ /**
42
+ * Safely extracts [{ id, prompt }] for images needing generation.
43
+ * @param {any} data
44
+ * @returns {Array<{id: string, prompt: string}>}
45
+ */
46
+ export declare const extractImagePrompts: (data: LearningContentData) => Array<{
47
+ id: string;
48
+ prompt: string;
49
+ }>;
50
+ export {};
51
+ //# sourceMappingURL=learningContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learningContent.d.ts","sourceRoot":"","sources":["../../../../src/lib/learningContent/learningContent.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC;KACjD,CAAC;CACH;AAED,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,UAAU,mBAAmB;IAC3B,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;IACpC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;CAChC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,mBAAmB,YACf,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,wBAuE1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,SACxB,mBAAmB,KACxB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiEtC,CAAC"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractImagePrompts = exports.applyImageUrls = void 0;
4
+ /**
5
+ * Updates the original data object with URLs from the enriched list.
6
+ * @param {any} data - Original object with videoContent.scenes or content.scenes
7
+ * @param {Array<{id: string, url: string}>} enriched - List of {id, url}
8
+ * @returns {any} - The updated data object
9
+ */
10
+ const applyImageUrls = (data, enriched) => {
11
+ if (!Array.isArray(enriched) || enriched.length === 0)
12
+ return data;
13
+ // Build quick lookup
14
+ const imagesMap = new Map(enriched.map((item) => [item.id, { _id: item._id, url: item.url }]));
15
+ const scenes = (Array.isArray(data?.videoContent?.scenes) && data.videoContent.scenes) ||
16
+ (Array.isArray(data?.content?.scenes) && data.content.scenes) ||
17
+ [];
18
+ const applyToItems = (items) => {
19
+ if (!items || !Array.isArray(items))
20
+ return;
21
+ for (const el of items) {
22
+ const type = typeof el?.type === "string" ? el.type : "";
23
+ const id = typeof el?.props?.id === "string" ? el.props.id : null;
24
+ // Image and Orbit: props.image
25
+ if ((type === "Image" || type === "Orbit") && id && el.props) {
26
+ const imageItem = imagesMap.get(id);
27
+ if (imageItem) {
28
+ if (!el.props.image)
29
+ el.props.image = {};
30
+ el.props.image._id = imageItem._id;
31
+ el.props.image.set = true;
32
+ }
33
+ }
34
+ // Video: props.video
35
+ if (type === "Video" && id && el.props) {
36
+ const imageItem = imagesMap.get(id);
37
+ if (imageItem) {
38
+ if (!el.props.video)
39
+ el.props.video = {};
40
+ el.props.video._id = imageItem._id;
41
+ el.props.video.set = true;
42
+ }
43
+ }
44
+ // FlippableCards: props.items[].image
45
+ if (type === "FlippableCards" && Array.isArray(el?.props?.items)) {
46
+ el.props.items.forEach((item, index) => {
47
+ const itemId = typeof item?._id === "string" ? item._id : null;
48
+ const lookupId = itemId || `${id}_item_${index}`;
49
+ const imageItem = imagesMap.get(lookupId);
50
+ if (imageItem) {
51
+ if (!item.image)
52
+ item.image = {};
53
+ item.image._id = imageItem._id;
54
+ item.image.set = true;
55
+ }
56
+ });
57
+ }
58
+ // Recursively process nested items in layout components (Grid, Columns, Flex, etc.)
59
+ if (Array.isArray(el?.props?.items)) {
60
+ applyToItems(el.props.items);
61
+ }
62
+ }
63
+ };
64
+ for (const scene of scenes) {
65
+ applyToItems(Array.isArray(scene?.content) ? scene.content : []);
66
+ }
67
+ return data;
68
+ };
69
+ exports.applyImageUrls = applyImageUrls;
70
+ /**
71
+ * Safely extracts [{ id, prompt }] for images needing generation.
72
+ * @param {any} data
73
+ * @returns {Array<{id: string, prompt: string}>}
74
+ */
75
+ const extractImagePrompts = (data) => {
76
+ try {
77
+ const scenes = (Array.isArray(data?.videoContent?.scenes) && data.videoContent.scenes) ||
78
+ (Array.isArray(data?.content?.scenes) && data.content.scenes) ||
79
+ [];
80
+ const results = [];
81
+ const addPrompt = (id, promptRaw) => {
82
+ const prompt = typeof promptRaw === "string" ? promptRaw.trim() : "";
83
+ if (id && prompt)
84
+ results.push({ id, prompt });
85
+ };
86
+ const collectPrompts = (items) => {
87
+ if (!items || !Array.isArray(items))
88
+ return;
89
+ for (const el of items) {
90
+ const type = typeof el?.type === "string" ? el.type : "";
91
+ const id = typeof el?.props?.id === "string" ? el.props.id : null;
92
+ // Image and Orbit: props.image.prompt
93
+ if (type === "Image" || type === "Orbit") {
94
+ addPrompt(id, el?.props?.image?.prompt);
95
+ }
96
+ // Video: props.video.prompt
97
+ if (type === "Video") {
98
+ addPrompt(id, el?.props?.video?.prompt);
99
+ }
100
+ // FlippableCards: props.items[].image.prompt
101
+ if (type === "FlippableCards" && Array.isArray(el?.props?.items)) {
102
+ el.props.items.forEach((item, index) => {
103
+ const itemId = typeof item?._id === "string" ? item._id : null;
104
+ addPrompt(itemId || `${id}_item_${index}`, item?.image?.prompt);
105
+ });
106
+ }
107
+ // Recursively process nested items in layout components (Grid, Columns, Flex, etc.)
108
+ if (Array.isArray(el?.props?.items)) {
109
+ collectPrompts(el.props.items);
110
+ }
111
+ }
112
+ };
113
+ for (const scene of scenes) {
114
+ collectPrompts(Array.isArray(scene?.content) ? scene.content : []);
115
+ }
116
+ // Dedupe by id in case of duplicates / merges
117
+ const seen = new Set();
118
+ return results.filter(({ id }) => {
119
+ if (seen.has(id))
120
+ return false;
121
+ seen.add(id);
122
+ return true;
123
+ });
124
+ }
125
+ catch {
126
+ // In any unexpected failure, return an empty list instead of throwing
127
+ return [];
128
+ }
129
+ };
130
+ exports.extractImagePrompts = extractImagePrompts;
131
+ //# sourceMappingURL=learningContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learningContent.js","sourceRoot":"","sources":["../../../../src/lib/learningContent/learningContent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * as utils from "./learningContent/learningContent.js";
1
2
  /**
2
3
  * Create learning content and set information
3
4
  * @param {Object} data Learning content data