@onereach/idw-init-account-resources 0.3.2 → 0.4.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 (33) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/assets/domains/index.js +14 -0
  3. package/dist/assets/domains/index.js.map +1 -0
  4. package/dist/assets/skills/customize_idw.js +2 -3
  5. package/dist/assets/skills/customize_idw.js.map +1 -1
  6. package/dist/assets/skills/manage_channels.js +2 -3
  7. package/dist/assets/skills/manage_channels.js.map +1 -1
  8. package/dist/assets/skills/manage_domains.js +2 -3
  9. package/dist/assets/skills/manage_domains.js.map +1 -1
  10. package/dist/assets/skills/manage_skills.js +4 -5
  11. package/dist/assets/skills/manage_skills.js.map +1 -1
  12. package/dist/assets/skills/manage_users.js +13 -4
  13. package/dist/assets/skills/manage_users.js.map +1 -1
  14. package/dist/assets/skills/post_to_feed.js +2 -3
  15. package/dist/assets/skills/post_to_feed.js.map +1 -1
  16. package/dist/assets/skills/qna.js +2 -3
  17. package/dist/assets/skills/qna.js.map +1 -1
  18. package/dist/initializers/idw.js +118 -12
  19. package/dist/initializers/idw.js.map +1 -1
  20. package/dist/initializers/lookup.js +2 -2
  21. package/dist/initializers/lookup.js.map +1 -1
  22. package/package.json +2 -2
  23. package/src/assets/domains/index.ts +12 -0
  24. package/src/assets/skills/customize_idw.ts +2 -4
  25. package/src/assets/skills/manage_channels.ts +2 -4
  26. package/src/assets/skills/manage_domains.ts +2 -4
  27. package/src/assets/skills/manage_skills.ts +5 -6
  28. package/src/assets/skills/manage_users.ts +25 -5
  29. package/src/assets/skills/post_to_feed.ts +2 -4
  30. package/src/assets/skills/qna.ts +2 -4
  31. package/src/initializers/idw.ts +58 -13
  32. package/src/initializers/lookup.ts +2 -2
  33. package/src/types.ts +8 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @onereach/idw-init-account-resources
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 77ea2f9: [FEAT] Create IDW domains during init and link skills to them
8
+
9
+ ### Patch Changes
10
+
11
+ - 77ea2f9: [REFACTOR] Move domain from meta to top of SkillDefinition type
12
+ - 77ea2f9: [REFACTOR] Rename skill 'id' into 'uid' in SkillDefinition type
13
+
14
+ ## 0.3.3
15
+
16
+ ### Patch Changes
17
+
18
+ - 0a1e7a1: add passages to manage_users skill
19
+
3
20
  ## 0.3.2
4
21
 
5
22
  ### Patch Changes
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.domains = void 0;
4
+ exports.domains = [
5
+ {
6
+ name: 'General',
7
+ abbreviation: 'GN',
8
+ },
9
+ {
10
+ name: 'Administration',
11
+ abbreviation: 'AD',
12
+ },
13
+ ];
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/domains/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAAuB;IACzC;QACE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAI;KACnB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,IAAI;KACnB;CACF,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.customizeIdwSkill = void 0;
4
4
  exports.customizeIdwSkill = {
5
- id: 'customize-idw-v1',
5
+ uid: 'customize-idw-v1',
6
6
  forRoles: ['admin'],
7
7
  name: 'Customize IDW',
8
8
  description: 'Customize all aspects of the IDW',
9
9
  abbreviation: 'CI',
10
10
  number: 4,
11
+ domain: 'Administration',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'customize-idw-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"customize_idw.js","sourceRoot":"","sources":["../../../src/assets/skills/customize_idw.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,kBAAkB;QAE1B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+FAEyB;SACnC;QACD;YACE,OAAO,EAAE,4JAGwB;SAClC;QACD;YACE,OAAO,EAAE,mGAGe;SACzB;QACD;YACE,OAAO,EAAE,iGAE2B;SACrC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"customize_idw.js","sourceRoot":"","sources":["../../../src/assets/skills/customize_idw.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,GAAG,EAAE,kBAAkB;IACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,gBAAgB;IAExB,IAAI,EAAE;QACJ,MAAM,EAAE,kBAAkB;QAE1B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+FAEyB;SACnC;QACD;YACE,OAAO,EAAE,4JAGwB;SAClC;QACD;YACE,OAAO,EAAE,mGAGe;SACzB;QACD;YACE,OAAO,EAAE,iGAE2B;SACrC;KACF;CACF,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.manageChannelsSkill = void 0;
4
4
  exports.manageChannelsSkill = {
5
- id: 'manage-channels-v1',
5
+ uid: 'manage-channels-v1',
6
6
  forRoles: ['admin'],
7
7
  name: 'Manage Channels',
8
8
  description: 'Manage channels in your account',
9
9
  abbreviation: 'MC',
10
10
  number: 6,
11
+ domain: 'Administration',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'manage-channels-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"manage_channels.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_channels.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAoB;IAClD,EAAE,EAAE,oBAAoB;IACxB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iCAAiC;IAC9C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,oBAAoB;QAE5B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,yMAKiC;SAC3C;QACD;YACE,OAAO,EAAE,6IAIgB;SAC1B;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"manage_channels.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_channels.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAoB;IAClD,GAAG,EAAE,oBAAoB;IACzB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iCAAiC;IAC9C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,gBAAgB;IAExB,IAAI,EAAE;QACJ,MAAM,EAAE,oBAAoB;QAE5B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,yMAKiC;SAC3C;QACD;YACE,OAAO,EAAE,6IAIgB;SAC1B;KACF;CACF,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.manageDomainsSkill = void 0;
4
4
  exports.manageDomainsSkill = {
5
- id: 'manage-domains-v1',
5
+ uid: 'manage-domains-v1',
6
6
  forRoles: ['admin'],
7
7
  name: 'Manage Domains',
8
8
  description: 'Manage domains in your account',
9
9
  abbreviation: 'MD',
10
10
  number: 7,
11
+ domain: 'Administration',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'manage-domains-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"manage_domains.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_domains.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAoB;IACjD,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gCAAgC;IAC7C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,mBAAmB;QAE3B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,gEAEO;SACjB;QACD;YACE,OAAO,EAAE,2FAGW;SACrB;QACD;YACE,OAAO,EAAE,oGAGmB;SAC7B;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"manage_domains.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_domains.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAoB;IACjD,GAAG,EAAE,mBAAmB;IACxB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gCAAgC;IAC7C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,gBAAgB;IAExB,IAAI,EAAE;QACJ,MAAM,EAAE,mBAAmB;QAE3B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,gEAEO;SACjB;QACD;YACE,OAAO,EAAE,2FAGW;SACrB;QACD;YACE,OAAO,EAAE,oGAGmB;SAC7B;KACF;CACF,CAAC"}
@@ -2,25 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.manageSkillsSkill = void 0;
4
4
  exports.manageSkillsSkill = {
5
- id: 'manage-skills-v1',
5
+ uid: 'manage-skills-v1',
6
6
  forRoles: ['admin'],
7
7
  name: 'Manage Skills',
8
8
  description: 'Manage skills in your account',
9
9
  abbreviation: 'MS',
10
10
  number: 5,
11
+ domain: 'Administration',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'manage-skills-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
17
16
  },
18
17
  passages: [
19
18
  {
20
- content: "- Create a new skill\n - Add a skill\n - Register a skill\n - Add a new skill\n - Include a new skill ",
19
+ content: "- Create a new skill\n - Add a skill\n - Register a skill\n - Add a new skill\n - Include a new skill",
21
20
  },
22
21
  {
23
- content: "- Change skill name\n - Edit name of the skill\n - Update skill name\n - Rename skill",
22
+ content: "- Change skill name\n - Edit name of the skill\n - Update skill name\n - Rename skill\n - Modify skill name",
24
23
  },
25
24
  {
26
25
  content: "- Delete skill\n - Remove skill",
@@ -1 +1 @@
1
- {"version":3,"file":"manage_skills.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_skills.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,EAAE,EAAE,kBAAkB;IACtB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,+BAA+B;IAC5C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,kBAAkB;QAE1B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,4HAIc;SACxB;QACD;YACE,OAAO,EAAE,sGAGM;SAChB;QACD;YACE,OAAO,EAAE,sCACM;SAChB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"manage_skills.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_skills.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,GAAG,EAAE,kBAAkB;IACvB,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,+BAA+B;IAC5C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,gBAAgB;IAExB,IAAI,EAAE;QACJ,MAAM,EAAE,kBAAkB;QAE1B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,2HAIa;SACvB;QACD;YACE,OAAO,EAAE,iIAIW;SACrB;QACD;YACE,OAAO,EAAE,sCACM;SAChB;KACF;CACF,CAAC"}
@@ -2,19 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.manageUsersSkill = void 0;
4
4
  exports.manageUsersSkill = {
5
- id: 'skill-manage-users-v1',
5
+ uid: 'skill-manage-users-v1',
6
6
  forRoles: ['admin'],
7
7
  name: 'Manage Users',
8
8
  description: 'Manage users in your account',
9
9
  abbreviation: 'MU',
10
10
  number: 3,
11
+ domain: 'Administration',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'skill-manage-users-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
17
16
  },
18
- passages: [],
17
+ passages: [
18
+ {
19
+ content: "- I want to see the list of users\n- Display the list of users in the account\n- Show all users in the system\n- List all account users\n- View all users in the account",
20
+ },
21
+ {
22
+ content: "- Change the role of a user\n- Update user roles\n- Modify the permissions of a user\n- Assign a new role to a user\n- Change user access level",
23
+ },
24
+ {
25
+ content: "- Delete a user from the account\n- Remove a user from the system\n- Erase a user from the list\n- Permanently delete a user\n- Unregister a user from the account",
26
+ },
27
+ ],
19
28
  };
20
29
  //# sourceMappingURL=manage_users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage_users.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_users.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,uBAAuB;IAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8BAA8B;IAC3C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,uBAAuB;QAE/B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"manage_users.js","sourceRoot":"","sources":["../../../src/assets/skills/manage_users.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAoB;IAC/C,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,8BAA8B;IAC3C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,gBAAgB;IAExB,IAAI,EAAE;QACJ,MAAM,EAAE,uBAAuB;QAE/B,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,0KAIiB;SAC3B;QACD;YACE,OAAO,EAAE,iJAIY;SACtB;QACD;YACE,OAAO,EAAE,oKAIsB;SAChC;KACF;CACF,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.postToFeedSkill = void 0;
4
4
  exports.postToFeedSkill = {
5
- id: 'skill-add-feed-post-v1',
5
+ uid: 'skill-add-feed-post-v1',
6
6
  forRoles: ['admin', 'user'],
7
7
  name: 'Post to the Feed',
8
8
  description: 'Create a post in the news feed',
9
9
  abbreviation: 'PF',
10
10
  number: 2,
11
+ domain: 'General',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'skill-add-feed-post-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"post_to_feed.js","sourceRoot":"","sources":["../../../src/assets/skills/post_to_feed.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAoB;IAC9C,EAAE,EAAE,wBAAwB;IAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,gCAAgC;IAC7C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,wBAAwB;QAEhC,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,uLAIgB;SAC1B;QACD;YACE,OAAO,EAAE,uKAIsB;SAChC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"post_to_feed.js","sourceRoot":"","sources":["../../../src/assets/skills/post_to_feed.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAoB;IAC9C,GAAG,EAAE,wBAAwB;IAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,gCAAgC;IAC7C,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,SAAS;IAEjB,IAAI,EAAE;QACJ,MAAM,EAAE,wBAAwB;QAEhC,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,uLAIgB;SAC1B;QACD;YACE,OAAO,EAAE,uKAIsB;SAChC;KACF;CACF,CAAC"}
@@ -2,15 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.qnaSkill = void 0;
4
4
  exports.qnaSkill = {
5
- id: 'skill-qna-v1',
5
+ uid: 'skill-qna-v1',
6
6
  forRoles: ['admin', 'user'],
7
7
  name: 'Questions & Answers',
8
8
  description: 'Ask questions about the company and its internal processes',
9
9
  abbreviation: 'QA',
10
10
  number: 1,
11
+ domain: 'General',
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
13
  chatId: 'skill-qna-v1',
15
14
  prompt: undefined,
16
15
  promptParams: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"qna.js","sourceRoot":"","sources":["../../../src/assets/skills/qna.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAoB;IACvC,EAAE,EAAE,cAAc;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4DAA4D;IACzE,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IAET,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,IAAI;QAExB,MAAM,EAAE,cAAc;QAEtB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"qna.js","sourceRoot":"","sources":["../../../src/assets/skills/qna.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAoB;IACvC,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4DAA4D;IACzE,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,SAAS;IAEjB,IAAI,EAAE;QACJ,MAAM,EAAE,cAAc;QAEtB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,SAAS;KACxB;IAED,QAAQ,EAAE,EAAE;CACb,CAAC"}
@@ -46,10 +46,20 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
47
  }
48
48
  };
49
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
+ if (ar || !(i in from)) {
52
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
+ ar[i] = from[i];
54
+ }
55
+ }
56
+ return to.concat(ar || Array.prototype.slice.call(from));
57
+ };
49
58
  Object.defineProperty(exports, "__esModule", { value: true });
50
59
  exports.InitIdwResources = void 0;
51
60
  var idw_1 = require("@or-sdk/idw");
52
61
  var skills_1 = require("../assets/skills");
62
+ var domains_1 = require("../assets/domains");
53
63
  var schemas_1 = require("../schemas");
54
64
  var InitIdwResources = (function () {
55
65
  function InitIdwResources(_a) {
@@ -63,59 +73,155 @@ var InitIdwResources = (function () {
63
73
  }
64
74
  InitIdwResources.prototype.init = function () {
65
75
  return __awaiter(this, void 0, void 0, function () {
76
+ var idwDomains;
66
77
  var _this = this;
67
78
  return __generator(this, function (_a) {
68
79
  switch (_a.label) {
69
- case 0: return [4, Promise.all(skills_1.skills.map(function (skill) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
80
+ case 0: return [4, Promise.all(domains_1.domains.map(function (domain) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
70
81
  switch (_a.label) {
71
- case 0: return [4, this.upsertSkill(skill)];
82
+ case 0: return [4, this.upsertDomain(domain)];
72
83
  case 1: return [2, _a.sent()];
73
84
  }
74
85
  }); }); }))];
75
86
  case 1:
87
+ idwDomains = _a.sent();
88
+ return [4, Promise.all(skills_1.skills.map(function (skill) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0: return [4, this.upsertSkill(skill)];
91
+ case 1: return [2, _a.sent()];
92
+ }
93
+ }); }); }))];
94
+ case 2:
95
+ _a.sent();
96
+ return [4, this.upsertDomainSkillsRelationship(skills_1.skills, idwDomains)];
97
+ case 3:
76
98
  _a.sent();
77
99
  return [2];
78
100
  }
79
101
  });
80
102
  });
81
103
  };
104
+ InitIdwResources.prototype.upsertDomain = function (domain) {
105
+ return __awaiter(this, void 0, void 0, function () {
106
+ var domainSlug, existingDomain, error_1;
107
+ return __generator(this, function (_a) {
108
+ switch (_a.label) {
109
+ case 0:
110
+ _a.trys.push([0, 5, , 8]);
111
+ return [4, this.idw.slugApi.getSlug(domain.name)];
112
+ case 1:
113
+ domainSlug = _a.sent();
114
+ return [4, this.idw.domainApi.getDomain(domainSlug)];
115
+ case 2:
116
+ existingDomain = (_a.sent()).domain;
117
+ if (!(existingDomain.name !== domain.name || existingDomain.abbreviation !== domain.abbreviation)) return [3, 4];
118
+ return [4, this.idw.domainApi.updateDomain(domainSlug, {
119
+ name: domain.name,
120
+ abbreviation: domain.abbreviation,
121
+ })];
122
+ case 3: return [2, _a.sent()];
123
+ case 4: return [2, existingDomain];
124
+ case 5:
125
+ error_1 = _a.sent();
126
+ if (!(error_1 instanceof idw_1.DomainNotFoundError)) return [3, 7];
127
+ return [4, this.idw.domainApi.createDomain({
128
+ name: domain.name,
129
+ abbreviation: domain.abbreviation,
130
+ })];
131
+ case 6: return [2, _a.sent()];
132
+ case 7: throw error_1;
133
+ case 8: return [2];
134
+ }
135
+ });
136
+ });
137
+ };
82
138
  InitIdwResources.prototype.upsertSkill = function (skillDefinition) {
83
139
  return __awaiter(this, void 0, void 0, function () {
84
- var skill, error_1;
140
+ var skill, error_2;
85
141
  return __generator(this, function (_a) {
86
142
  switch (_a.label) {
87
143
  case 0:
88
144
  _a.trys.push([0, 2, , 5]);
89
- return [4, this.idw.skillApi.getSkill(skillDefinition.id)];
145
+ return [4, this.idw.skillApi.getSkill(skillDefinition.uid)];
90
146
  case 1:
91
147
  skill = (_a.sent()).skill;
92
148
  return [2, skill];
93
149
  case 2:
94
- error_1 = _a.sent();
95
- if (!(error_1 instanceof Error && /not found/i.test(error_1.message))) return [3, 4];
150
+ error_2 = _a.sent();
151
+ if (!(error_2 instanceof idw_1.SkillNotFoundError)) return [3, 4];
96
152
  return [4, this.createSkill(skillDefinition)];
97
153
  case 3: return [2, _a.sent()];
98
- case 4: throw error_1;
154
+ case 4: throw error_2;
99
155
  case 5: return [2];
100
156
  }
101
157
  });
102
158
  });
103
159
  };
160
+ InitIdwResources.prototype.upsertDomainSkillsRelationship = function (skillDefinitions, existingDomains) {
161
+ return __awaiter(this, void 0, void 0, function () {
162
+ var groupedSkills, _loop_1, this_1, _i, _a, _b, domainSlug, skillIds;
163
+ return __generator(this, function (_c) {
164
+ switch (_c.label) {
165
+ case 0:
166
+ groupedSkills = skillDefinitions.reduce(function (acc, skillDefinition) {
167
+ var _a;
168
+ var _b;
169
+ var requiredDomain = existingDomains.find(function (domain) { return domain.name === skillDefinition.domain; });
170
+ if (!requiredDomain) {
171
+ throw new Error("Domain \"".concat(skillDefinition.domain, "\" (for skill \"").concat(skillDefinition.name, "\") not found"));
172
+ }
173
+ return __assign(__assign({}, acc), (_a = {}, _a[requiredDomain.slug] = __spreadArray(__spreadArray([], (_b = acc[requiredDomain.slug]) !== null && _b !== void 0 ? _b : [], true), [skillDefinition.uid], false), _a));
174
+ }, {});
175
+ _loop_1 = function (domainSlug, skillIds) {
176
+ var domainRelationships, existingSkillUids, missingSkillUids;
177
+ return __generator(this, function (_d) {
178
+ switch (_d.label) {
179
+ case 0: return [4, this_1.idw.domainRelationshipApi.getDomainSkillList(domainSlug)];
180
+ case 1:
181
+ domainRelationships = _d.sent();
182
+ existingSkillUids = domainRelationships.skills.map(function (_a) {
183
+ var skill = _a.skill;
184
+ return skill.uid;
185
+ });
186
+ missingSkillUids = skillIds.filter(function (skillUid) { return !existingSkillUids.includes(skillUid); });
187
+ if (missingSkillUids.length === 0)
188
+ return [2, "continue"];
189
+ return [4, this_1.idw.domainRelationshipApi.attachSkills(domainSlug, { ids: missingSkillUids })];
190
+ case 2:
191
+ _d.sent();
192
+ return [2];
193
+ }
194
+ });
195
+ };
196
+ this_1 = this;
197
+ _i = 0, _a = Object.entries(groupedSkills);
198
+ _c.label = 1;
199
+ case 1:
200
+ if (!(_i < _a.length)) return [3, 4];
201
+ _b = _a[_i], domainSlug = _b[0], skillIds = _b[1];
202
+ return [5, _loop_1(domainSlug, skillIds)];
203
+ case 2:
204
+ _c.sent();
205
+ _c.label = 3;
206
+ case 3:
207
+ _i++;
208
+ return [3, 1];
209
+ case 4: return [2];
210
+ }
211
+ });
212
+ });
213
+ };
104
214
  InitIdwResources.prototype.createSkill = function (skillDefinition) {
105
215
  return __awaiter(this, void 0, void 0, function () {
106
216
  return __generator(this, function (_a) {
107
217
  switch (_a.label) {
108
218
  case 0: return [4, this.idw.skillApi.createSkill({
109
- uid: skillDefinition.id,
219
+ uid: skillDefinition.uid,
110
220
  name: skillDefinition.name,
111
221
  description: skillDefinition.description,
112
222
  abbreviation: skillDefinition.abbreviation,
113
223
  number: skillDefinition.number,
114
224
  meta: {
115
- periodic: {
116
- domain: skillDefinition.meta.domain,
117
- domainAbbreviation: skillDefinition.meta.domainAbbreviation,
118
- },
119
225
  chat: {
120
226
  id: skillDefinition.meta.chatId,
121
227
  },
@@ -1 +1 @@
1
- {"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/initializers/idw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAC7D,2CAA0C;AAC1C,sCAAsC;AAGtC;IAKE,0BAAY,EAA+C;YAA7C,KAAK,WAAA,EAAE,YAAY,kBAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,GAAG,GAAG,IAAI,YAAM,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAEY,+BAAI,GAAjB;;;;;4BACE,WAAM,OAAO,CAAC,GAAG,CAAC,eAAM,CAAC,GAAG,CAAC,UAAO,KAAK;;wCAAK,WAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAA;wCAA7B,WAAA,SAA6B,EAAA;;iCAAA,CAAC,CAAC,EAAA;;wBAA7E,SAA6E,CAAC;;;;;KAC/E;IAEY,sCAAW,GAAxB,UAAyB,eAAgC;;;;;;;wBAInC,WAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;wBAA9D,KAAK,GAAK,CAAA,SAAoD,CAAA,MAAzD;wBACb,WAAO,KAAK,EAAC;;;6BAET,CAAA,OAAK,YAAY,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,OAAK,CAAC,OAAO,CAAC,CAAA,EAA1D,cAA0D;wBACrD,WAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAA;4BAA9C,WAAO,SAAuC,EAAC;4BAEjD,MAAM,OAAK,CAAC;;;;;KAEf;IAEa,sCAAW,GAAzB,UAA0B,eAAgC;;;;4BACjD,WAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACzC,GAAG,EAAE,eAAe,CAAC,EAAE;4BACvB,IAAI,EAAE,eAAe,CAAC,IAAI;4BAC1B,WAAW,EAAE,eAAe,CAAC,WAAW;4BACxC,YAAY,EAAE,eAAe,CAAC,YAAY;4BAC1C,MAAM,EAAE,eAAe,CAAC,MAAM;4BAC9B,IAAI,EAAE;gCAEJ,QAAQ,EAAE;oCACR,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;oCACnC,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,kBAAkB;iCAC5D;gCACD,IAAI,EAAE;oCACJ,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;iCAEhC;gCACD,KAAK,EAAE;oCACL,QAAQ,EAAE,eAAe,CAAC,QAAQ;oCAClC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;oCACnC,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY;iCAChD;6BACF;yBACiB,CAAC,EAAA;4BAtBrB,WAAO,SAsBc,EAAC;;;;KACvB;IAEY,qCAAU,GAAvB;;;;;4BACqB,WAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAA;;wBAAjD,MAAM,GAAK,CAAA,SAAsC,CAAA,OAA3C;wBAEd,WAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAe,EAAE,EAAS;oCAAP,KAAK,WAAA;gCAC5C,IAAM,MAAM,GAAG,kBAAQ,CAAC,SAAS,YAC/B,EAAE,EAAE,KAAK,CAAC,GAAG,IACV,KAAK,EACR,CAAC;gCACH,IAAI,MAAM,CAAC,OAAO;oCAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC1C,OAAO,GAAG,CAAC;4BACb,CAAC,EAAE,EAAE,CAAC,EAAC;;;;KACR;IACH,uBAAC;AAAD,CAAC,AAvED,IAuEC;AAvEY,4CAAgB"}
1
+ {"version":3,"file":"idw.js","sourceRoot":"","sources":["../../src/initializers/idw.ts"],"names":[],"mappings":"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"}
@@ -159,13 +159,13 @@ var InitLookupResources = (function () {
159
159
  name: documentData.name,
160
160
  description: documentData.description,
161
161
  defaultProperties: {
162
- skillId: documentData.id,
162
+ skillId: documentData.uid,
163
163
  userRoles: documentData.forRoles,
164
164
  },
165
165
  })];
166
166
  case 1:
167
167
  document = _a.sent();
168
- passages = documentData.passages.map(function (passage) { return (__assign(__assign({}, passage), { skillId: documentData.id, userRoles: documentData.forRoles, description: documentData.description, documentId: document.id })); });
168
+ passages = documentData.passages.map(function (passage) { return (__assign(__assign({}, passage), { skillId: documentData.uid, userRoles: documentData.forRoles, description: documentData.description, documentId: document.id })); });
169
169
  if (!passages.length) return [3, 3];
170
170
  return [4, this.lookup.createManyPassages(collectionId, passages)];
171
171
  case 2:
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/initializers/lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/initializers/lookup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/idw-init-account-resources",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "Creation of required resources in OneReach account to enable IDW",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Antony Peklo <antony.peklo@onereach.com>",
@@ -8,7 +8,7 @@
8
8
  "dependencies": {
9
9
  "@or-sdk/contacts": "4.5.6",
10
10
  "@or-sdk/hitl": "0.34.35",
11
- "@or-sdk/idw": "7.2.6",
11
+ "@or-sdk/idw": "7.3.2",
12
12
  "@or-sdk/lookup": "1.14.5",
13
13
  "@or-sdk/pgsql": "1.1.8",
14
14
  "pg": "8.11.5",
@@ -0,0 +1,12 @@
1
+ import { DomainDefinition } from '../../types';
2
+
3
+ export const domains: DomainDefinition[] = [
4
+ {
5
+ name: 'General',
6
+ abbreviation: 'GN',
7
+ },
8
+ {
9
+ name: 'Administration',
10
+ abbreviation: 'AD',
11
+ },
12
+ ];
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const customizeIdwSkill: SkillDefinition = {
4
- id: 'customize-idw-v1',
4
+ uid: 'customize-idw-v1',
5
5
  forRoles: ['admin'],
6
6
  name: 'Customize IDW',
7
7
  description: 'Customize all aspects of the IDW',
8
8
  abbreviation: 'CI',
9
9
  number: 4,
10
+ domain: 'Administration',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'customize-idw-v1',
16
14
 
17
15
  prompt: undefined,
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const manageChannelsSkill: SkillDefinition = {
4
- id: 'manage-channels-v1',
4
+ uid: 'manage-channels-v1',
5
5
  forRoles: ['admin'],
6
6
  name: 'Manage Channels',
7
7
  description: 'Manage channels in your account',
8
8
  abbreviation: 'MC',
9
9
  number: 6,
10
+ domain: 'Administration',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'manage-channels-v1',
16
14
 
17
15
  prompt: undefined,
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const manageDomainsSkill: SkillDefinition = {
4
- id: 'manage-domains-v1',
4
+ uid: 'manage-domains-v1',
5
5
  forRoles: ['admin'],
6
6
  name: 'Manage Domains',
7
7
  description: 'Manage domains in your account',
8
8
  abbreviation: 'MD',
9
9
  number: 7,
10
+ domain: 'Administration',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'manage-domains-v1',
16
14
 
17
15
  prompt: undefined,
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const manageSkillsSkill: SkillDefinition = {
4
- id: 'manage-skills-v1',
4
+ uid: 'manage-skills-v1',
5
5
  forRoles: ['admin'],
6
6
  name: 'Manage Skills',
7
7
  description: 'Manage skills in your account',
8
8
  abbreviation: 'MS',
9
9
  number: 5,
10
+ domain: 'Administration',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'manage-skills-v1',
16
14
 
17
15
  prompt: undefined,
@@ -24,13 +22,14 @@ export const manageSkillsSkill: SkillDefinition = {
24
22
  - Add a skill
25
23
  - Register a skill
26
24
  - Add a new skill
27
- - Include a new skill `,
25
+ - Include a new skill`,
28
26
  },
29
27
  {
30
28
  content: `- Change skill name
31
29
  - Edit name of the skill
32
30
  - Update skill name
33
- - Rename skill`,
31
+ - Rename skill
32
+ - Modify skill name`,
34
33
  },
35
34
  {
36
35
  content: `- Delete skill
@@ -1,22 +1,42 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const manageUsersSkill: SkillDefinition = {
4
- id: 'skill-manage-users-v1',
4
+ uid: 'skill-manage-users-v1',
5
5
  forRoles: ['admin'],
6
6
  name: 'Manage Users',
7
7
  description: 'Manage users in your account',
8
8
  abbreviation: 'MU',
9
9
  number: 3,
10
+ domain: 'Administration',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'skill-manage-users-v1',
16
14
 
17
15
  prompt: undefined,
18
16
  promptParams: undefined,
19
17
  },
20
18
 
21
- passages: [],
19
+ passages: [
20
+ {
21
+ content: `- I want to see the list of users
22
+ - Display the list of users in the account
23
+ - Show all users in the system
24
+ - List all account users
25
+ - View all users in the account`,
26
+ },
27
+ {
28
+ content: `- Change the role of a user
29
+ - Update user roles
30
+ - Modify the permissions of a user
31
+ - Assign a new role to a user
32
+ - Change user access level`,
33
+ },
34
+ {
35
+ content: `- Delete a user from the account
36
+ - Remove a user from the system
37
+ - Erase a user from the list
38
+ - Permanently delete a user
39
+ - Unregister a user from the account`,
40
+ },
41
+ ],
22
42
  };
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const postToFeedSkill: SkillDefinition = {
4
- id: 'skill-add-feed-post-v1',
4
+ uid: 'skill-add-feed-post-v1',
5
5
  forRoles: ['admin', 'user'],
6
6
  name: 'Post to the Feed',
7
7
  description: 'Create a post in the news feed',
8
8
  abbreviation: 'PF',
9
9
  number: 2,
10
+ domain: 'General',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'skill-add-feed-post-v1',
16
14
 
17
15
  prompt: undefined,
@@ -1,17 +1,15 @@
1
1
  import type { SkillDefinition } from '../../types';
2
2
 
3
3
  export const qnaSkill: SkillDefinition = {
4
- id: 'skill-qna-v1',
4
+ uid: 'skill-qna-v1',
5
5
  forRoles: ['admin', 'user'],
6
6
  name: 'Questions & Answers',
7
7
  description: 'Ask questions about the company and its internal processes',
8
8
  abbreviation: 'QA',
9
9
  number: 1,
10
+ domain: 'General',
10
11
 
11
12
  meta: {
12
- domain: 'General',
13
- domainAbbreviation: 'GN',
14
-
15
13
  chatId: 'skill-qna-v1',
16
14
 
17
15
  prompt: undefined,
@@ -1,7 +1,8 @@
1
- import { IdwApi, Skill, SkillCreateData } from '@or-sdk/idw';
1
+ import { Domain, IdwApi, Skill, DomainNotFoundError, SkillNotFoundError } from '@or-sdk/idw';
2
2
  import { skills } from '../assets/skills';
3
+ import { domains } from '../assets/domains';
3
4
  import { IdwSkill } from '../schemas';
4
- import { InitIdwResourcesConfig, SkillDefinition } from '../types';
5
+ import { DomainDefinition, InitIdwResourcesConfig, SkillDefinition } from '../types';
5
6
 
6
7
  export class InitIdwResources {
7
8
  private token: string;
@@ -19,36 +20,80 @@ export class InitIdwResources {
19
20
  }
20
21
 
21
22
  public async init() {
23
+ const idwDomains = await Promise.all(domains.map(async (domain) => await this.upsertDomain(domain)));
22
24
  await Promise.all(skills.map(async (skill) => await this.upsertSkill(skill)));
25
+ await this.upsertDomainSkillsRelationship(skills, idwDomains);
23
26
  }
24
27
 
25
- public async upsertSkill(skillDefinition: SkillDefinition): Promise<Skill> {
26
- // await this.idw.skillApi.deleteSkill(skillDefinition.id);
28
+ public async upsertDomain(domain: DomainDefinition): Promise<Domain> {
29
+ try {
30
+ const domainSlug = await this.idw.slugApi.getSlug(domain.name);
31
+ const { domain: existingDomain } = await this.idw.domainApi.getDomain(domainSlug);
32
+
33
+ if (existingDomain.name !== domain.name || existingDomain.abbreviation !== domain.abbreviation) {
34
+ return await this.idw.domainApi.updateDomain(domainSlug, {
35
+ name: domain.name,
36
+ abbreviation: domain.abbreviation,
37
+ });
38
+ }
27
39
 
40
+ return existingDomain;
41
+ } catch (error) {
42
+ if (error instanceof DomainNotFoundError) {
43
+ return await this.idw.domainApi.createDomain({
44
+ name: domain.name,
45
+ abbreviation: domain.abbreviation,
46
+ });
47
+ }
48
+ throw error;
49
+ }
50
+ }
51
+
52
+ public async upsertSkill(skillDefinition: SkillDefinition): Promise<Skill> {
28
53
  try {
29
- const { skill } = await this.idw.skillApi.getSkill(skillDefinition.id);
54
+ const { skill } = await this.idw.skillApi.getSkill(skillDefinition.uid);
30
55
  return skill;
31
56
  } catch (error) {
32
- if (error instanceof Error && /not found/i.test(error.message)) {
57
+ if (error instanceof SkillNotFoundError) {
33
58
  return await this.createSkill(skillDefinition);
34
59
  }
35
60
  throw error;
36
61
  }
37
62
  }
38
63
 
64
+ public async upsertDomainSkillsRelationship(skillDefinitions: SkillDefinition[], existingDomains: Domain[]) {
65
+ const groupedSkills = skillDefinitions.reduce((acc: Record<string, Domain['slug'][]>, skillDefinition) => {
66
+ const requiredDomain = existingDomains.find((domain) => domain.name === skillDefinition.domain);
67
+
68
+ if (!requiredDomain) {
69
+ throw new Error(`Domain "${skillDefinition.domain}" (for skill "${skillDefinition.name}") not found`);
70
+ }
71
+
72
+ return {
73
+ ...acc,
74
+ [requiredDomain.slug]: [...acc[requiredDomain.slug] ?? [], skillDefinition.uid],
75
+ };
76
+ }, {});
77
+
78
+ for (const [domainSlug, skillIds] of Object.entries(groupedSkills)) {
79
+ const domainRelationships = await this.idw.domainRelationshipApi.getDomainSkillList(domainSlug);
80
+ const existingSkillUids = domainRelationships.skills.map(({ skill }) => skill.uid);
81
+ const missingSkillUids = skillIds.filter((skillUid) => !existingSkillUids.includes(skillUid));
82
+
83
+ if (missingSkillUids.length === 0) continue;
84
+
85
+ await this.idw.domainRelationshipApi.attachSkills(domainSlug, { ids: missingSkillUids });
86
+ }
87
+ }
88
+
39
89
  private async createSkill(skillDefinition: SkillDefinition): Promise<Skill> {
40
90
  return await this.idw.skillApi.createSkill({
41
- uid: skillDefinition.id,
91
+ uid: skillDefinition.uid,
42
92
  name: skillDefinition.name,
43
93
  description: skillDefinition.description,
44
94
  abbreviation: skillDefinition.abbreviation,
45
95
  number: skillDefinition.number,
46
96
  meta: {
47
- // isNew: false,
48
- periodic: {
49
- domain: skillDefinition.meta.domain,
50
- domainAbbreviation: skillDefinition.meta.domainAbbreviation,
51
- },
52
97
  chat: {
53
98
  id: skillDefinition.meta.chatId,
54
99
  // url: 'https://chat.staging.onereach.ai/flW5uMr8RgWMkZu0yTRp3A/skill-post-to-feed-v1',
@@ -59,7 +104,7 @@ export class InitIdwResources {
59
104
  promptParams: skillDefinition.meta.promptParams,
60
105
  },
61
106
  },
62
- } as SkillCreateData);
107
+ });
63
108
  }
64
109
 
65
110
  public async listSkills(): Promise<IdwSkill[]> {
@@ -71,7 +71,7 @@ export class InitLookupResources {
71
71
  name: documentData.name,
72
72
  description: documentData.description,
73
73
  defaultProperties: {
74
- skillId: documentData.id,
74
+ skillId: documentData.uid,
75
75
  userRoles: documentData.forRoles,
76
76
  },
77
77
  },
@@ -79,7 +79,7 @@ export class InitLookupResources {
79
79
 
80
80
  const passages = documentData.passages.map((passage) => ({
81
81
  ...passage,
82
- skillId: documentData.id,
82
+ skillId: documentData.uid,
83
83
  userRoles: documentData.forRoles,
84
84
  description: documentData.description,
85
85
 
package/src/types.ts CHANGED
@@ -21,21 +21,21 @@ export type SkillDocumentPassage<T extends LoadDocument['defaultProperties']> =
21
21
  } & T;
22
22
 
23
23
  export type SkillDefinitionMeta = {
24
- domain: string;
25
- domainAbbreviation: string;
26
24
  chatId: string;
25
+ chatUrl?: string;
27
26
 
28
27
  prompt?: string;
29
28
  promptParams?: string;
30
29
  };
31
30
 
32
31
  export type SkillDefinition = {
33
- id: string;
32
+ uid: string;
34
33
  forRoles: string[];
35
34
  name: string;
36
35
  description: string;
37
36
  abbreviation: string;
38
37
  number: number;
38
+ domain: string;
39
39
 
40
40
  passages: SkillDocumentPassage<LoadDocument['defaultProperties']>[];
41
41
  meta: SkillDefinitionMeta;
@@ -59,3 +59,8 @@ export type DbConnectionParams = {
59
59
  port: number;
60
60
  };
61
61
  };
62
+
63
+ export type DomainDefinition = {
64
+ name: string;
65
+ abbreviation: string;
66
+ };