@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.
- package/LICENSE +21 -21
- package/README.md +138 -138
- package/declarations/axios.d.ts +1 -1
- package/dist/cjs/lib/billingProfiles.d.ts +0 -14
- package/dist/cjs/lib/billingProfiles.d.ts.map +1 -1
- package/dist/cjs/lib/billingProfiles.js +1 -43
- package/dist/cjs/lib/billingProfiles.js.map +1 -1
- package/dist/cjs/lib/learningContent/learningContent.d.ts +51 -0
- package/dist/cjs/lib/learningContent/learningContent.d.ts.map +1 -0
- package/dist/cjs/lib/learningContent/learningContent.js +131 -0
- package/dist/cjs/lib/learningContent/learningContent.js.map +1 -0
- package/dist/cjs/lib/learningContent.d.ts +1 -0
- package/dist/cjs/lib/learningContent.d.ts.map +1 -1
- package/dist/cjs/lib/learningContent.js +35 -1
- package/dist/cjs/lib/learningContent.js.map +1 -1
- package/dist/esm/lib/billingProfiles.d.ts +0 -14
- package/dist/esm/lib/billingProfiles.d.ts.map +1 -1
- package/dist/esm/lib/billingProfiles.js +0 -40
- package/dist/esm/lib/billingProfiles.js.map +1 -1
- package/dist/esm/lib/learningContent/learningContent.d.ts +51 -0
- package/dist/esm/lib/learningContent/learningContent.d.ts.map +1 -0
- package/dist/esm/lib/learningContent/learningContent.js +126 -0
- package/dist/esm/lib/learningContent/learningContent.js.map +1 -0
- package/dist/esm/lib/learningContent.d.ts +1 -0
- package/dist/esm/lib/learningContent.d.ts.map +1 -1
- package/dist/esm/lib/learningContent.js +1 -0
- package/dist/esm/lib/learningContent.js.map +1 -1
- package/package.json +57 -57
- package/dist/cjs/lib/talentTransfromation.d.ts +0 -29
- package/dist/cjs/lib/talentTransfromation.d.ts.map +0 -1
- package/dist/cjs/lib/talentTransfromation.js +0 -100
- package/dist/cjs/lib/talentTransfromation.js.map +0 -1
- package/dist/esm/lib/talentTransfromation.d.ts +0 -29
- package/dist/esm/lib/talentTransfromation.d.ts.map +0 -1
- package/dist/esm/lib/talentTransfromation.js +0 -93
- package/dist/esm/lib/talentTransfromation.js.map +0 -1
- package/dist/esm/src/lib/actionNotifications.d.ts +0 -24
- package/dist/esm/src/lib/actionNotifications.d.ts.map +0 -1
- package/dist/esm/src/lib/actionNotifications.js +0 -67
- package/dist/esm/src/lib/actionNotifications.js.map +0 -1
- package/dist/esm/src/lib/address.d.ts +0 -8
- package/dist/esm/src/lib/address.d.ts.map +0 -1
- package/dist/esm/src/lib/address.js +0 -20
- package/dist/esm/src/lib/address.js.map +0 -1
- package/dist/esm/src/lib/aiAssistant.d.ts +0 -42
- package/dist/esm/src/lib/aiAssistant.d.ts.map +0 -1
- package/dist/esm/src/lib/aiAssistant.js +0 -126
- package/dist/esm/src/lib/aiAssistant.js.map +0 -1
- package/dist/esm/src/lib/avatar.d.ts +0 -12
- package/dist/esm/src/lib/avatar.d.ts.map +0 -1
- package/dist/esm/src/lib/avatar.js +0 -29
- package/dist/esm/src/lib/avatar.js.map +0 -1
- package/dist/esm/src/lib/axiosClient.d.ts +0 -30
- package/dist/esm/src/lib/axiosClient.d.ts.map +0 -1
- package/dist/esm/src/lib/axiosClient.js +0 -88
- package/dist/esm/src/lib/axiosClient.js.map +0 -1
- package/dist/esm/src/lib/config.d.ts +0 -23
- package/dist/esm/src/lib/config.d.ts.map +0 -1
- package/dist/esm/src/lib/config.js +0 -57
- package/dist/esm/src/lib/config.js.map +0 -1
- package/dist/esm/src/lib/constants.d.ts +0 -69
- package/dist/esm/src/lib/constants.d.ts.map +0 -1
- package/dist/esm/src/lib/constants.js +0 -89
- package/dist/esm/src/lib/constants.js.map +0 -1
- package/dist/esm/src/lib/control.d.ts +0 -103
- package/dist/esm/src/lib/control.d.ts.map +0 -1
- package/dist/esm/src/lib/control.js +0 -308
- package/dist/esm/src/lib/control.js.map +0 -1
- package/dist/esm/src/lib/controlTemplate.d.ts +0 -66
- package/dist/esm/src/lib/controlTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/controlTemplate.js +0 -200
- package/dist/esm/src/lib/controlTemplate.js.map +0 -1
- package/dist/esm/src/lib/customFields.d.ts +0 -9
- package/dist/esm/src/lib/customFields.d.ts.map +0 -1
- package/dist/esm/src/lib/customFields.js +0 -22
- package/dist/esm/src/lib/customFields.js.map +0 -1
- package/dist/esm/src/lib/dashboard.d.ts +0 -23
- package/dist/esm/src/lib/dashboard.d.ts.map +0 -1
- package/dist/esm/src/lib/dashboard.js +0 -68
- package/dist/esm/src/lib/dashboard.js.map +0 -1
- package/dist/esm/src/lib/departmentTrainingPlans.d.ts +0 -53
- package/dist/esm/src/lib/departmentTrainingPlans.d.ts.map +0 -1
- package/dist/esm/src/lib/departmentTrainingPlans.js +0 -144
- package/dist/esm/src/lib/departmentTrainingPlans.js.map +0 -1
- package/dist/esm/src/lib/groups.d.ts +0 -90
- package/dist/esm/src/lib/groups.d.ts.map +0 -1
- package/dist/esm/src/lib/groups.js +0 -258
- package/dist/esm/src/lib/groups.js.map +0 -1
- package/dist/esm/src/lib/index.d.ts +0 -46
- package/dist/esm/src/lib/index.d.ts.map +0 -1
- package/dist/esm/src/lib/index.js +0 -45
- package/dist/esm/src/lib/index.js.map +0 -1
- package/dist/esm/src/lib/integration.d.ts +0 -83
- package/dist/esm/src/lib/integration.d.ts.map +0 -1
- package/dist/esm/src/lib/integration.js +0 -300
- package/dist/esm/src/lib/integration.js.map +0 -1
- package/dist/esm/src/lib/integrationConfiguration.d.ts +0 -27
- package/dist/esm/src/lib/integrationConfiguration.d.ts.map +0 -1
- package/dist/esm/src/lib/integrationConfiguration.js +0 -80
- package/dist/esm/src/lib/integrationConfiguration.js.map +0 -1
- package/dist/esm/src/lib/integrations/contentGenerator.d.ts +0 -26
- package/dist/esm/src/lib/integrations/contentGenerator.d.ts.map +0 -1
- package/dist/esm/src/lib/integrations/contentGenerator.js +0 -88
- package/dist/esm/src/lib/integrations/contentGenerator.js.map +0 -1
- package/dist/esm/src/lib/labSessions.d.ts +0 -54
- package/dist/esm/src/lib/labSessions.d.ts.map +0 -1
- package/dist/esm/src/lib/labSessions.js +0 -168
- package/dist/esm/src/lib/labSessions.js.map +0 -1
- package/dist/esm/src/lib/learningContent.d.ts +0 -213
- package/dist/esm/src/lib/learningContent.d.ts.map +0 -1
- package/dist/esm/src/lib/learningContent.js +0 -690
- package/dist/esm/src/lib/learningContent.js.map +0 -1
- package/dist/esm/src/lib/learningPath.d.ts +0 -64
- package/dist/esm/src/lib/learningPath.d.ts.map +0 -1
- package/dist/esm/src/lib/learningPath.js +0 -194
- package/dist/esm/src/lib/learningPath.js.map +0 -1
- package/dist/esm/src/lib/logger.d.ts +0 -19
- package/dist/esm/src/lib/logger.d.ts.map +0 -1
- package/dist/esm/src/lib/logger.js +0 -55
- package/dist/esm/src/lib/logger.js.map +0 -1
- package/dist/esm/src/lib/microSkillsQuizes.d.ts +0 -18
- package/dist/esm/src/lib/microSkillsQuizes.d.ts.map +0 -1
- package/dist/esm/src/lib/microSkillsQuizes.js +0 -48
- package/dist/esm/src/lib/microSkillsQuizes.js.map +0 -1
- package/dist/esm/src/lib/policy.d.ts +0 -103
- package/dist/esm/src/lib/policy.d.ts.map +0 -1
- package/dist/esm/src/lib/policy.js +0 -308
- package/dist/esm/src/lib/policy.js.map +0 -1
- package/dist/esm/src/lib/policyTemplate.d.ts +0 -66
- package/dist/esm/src/lib/policyTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/policyTemplate.js +0 -200
- package/dist/esm/src/lib/policyTemplate.js.map +0 -1
- package/dist/esm/src/lib/quotas.d.ts +0 -15
- package/dist/esm/src/lib/quotas.d.ts.map +0 -1
- package/dist/esm/src/lib/quotas.js +0 -45
- package/dist/esm/src/lib/quotas.js.map +0 -1
- package/dist/esm/src/lib/reports.d.ts +0 -47
- package/dist/esm/src/lib/reports.d.ts.map +0 -1
- package/dist/esm/src/lib/reports.js +0 -87
- package/dist/esm/src/lib/reports.js.map +0 -1
- package/dist/esm/src/lib/requirement.d.ts +0 -103
- package/dist/esm/src/lib/requirement.d.ts.map +0 -1
- package/dist/esm/src/lib/requirement.js +0 -308
- package/dist/esm/src/lib/requirement.js.map +0 -1
- package/dist/esm/src/lib/requirementTemplate.d.ts +0 -66
- package/dist/esm/src/lib/requirementTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/requirementTemplate.js +0 -200
- package/dist/esm/src/lib/requirementTemplate.js.map +0 -1
- package/dist/esm/src/lib/role.d.ts +0 -119
- package/dist/esm/src/lib/role.d.ts.map +0 -1
- package/dist/esm/src/lib/role.js +0 -393
- package/dist/esm/src/lib/role.js.map +0 -1
- package/dist/esm/src/lib/roleTemplate.d.ts +0 -73
- package/dist/esm/src/lib/roleTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/roleTemplate.js +0 -224
- package/dist/esm/src/lib/roleTemplate.js.map +0 -1
- package/dist/esm/src/lib/security.d.ts +0 -27
- package/dist/esm/src/lib/security.d.ts.map +0 -1
- package/dist/esm/src/lib/security.js +0 -72
- package/dist/esm/src/lib/security.js.map +0 -1
- package/dist/esm/src/lib/skill.d.ts +0 -141
- package/dist/esm/src/lib/skill.d.ts.map +0 -1
- package/dist/esm/src/lib/skill.js +0 -418
- package/dist/esm/src/lib/skill.js.map +0 -1
- package/dist/esm/src/lib/skillAssessmentTestingSession.d.ts +0 -85
- package/dist/esm/src/lib/skillAssessmentTestingSession.d.ts.map +0 -1
- package/dist/esm/src/lib/skillAssessmentTestingSession.js +0 -261
- package/dist/esm/src/lib/skillAssessmentTestingSession.js.map +0 -1
- package/dist/esm/src/lib/skillAssessments.d.ts +0 -49
- package/dist/esm/src/lib/skillAssessments.d.ts.map +0 -1
- package/dist/esm/src/lib/skillAssessments.js +0 -147
- package/dist/esm/src/lib/skillAssessments.js.map +0 -1
- package/dist/esm/src/lib/skillTemplate.d.ts +0 -87
- package/dist/esm/src/lib/skillTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/skillTemplate.js +0 -267
- package/dist/esm/src/lib/skillTemplate.js.map +0 -1
- package/dist/esm/src/lib/socketError.d.ts +0 -22
- package/dist/esm/src/lib/socketError.d.ts.map +0 -1
- package/dist/esm/src/lib/socketError.js +0 -12
- package/dist/esm/src/lib/socketError.js.map +0 -1
- package/dist/esm/src/lib/standard.d.ts +0 -103
- package/dist/esm/src/lib/standard.d.ts.map +0 -1
- package/dist/esm/src/lib/standard.js +0 -308
- package/dist/esm/src/lib/standard.js.map +0 -1
- package/dist/esm/src/lib/standardTemplate.d.ts +0 -66
- package/dist/esm/src/lib/standardTemplate.d.ts.map +0 -1
- package/dist/esm/src/lib/standardTemplate.js +0 -200
- package/dist/esm/src/lib/standardTemplate.js.map +0 -1
- package/dist/esm/src/lib/talentTransfromation.d.ts +0 -29
- package/dist/esm/src/lib/talentTransfromation.d.ts.map +0 -1
- package/dist/esm/src/lib/talentTransfromation.js +0 -93
- package/dist/esm/src/lib/talentTransfromation.js.map +0 -1
- package/dist/esm/src/lib/teams.d.ts +0 -92
- package/dist/esm/src/lib/teams.d.ts.map +0 -1
- package/dist/esm/src/lib/teams.js +0 -258
- package/dist/esm/src/lib/teams.js.map +0 -1
- package/dist/esm/src/lib/tenants.d.ts +0 -22
- package/dist/esm/src/lib/tenants.d.ts.map +0 -1
- package/dist/esm/src/lib/tenants.js +0 -67
- package/dist/esm/src/lib/tenants.js.map +0 -1
- package/dist/esm/src/lib/trainingPlans.d.ts +0 -96
- package/dist/esm/src/lib/trainingPlans.d.ts.map +0 -1
- package/dist/esm/src/lib/trainingPlans.js +0 -315
- package/dist/esm/src/lib/trainingPlans.js.map +0 -1
- package/dist/esm/src/lib/trainingPlansProficiencyLevels.d.ts +0 -32
- package/dist/esm/src/lib/trainingPlansProficiencyLevels.d.ts.map +0 -1
- package/dist/esm/src/lib/trainingPlansProficiencyLevels.js +0 -90
- package/dist/esm/src/lib/trainingPlansProficiencyLevels.js.map +0 -1
- package/dist/esm/src/lib/userInformation.d.ts +0 -29
- package/dist/esm/src/lib/userInformation.d.ts.map +0 -1
- package/dist/esm/src/lib/userInformation.js +0 -75
- package/dist/esm/src/lib/userInformation.js.map +0 -1
- package/dist/esm/src/lib/users.d.ts +0 -206
- package/dist/esm/src/lib/users.d.ts.map +0 -1
- package/dist/esm/src/lib/users.js +0 -663
- package/dist/esm/src/lib/users.js.map +0 -1
- package/dist/esm/src/lib/utils.d.ts +0 -14
- package/dist/esm/src/lib/utils.d.ts.map +0 -1
- package/dist/esm/src/lib/utils.js +0 -51
- 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)
|
package/declarations/axios.d.ts
CHANGED
|
@@ -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
|
|
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.
|
|
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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"}
|