@activepieces/piece-chatling 0.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/README.md +7 -0
- package/package.json +26 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +62 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/create-chatbot.d.ts +4 -0
- package/src/lib/actions/create-chatbot.js +35 -0
- package/src/lib/actions/create-chatbot.js.map +1 -0
- package/src/lib/actions/send-message.d.ts +10 -0
- package/src/lib/actions/send-message.js +61 -0
- package/src/lib/actions/send-message.js.map +1 -0
- package/src/lib/common/index.d.ts +5 -0
- package/src/lib/common/index.js +24 -0
- package/src/lib/common/index.js.map +1 -0
- package/src/lib/common/props.d.ts +6 -0
- package/src/lib/common/props.js +195 -0
- package/src/lib/common/props.js.map +1 -0
- package/src/lib/triggers/new-contact.d.ts +8 -0
- package/src/lib/triggers/new-contact.js +77 -0
- package/src/lib/triggers/new-contact.js.map +1 -0
- package/src/lib/triggers/new-conversation.d.ts +8 -0
- package/src/lib/triggers/new-conversation.js +82 -0
- package/src/lib/triggers/new-conversation.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@activepieces/piece-chatling",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "commonjs",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"types": "./src/index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@sinclair/typebox": "0.34.11",
|
|
9
|
+
"axios": "1.13.1",
|
|
10
|
+
"axios-retry": "4.4.1",
|
|
11
|
+
"dayjs": "1.11.9",
|
|
12
|
+
"deepmerge-ts": "7.1.0",
|
|
13
|
+
"mime-types": "2.1.35",
|
|
14
|
+
"nanoid": "3.3.8",
|
|
15
|
+
"semver": "7.6.0",
|
|
16
|
+
"socket.io-client": "4.8.1",
|
|
17
|
+
"tslib": "^2.3.0",
|
|
18
|
+
"zod": "4.1.13",
|
|
19
|
+
"@activepieces/pieces-common": "0.10.1",
|
|
20
|
+
"@activepieces/pieces-framework": "0.22.2",
|
|
21
|
+
"@activepieces/shared": "0.30.1"
|
|
22
|
+
},
|
|
23
|
+
"resolutions": {
|
|
24
|
+
"rollup": "npm:@rollup/wasm-node"
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chatling = exports.chatlingAuth = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const shared_1 = require("@activepieces/shared");
|
|
8
|
+
const common_1 = require("./lib/common");
|
|
9
|
+
const send_message_1 = require("./lib/actions/send-message");
|
|
10
|
+
const create_chatbot_1 = require("./lib/actions/create-chatbot");
|
|
11
|
+
const new_conversation_1 = require("./lib/triggers/new-conversation");
|
|
12
|
+
const new_contact_1 = require("./lib/triggers/new-contact");
|
|
13
|
+
const markdownDescription = `
|
|
14
|
+
To obtain your API key:
|
|
15
|
+
|
|
16
|
+
1. Go to your [Chatling account](https://app.chatling.ai)
|
|
17
|
+
2. Open **Project Settings**
|
|
18
|
+
3. Click the **API Keys** tab
|
|
19
|
+
4. Press **New API key** and generate a new key
|
|
20
|
+
5. Copy the key (it's only shown once)
|
|
21
|
+
`;
|
|
22
|
+
exports.chatlingAuth = pieces_framework_1.PieceAuth.SecretText({
|
|
23
|
+
displayName: 'API Key',
|
|
24
|
+
description: markdownDescription,
|
|
25
|
+
required: true,
|
|
26
|
+
validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
27
|
+
try {
|
|
28
|
+
yield (0, common_1.makeRequest)(auth, pieces_common_1.HttpMethod.GET, '/project/settings');
|
|
29
|
+
return { valid: true };
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return {
|
|
33
|
+
valid: false,
|
|
34
|
+
error: 'Invalid API key',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
exports.chatling = (0, pieces_framework_1.createPiece)({
|
|
40
|
+
displayName: 'Chatling',
|
|
41
|
+
description: 'Build AI chatbots trained on your data.',
|
|
42
|
+
auth: exports.chatlingAuth,
|
|
43
|
+
minimumSupportedRelease: '0.36.1',
|
|
44
|
+
logoUrl: 'https://cdn.activepieces.com/pieces/chatling.png',
|
|
45
|
+
categories: [shared_1.PieceCategory.ARTIFICIAL_INTELLIGENCE],
|
|
46
|
+
authors: ['onyedikachi-david'],
|
|
47
|
+
actions: [
|
|
48
|
+
send_message_1.sendMessage,
|
|
49
|
+
create_chatbot_1.createChatbot,
|
|
50
|
+
(0, pieces_common_1.createCustomApiCallAction)({
|
|
51
|
+
auth: exports.chatlingAuth,
|
|
52
|
+
baseUrl: () => 'https://api.chatling.ai/v2',
|
|
53
|
+
authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
return ({
|
|
55
|
+
Authorization: `Bearer ${auth.secret_text}`,
|
|
56
|
+
});
|
|
57
|
+
}),
|
|
58
|
+
}),
|
|
59
|
+
],
|
|
60
|
+
triggers: [new_conversation_1.newConversation, new_contact_1.newContact],
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/chatling/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAGqC;AACrC,qEAAwE;AACxE,iDAAqD;AACrD,yCAA2C;AAC3C,6DAAyD;AACzD,iEAA6D;AAC7D,sEAAkE;AAClE,4DAAwD;AAExD,MAAM,mBAAmB,GAAG;;;;;;;;CAQ3B,CAAC;AAEW,QAAA,YAAY,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,oBAAW,EAAC,IAAI,EAAE,0BAAU,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,iBAAiB;aACzB,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,oBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,kDAAkD;IAC3D,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,CAAC,mBAAmB,CAAC;IAC9B,OAAO,EAAE;QACP,0BAAW;QACX,8BAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAE,oBAAY;YAClB,OAAO,EAAE,GAAG,EAAE,CAAC,4BAA4B;YAC3C,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,aAAa,EAAE,UAAW,IAAgC,CAAC,WAAW,EAAE;iBACzE,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,QAAQ,EAAE,CAAC,kCAAe,EAAE,wBAAU,CAAC;CACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const createChatbot: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
3
|
+
template_id: import("@activepieces/pieces-framework").DropdownProperty<number, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createChatbot = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const props_1 = require("../common/props");
|
|
10
|
+
exports.createChatbot = (0, pieces_framework_1.createAction)({
|
|
11
|
+
auth: index_1.chatlingAuth,
|
|
12
|
+
name: 'create_chatbot',
|
|
13
|
+
displayName: 'Create Chatbot',
|
|
14
|
+
description: 'Create a new chatbot using a template or from scratch.',
|
|
15
|
+
props: {
|
|
16
|
+
name: pieces_framework_1.Property.ShortText({
|
|
17
|
+
displayName: 'Name',
|
|
18
|
+
description: 'The name of the chatbot',
|
|
19
|
+
required: true,
|
|
20
|
+
}),
|
|
21
|
+
template_id: props_1.templateIdDropdown,
|
|
22
|
+
},
|
|
23
|
+
run(context) {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const { name, template_id } = context.propsValue;
|
|
26
|
+
const apiKey = context.auth.secret_text;
|
|
27
|
+
const body = { name };
|
|
28
|
+
if (template_id)
|
|
29
|
+
body['template_id'] = template_id;
|
|
30
|
+
const response = yield (0, common_1.makeRequest)(apiKey, pieces_common_1.HttpMethod.POST, '/chatbots', body);
|
|
31
|
+
return response;
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=create-chatbot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-chatbot.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/actions/create-chatbot.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAAwE;AACxE,uCAA2C;AAC3C,sCAAwC;AACxC,2CAAqD;AAExC,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,oBAAY;IAClB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,wDAAwD;IACrE,KAAK,EAAE;QACL,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,0BAAkB;KAChC;IAEK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACjD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAExC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;YAE/C,IAAI,WAAW;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,MAAM,EACN,0BAAU,CAAC,IAAI,EACf,WAAW,EACX,IAAI,CACL,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const sendMessage: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
2
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
message: import("@activepieces/pieces-framework").LongTextProperty<true>;
|
|
4
|
+
ai_model_id: import("@activepieces/pieces-framework").DropdownProperty<number, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
5
|
+
conversation_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
contact_id: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
7
|
+
language_id: import("@activepieces/pieces-framework").DropdownProperty<number, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
8
|
+
temperature: import("@activepieces/pieces-framework").NumberProperty<false>;
|
|
9
|
+
instructions: import("@activepieces/pieces-framework").ArrayProperty<false>;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendMessage = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const props_1 = require("../common/props");
|
|
10
|
+
exports.sendMessage = (0, pieces_framework_1.createAction)({
|
|
11
|
+
auth: index_1.chatlingAuth,
|
|
12
|
+
name: 'send_message',
|
|
13
|
+
displayName: 'Send Message',
|
|
14
|
+
description: 'Send a message to the chatbot and receive an AI response.',
|
|
15
|
+
props: {
|
|
16
|
+
chatbotId: props_1.chatbotIdDropdown,
|
|
17
|
+
message: pieces_framework_1.Property.LongText({
|
|
18
|
+
displayName: 'Message',
|
|
19
|
+
description: 'The message to send to the AI',
|
|
20
|
+
required: true,
|
|
21
|
+
}),
|
|
22
|
+
ai_model_id: props_1.aiModelIdDropdown,
|
|
23
|
+
conversation_id: props_1.conversationIdDropdown,
|
|
24
|
+
contact_id: props_1.contactIdDropdown,
|
|
25
|
+
language_id: props_1.languageIdDropdown,
|
|
26
|
+
temperature: pieces_framework_1.Property.Number({
|
|
27
|
+
displayName: 'Temperature',
|
|
28
|
+
description: 'Controls randomness (0 = focused, 1 = creative). Default is 0.',
|
|
29
|
+
required: false,
|
|
30
|
+
defaultValue: 0,
|
|
31
|
+
}),
|
|
32
|
+
instructions: pieces_framework_1.Property.Array({
|
|
33
|
+
displayName: 'Instructions',
|
|
34
|
+
description: 'Additional instructions to tailor the AI response',
|
|
35
|
+
required: false,
|
|
36
|
+
}),
|
|
37
|
+
},
|
|
38
|
+
run(context) {
|
|
39
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const { chatbotId, message, ai_model_id, conversation_id, contact_id, language_id, temperature, instructions, } = context.propsValue;
|
|
41
|
+
const apiKey = context.auth.secret_text;
|
|
42
|
+
const body = {
|
|
43
|
+
message,
|
|
44
|
+
ai_model_id,
|
|
45
|
+
};
|
|
46
|
+
if (conversation_id)
|
|
47
|
+
body['conversation_id'] = conversation_id;
|
|
48
|
+
if (contact_id)
|
|
49
|
+
body['contact_id'] = contact_id;
|
|
50
|
+
if (language_id)
|
|
51
|
+
body['language_id'] = language_id;
|
|
52
|
+
if (temperature !== undefined && temperature !== null)
|
|
53
|
+
body['temperature'] = temperature;
|
|
54
|
+
if (instructions && instructions.length > 0)
|
|
55
|
+
body['instructions'] = instructions;
|
|
56
|
+
const response = yield (0, common_1.makeRequest)(apiKey, pieces_common_1.HttpMethod.POST, `/chatbots/${chatbotId}/ai/kb/chat`, body);
|
|
57
|
+
return response;
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=send-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/actions/send-message.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAAwE;AACxE,uCAA2C;AAC3C,sCAAwC;AACxC,2CAMyB;AAEZ,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,oBAAY;IAClB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,2DAA2D;IACxE,KAAK,EAAE;QACL,SAAS,EAAE,yBAAiB;QAC5B,OAAO,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACzB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,yBAAiB;QAC9B,eAAe,EAAE,8BAAsB;QACvC,UAAU,EAAE,yBAAiB;QAC7B,WAAW,EAAE,0BAAkB;QAC/B,WAAW,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,aAAa;YAC1B,WAAW,EACT,gEAAgE;YAClE,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,KAAK,CAAC;YAC3B,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IAEK,GAAG,CAAC,OAAO;;YACf,MAAM,EACJ,SAAS,EACT,OAAO,EACP,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,GACb,GAAG,OAAO,CAAC,UAAU,CAAC;YAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAExC,MAAM,IAAI,GAA4B;gBACpC,OAAO;gBACP,WAAW;aACZ,CAAC;YAEF,IAAI,eAAe;gBAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,eAAe,CAAC;YAC/D,IAAI,UAAU;gBAAE,IAAI,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;YAChD,IAAI,WAAW;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YACnD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI;gBACnD,IAAI,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;YACpC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;YAEtC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAChC,MAAM,EACN,0BAAU,CAAC,IAAI,EACf,aAAa,SAAS,aAAa,EACnC,IAAI,CACL,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chatlingCommon = void 0;
|
|
4
|
+
exports.makeRequest = makeRequest;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
exports.chatlingCommon = {
|
|
8
|
+
baseUrl: 'https://api.chatling.ai/v2',
|
|
9
|
+
};
|
|
10
|
+
function makeRequest(apiKey, method, path, body) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
13
|
+
method,
|
|
14
|
+
url: `${exports.chatlingCommon.baseUrl}${path}`,
|
|
15
|
+
headers: {
|
|
16
|
+
Authorization: `Bearer ${apiKey}`,
|
|
17
|
+
'Content-Type': 'application/json',
|
|
18
|
+
},
|
|
19
|
+
body,
|
|
20
|
+
});
|
|
21
|
+
return response.body;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/common/index.ts"],"names":[],"mappings":";;;AAMA,kCAiBC;;AAvBD,+DAAqE;AAExD,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF,SAAsB,WAAW,CAC/B,MAAc,EACd,MAAkB,EAClB,IAAY,EACZ,IAAc;;QAEd,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAI;YAC/C,MAAM;YACN,GAAG,EAAE,GAAG,sBAAc,CAAC,OAAO,GAAG,IAAI,EAAE;YACvC,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const chatbotIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
2
|
+
export declare const aiModelIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<number, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
3
|
+
export declare const languageIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<number, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
export declare const contactIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
5
|
+
export declare const templateIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<number, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
export declare const conversationIdDropdown: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.conversationIdDropdown = exports.templateIdDropdown = exports.contactIdDropdown = exports.languageIdDropdown = exports.aiModelIdDropdown = exports.chatbotIdDropdown = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
6
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
7
|
+
const index_1 = require("./index");
|
|
8
|
+
const index_2 = require("../../index");
|
|
9
|
+
exports.chatbotIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
10
|
+
auth: index_2.chatlingAuth,
|
|
11
|
+
displayName: 'Chatbot',
|
|
12
|
+
description: 'Select a chatbot',
|
|
13
|
+
required: true,
|
|
14
|
+
refreshers: [],
|
|
15
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
16
|
+
if (!auth) {
|
|
17
|
+
return {
|
|
18
|
+
disabled: true,
|
|
19
|
+
placeholder: 'Please connect your account first.',
|
|
20
|
+
options: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, '/chatbots');
|
|
24
|
+
const options = response.data.chatbots.map((chatbot) => ({
|
|
25
|
+
label: chatbot.name,
|
|
26
|
+
value: chatbot.id,
|
|
27
|
+
}));
|
|
28
|
+
return {
|
|
29
|
+
disabled: false,
|
|
30
|
+
options,
|
|
31
|
+
};
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
exports.aiModelIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
35
|
+
auth: index_2.chatlingAuth,
|
|
36
|
+
displayName: 'AI Model',
|
|
37
|
+
description: 'Select the AI model to use',
|
|
38
|
+
required: true,
|
|
39
|
+
refreshers: ['chatbotId'],
|
|
40
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, chatbotId }) {
|
|
41
|
+
if (!auth) {
|
|
42
|
+
return {
|
|
43
|
+
disabled: true,
|
|
44
|
+
placeholder: 'Please connect your account first.',
|
|
45
|
+
options: [],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (!chatbotId) {
|
|
49
|
+
return {
|
|
50
|
+
disabled: true,
|
|
51
|
+
placeholder: 'Please select a chatbot first.',
|
|
52
|
+
options: [],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${chatbotId}/ai/kb/models`);
|
|
56
|
+
const options = response.data.models.map((model) => ({
|
|
57
|
+
label: model.name,
|
|
58
|
+
value: model.id,
|
|
59
|
+
}));
|
|
60
|
+
return {
|
|
61
|
+
disabled: false,
|
|
62
|
+
options,
|
|
63
|
+
};
|
|
64
|
+
}),
|
|
65
|
+
});
|
|
66
|
+
exports.languageIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
67
|
+
auth: index_2.chatlingAuth,
|
|
68
|
+
displayName: 'Language',
|
|
69
|
+
description: 'Select the language for the AI response',
|
|
70
|
+
required: false,
|
|
71
|
+
refreshers: ['chatbotId'],
|
|
72
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, chatbotId }) {
|
|
73
|
+
if (!auth) {
|
|
74
|
+
return {
|
|
75
|
+
disabled: true,
|
|
76
|
+
placeholder: 'Please connect your account first.',
|
|
77
|
+
options: [],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (!chatbotId) {
|
|
81
|
+
return {
|
|
82
|
+
disabled: true,
|
|
83
|
+
placeholder: 'Please select a chatbot first.',
|
|
84
|
+
options: [],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${chatbotId}/ai/kb/languages`);
|
|
88
|
+
const options = response.data.languages.map((language) => ({
|
|
89
|
+
label: language.name,
|
|
90
|
+
value: language.id,
|
|
91
|
+
}));
|
|
92
|
+
return {
|
|
93
|
+
disabled: false,
|
|
94
|
+
options,
|
|
95
|
+
};
|
|
96
|
+
}),
|
|
97
|
+
});
|
|
98
|
+
exports.contactIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
99
|
+
auth: index_2.chatlingAuth,
|
|
100
|
+
displayName: 'Contact',
|
|
101
|
+
description: 'Associate the conversation with a contact',
|
|
102
|
+
required: false,
|
|
103
|
+
refreshers: ['chatbotId'],
|
|
104
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, chatbotId }) {
|
|
105
|
+
if (!auth) {
|
|
106
|
+
return {
|
|
107
|
+
disabled: true,
|
|
108
|
+
placeholder: 'Please connect your account first.',
|
|
109
|
+
options: [],
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (!chatbotId) {
|
|
113
|
+
return {
|
|
114
|
+
disabled: true,
|
|
115
|
+
placeholder: 'Please select a chatbot first.',
|
|
116
|
+
options: [],
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${chatbotId}/contacts`);
|
|
120
|
+
const options = response.data.contacts.map((contact) => ({
|
|
121
|
+
label: contact.name || contact.email || contact.id,
|
|
122
|
+
value: contact.id,
|
|
123
|
+
}));
|
|
124
|
+
return {
|
|
125
|
+
disabled: false,
|
|
126
|
+
options,
|
|
127
|
+
};
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
exports.templateIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
131
|
+
auth: index_2.chatlingAuth,
|
|
132
|
+
displayName: 'Template',
|
|
133
|
+
description: 'Use a template to create the chatbot',
|
|
134
|
+
required: false,
|
|
135
|
+
refreshers: [],
|
|
136
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
|
|
137
|
+
if (!auth) {
|
|
138
|
+
return {
|
|
139
|
+
disabled: true,
|
|
140
|
+
placeholder: 'Please connect your account first.',
|
|
141
|
+
options: [],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, '/chatbot-templates');
|
|
145
|
+
const options = response.data.templates.map((template) => ({
|
|
146
|
+
label: template.name,
|
|
147
|
+
value: template.id,
|
|
148
|
+
}));
|
|
149
|
+
return {
|
|
150
|
+
disabled: false,
|
|
151
|
+
options,
|
|
152
|
+
};
|
|
153
|
+
}),
|
|
154
|
+
});
|
|
155
|
+
exports.conversationIdDropdown = pieces_framework_1.Property.Dropdown({
|
|
156
|
+
auth: index_2.chatlingAuth,
|
|
157
|
+
displayName: 'Conversation',
|
|
158
|
+
description: 'Continue an existing conversation',
|
|
159
|
+
required: false,
|
|
160
|
+
refreshers: ['chatbotId'],
|
|
161
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, chatbotId }) {
|
|
162
|
+
if (!auth) {
|
|
163
|
+
return {
|
|
164
|
+
disabled: true,
|
|
165
|
+
placeholder: 'Please connect your account first.',
|
|
166
|
+
options: [],
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (!chatbotId) {
|
|
170
|
+
return {
|
|
171
|
+
disabled: true,
|
|
172
|
+
placeholder: 'Please select a chatbot first.',
|
|
173
|
+
options: [],
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
const response = yield (0, index_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${chatbotId}/conversations`);
|
|
177
|
+
const options = response.data.conversations.map((conv) => {
|
|
178
|
+
var _a;
|
|
179
|
+
const firstUserMsg = (_a = conv.messages) === null || _a === void 0 ? void 0 : _a.find((m) => m.role === 'user');
|
|
180
|
+
const preview = (firstUserMsg === null || firstUserMsg === void 0 ? void 0 : firstUserMsg.text)
|
|
181
|
+
? firstUserMsg.text.substring(0, 50) +
|
|
182
|
+
(firstUserMsg.text.length > 50 ? '...' : '')
|
|
183
|
+
: conv.created_at;
|
|
184
|
+
return {
|
|
185
|
+
label: preview,
|
|
186
|
+
value: conv.id,
|
|
187
|
+
};
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
disabled: false,
|
|
191
|
+
options,
|
|
192
|
+
};
|
|
193
|
+
}),
|
|
194
|
+
});
|
|
195
|
+
//# sourceMappingURL=props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/common/props.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newContact: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
3
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
5
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
7
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newContact = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const props_1 = require("../common/props");
|
|
9
|
+
const common_1 = require("../common");
|
|
10
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
11
|
+
const polling = {
|
|
12
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
13
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
14
|
+
const response = yield (0, common_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${propsValue.chatbotId}/contacts?sort=date_desc`);
|
|
15
|
+
const contacts = response.data.contacts;
|
|
16
|
+
const items = contacts
|
|
17
|
+
.filter((contact) => {
|
|
18
|
+
if (lastFetchEpochMS === 0)
|
|
19
|
+
return true;
|
|
20
|
+
return (0, dayjs_1.default)(contact.created_at).valueOf() > lastFetchEpochMS;
|
|
21
|
+
})
|
|
22
|
+
.map((contact) => ({
|
|
23
|
+
epochMilliSeconds: (0, dayjs_1.default)(contact.created_at).valueOf(),
|
|
24
|
+
data: contact,
|
|
25
|
+
}));
|
|
26
|
+
return items;
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
exports.newContact = (0, pieces_framework_1.createTrigger)({
|
|
30
|
+
auth: index_1.chatlingAuth,
|
|
31
|
+
name: 'new_contact',
|
|
32
|
+
displayName: 'New Contact/Lead',
|
|
33
|
+
description: 'Triggers when a new contact or lead is collected by the chatbot.',
|
|
34
|
+
props: {
|
|
35
|
+
chatbotId: props_1.chatbotIdDropdown,
|
|
36
|
+
},
|
|
37
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
38
|
+
onEnable(context) {
|
|
39
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
41
|
+
auth: context.auth,
|
|
42
|
+
store: context.store,
|
|
43
|
+
propsValue: context.propsValue,
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
onDisable(context) {
|
|
48
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, {
|
|
50
|
+
auth: context.auth,
|
|
51
|
+
store: context.store,
|
|
52
|
+
propsValue: context.propsValue,
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
test(context) {
|
|
57
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
run(context) {
|
|
62
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
sampleData: {
|
|
67
|
+
id: 'contact_abc123',
|
|
68
|
+
name: 'John Doe',
|
|
69
|
+
email: 'john@example.com',
|
|
70
|
+
phone: '+1234567890',
|
|
71
|
+
job_title: 'Product Manager',
|
|
72
|
+
website: 'https://example.com',
|
|
73
|
+
company: 'Acme Inc',
|
|
74
|
+
created_at: '2024-01-15T10:30:00.000Z',
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=new-contact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-contact.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/triggers/new-contact.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,+DAKqC;AACrC,uCAA2C;AAC3C,2CAAoD;AACpD,sCAAwC;AACxC,0DAA0B;AAa1B,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAKhC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,GAAG,EACd,aAAa,UAAU,CAAC,SAAS,0BAA0B,CAC5D,CAAC;QAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;QAExC,MAAM,KAAK,GAAG,QAAQ;aACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,gBAAgB,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,OAAO,IAAA,eAAK,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC;QAChE,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjB,iBAAiB,EAAE,IAAA,eAAK,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YACtD,IAAI,EAAE,OAAO;SACd,CAAC,CAAC,CAAC;QAEN,OAAO,KAAK,CAAC;IACf,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,UAAU,GAAG,IAAA,gCAAa,EAAC;IACtC,IAAI,EAAE,oBAAY;IAClB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,kEAAkE;IAC/E,KAAK,EAAE;QACL,SAAS,EAAE,yBAAiB;KAC7B;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;YACpB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACD,UAAU,EAAE;QACV,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,0BAA0B;KACvC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const newConversation: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
3
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
5
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
|
|
7
|
+
chatbotId: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newConversation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const props_1 = require("../common/props");
|
|
9
|
+
const common_1 = require("../common");
|
|
10
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
11
|
+
const polling = {
|
|
12
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
13
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
14
|
+
const response = yield (0, common_1.makeRequest)(auth.secret_text, pieces_common_1.HttpMethod.GET, `/chatbots/${propsValue.chatbotId}/conversations?sort=date_desc`);
|
|
15
|
+
const conversations = response.data.conversations;
|
|
16
|
+
// Filter by lastFetchEpochMS if not first run
|
|
17
|
+
const items = conversations
|
|
18
|
+
.filter((conv) => {
|
|
19
|
+
if (lastFetchEpochMS === 0)
|
|
20
|
+
return true;
|
|
21
|
+
return (0, dayjs_1.default)(conv.created_at).valueOf() > lastFetchEpochMS;
|
|
22
|
+
})
|
|
23
|
+
.map((conv) => ({
|
|
24
|
+
epochMilliSeconds: (0, dayjs_1.default)(conv.created_at).valueOf(),
|
|
25
|
+
data: conv,
|
|
26
|
+
}));
|
|
27
|
+
return items;
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
exports.newConversation = (0, pieces_framework_1.createTrigger)({
|
|
31
|
+
auth: index_1.chatlingAuth,
|
|
32
|
+
name: 'new_conversation',
|
|
33
|
+
displayName: 'New Conversation',
|
|
34
|
+
description: 'Triggers when a new conversation is started by a customer.',
|
|
35
|
+
props: {
|
|
36
|
+
chatbotId: props_1.chatbotIdDropdown,
|
|
37
|
+
},
|
|
38
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
39
|
+
onEnable(context) {
|
|
40
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
42
|
+
auth: context.auth,
|
|
43
|
+
store: context.store,
|
|
44
|
+
propsValue: context.propsValue,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
onDisable(context) {
|
|
49
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, {
|
|
51
|
+
auth: context.auth,
|
|
52
|
+
store: context.store,
|
|
53
|
+
propsValue: context.propsValue,
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
},
|
|
57
|
+
test(context) {
|
|
58
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
run(context) {
|
|
63
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
sampleData: {
|
|
68
|
+
id: 'conv_abc123',
|
|
69
|
+
contact_id: 'contact_xyz',
|
|
70
|
+
archived: false,
|
|
71
|
+
important: false,
|
|
72
|
+
created_at: '2024-01-15T10:30:00.000Z',
|
|
73
|
+
messages: [
|
|
74
|
+
{
|
|
75
|
+
id: 'msg_1',
|
|
76
|
+
text: 'Hello, I need help with your product.',
|
|
77
|
+
role: 'user',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=new-conversation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-conversation.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/chatling/src/lib/triggers/new-conversation.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,+DAKqC;AACrC,uCAA2C;AAC3C,2CAAoD;AACpD,sCAAwC;AACxC,0DAA0B;AAW1B,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAA+C,EAAE,oDAA1C,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAKhC,IAAI,CAAC,WAAW,EAChB,0BAAU,CAAC,GAAG,EACd,aAAa,UAAU,CAAC,SAAS,+BAA+B,CACjE,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QAElD,8CAA8C;QAC9C,MAAM,KAAK,GAAG,aAAa;aACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,IAAI,gBAAgB,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC;QAC7D,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACd,iBAAiB,EAAE,IAAA,eAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;YACnD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,CAAC;QAEN,OAAO,KAAK,CAAC;IACf,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,gCAAa,EAAC;IAC3C,IAAI,EAAE,oBAAY;IAClB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,4DAA4D;IACzE,KAAK,EAAE;QACL,SAAS,EAAE,yBAAiB;KAC7B;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;YACpB,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KAAA;IACK,IAAI,CAAC,OAAO;;YAChB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACD,UAAU,EAAE;QACV,EAAE,EAAE,aAAa;QACjB,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,0BAA0B;QACtC,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,uCAAuC;gBAC7C,IAAI,EAAE,MAAM;aACb;SACF;KACF;CACF,CAAC,CAAC"}
|