@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.
- package/.turbo/turbo-build.log +9 -9
- package/dist/api/bot-body.js.map +2 -2
- package/dist/api/client.js +14 -28
- package/dist/api/client.js.map +3 -3
- package/dist/api/find-previous-version.js.map +1 -1
- package/dist/api/index.js +23 -0
- package/dist/api/index.js.map +7 -0
- package/dist/api/interface-body.js +25 -10
- package/dist/api/interface-body.js.map +2 -2
- package/dist/code-generation/bot-implementation/bot-implementation.js +92 -0
- package/dist/code-generation/bot-implementation/bot-implementation.js.map +7 -0
- package/dist/code-generation/{integration-schemas → bot-implementation/bot-typings}/events-module.js +15 -22
- package/dist/code-generation/bot-implementation/bot-typings/events-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js +96 -0
- package/dist/code-generation/bot-implementation/bot-typings/index.js.map +7 -0
- package/dist/code-generation/{integration-schemas → bot-implementation/bot-typings}/states-module.js +17 -22
- package/dist/code-generation/bot-implementation/bot-typings/states-module.js.map +7 -0
- package/dist/code-generation/bot-implementation/index.js +56 -0
- package/dist/code-generation/bot-implementation/index.js.map +7 -0
- package/dist/code-generation/{const.js → consts.js} +15 -5
- package/dist/code-generation/consts.js.map +7 -0
- package/dist/code-generation/generators.js +37 -7
- package/dist/code-generation/generators.js.map +2 -2
- package/dist/code-generation/index.js +15 -105
- package/dist/code-generation/index.js.map +3 -3
- package/dist/code-generation/integration-implementation/index.js +66 -0
- package/dist/code-generation/integration-implementation/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js +110 -0
- package/dist/code-generation/integration-implementation/integration-implementation.js.map +7 -0
- package/dist/code-generation/{integration-secret.js → integration-implementation/integration-secret.js} +17 -7
- package/dist/code-generation/integration-implementation/integration-secret.js.map +7 -0
- package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/actions-module.js +28 -40
- package/dist/code-generation/integration-implementation/integration-typings/actions-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js +103 -0
- package/dist/code-generation/integration-implementation/integration-typings/channels-module.js.map +7 -0
- package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/configuration-module.js +18 -20
- package/dist/code-generation/integration-implementation/integration-typings/configuration-module.js.map +7 -0
- package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/configurations-module.js +21 -27
- package/dist/code-generation/integration-implementation/integration-typings/configurations-module.js.map +7 -0
- package/dist/code-generation/{integration-schemas → integration-implementation/integration-typings}/entities-module.js +15 -22
- package/dist/code-generation/integration-implementation/integration-typings/entities-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js +59 -0
- package/dist/code-generation/integration-implementation/integration-typings/events-module.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js +128 -0
- package/dist/code-generation/integration-implementation/integration-typings/index.js.map +7 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js +60 -0
- package/dist/code-generation/integration-implementation/integration-typings/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/index.js +81 -0
- package/dist/code-generation/integration-package/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js +84 -0
- package/dist/code-generation/integration-package/integration-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js +103 -0
- package/dist/code-generation/integration-package/integration-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js +58 -0
- package/dist/code-generation/integration-package/integration-package-definition/configuration-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js +66 -0
- package/dist/code-generation/integration-package/integration-package-definition/configurations-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js +59 -0
- package/dist/code-generation/integration-package/integration-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js +62 -0
- package/dist/code-generation/integration-package/integration-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js +136 -0
- package/dist/code-generation/integration-package/integration-package-definition/index.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js +62 -0
- package/dist/code-generation/integration-package/integration-package-definition/states-module.js.map +7 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js +17 -0
- package/dist/code-generation/integration-package/integration-package-definition/typings.js.map +7 -0
- package/dist/code-generation/interface-package/index.js +81 -0
- package/dist/code-generation/interface-package/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js +84 -0
- package/dist/code-generation/interface-package/interface-package-definition/actions-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js +94 -0
- package/dist/code-generation/interface-package/interface-package-definition/channels-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js +59 -0
- package/dist/code-generation/interface-package/interface-package-definition/entities-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js +62 -0
- package/dist/code-generation/interface-package/interface-package-definition/events-module.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js +100 -0
- package/dist/code-generation/interface-package/interface-package-definition/index.js.map +7 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js +17 -0
- package/dist/code-generation/interface-package/interface-package-definition/typings.js.map +7 -0
- package/dist/code-generation/module.js +60 -16
- package/dist/code-generation/module.js.map +2 -2
- package/dist/code-generation/strings.js +5 -2
- package/dist/code-generation/strings.js.map +2 -2
- package/dist/code-generation/typings.js.map +1 -1
- package/dist/command-implementations/add-command.js +102 -91
- package/dist/command-implementations/add-command.js.map +3 -3
- package/dist/command-implementations/bundle-command.js +16 -9
- package/dist/command-implementations/bundle-command.js.map +2 -2
- package/dist/command-implementations/deploy-command.js +27 -19
- package/dist/command-implementations/deploy-command.js.map +2 -2
- package/dist/command-implementations/dev-command.js +15 -12
- package/dist/command-implementations/dev-command.js.map +2 -2
- package/dist/command-implementations/gen-command.js +31 -12
- package/dist/command-implementations/gen-command.js.map +3 -3
- package/dist/command-implementations/init-command.js +2 -2
- package/dist/command-implementations/init-command.js.map +2 -2
- package/dist/command-implementations/integration-commands.js +5 -5
- package/dist/command-implementations/integration-commands.js.map +2 -2
- package/dist/command-implementations/interface-commands.js +5 -5
- package/dist/command-implementations/interface-commands.js.map +2 -2
- package/dist/command-implementations/lint-command.js +3 -1
- package/dist/command-implementations/lint-command.js.map +3 -3
- package/dist/command-implementations/project-command.js +40 -23
- package/dist/command-implementations/project-command.js.map +3 -3
- package/dist/command-implementations/read-command.js +0 -5
- package/dist/command-implementations/read-command.js.map +2 -2
- package/dist/config.js +22 -7
- package/dist/config.js.map +2 -2
- package/dist/consts.js +15 -6
- package/dist/consts.js.map +2 -2
- package/dist/errors.js +19 -11
- package/dist/errors.js.map +2 -2
- package/dist/logger/index.js +4 -2
- package/dist/logger/index.js.map +2 -2
- package/dist/{integration-ref.js → package-ref.js} +11 -11
- package/dist/package-ref.js.map +7 -0
- package/dist/{integration-ref.test.js → package-ref.test.js} +18 -18
- package/dist/package-ref.test.js.map +7 -0
- package/dist/sdk/index.js +21 -0
- package/dist/sdk/index.js.map +7 -0
- package/dist/sdk/resolve-bot-interfaces.js +38 -0
- package/dist/sdk/resolve-bot-interfaces.js.map +7 -0
- package/dist/sdk/resolve-integration-interfaces.js +148 -0
- package/dist/sdk/resolve-integration-interfaces.js.map +7 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +2 -2
- package/dist/utils/path-utils.js +25 -8
- package/dist/utils/path-utils.js.map +3 -3
- package/dist/utils/path-utils.test.js +69 -0
- package/dist/utils/path-utils.test.js.map +7 -0
- package/dist/utils/record-utils.js +25 -0
- package/dist/utils/record-utils.js.map +3 -3
- package/dist/utils/schema-utils.js +11 -0
- package/dist/utils/schema-utils.js.map +2 -2
- package/dist/utils/schema-utils.test.js +51 -0
- package/dist/utils/schema-utils.test.js.map +7 -0
- package/dist/utils/template-utils.js +47 -0
- package/dist/utils/template-utils.js.map +7 -0
- package/dist/utils/type-utils.js.map +1 -1
- package/e2e/index.ts +2 -0
- package/e2e/tests/install-package.ts +163 -0
- package/e2e/utils.ts +25 -2
- package/package.json +5 -4
- package/templates/empty-bot/.botpress/implementation/index.ts +41 -0
- package/templates/empty-bot/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/index.ts +17 -0
- package/templates/empty-bot/.botpress/implementation/typings/integrations/index.ts +6 -0
- package/templates/empty-bot/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-bot/.botpress/index.ts +1 -0
- package/templates/empty-bot/bot.definition.ts +2 -0
- package/templates/{echo-bot → empty-bot}/package.json +2 -2
- package/templates/empty-bot/src/index.ts +5 -0
- package/templates/empty-integration/.botpress/implementation/index.ts +9 -37
- package/templates/empty-integration/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/empty-integration/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/empty-integration/.botpress/implementation/typings/index.ts +31 -0
- package/templates/empty-integration/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/empty-integration/.botpress/secrets/index.ts +2 -2
- package/templates/empty-integration/package.json +1 -1
- package/templates/hello-world/.botpress/implementation/index.ts +9 -37
- package/templates/hello-world/.botpress/implementation/{actions → typings/actions}/helloWorld/index.ts +2 -2
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/input.ts +5 -0
- package/templates/hello-world/.botpress/implementation/typings/actions/helloWorld/output.ts +5 -0
- package/templates/hello-world/.botpress/implementation/{actions → typings/actions}/index.ts +2 -2
- package/templates/hello-world/.botpress/implementation/typings/channels/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/configuration/index.ts +2 -0
- package/templates/hello-world/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/hello-world/.botpress/implementation/typings/index.ts +31 -0
- package/templates/hello-world/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/hello-world/.botpress/secrets/index.ts +2 -2
- package/templates/hello-world/package.json +1 -1
- package/templates/webhook-message/.botpress/implementation/index.ts +9 -37
- package/templates/webhook-message/.botpress/implementation/typings/actions/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/index.ts +2 -2
- package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/webhook/index.ts +2 -2
- package/templates/webhook-message/.botpress/implementation/{channels → typings/channels}/webhook/messages/index.ts +2 -2
- package/templates/webhook-message/.botpress/implementation/typings/channels/webhook/messages/text.ts +5 -0
- package/templates/webhook-message/.botpress/implementation/typings/configuration/index.ts +8 -0
- package/templates/webhook-message/.botpress/implementation/typings/configurations/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/entities/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/events/index.ts +6 -0
- package/templates/webhook-message/.botpress/implementation/typings/index.ts +31 -0
- package/templates/webhook-message/.botpress/implementation/typings/states/index.ts +6 -0
- package/templates/webhook-message/.botpress/secrets/index.ts +2 -2
- package/templates/webhook-message/package.json +1 -1
- package/dist/code-generation/const.js.map +0 -7
- package/dist/code-generation/integration-implementation.js +0 -192
- package/dist/code-generation/integration-implementation.js.map +0 -7
- package/dist/code-generation/integration-instance.js +0 -185
- package/dist/code-generation/integration-instance.js.map +0 -7
- package/dist/code-generation/integration-schemas/actions-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/channels-module.js +0 -117
- package/dist/code-generation/integration-schemas/channels-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/configuration-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/configurations-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/entities-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/events-module.js.map +0 -7
- package/dist/code-generation/integration-schemas/states-module.js.map +0 -7
- package/dist/code-generation/integration-secret.js.map +0 -7
- package/dist/code-generation/map-integration.js +0 -76
- package/dist/code-generation/map-integration.js.map +0 -7
- package/dist/integration-ref.js.map +0 -7
- package/dist/integration-ref.test.js.map +0 -7
- package/templates/echo-bot/src/index.ts +0 -30
- package/templates/empty-integration/.botpress/implementation/actions/index.ts +0 -6
- package/templates/empty-integration/.botpress/implementation/channels/index.ts +0 -6
- package/templates/empty-integration/.botpress/implementation/configuration/index.ts +0 -10
- package/templates/empty-integration/.botpress/implementation/configurations/index.ts +0 -6
- package/templates/empty-integration/.botpress/implementation/entities/index.ts +0 -6
- package/templates/empty-integration/.botpress/implementation/events/index.ts +0 -6
- package/templates/empty-integration/.botpress/implementation/states/index.ts +0 -6
- package/templates/hello-world/.botpress/implementation/actions/helloWorld/input.ts +0 -10
- package/templates/hello-world/.botpress/implementation/actions/helloWorld/output.ts +0 -10
- package/templates/hello-world/.botpress/implementation/channels/index.ts +0 -6
- package/templates/hello-world/.botpress/implementation/configuration/index.ts +0 -10
- package/templates/hello-world/.botpress/implementation/configurations/index.ts +0 -6
- package/templates/hello-world/.botpress/implementation/entities/index.ts +0 -6
- package/templates/hello-world/.botpress/implementation/events/index.ts +0 -6
- package/templates/hello-world/.botpress/implementation/states/index.ts +0 -6
- package/templates/webhook-message/.botpress/implementation/actions/index.ts +0 -6
- package/templates/webhook-message/.botpress/implementation/channels/webhook/messages/text.ts +0 -10
- package/templates/webhook-message/.botpress/implementation/configuration/index.ts +0 -13
- package/templates/webhook-message/.botpress/implementation/configurations/index.ts +0 -6
- package/templates/webhook-message/.botpress/implementation/entities/index.ts +0 -6
- package/templates/webhook-message/.botpress/implementation/events/index.ts +0 -6
- package/templates/webhook-message/.botpress/implementation/states/index.ts +0 -6
- /package/templates/{echo-bot → empty-bot}/tsconfig.json +0 -0
|
@@ -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
|
+
}
|
|
@@ -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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB;AACvB,mBAA6C;AAC7C,wBAAoC;AACpC,4BAA8B;AAC9B,6BAA+B;AAC/B,kCAA2C;AAC3C,mCAAqC;AACrC,6BAA+B;AAC/B,2BAA6B;AAC7B,2BAA6B;AAC7B,oBAAkC;AAG3B,MAAM,uCAAuC,qBAAO;AAAA,EAsDjD,YACE,cACA,sBACA,uBACA,gBACA,iBACA,eACA,eACA,iBACR,KACA;AACA,UAAM,GAAG;AAVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,EAIV;AAAA,EAjEA,aAAoB,OAAO,aAAmF;AAC5G,UAAM,EAAE,KAAK,IAAI;AAEjB,UAAM,sBAAsB,MAAM,uDAA2B,OAAO,YAAY,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC/G,wBAAoB,QAAQ,eAAe;AAE3C,UAAM,uBAAuB,MAAM,kDAAqB,OAAO,YAAY,kBAAkB,CAAC,CAAC;AAC/F,yBAAqB,QAAQ,gBAAgB;AAE7C,UAAM,gBAAgB,MAAM,oCAAc,OAAO,YAAY,WAAW,CAAC,CAAC;AAC1E,kBAAc,QAAQ,SAAS;AAE/B,UAAM,iBAAiB,MAAM,sCAAe,OAAO,YAAY,YAAY,CAAC,CAAC;AAC7E,mBAAe,QAAQ,UAAU;AAEjC,UAAM,eAAe,MAAM,kCAAa,OAAO,YAAY,UAAU,CAAC,CAAC;AACvE,iBAAa,QAAQ,QAAQ;AAE7B,UAAM,eAAe,MAAM,kCAAa,OAAO,YAAY,UAAU,CAAC,CAAC;AACvE,iBAAa,QAAQ,QAAQ;AAE7B,UAAM,iBAAiB,MAAM,sCAAe,OAAO,YAAY,YAAY,CAAC,CAAC;AAC7E,mBAAe,QAAQ,UAAU;AAEjC,UAAM,aAAa,oBAAO,GAAG,WAAW,IAAI;AAE5C,UAAM,OAAO,IAAI;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAEA,SAAK,QAAQ,mBAAmB;AAChC,SAAK,QAAQ,oBAAoB;AACjC,SAAK,QAAQ,aAAa;AAC1B,SAAK,QAAQ,cAAc;AAC3B,SAAK,QAAQ,YAAY;AACzB,SAAK,QAAQ,YAAY;AACzB,SAAK,QAAQ,cAAc;AAE3B,WAAO;AAAA,EACT;AAAA,EAgBA,IAAoB,UAAkB;AACpC,UAAM;AAAA,MACJ,sBAAsB;AAAA,MACtB,uBAAuB;AAAA,MACvB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB,IAAI;AAEJ,UAAM,sBAAsB,oBAAoB,OAAO,IAAI;AAC3D,UAAM,uBAAuB,qBAAqB,OAAO,IAAI;AAC7D,UAAM,gBAAgB,cAAc,OAAO,IAAI;AAC/C,UAAM,iBAAiB,eAAe,OAAO,IAAI;AACjD,UAAM,eAAe,aAAa,OAAO,IAAI;AAC7C,UAAM,eAAe,aAAa,OAAO,IAAI;AAC7C,UAAM,iBAAiB,eAAe,OAAO,IAAI;AAEjD,UAAM,EAAE,MAAM,SAAS,GAAG,IAAI;AAC9B,UAAM,YAAY,oBAAO,GAAG,WAAW,IAAI;AAC3C,UAAM,YAAY,GAAG;AACrB,UAAM,aAAa,GAAG;AAEtB,UAAM,gBAAgB,OAAO,OAAO,SAAS,IAAI;AAEjD,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,oBAAoB,oBAAoB,gBAAgB;AAAA,MACxD,oBAAoB,qBAAqB,gBAAgB;AAAA,MACzD,oBAAoB,cAAc,gBAAgB;AAAA,MAClD,oBAAoB,eAAe,gBAAgB;AAAA,MACnD,oBAAoB,aAAa,gBAAgB;AAAA,MACjD,oBAAoB,aAAa,gBAAgB;AAAA,MACjD,oBAAoB,eAAe,gBAAgB;AAAA,MACnD,eAAe,oBAAoB,gBAAgB;AAAA,MACnD,eAAe,qBAAqB,gBAAgB;AAAA,MACpD,eAAe,cAAc,gBAAgB;AAAA,MAC7C,eAAe,eAAe,gBAAgB;AAAA,MAC9C,eAAe,aAAa,gBAAgB;AAAA,MAC5C,eAAe,aAAa,gBAAgB;AAAA,MAC5C,eAAe,eAAe,gBAAgB;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA,cAAc,oBAAoB,QAAQ,oBAAoB;AAAA,MAC9D;AAAA,MACA,iBAAiB,qBAAqB,QAAQ,qBAAqB;AAAA,MACnE;AAAA,MACA,gBAAgB,qBAAqB,QAAQ,qBAAqB;AAAA,MAClE;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,oBAAoB,oBAAoB,QAAQ,oBAAoB;AAAA,MACpE,qBAAqB,qBAAqB,QAAQ,qBAAqB;AAAA,MACvE,cAAc,cAAc,QAAQ,cAAc;AAAA,MAClD,eAAe,eAAe,QAAQ,eAAe;AAAA,MACrD,aAAa,aAAa,QAAQ,aAAa;AAAA,MAC/C,aAAa,aAAa,QAAQ,aAAa;AAAA,MAC/C,eAAW,uCAAoB,KAAK,aAAa,IAAI;AAAA,MACrD,eAAe,eAAe,QAAQ,eAAe;AAAA,MACrD;AAAA,MACA;AAAA,MACA,gBAAgB,6CAA6C;AAAA,MAC7D;AAAA,MACA,6BAA6B;AAAA,MAC7B,gCAAgC;AAAA,MAChC,0BAA0B;AAAA,MAC1B;AAAA,MACA;AAAA,MACA,yCAAyC;AAAA,MACzC,qCAAqC;AAAA,MACrC;AAAA,MACA,yBAAyB;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,WAAO,GAAG;AAAA,EAAqB,MAAM,KAAK,IAAI;AAAA,EAChD;AACF;",
|
|
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
|
-
}
|