@botpress/cli 0.11.6 → 1.0.1

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 (235) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/dist/api/bot-body.js.map +2 -2
  3. package/dist/api/client.js +14 -28
  4. package/dist/api/client.js.map +3 -3
  5. package/dist/api/find-previous-version.js.map +1 -1
  6. package/dist/api/index.js +23 -0
  7. package/dist/api/index.js.map +7 -0
  8. package/dist/api/interface-body.js +25 -10
  9. package/dist/api/interface-body.js.map +2 -2
  10. package/dist/code-generation/bot-implementation/bot-implementation.js +92 -0
  11. package/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
  12. package/dist/code-generation/{integration-schemas → bot-implementation/bot-typings}/events-module.js +15 -22
  13. package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
  14. package/dist/code-generation/bot-implementation/bot-typings/index.js +96 -0
  15. package/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
  16. package/dist/code-generation/{integration-schemas → bot-implementation/bot-typings}/states-module.js +17 -22
  17. package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
  18. package/dist/code-generation/bot-implementation/index.js +56 -0
  19. package/dist/code-generation/bot-implementation/index.js.map +7 -0
  20. package/dist/code-generation/{const.js → consts.js} +15 -5
  21. package/dist/code-generation/consts.js.map +7 -0
  22. package/dist/code-generation/generators.js +37 -7
  23. package/dist/code-generation/generators.js.map +2 -2
  24. package/dist/code-generation/index.js +15 -105
  25. package/dist/code-generation/index.js.map +3 -3
  26. package/dist/code-generation/integration-implementation/index.js +66 -0
  27. package/dist/code-generation/integration-implementation/index.js.map +7 -0
  28. package/dist/code-generation/integration-implementation/integration-implementation.js +110 -0
  29. package/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
  30. package/dist/code-generation/{integration-secret.js → integration-implementation/integration-secret.js} +17 -7
  31. package/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
  32. package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/actions-module.js +28 -40
  33. package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
  34. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +103 -0
  35. package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
  36. package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/configuration-module.js +18 -20
  37. package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
  38. package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/configurations-module.js +21 -27
  39. package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
  40. package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/entities-module.js +15 -22
  41. package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
  42. package/dist/code-generation/integration-implementation/integration-typings/events-module.js +59 -0
  43. package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
  44. package/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
  45. package/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
  46. package/dist/code-generation/integration-implementation/integration-typings/states-module.js +60 -0
  47. package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
  48. package/dist/code-generation/integration-package/index.js +81 -0
  49. package/dist/code-generation/integration-package/index.js.map +7 -0
  50. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +84 -0
  51. package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
  52. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +103 -0
  53. package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
  54. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +58 -0
  55. package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
  56. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +66 -0
  57. package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
  58. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +59 -0
  59. package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
  60. package/dist/code-generation/integration-package/integration-package-definition/events-module.js +62 -0
  61. package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
  62. package/dist/code-generation/integration-package/integration-package-definition/index.js +136 -0
  63. package/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
  64. package/dist/code-generation/integration-package/integration-package-definition/states-module.js +62 -0
  65. package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
  66. package/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
  67. package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
  68. package/dist/code-generation/interface-package/index.js +81 -0
  69. package/dist/code-generation/interface-package/index.js.map +7 -0
  70. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +84 -0
  71. package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
  72. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +94 -0
  73. package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
  74. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +59 -0
  75. package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
  76. package/dist/code-generation/interface-package/interface-package-definition/events-module.js +62 -0
  77. package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
  78. package/dist/code-generation/interface-package/interface-package-definition/index.js +100 -0
  79. package/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
  80. package/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
  81. package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
  82. package/dist/code-generation/module.js +60 -16
  83. package/dist/code-generation/module.js.map +2 -2
  84. package/dist/code-generation/strings.js +5 -2
  85. package/dist/code-generation/strings.js.map +2 -2
  86. package/dist/code-generation/typings.js.map +1 -1
  87. package/dist/command-implementations/add-command.js +102 -91
  88. package/dist/command-implementations/add-command.js.map +3 -3
  89. package/dist/command-implementations/bundle-command.js +16 -9
  90. package/dist/command-implementations/bundle-command.js.map +2 -2
  91. package/dist/command-implementations/deploy-command.js +27 -19
  92. package/dist/command-implementations/deploy-command.js.map +2 -2
  93. package/dist/command-implementations/dev-command.js +15 -12
  94. package/dist/command-implementations/dev-command.js.map +2 -2
  95. package/dist/command-implementations/gen-command.js +31 -12
  96. package/dist/command-implementations/gen-command.js.map +3 -3
  97. package/dist/command-implementations/init-command.js +2 -2
  98. package/dist/command-implementations/init-command.js.map +2 -2
  99. package/dist/command-implementations/integration-commands.js +5 -5
  100. package/dist/command-implementations/integration-commands.js.map +2 -2
  101. package/dist/command-implementations/interface-commands.js +5 -5
  102. package/dist/command-implementations/interface-commands.js.map +2 -2
  103. package/dist/command-implementations/lint-command.js +3 -1
  104. package/dist/command-implementations/lint-command.js.map +3 -3
  105. package/dist/command-implementations/project-command.js +40 -23
  106. package/dist/command-implementations/project-command.js.map +3 -3
  107. package/dist/command-implementations/read-command.js +0 -5
  108. package/dist/command-implementations/read-command.js.map +2 -2
  109. package/dist/config.js +22 -7
  110. package/dist/config.js.map +2 -2
  111. package/dist/consts.js +15 -6
  112. package/dist/consts.js.map +2 -2
  113. package/dist/errors.js +19 -11
  114. package/dist/errors.js.map +2 -2
  115. package/dist/logger/index.js +4 -2
  116. package/dist/logger/index.js.map +2 -2
  117. package/dist/{integration-ref.js → package-ref.js} +11 -11
  118. package/dist/package-ref.js.map +7 -0
  119. package/dist/{integration-ref.test.js → package-ref.test.js} +18 -18
  120. package/dist/package-ref.test.js.map +7 -0
  121. package/dist/sdk/index.js +21 -0
  122. package/dist/sdk/index.js.map +7 -0
  123. package/dist/sdk/resolve-bot-interfaces.js +38 -0
  124. package/dist/sdk/resolve-bot-interfaces.js.map +7 -0
  125. package/dist/sdk/resolve-integration-interfaces.js +148 -0
  126. package/dist/sdk/resolve-integration-interfaces.js.map +7 -0
  127. package/dist/utils/index.js +3 -0
  128. package/dist/utils/index.js.map +2 -2
  129. package/dist/utils/path-utils.js +25 -8
  130. package/dist/utils/path-utils.js.map +3 -3
  131. package/dist/utils/path-utils.test.js +69 -0
  132. package/dist/utils/path-utils.test.js.map +7 -0
  133. package/dist/utils/record-utils.js +25 -0
  134. package/dist/utils/record-utils.js.map +3 -3
  135. package/dist/utils/schema-utils.js +11 -0
  136. package/dist/utils/schema-utils.js.map +2 -2
  137. package/dist/utils/schema-utils.test.js +51 -0
  138. package/dist/utils/schema-utils.test.js.map +7 -0
  139. package/dist/utils/template-utils.js +47 -0
  140. package/dist/utils/template-utils.js.map +7 -0
  141. package/dist/utils/type-utils.js.map +1 -1
  142. package/e2e/index.ts +2 -0
  143. package/e2e/tests/install-package.ts +163 -0
  144. package/e2e/utils.ts +25 -2
  145. package/package.json +5 -4
  146. package/templates/empty-bot/.botpress/implementation/index.ts +41 -0
  147. package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +6 -0
  148. package/templates/empty-bot/.botpress/implementation/typings/index.ts +17 -0
  149. package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +6 -0
  150. package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +6 -0
  151. package/templates/empty-bot/.botpress/index.ts +1 -0
  152. package/templates/empty-bot/bot.definition.ts +2 -0
  153. package/templates/{echo-bot → empty-bot}/package.json +2 -2
  154. package/templates/empty-bot/src/index.ts +5 -0
  155. package/templates/empty-integration/.botpress/implementation/index.ts +9 -37
  156. package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +6 -0
  157. package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +6 -0
  158. package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +2 -0
  159. package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +6 -0
  160. package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +6 -0
  161. package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +6 -0
  162. package/templates/empty-integration/.botpress/implementation/typings/index.ts +31 -0
  163. package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +6 -0
  164. package/templates/empty-integration/.botpress/secrets/index.ts +2 -2
  165. package/templates/empty-integration/package.json +1 -1
  166. package/templates/hello-world/.botpress/implementation/index.ts +9 -37
  167. package/templates/hello-world/.botpress/implementation/{actions → typings/actions}/helloWorld/index.ts +2 -2
  168. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +5 -0
  169. package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +5 -0
  170. package/templates/hello-world/.botpress/implementation/{actions → typings/actions}/index.ts +2 -2
  171. package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +6 -0
  172. package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +2 -0
  173. package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +6 -0
  174. package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +6 -0
  175. package/templates/hello-world/.botpress/implementation/typings/events/index.ts +6 -0
  176. package/templates/hello-world/.botpress/implementation/typings/index.ts +31 -0
  177. package/templates/hello-world/.botpress/implementation/typings/states/index.ts +6 -0
  178. package/templates/hello-world/.botpress/secrets/index.ts +2 -2
  179. package/templates/hello-world/package.json +1 -1
  180. package/templates/webhook-message/.botpress/implementation/index.ts +9 -37
  181. package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +6 -0
  182. package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/index.ts +2 -2
  183. package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/webhook/index.ts +2 -2
  184. package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/webhook/messages/index.ts +2 -2
  185. package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +5 -0
  186. package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +8 -0
  187. package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +6 -0
  188. package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +6 -0
  189. package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +6 -0
  190. package/templates/webhook-message/.botpress/implementation/typings/index.ts +31 -0
  191. package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +6 -0
  192. package/templates/webhook-message/.botpress/secrets/index.ts +2 -2
  193. package/templates/webhook-message/package.json +1 -1
  194. package/dist/code-generation/const.js.map +0 -7
  195. package/dist/code-generation/integration-implementation.js +0 -192
  196. package/dist/code-generation/integration-implementation.js.map +0 -7
  197. package/dist/code-generation/integration-instance.js +0 -185
  198. package/dist/code-generation/integration-instance.js.map +0 -7
  199. package/dist/code-generation/integration-schemas/actions-module.js.map +0 -7
  200. package/dist/code-generation/integration-schemas/channels-module.js +0 -117
  201. package/dist/code-generation/integration-schemas/channels-module.js.map +0 -7
  202. package/dist/code-generation/integration-schemas/configuration-module.js.map +0 -7
  203. package/dist/code-generation/integration-schemas/configurations-module.js.map +0 -7
  204. package/dist/code-generation/integration-schemas/entities-module.js.map +0 -7
  205. package/dist/code-generation/integration-schemas/events-module.js.map +0 -7
  206. package/dist/code-generation/integration-schemas/states-module.js.map +0 -7
  207. package/dist/code-generation/integration-secret.js.map +0 -7
  208. package/dist/code-generation/map-integration.js +0 -76
  209. package/dist/code-generation/map-integration.js.map +0 -7
  210. package/dist/integration-ref.js.map +0 -7
  211. package/dist/integration-ref.test.js.map +0 -7
  212. package/templates/echo-bot/src/index.ts +0 -30
  213. package/templates/empty-integration/.botpress/implementation/actions/index.ts +0 -6
  214. package/templates/empty-integration/.botpress/implementation/channels/index.ts +0 -6
  215. package/templates/empty-integration/.botpress/implementation/configuration/index.ts +0 -10
  216. package/templates/empty-integration/.botpress/implementation/configurations/index.ts +0 -6
  217. package/templates/empty-integration/.botpress/implementation/entities/index.ts +0 -6
  218. package/templates/empty-integration/.botpress/implementation/events/index.ts +0 -6
  219. package/templates/empty-integration/.botpress/implementation/states/index.ts +0 -6
  220. package/templates/hello-world/.botpress/implementation/actions/helloWorld/input.ts +0 -10
  221. package/templates/hello-world/.botpress/implementation/actions/helloWorld/output.ts +0 -10
  222. package/templates/hello-world/.botpress/implementation/channels/index.ts +0 -6
  223. package/templates/hello-world/.botpress/implementation/configuration/index.ts +0 -10
  224. package/templates/hello-world/.botpress/implementation/configurations/index.ts +0 -6
  225. package/templates/hello-world/.botpress/implementation/entities/index.ts +0 -6
  226. package/templates/hello-world/.botpress/implementation/events/index.ts +0 -6
  227. package/templates/hello-world/.botpress/implementation/states/index.ts +0 -6
  228. package/templates/webhook-message/.botpress/implementation/actions/index.ts +0 -6
  229. package/templates/webhook-message/.botpress/implementation/channels/webhook/messages/text.ts +0 -10
  230. package/templates/webhook-message/.botpress/implementation/configuration/index.ts +0 -13
  231. package/templates/webhook-message/.botpress/implementation/configurations/index.ts +0 -6
  232. package/templates/webhook-message/.botpress/implementation/entities/index.ts +0 -6
  233. package/templates/webhook-message/.botpress/implementation/events/index.ts +0 -6
  234. package/templates/webhook-message/.botpress/implementation/states/index.ts +0 -6
  235. /package/templates/{echo-bot → empty-bot}/tsconfig.json +0 -0
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type Text = { text: string };
@@ -0,0 +1,8 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type Configuration = {
6
+ /** The url to post the bot answers to. */
7
+ webhookUrl: string;
8
+ };
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type Configurations = {
6
+ }
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type Entities = {
6
+ }
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type Events = {
6
+ }
@@ -0,0 +1,31 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ import * as configuration from "./configuration/index"
6
+ import * as configurations from "./configurations/index"
7
+ import * as actions from "./actions/index"
8
+ import * as channels from "./channels/index"
9
+ import * as events from "./events/index"
10
+ import * as states from "./states/index"
11
+ import * as entities from "./entities/index"
12
+ export * as configuration from "./configuration/index"
13
+ export * as configurations from "./configurations/index"
14
+ export * as actions from "./actions/index"
15
+ export * as channels from "./channels/index"
16
+ export * as events from "./events/index"
17
+ export * as states from "./states/index"
18
+ export * as entities from "./entities/index"
19
+
20
+ export type TIntegration = {
21
+ name: "webhook-message"
22
+ version: "0.0.1"
23
+ user: { "tags": { "id": { "title": "User ID", "description": "The ID of the user" } }, "creation": { "enabled": false, "requiredTags": [] } }
24
+ configuration: configuration.Configuration
25
+ configurations: configurations.Configurations
26
+ actions: actions.Actions
27
+ channels: channels.Channels
28
+ events: events.Events
29
+ states: states.States
30
+ entities: entities.Entities
31
+ }
@@ -0,0 +1,6 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // This file is generated. Do not edit it manually.
4
+
5
+ export type States = {
6
+ }
@@ -1,6 +1,6 @@
1
+ /* eslint-disable */
1
2
  /* tslint:disable */
2
- // This file is generated
3
- // Do not edit this file
3
+ // This file is generated. Do not edit it manually.
4
4
  class Secrets {
5
5
  }
6
6
  export const secrets = new Secrets()
@@ -7,7 +7,7 @@
7
7
  "private": true,
8
8
  "dependencies": {
9
9
  "@botpress/client": "0.33.0",
10
- "@botpress/sdk": "0.11.8",
10
+ "@botpress/sdk": "1.0.0",
11
11
  "axios": "^1.6.8"
12
12
  },
13
13
  "devDependencies": {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/code-generation/const.ts"],
4
- "sourcesContent": ["export const GENERATED_HEADER = '/* tslint:disable */\\n// This file is generated\\n// Do not edit this file\\n'\nexport const INDEX_FILE = 'index.ts'\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,mBAAmB;AACzB,MAAM,aAAa;",
6
- "names": []
7
- }
@@ -1,192 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var integration_implementation_exports = {};
20
- __export(integration_implementation_exports, {
21
- IntegrationImplementationIndexModule: () => IntegrationImplementationIndexModule
22
- });
23
- module.exports = __toCommonJS(integration_implementation_exports);
24
- var import_const = require("./const");
25
- var import_generators = require("./generators");
26
- var import_actions_module = require("./integration-schemas/actions-module");
27
- var import_channels_module = require("./integration-schemas/channels-module");
28
- var import_configuration_module = require("./integration-schemas/configuration-module");
29
- var import_configurations_module = require("./integration-schemas/configurations-module");
30
- var import_entities_module = require("./integration-schemas/entities-module");
31
- var import_events_module = require("./integration-schemas/events-module");
32
- var import_states_module = require("./integration-schemas/states-module");
33
- var import_module = require("./module");
34
- class IntegrationImplementationIndexModule extends import_module.Module {
35
- constructor(_integration, _defaultConfigModule, _configurationsModule, _actionsModule, _channelsModule, _eventsModule, _statesModule, _entitiesModule, def) {
36
- super(def);
37
- this._integration = _integration;
38
- this._defaultConfigModule = _defaultConfigModule;
39
- this._configurationsModule = _configurationsModule;
40
- this._actionsModule = _actionsModule;
41
- this._channelsModule = _channelsModule;
42
- this._eventsModule = _eventsModule;
43
- this._statesModule = _statesModule;
44
- this._entitiesModule = _entitiesModule;
45
- }
46
- static async create(integration) {
47
- const defaultConfigModule = await import_configuration_module.DefaultConfigurationModule.create(integration.configuration ?? { schema: {} });
48
- defaultConfigModule.unshift("configuration");
49
- const configurationsModule = await import_configurations_module.ConfigurationsModule.create(integration.configurations ?? {});
50
- configurationsModule.unshift("configurations");
51
- const actionsModule = await import_actions_module.ActionsModule.create(integration.actions ?? {});
52
- actionsModule.unshift("actions");
53
- const channelsModule = await import_channels_module.ChannelsModule.create(integration.channels ?? {});
54
- channelsModule.unshift("channels");
55
- const eventsModule = await import_events_module.EventsModule.create(integration.events ?? {});
56
- eventsModule.unshift("events");
57
- const statesModule = await import_states_module.StatesModule.create(integration.states ?? {});
58
- statesModule.unshift("states");
59
- const entitiesModule = await import_entities_module.EntitiesModule.create(integration.entities ?? {});
60
- entitiesModule.unshift("entities");
61
- const inst = new IntegrationImplementationIndexModule(
62
- integration,
63
- defaultConfigModule,
64
- configurationsModule,
65
- actionsModule,
66
- channelsModule,
67
- eventsModule,
68
- statesModule,
69
- entitiesModule,
70
- {
71
- path: import_const.INDEX_FILE,
72
- exportName: "Integration",
73
- content: ""
74
- }
75
- );
76
- inst.pushDep(defaultConfigModule);
77
- inst.pushDep(configurationsModule);
78
- inst.pushDep(actionsModule);
79
- inst.pushDep(channelsModule);
80
- inst.pushDep(eventsModule);
81
- inst.pushDep(statesModule);
82
- inst.pushDep(entitiesModule);
83
- return inst;
84
- }
85
- get content() {
86
- let content = import_const.GENERATED_HEADER;
87
- const {
88
- _defaultConfigModule: defaultConfigModule,
89
- _configurationsModule: configurationsModule,
90
- _actionsModule: actionsModule,
91
- _channelsModule: channelsModule,
92
- _eventsModule: eventsModule,
93
- _statesModule: statesModule,
94
- _entitiesModule: entitiesModule,
95
- _integration: integration
96
- } = this;
97
- const defaultConfigImport = defaultConfigModule.import(this);
98
- const configurationsImport = configurationsModule.import(this);
99
- const actionsImport = actionsModule.import(this);
100
- const channelsImport = channelsModule.import(this);
101
- const eventsImport = eventsModule.import(this);
102
- const statesImport = statesModule.import(this);
103
- const entitiesImport = entitiesModule.import(this);
104
- content += [
105
- import_const.GENERATED_HEADER,
106
- 'import * as sdk from "@botpress/sdk"',
107
- "",
108
- `import type * as ${defaultConfigModule.name} from "./${defaultConfigImport}"`,
109
- `import type * as ${configurationsModule.name} from "./${configurationsImport}"`,
110
- `import type * as ${actionsModule.name} from "./${actionsImport}"`,
111
- `import type * as ${channelsModule.name} from "./${channelsImport}"`,
112
- `import type * as ${eventsModule.name} from "./${eventsImport}"`,
113
- `import type * as ${statesModule.name} from "./${statesImport}"`,
114
- `import type * as ${entitiesModule.name} from "./${entitiesImport}"`,
115
- `export * as ${defaultConfigModule.name} from "./${defaultConfigImport}"`,
116
- `export * as ${configurationsModule.name} from "./${configurationsImport}"`,
117
- `export * as ${actionsModule.name} from "./${actionsImport}"`,
118
- `export * as ${channelsModule.name} from "./${channelsImport}"`,
119
- `export * as ${eventsModule.name} from "./${eventsImport}"`,
120
- `export * as ${statesModule.name} from "./${statesImport}"`,
121
- `export * as ${entitiesModule.name} from "./${entitiesImport}"`,
122
- "",
123
- "// type utils",
124
- "type Cast<X, Y> = X extends Y ? X : Y",
125
- "type ValueOf<T> = T[keyof T]",
126
- "type AsyncFunction = (...args: any[]) => Promise<any>",
127
- "",
128
- "type TIntegration = {",
129
- ` name: "${integration.name}"`,
130
- ` version: "${integration.version}"`,
131
- ` configuration: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,
132
- ` configurations: ${configurationsModule.name}.${configurationsModule.exports}`,
133
- ` actions: ${actionsModule.name}.${actionsModule.exports}`,
134
- ` channels: ${channelsModule.name}.${channelsModule.exports}`,
135
- ` events: ${eventsModule.name}.${eventsModule.exports}`,
136
- ` states: ${statesModule.name}.${statesModule.exports}`,
137
- ` user: ${(0, import_generators.stringifySingleLine)(integration.user)}`,
138
- ` entities: ${entitiesModule.name}.${entitiesModule.exports}`,
139
- "}",
140
- "",
141
- "export type IntegrationProps = sdk.IntegrationProps<TIntegration>",
142
- "",
143
- "export class Integration extends sdk.Integration<TIntegration> {}",
144
- "",
145
- "export type Client = sdk.IntegrationSpecificClient<TIntegration>",
146
- "",
147
- "// extra types",
148
- "",
149
- "export type HandlerProps = Parameters<IntegrationProps['handler']>[0]",
150
- "",
151
- "export type ActionProps = {",
152
- " [K in keyof IntegrationProps['actions']]: Parameters<IntegrationProps['actions'][K]>[0]",
153
- "}",
154
- "export type AnyActionProps = ValueOf<ActionProps>",
155
- "",
156
- "export type MessageProps = {",
157
- " [TChannel in keyof IntegrationProps['channels']]: {",
158
- " [TMessage in keyof IntegrationProps['channels'][TChannel]['messages']]: Parameters<",
159
- " IntegrationProps['channels'][TChannel]['messages'][TMessage]",
160
- " >[0]",
161
- " }",
162
- "}",
163
- "export type AnyMessageProps = ValueOf<ValueOf<MessageProps>>",
164
- "",
165
- "export type Context = HandlerProps['ctx']",
166
- "export type Logger = HandlerProps['logger']",
167
- "",
168
- "export type AckFunctions = {",
169
- " [TChannel in keyof MessageProps]: {",
170
- " [TMessage in keyof MessageProps[TChannel]]: Cast<MessageProps[TChannel][TMessage], AnyMessageProps>['ack']",
171
- " }",
172
- "}",
173
- "export type AnyAckFunction = ValueOf<ValueOf<AckFunctions>>",
174
- "",
175
- "export type ClientOperation = ValueOf<{",
176
- " [K in keyof Client as Client[K] extends AsyncFunction ? K : never]: K",
177
- "}>",
178
- "export type ClientRequests = {",
179
- " [K in ClientOperation]: Parameters<Client[K]>[0]",
180
- "}",
181
- "export type ClientResponses = {",
182
- " [K in ClientOperation]: Awaited<ReturnType<Client[K]>>",
183
- "}"
184
- ].join("\n");
185
- return content;
186
- }
187
- }
188
- // Annotate the CommonJS export names for ESM import in node:
189
- 0 && (module.exports = {
190
- IntegrationImplementationIndexModule
191
- });
192
- //# sourceMappingURL=integration-implementation.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/code-generation/integration-implementation.ts"],
4
- "sourcesContent": ["import { GENERATED_HEADER, INDEX_FILE } from './const'\nimport { stringifySingleLine } from './generators'\nimport { ActionsModule } from './integration-schemas/actions-module'\nimport { ChannelsModule } from './integration-schemas/channels-module'\nimport { DefaultConfigurationModule } from './integration-schemas/configuration-module'\nimport { ConfigurationsModule } from './integration-schemas/configurations-module'\nimport { EntitiesModule } from './integration-schemas/entities-module'\nimport { EventsModule } from './integration-schemas/events-module'\nimport { StatesModule } from './integration-schemas/states-module'\nimport { Module, ModuleDef } from './module'\nimport * as types from './typings'\n\nexport class IntegrationImplementationIndexModule extends Module {\n public static async create(integration: types.IntegrationDefinition): Promise<IntegrationImplementationIndexModule> {\n const defaultConfigModule = await DefaultConfigurationModule.create(integration.configuration ?? { schema: {} })\n defaultConfigModule.unshift('configuration')\n\n const configurationsModule = await ConfigurationsModule.create(integration.configurations ?? {})\n configurationsModule.unshift('configurations')\n\n const actionsModule = await ActionsModule.create(integration.actions ?? {})\n actionsModule.unshift('actions')\n\n const channelsModule = await ChannelsModule.create(integration.channels ?? {})\n channelsModule.unshift('channels')\n\n const eventsModule = await EventsModule.create(integration.events ?? {})\n eventsModule.unshift('events')\n\n const statesModule = await StatesModule.create(integration.states ?? {})\n statesModule.unshift('states')\n\n const entitiesModule = await EntitiesModule.create(integration.entities ?? {})\n entitiesModule.unshift('entities')\n\n const inst = new IntegrationImplementationIndexModule(\n integration,\n defaultConfigModule,\n configurationsModule,\n actionsModule,\n channelsModule,\n eventsModule,\n statesModule,\n entitiesModule,\n {\n path: INDEX_FILE,\n exportName: 'Integration',\n content: '',\n }\n )\n\n inst.pushDep(defaultConfigModule)\n inst.pushDep(configurationsModule)\n inst.pushDep(actionsModule)\n inst.pushDep(channelsModule)\n inst.pushDep(eventsModule)\n inst.pushDep(statesModule)\n inst.pushDep(entitiesModule)\n return inst\n }\n\n private constructor(\n private _integration: types.IntegrationDefinition,\n private _defaultConfigModule: DefaultConfigurationModule,\n private _configurationsModule: ConfigurationsModule,\n private _actionsModule: ActionsModule,\n private _channelsModule: ChannelsModule,\n private _eventsModule: EventsModule,\n private _statesModule: StatesModule,\n private _entitiesModule: EntitiesModule,\n def: ModuleDef\n ) {\n super(def)\n }\n\n public override get content(): string {\n let content = GENERATED_HEADER\n\n const {\n _defaultConfigModule: defaultConfigModule,\n _configurationsModule: configurationsModule,\n _actionsModule: actionsModule,\n _channelsModule: channelsModule,\n _eventsModule: eventsModule,\n _statesModule: statesModule,\n _entitiesModule: entitiesModule,\n _integration: integration,\n } = this\n\n const defaultConfigImport = defaultConfigModule.import(this)\n const configurationsImport = configurationsModule.import(this)\n const actionsImport = actionsModule.import(this)\n const channelsImport = channelsModule.import(this)\n const eventsImport = eventsModule.import(this)\n const statesImport = statesModule.import(this)\n const entitiesImport = entitiesModule.import(this)\n\n content += [\n GENERATED_HEADER,\n 'import * as sdk from \"@botpress/sdk\"',\n '',\n `import type * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `import type * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `import type * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `import type * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `import type * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `import type * as ${statesModule.name} from \"./${statesImport}\"`,\n `import type * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n `export * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `export * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `export * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `export * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `export * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `export * as ${statesModule.name} from \"./${statesImport}\"`,\n `export * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n '',\n '// type utils',\n 'type Cast<X, Y> = X extends Y ? X : Y',\n 'type ValueOf<T> = T[keyof T]',\n 'type AsyncFunction = (...args: any[]) => Promise<any>',\n '',\n 'type TIntegration = {',\n ` name: \"${integration.name}\"`,\n ` version: \"${integration.version}\"`,\n ` configuration: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,\n ` configurations: ${configurationsModule.name}.${configurationsModule.exports}`,\n ` actions: ${actionsModule.name}.${actionsModule.exports}`,\n ` channels: ${channelsModule.name}.${channelsModule.exports}`,\n ` events: ${eventsModule.name}.${eventsModule.exports}`,\n ` states: ${statesModule.name}.${statesModule.exports}`,\n ` user: ${stringifySingleLine(integration.user)}`,\n ` entities: ${entitiesModule.name}.${entitiesModule.exports}`,\n '}',\n '',\n 'export type IntegrationProps = sdk.IntegrationProps<TIntegration>',\n '',\n 'export class Integration extends sdk.Integration<TIntegration> {}',\n '',\n 'export type Client = sdk.IntegrationSpecificClient<TIntegration>',\n '',\n '// extra types',\n '',\n \"export type HandlerProps = Parameters<IntegrationProps['handler']>[0]\",\n '',\n 'export type ActionProps = {',\n \" [K in keyof IntegrationProps['actions']]: Parameters<IntegrationProps['actions'][K]>[0]\",\n '}',\n 'export type AnyActionProps = ValueOf<ActionProps>',\n '',\n 'export type MessageProps = {',\n \" [TChannel in keyof IntegrationProps['channels']]: {\",\n \" [TMessage in keyof IntegrationProps['channels'][TChannel]['messages']]: Parameters<\",\n \" IntegrationProps['channels'][TChannel]['messages'][TMessage]\",\n ' >[0]',\n ' }',\n '}',\n 'export type AnyMessageProps = ValueOf<ValueOf<MessageProps>>',\n '',\n \"export type Context = HandlerProps['ctx']\",\n \"export type Logger = HandlerProps['logger']\",\n '',\n 'export type AckFunctions = {',\n ' [TChannel in keyof MessageProps]: {',\n \" [TMessage in keyof MessageProps[TChannel]]: Cast<MessageProps[TChannel][TMessage], AnyMessageProps>['ack']\",\n ' }',\n '}',\n 'export type AnyAckFunction = ValueOf<ValueOf<AckFunctions>>',\n '',\n 'export type ClientOperation = ValueOf<{',\n ' [K in keyof Client as Client[K] extends AsyncFunction ? K : never]: K',\n '}>',\n 'export type ClientRequests = {',\n ' [K in ClientOperation]: Parameters<Client[K]>[0]',\n '}',\n 'export type ClientResponses = {',\n ' [K in ClientOperation]: Awaited<ReturnType<Client[K]>>',\n '}',\n ].join('\\n')\n\n return content\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,185 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var integration_instance_exports = {};
20
- __export(integration_instance_exports, {
21
- IntegrationInstanceIndexModule: () => IntegrationInstanceIndexModule
22
- });
23
- module.exports = __toCommonJS(integration_instance_exports);
24
- var import_utils = require("../utils");
25
- var import_const = require("./const");
26
- var import_generators = require("./generators");
27
- var import_actions_module = require("./integration-schemas/actions-module");
28
- var import_channels_module = require("./integration-schemas/channels-module");
29
- var import_configuration_module = require("./integration-schemas/configuration-module");
30
- var import_configurations_module = require("./integration-schemas/configurations-module");
31
- var import_entities_module = require("./integration-schemas/entities-module");
32
- var import_events_module = require("./integration-schemas/events-module");
33
- var import_states_module = require("./integration-schemas/states-module");
34
- var import_module = require("./module");
35
- class IntegrationInstanceIndexModule extends import_module.Module {
36
- constructor(_integration, _defaultConfigModule, _configurationsModule, _actionsModule, _channelsModule, _eventsModule, _statesModule, _entitiesModule, def) {
37
- super(def);
38
- this._integration = _integration;
39
- this._defaultConfigModule = _defaultConfigModule;
40
- this._configurationsModule = _configurationsModule;
41
- this._actionsModule = _actionsModule;
42
- this._channelsModule = _channelsModule;
43
- this._eventsModule = _eventsModule;
44
- this._statesModule = _statesModule;
45
- this._entitiesModule = _entitiesModule;
46
- }
47
- static async create(integration) {
48
- const { name } = integration;
49
- const defaultConfigModule = await import_configuration_module.DefaultConfigurationModule.create(integration.configuration ?? { schema: {} });
50
- defaultConfigModule.unshift("configuration");
51
- const configurationsModule = await import_configurations_module.ConfigurationsModule.create(integration.configurations ?? {});
52
- configurationsModule.unshift("configurations");
53
- const actionsModule = await import_actions_module.ActionsModule.create(integration.actions ?? {});
54
- actionsModule.unshift("actions");
55
- const channelsModule = await import_channels_module.ChannelsModule.create(integration.channels ?? {});
56
- channelsModule.unshift("channels");
57
- const eventsModule = await import_events_module.EventsModule.create(integration.events ?? {});
58
- eventsModule.unshift("events");
59
- const statesModule = await import_states_module.StatesModule.create(integration.states ?? {});
60
- statesModule.unshift("states");
61
- const entitiesModule = await import_entities_module.EntitiesModule.create(integration.entities ?? {});
62
- entitiesModule.unshift("entities");
63
- const exportName = import_utils.casing.to.pascalCase(name);
64
- const inst = new IntegrationInstanceIndexModule(
65
- integration,
66
- defaultConfigModule,
67
- configurationsModule,
68
- actionsModule,
69
- channelsModule,
70
- eventsModule,
71
- statesModule,
72
- entitiesModule,
73
- {
74
- path: import_const.INDEX_FILE,
75
- content: "",
76
- exportName
77
- }
78
- );
79
- inst.pushDep(defaultConfigModule);
80
- inst.pushDep(configurationsModule);
81
- inst.pushDep(actionsModule);
82
- inst.pushDep(channelsModule);
83
- inst.pushDep(eventsModule);
84
- inst.pushDep(statesModule);
85
- inst.pushDep(entitiesModule);
86
- return inst;
87
- }
88
- get content() {
89
- const {
90
- _defaultConfigModule: defaultConfigModule,
91
- _configurationsModule: configurationsModule,
92
- _actionsModule: actionsModule,
93
- _channelsModule: channelsModule,
94
- _eventsModule: eventsModule,
95
- _statesModule: statesModule,
96
- _entitiesModule: entitiesModule,
97
- _integration: integration
98
- } = this;
99
- const defaultConfigImport = defaultConfigModule.import(this);
100
- const configurationsImport = configurationsModule.import(this);
101
- const actionsImport = actionsModule.import(this);
102
- const channelsImport = channelsModule.import(this);
103
- const eventsImport = eventsModule.import(this);
104
- const statesImport = statesModule.import(this);
105
- const entitiesImport = entitiesModule.import(this);
106
- const { name, version, id } = integration;
107
- const className = import_utils.casing.to.pascalCase(name);
108
- const propsName = `${className}Props`;
109
- const configName = `${className}Config`;
110
- const integrationId = id === null ? "null" : `'${id}'`;
111
- const lines = [
112
- import_const.GENERATED_HEADER,
113
- "import type { IntegrationInstance } from '@botpress/sdk'",
114
- "",
115
- `import type * as ${defaultConfigModule.name} from "./${defaultConfigImport}"`,
116
- `import type * as ${configurationsModule.name} from "./${configurationsImport}"`,
117
- `import type * as ${actionsModule.name} from "./${actionsImport}"`,
118
- `import type * as ${channelsModule.name} from "./${channelsImport}"`,
119
- `import type * as ${eventsModule.name} from "./${eventsImport}"`,
120
- `import type * as ${statesModule.name} from "./${statesImport}"`,
121
- `import type * as ${entitiesModule.name} from "./${entitiesImport}"`,
122
- `export * as ${defaultConfigModule.name} from "./${defaultConfigImport}"`,
123
- `export * as ${configurationsModule.name} from "./${configurationsImport}"`,
124
- `export * as ${actionsModule.name} from "./${actionsImport}"`,
125
- `export * as ${channelsModule.name} from "./${channelsImport}"`,
126
- `export * as ${eventsModule.name} from "./${eventsImport}"`,
127
- `export * as ${statesModule.name} from "./${statesImport}"`,
128
- `export * as ${entitiesModule.name} from "./${entitiesImport}"`,
129
- "",
130
- "// type utils",
131
- "type ValueOf<T> = T[keyof T]",
132
- "",
133
- `export type ${configName} = {`,
134
- " configType?: null",
135
- ` config?: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,
136
- "} | ValueOf<{",
137
- ` [K in keyof ${configurationsModule.name}.${configurationsModule.exports}]: {`,
138
- " configType: K",
139
- ` config?: ${configurationsModule.name}.${configurationsModule.exports}[K]`,
140
- " }",
141
- "}>",
142
- "",
143
- `export type ${propsName} = {`,
144
- " enabled?: boolean",
145
- `} & ${configName}`,
146
- "",
147
- `export type T${className} = {`,
148
- ` name: '${name}'`,
149
- ` version: '${version}'`,
150
- ` configuration: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,
151
- ` configurations: ${configurationsModule.name}.${configurationsModule.exports}`,
152
- ` actions: ${actionsModule.name}.${actionsModule.exports}`,
153
- ` channels: ${channelsModule.name}.${channelsModule.exports}`,
154
- ` events: ${eventsModule.name}.${eventsModule.exports}`,
155
- ` states: ${statesModule.name}.${statesModule.exports}`,
156
- ` user: ${(0, import_generators.stringifySingleLine)(this._integration.user)}`,
157
- ` entities: ${entitiesModule.name}.${entitiesModule.exports}`,
158
- "}",
159
- "",
160
- `export class ${className} implements IntegrationInstance<T${className}> {`,
161
- "",
162
- ` public readonly name = '${name}'`,
163
- ` public readonly version = '${version}'`,
164
- ` public readonly id = ${integrationId}`,
165
- "",
166
- " public readonly enabled?: boolean",
167
- ` public readonly configurationType?: ${configName}['configType']`,
168
- ` public readonly configuration?: ${configName}['config']`,
169
- "",
170
- ` constructor(props?: ${propsName}) {`,
171
- " this.enabled = props?.enabled",
172
- " this.configurationType = props?.configType",
173
- " this.configuration = props?.config",
174
- " }",
175
- "}"
176
- ];
177
- return `${import_const.GENERATED_HEADER}
178
- ${lines.join("\n")}`;
179
- }
180
- }
181
- // Annotate the CommonJS export names for ESM import in node:
182
- 0 && (module.exports = {
183
- IntegrationInstanceIndexModule
184
- });
185
- //# sourceMappingURL=integration-instance.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/code-generation/integration-instance.ts"],
4
- "sourcesContent": ["import { casing } from '../utils'\nimport { GENERATED_HEADER, INDEX_FILE } from './const'\nimport { stringifySingleLine } from './generators'\nimport { ActionsModule } from './integration-schemas/actions-module'\nimport { ChannelsModule } from './integration-schemas/channels-module'\nimport { DefaultConfigurationModule } from './integration-schemas/configuration-module'\nimport { ConfigurationsModule } from './integration-schemas/configurations-module'\nimport { EntitiesModule } from './integration-schemas/entities-module'\nimport { EventsModule } from './integration-schemas/events-module'\nimport { StatesModule } from './integration-schemas/states-module'\nimport { Module, ModuleDef } from './module'\nimport * as types from './typings'\n\nexport class IntegrationInstanceIndexModule extends Module {\n public static async create(integration: types.IntegrationDefinition): Promise<IntegrationInstanceIndexModule> {\n const { name } = integration\n\n const defaultConfigModule = await DefaultConfigurationModule.create(integration.configuration ?? { schema: {} })\n defaultConfigModule.unshift('configuration')\n\n const configurationsModule = await ConfigurationsModule.create(integration.configurations ?? {})\n configurationsModule.unshift('configurations')\n\n const actionsModule = await ActionsModule.create(integration.actions ?? {})\n actionsModule.unshift('actions')\n\n const channelsModule = await ChannelsModule.create(integration.channels ?? {})\n channelsModule.unshift('channels')\n\n const eventsModule = await EventsModule.create(integration.events ?? {})\n eventsModule.unshift('events')\n\n const statesModule = await StatesModule.create(integration.states ?? {})\n statesModule.unshift('states')\n\n const entitiesModule = await EntitiesModule.create(integration.entities ?? {})\n entitiesModule.unshift('entities')\n\n const exportName = casing.to.pascalCase(name)\n\n const inst = new IntegrationInstanceIndexModule(\n integration,\n defaultConfigModule,\n configurationsModule,\n actionsModule,\n channelsModule,\n eventsModule,\n statesModule,\n entitiesModule,\n {\n path: INDEX_FILE,\n content: '',\n exportName,\n }\n )\n\n inst.pushDep(defaultConfigModule)\n inst.pushDep(configurationsModule)\n inst.pushDep(actionsModule)\n inst.pushDep(channelsModule)\n inst.pushDep(eventsModule)\n inst.pushDep(statesModule)\n inst.pushDep(entitiesModule)\n\n return inst\n }\n\n private constructor(\n private _integration: types.IntegrationDefinition,\n private _defaultConfigModule: DefaultConfigurationModule,\n private _configurationsModule: ConfigurationsModule,\n private _actionsModule: ActionsModule,\n private _channelsModule: ChannelsModule,\n private _eventsModule: EventsModule,\n private _statesModule: StatesModule,\n private _entitiesModule: EntitiesModule,\n def: ModuleDef\n ) {\n super(def)\n }\n\n public override get content(): string {\n const {\n _defaultConfigModule: defaultConfigModule,\n _configurationsModule: configurationsModule,\n _actionsModule: actionsModule,\n _channelsModule: channelsModule,\n _eventsModule: eventsModule,\n _statesModule: statesModule,\n _entitiesModule: entitiesModule,\n _integration: integration,\n } = this\n\n const defaultConfigImport = defaultConfigModule.import(this)\n const configurationsImport = configurationsModule.import(this)\n const actionsImport = actionsModule.import(this)\n const channelsImport = channelsModule.import(this)\n const eventsImport = eventsModule.import(this)\n const statesImport = statesModule.import(this)\n const entitiesImport = entitiesModule.import(this)\n\n const { name, version, id } = integration\n const className = casing.to.pascalCase(name)\n const propsName = `${className}Props`\n const configName = `${className}Config`\n\n const integrationId = id === null ? 'null' : `'${id}'`\n\n const lines = [\n GENERATED_HEADER,\n \"import type { IntegrationInstance } from '@botpress/sdk'\",\n '',\n `import type * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `import type * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `import type * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `import type * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `import type * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `import type * as ${statesModule.name} from \"./${statesImport}\"`,\n `import type * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n `export * as ${defaultConfigModule.name} from \"./${defaultConfigImport}\"`,\n `export * as ${configurationsModule.name} from \"./${configurationsImport}\"`,\n `export * as ${actionsModule.name} from \"./${actionsImport}\"`,\n `export * as ${channelsModule.name} from \"./${channelsImport}\"`,\n `export * as ${eventsModule.name} from \"./${eventsImport}\"`,\n `export * as ${statesModule.name} from \"./${statesImport}\"`,\n `export * as ${entitiesModule.name} from \"./${entitiesImport}\"`,\n '',\n '// type utils',\n 'type ValueOf<T> = T[keyof T]',\n '',\n `export type ${configName} = {`,\n ' configType?: null',\n ` config?: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,\n '} | ValueOf<{',\n ` [K in keyof ${configurationsModule.name}.${configurationsModule.exports}]: {`,\n ' configType: K',\n ` config?: ${configurationsModule.name}.${configurationsModule.exports}[K]`,\n ' }',\n '}>',\n '',\n `export type ${propsName} = {`,\n ' enabled?: boolean',\n `} & ${configName}`,\n '',\n `export type T${className} = {`,\n ` name: '${name}'`,\n ` version: '${version}'`,\n ` configuration: ${defaultConfigModule.name}.${defaultConfigModule.exports}`,\n ` configurations: ${configurationsModule.name}.${configurationsModule.exports}`,\n ` actions: ${actionsModule.name}.${actionsModule.exports}`,\n ` channels: ${channelsModule.name}.${channelsModule.exports}`,\n ` events: ${eventsModule.name}.${eventsModule.exports}`,\n ` states: ${statesModule.name}.${statesModule.exports}`,\n ` user: ${stringifySingleLine(this._integration.user)}`,\n ` entities: ${entitiesModule.name}.${entitiesModule.exports}`,\n '}',\n '',\n `export class ${className} implements IntegrationInstance<T${className}> {`,\n '',\n ` public readonly name = '${name}'`,\n ` public readonly version = '${version}'`,\n ` public readonly id = ${integrationId}`,\n '',\n ' public readonly enabled?: boolean',\n ` public readonly configurationType?: ${configName}['configType']`,\n ` public readonly configuration?: ${configName}['config']`,\n '',\n ` constructor(props?: ${propsName}) {`,\n ' this.enabled = props?.enabled',\n ' this.configurationType = props?.configType',\n ' this.configuration = props?.config',\n ' }',\n '}',\n ]\n\n return `${GENERATED_HEADER}\\n${lines.join('\\n')}`\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/code-generation/integration-schemas/actions-module.ts"],
4
- "sourcesContent": ["import bluebird from 'bluebird'\nimport { jsonSchemaToTypeScriptType } from '../generators'\nimport { Module, ModuleDef, ReExportTypeModule } from '../module'\nimport * as strings from '../strings'\nimport type * as types from '../typings'\n\ntype ActionInput = types.ActionDefinition['input']\ntype ActionOutput = types.ActionDefinition['output']\n\nexport class ActionInputModule extends Module {\n public static async create(input: ActionInput): Promise<ActionInputModule> {\n const schema = input.schema\n const name = 'input'\n const exportName = strings.typeName(name)\n const def: ModuleDef = {\n path: `${name}.ts`,\n exportName,\n content: await jsonSchemaToTypeScriptType(schema, exportName),\n }\n return new ActionInputModule(def)\n }\n}\n\nexport class ActionOutputModule extends Module {\n public static async create(output: ActionOutput): Promise<ActionOutputModule> {\n const schema = output.schema\n const name = 'output'\n const exportName = strings.typeName(name)\n const def: ModuleDef = {\n path: `${name}.ts`,\n exportName,\n content: await jsonSchemaToTypeScriptType(schema, exportName),\n }\n return new ActionOutputModule(def)\n }\n}\n\nexport class ActionModule extends ReExportTypeModule {\n public static async create(actionName: string, action: types.ActionDefinition): Promise<ActionModule> {\n const inputModule = await ActionInputModule.create(action.input)\n const outputModule = await ActionOutputModule.create(action.output)\n\n const exportName = strings.typeName(actionName)\n const inst = new ActionModule({\n exportName,\n })\n\n inst.pushDep(inputModule)\n inst.pushDep(outputModule)\n\n return inst\n }\n}\n\nexport class ActionsModule extends ReExportTypeModule {\n public static async create(actions: Record<string, types.ActionDefinition>): Promise<ActionsModule> {\n const actionModules = await bluebird.map(Object.entries(actions), async ([actionName, action]) => {\n const mod = await ActionModule.create(actionName, action)\n return mod.unshift(actionName)\n })\n\n const inst = new ActionsModule({\n exportName: strings.typeName('actions'),\n })\n\n inst.pushDep(...actionModules)\n return inst\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqB;AACrB,wBAA2C;AAC3C,oBAAsD;AACtD,cAAyB;AAMlB,MAAM,0BAA0B,qBAAO;AAAA,EAC5C,aAAoB,OAAO,OAAgD;AACzE,UAAM,SAAS,MAAM;AACrB,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,MAAiB;AAAA,MACrB,MAAM,GAAG;AAAA,MACT;AAAA,MACA,SAAS,UAAM,8CAA2B,QAAQ,UAAU;AAAA,IAC9D;AACA,WAAO,IAAI,kBAAkB,GAAG;AAAA,EAClC;AACF;AAEO,MAAM,2BAA2B,qBAAO;AAAA,EAC7C,aAAoB,OAAO,QAAmD;AAC5E,UAAM,SAAS,OAAO;AACtB,UAAM,OAAO;AACb,UAAM,aAAa,QAAQ,SAAS,IAAI;AACxC,UAAM,MAAiB;AAAA,MACrB,MAAM,GAAG;AAAA,MACT;AAAA,MACA,SAAS,UAAM,8CAA2B,QAAQ,UAAU;AAAA,IAC9D;AACA,WAAO,IAAI,mBAAmB,GAAG;AAAA,EACnC;AACF;AAEO,MAAM,qBAAqB,iCAAmB;AAAA,EACnD,aAAoB,OAAO,YAAoB,QAAuD;AACpG,UAAM,cAAc,MAAM,kBAAkB,OAAO,OAAO,KAAK;AAC/D,UAAM,eAAe,MAAM,mBAAmB,OAAO,OAAO,MAAM;AAElE,UAAM,aAAa,QAAQ,SAAS,UAAU;AAC9C,UAAM,OAAO,IAAI,aAAa;AAAA,MAC5B;AAAA,IACF,CAAC;AAED,SAAK,QAAQ,WAAW;AACxB,SAAK,QAAQ,YAAY;AAEzB,WAAO;AAAA,EACT;AACF;AAEO,MAAM,sBAAsB,iCAAmB;AAAA,EACpD,aAAoB,OAAO,SAAyE;AAClG,UAAM,gBAAgB,MAAM,gBAAAA,QAAS,IAAI,OAAO,QAAQ,OAAO,GAAG,OAAO,CAAC,YAAY,MAAM,MAAM;AAChG,YAAM,MAAM,MAAM,aAAa,OAAO,YAAY,MAAM;AACxD,aAAO,IAAI,QAAQ,UAAU;AAAA,IAC/B,CAAC;AAED,UAAM,OAAO,IAAI,cAAc;AAAA,MAC7B,YAAY,QAAQ,SAAS,SAAS;AAAA,IACxC,CAAC;AAED,SAAK,QAAQ,GAAG,aAAa;AAC7B,WAAO;AAAA,EACT;AACF;",
6
- "names": ["bluebird"]
7
- }