@botonic/plugin-flow-builder 0.46.1 → 0.46.2
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/lib/cjs/action/{ai-agent.d.ts → ai-agent/index.d.ts} +2 -2
- package/lib/{esm/action/ai-agent.js → cjs/action/ai-agent/index.js} +33 -6
- package/lib/cjs/action/ai-agent/index.js.map +1 -0
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.d.ts +16 -0
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js +12 -0
- package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js.map +1 -0
- package/lib/cjs/content-fields/flow-ai-agent.d.ts +2 -1
- package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.d.ts +1 -0
- package/lib/cjs/content-fields/flow-button.js +1 -0
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-text.js +1 -0
- package/lib/cjs/content-fields/flow-text.js.map +1 -1
- package/lib/cjs/types.d.ts +2 -1
- package/lib/esm/action/{ai-agent.d.ts → ai-agent/index.d.ts} +2 -2
- package/lib/{cjs/action/ai-agent.js → esm/action/ai-agent/index.js} +33 -6
- package/lib/esm/action/ai-agent/index.js.map +1 -0
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.d.ts +16 -0
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js +12 -0
- package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js.map +1 -0
- package/lib/esm/content-fields/flow-ai-agent.d.ts +2 -1
- package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +1 -0
- package/lib/esm/content-fields/flow-button.js +1 -0
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-text.js +1 -0
- package/lib/esm/content-fields/flow-text.js.map +1 -1
- package/lib/esm/types.d.ts +2 -1
- package/package.json +1 -1
- package/src/action/{ai-agent.ts → ai-agent/index.ts} +45 -9
- package/src/action/ai-agent/structured-output/flow-builder-content.ts +17 -0
- package/src/content-fields/flow-ai-agent.tsx +17 -14
- package/src/content-fields/flow-button.tsx +2 -0
- package/src/content-fields/flow-text.tsx +1 -0
- package/src/types.ts +2 -2
- package/lib/cjs/action/ai-agent.js.map +0 -1
- package/lib/esm/action/ai-agent.js.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type FlowContent } from '
|
|
2
|
-
import type { FlowBuilderContext } from '
|
|
1
|
+
import { type FlowContent } from '../../content-fields';
|
|
2
|
+
import type { FlowBuilderContext } from '../index';
|
|
3
3
|
export declare function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }: FlowBuilderContext): Promise<FlowContent[]>;
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getContentsByAiAgent = getContentsByAiAgent;
|
|
4
4
|
const core_1 = require("@botonic/core");
|
|
5
|
-
const content_fields_1 = require("
|
|
6
|
-
const helpers_1 = require("
|
|
7
|
-
const tracking_1 = require("
|
|
5
|
+
const content_fields_1 = require("../../content-fields");
|
|
6
|
+
const helpers_1 = require("../../helpers");
|
|
7
|
+
const tracking_1 = require("../../tracking");
|
|
8
|
+
const flow_builder_content_1 = require("./structured-output/flow-builder-content");
|
|
8
9
|
async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
9
10
|
const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
|
|
10
11
|
const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
|
|
@@ -30,6 +31,7 @@ async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
30
31
|
activeTools: aiAgentContent.activeTools,
|
|
31
32
|
inputGuardrailRules: activeInputGuardrailRules,
|
|
32
33
|
sourceIds: aiAgentContent.sources?.map(source => source.id),
|
|
34
|
+
outputMessagesSchemas: [flow_builder_content_1.FlowBuilderContentSchema],
|
|
33
35
|
});
|
|
34
36
|
if (!aiAgentResponse) {
|
|
35
37
|
return [];
|
|
@@ -38,8 +40,33 @@ async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
38
40
|
if (aiAgentResponse.exit) {
|
|
39
41
|
return [];
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
const regularMessages = [];
|
|
44
|
+
const flowBuilderContentMessages = [];
|
|
45
|
+
for (const message of aiAgentResponse.messages) {
|
|
46
|
+
if (message.type === 'flowBuilderContent') {
|
|
47
|
+
flowBuilderContentMessages.push(message);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
regularMessages.push(message);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const result = [];
|
|
54
|
+
if (regularMessages.length > 0) {
|
|
55
|
+
aiAgentContent.responses = regularMessages;
|
|
56
|
+
result.push(...contents);
|
|
57
|
+
}
|
|
58
|
+
for (const fbMessage of flowBuilderContentMessages) {
|
|
59
|
+
try {
|
|
60
|
+
const node = cmsApi.getNodeByContentID(fbMessage.contentId);
|
|
61
|
+
const targetNode = cmsApi.getNodeById(node.id);
|
|
62
|
+
const flowContents = await flowBuilderPlugin.getContentsByNode(targetNode);
|
|
63
|
+
result.push(...flowContents);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.warn(`Could not resolve flowBuilderContent with contentId "${fbMessage.contentId}":`, error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
43
70
|
}
|
|
44
71
|
async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
|
|
45
72
|
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
@@ -64,4 +91,4 @@ async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
|
|
|
64
91
|
const { action, ...eventArgs } = event;
|
|
65
92
|
await (0, tracking_1.trackEvent)(request, action, eventArgs);
|
|
66
93
|
}
|
|
67
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/action/ai-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BaseMessage } from '@botonic/core';
|
|
2
|
+
import z from 'zod';
|
|
3
|
+
export interface FlowBuilderContentMessage extends BaseMessage<'flowBuilderContent'> {
|
|
4
|
+
type: 'flowBuilderContent';
|
|
5
|
+
contentId: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const FlowBuilderContentSchema: z.ZodObject<{
|
|
8
|
+
type: z.ZodEnum<["flowBuilderContent"]>;
|
|
9
|
+
contentId: z.ZodString;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
type: "flowBuilderContent";
|
|
12
|
+
contentId: string;
|
|
13
|
+
}, {
|
|
14
|
+
type: "flowBuilderContent";
|
|
15
|
+
contentId: string;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowBuilderContentSchema = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
6
|
+
exports.FlowBuilderContentSchema = zod_1.default
|
|
7
|
+
.object({
|
|
8
|
+
type: zod_1.default.enum(['flowBuilderContent']),
|
|
9
|
+
contentId: zod_1.default.string(),
|
|
10
|
+
})
|
|
11
|
+
.describe('A Flow Builder content ID. Use it only when asked explicitly in the prompt');
|
|
12
|
+
//# sourceMappingURL=flow-builder-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-builder-content.js","sourceRoot":"","sources":["../../../../../src/action/ai-agent/structured-output/flow-builder-content.ts"],"names":[],"mappings":";;;;AACA,sDAAmB;AAQN,QAAA,wBAAwB,GAAG,aAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,QAAQ,CACP,4EAA4E,CAC7E,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AgenticOutputMessage, VerbosityLevel } from '@botonic/core';
|
|
2
2
|
import type { ActionRequest } from '@botonic/react';
|
|
3
|
+
import type { FlowBuilderContentMessage } from '../action/ai-agent/structured-output/flow-builder-content';
|
|
3
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
5
|
import type { HtAiAgentNode, HtInputGuardrailRule } from './hubtype-fields/ai-agent';
|
|
5
6
|
export declare class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -15,7 +16,7 @@ export declare class FlowAiAgent extends ContentFieldsBase {
|
|
|
15
16
|
id: string;
|
|
16
17
|
name: string;
|
|
17
18
|
}[];
|
|
18
|
-
responses: AgenticOutputMessage[];
|
|
19
|
+
responses: AgenticOutputMessage<FlowBuilderContentMessage>[];
|
|
19
20
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent;
|
|
20
21
|
trackFlow(request: ActionRequest): Promise<void>;
|
|
21
22
|
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,wCAAyE;
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,wCAAyE;AAIzE,0CAA6C;AAC7C,+DAAyD;AACzD,mDAA8C;AAC9C,2CAAsC;AAMtC,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,SAAI,GAAW,EAAE,CAAA;QACjB,iBAAY,GAAW,EAAE,CAAA;QACzB,UAAK,GAAW,EAAE,CAAA;QAClB,cAAS,GAAmB,qBAAc,CAAC,MAAM,CAAA;QAKjD,cAAS,GAAsD,EAAE,CAAA;IA+C1E,CAAC;IA7CC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAChC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;QACxC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACxD,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAA;QAC1C,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAA;QAClD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACvD,UAAU,CAAC,mBAAmB;YAC5B,SAAS,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAA;QAC/C,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAA;QAC9C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAA;QAEzC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,0FAA0F;QAC1F,kDAAkD;QAClD,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,OAAO,CACL,2DACG,IAAI,CAAC,SAAS,CAAC,GAAG,CACjB,CAAC,QAAyD,EAAE,EAAE;gBAC5D,IACE,QAAQ,CAAC,IAAI,KAAK,MAAM;oBACxB,QAAQ,CAAC,IAAI,KAAK,iBAAiB;oBACnC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAC/B,CAAC;oBACD,OAAO,oBAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;gBAC3C,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACjC,OAAO,4BAAY,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACxD,CAAC;gBAED,OAAO,kDAAK,CAAA;YACd,CAAC,CACF,GACA,CACJ,CAAA;IACH,CAAC;CACF;AAxDD,kCAwDC"}
|
|
@@ -20,6 +20,7 @@ export declare class FlowButton extends ContentFieldsBase {
|
|
|
20
20
|
text: string;
|
|
21
21
|
payload?: string;
|
|
22
22
|
url?: string;
|
|
23
|
+
target?: string;
|
|
23
24
|
}): FlowButton;
|
|
24
25
|
static fromRating(button: HtRatingButton): FlowButton;
|
|
25
26
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAAgF;AAGhF,4CAAoD;AACpD,+DAAyD;AACzD,iDAA4C;AAC5C,qDAMyB;AAGzB,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ class FlowText extends content_fields_base_1.ContentFieldsBase {
|
|
|
39
39
|
id: `${id}-button-${buttonIndex}`,
|
|
40
40
|
text: button.text,
|
|
41
41
|
url: button.url,
|
|
42
|
+
target: button.target,
|
|
42
43
|
payload: button.payload ||
|
|
43
44
|
`${constants_1.EMPTY_PAYLOAD}${constants_1.SOURCE_INFO_SEPARATOR}${buttonIndex}`,
|
|
44
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAKA,0CAAyD;AAGzD,4CAAmE;AACnE,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAAiE;AAEjE,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAKA,0CAAyD;AAGzD,4CAAmE;AACnE,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAAiE;AAEjE,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;IAgE3C,CAAC;IA9DC,MAAM,CAAC,cAAc,CACnB,OAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC3B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,8BAAa,CAAC,MAAM,CAAA;QAC3E,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACrD,wBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAClD,CAAA;QACD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAA;QAEpC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,WAAsE;QAEtE,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,uBAAC,YAAI,cAAW,WAAW,CAAC,OAAO,CAAC,IAAI,IAA7B,EAAE,CAAmC,CAAA;QACzD,CAAC;QAED,OAAO,CACL,wBAAC,YAAI,eACF,WAAW,CAAC,OAAO,CAAC,IAAI,EACxB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;oBACvD,MAAM,UAAU,GAAG;wBACjB,EAAE,EAAE,GAAG,EAAE,WAAW,WAAW,EAAE;wBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EACL,MAAM,CAAC,OAAO;4BACd,GAAG,yBAAa,GAAG,iCAAqB,GAAG,WAAW,EAAE;qBAC3D,CAAA;oBACD,OAAO,wBAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;gBACrE,CAAC,CAAC,KAbO,EAAE,CAcN,CACR,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9D,OAAO,CACL,wBAAC,YAAI,eACF,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CACnD,KAJQ,EAAE,CAKN,CACR,CAAA;IACH,CAAC;CACF;AAnED,4BAmEC"}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AiAgentArgs, type BotContext, GuardrailRule, type InferenceResponse, type KnowledgeBasesResponse, type PluginPreRequest, type ResolvedPlugins } from '@botonic/core';
|
|
2
|
+
import type { FlowBuilderContentMessage } from './action/ai-agent/structured-output/flow-builder-content';
|
|
2
3
|
import type { FlowContent } from './content-fields';
|
|
3
4
|
import type { HtFlowBuilderData, HtRatingButton } from './content-fields/hubtype-fields';
|
|
4
5
|
export interface InShadowingConfig {
|
|
@@ -26,7 +27,7 @@ export interface BotonicPluginFlowBuilderOptions<TPlugins extends ResolvedPlugin
|
|
|
26
27
|
}
|
|
27
28
|
export type TrackEventFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
28
29
|
export type KnowledgeBaseFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBasesResponse>;
|
|
29
|
-
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<InferenceResponse
|
|
30
|
+
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<InferenceResponse<FlowBuilderContentMessage>>;
|
|
30
31
|
export type ContentFilter<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, content: FlowContent) => Promise<FlowContent> | FlowContent;
|
|
31
32
|
export interface FlowBuilderApiOptions {
|
|
32
33
|
url: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { type FlowContent } from '
|
|
2
|
-
import type { FlowBuilderContext } from '
|
|
1
|
+
import { type FlowContent } from '../../content-fields';
|
|
2
|
+
import type { FlowBuilderContext } from '../index';
|
|
3
3
|
export declare function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }: FlowBuilderContext): Promise<FlowContent[]>;
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getContentsByAiAgent = getContentsByAiAgent;
|
|
4
4
|
const core_1 = require("@botonic/core");
|
|
5
|
-
const content_fields_1 = require("
|
|
6
|
-
const helpers_1 = require("
|
|
7
|
-
const tracking_1 = require("
|
|
5
|
+
const content_fields_1 = require("../../content-fields");
|
|
6
|
+
const helpers_1 = require("../../helpers");
|
|
7
|
+
const tracking_1 = require("../../tracking");
|
|
8
|
+
const flow_builder_content_1 = require("./structured-output/flow-builder-content");
|
|
8
9
|
async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
9
10
|
const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
|
|
10
11
|
const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
|
|
@@ -30,6 +31,7 @@ async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
30
31
|
activeTools: aiAgentContent.activeTools,
|
|
31
32
|
inputGuardrailRules: activeInputGuardrailRules,
|
|
32
33
|
sourceIds: aiAgentContent.sources?.map(source => source.id),
|
|
34
|
+
outputMessagesSchemas: [flow_builder_content_1.FlowBuilderContentSchema],
|
|
33
35
|
});
|
|
34
36
|
if (!aiAgentResponse) {
|
|
35
37
|
return [];
|
|
@@ -38,8 +40,33 @@ async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
38
40
|
if (aiAgentResponse.exit) {
|
|
39
41
|
return [];
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
const regularMessages = [];
|
|
44
|
+
const flowBuilderContentMessages = [];
|
|
45
|
+
for (const message of aiAgentResponse.messages) {
|
|
46
|
+
if (message.type === 'flowBuilderContent') {
|
|
47
|
+
flowBuilderContentMessages.push(message);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
regularMessages.push(message);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const result = [];
|
|
54
|
+
if (regularMessages.length > 0) {
|
|
55
|
+
aiAgentContent.responses = regularMessages;
|
|
56
|
+
result.push(...contents);
|
|
57
|
+
}
|
|
58
|
+
for (const fbMessage of flowBuilderContentMessages) {
|
|
59
|
+
try {
|
|
60
|
+
const node = cmsApi.getNodeByContentID(fbMessage.contentId);
|
|
61
|
+
const targetNode = cmsApi.getNodeById(node.id);
|
|
62
|
+
const flowContents = await flowBuilderPlugin.getContentsByNode(targetNode);
|
|
63
|
+
result.push(...flowContents);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.warn(`Could not resolve flowBuilderContent with contentId "${fbMessage.contentId}":`, error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
43
70
|
}
|
|
44
71
|
async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
|
|
45
72
|
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
@@ -64,4 +91,4 @@ async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
|
|
|
64
91
|
const { action, ...eventArgs } = event;
|
|
65
92
|
await (0, tracking_1.trackEvent)(request, action, eventArgs);
|
|
66
93
|
}
|
|
67
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/action/ai-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BaseMessage } from '@botonic/core';
|
|
2
|
+
import z from 'zod';
|
|
3
|
+
export interface FlowBuilderContentMessage extends BaseMessage<'flowBuilderContent'> {
|
|
4
|
+
type: 'flowBuilderContent';
|
|
5
|
+
contentId: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const FlowBuilderContentSchema: z.ZodObject<{
|
|
8
|
+
type: z.ZodEnum<["flowBuilderContent"]>;
|
|
9
|
+
contentId: z.ZodString;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
type: "flowBuilderContent";
|
|
12
|
+
contentId: string;
|
|
13
|
+
}, {
|
|
14
|
+
type: "flowBuilderContent";
|
|
15
|
+
contentId: string;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowBuilderContentSchema = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const zod_1 = tslib_1.__importDefault(require("zod"));
|
|
6
|
+
exports.FlowBuilderContentSchema = zod_1.default
|
|
7
|
+
.object({
|
|
8
|
+
type: zod_1.default.enum(['flowBuilderContent']),
|
|
9
|
+
contentId: zod_1.default.string(),
|
|
10
|
+
})
|
|
11
|
+
.describe('A Flow Builder content ID. Use it only when asked explicitly in the prompt');
|
|
12
|
+
//# sourceMappingURL=flow-builder-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-builder-content.js","sourceRoot":"","sources":["../../../../../src/action/ai-agent/structured-output/flow-builder-content.ts"],"names":[],"mappings":";;;;AACA,sDAAmB;AAQN,QAAA,wBAAwB,GAAG,aAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,QAAQ,CACP,4EAA4E,CAC7E,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type AgenticOutputMessage, VerbosityLevel } from '@botonic/core';
|
|
2
2
|
import type { ActionRequest } from '@botonic/react';
|
|
3
|
+
import type { FlowBuilderContentMessage } from '../action/ai-agent/structured-output/flow-builder-content';
|
|
3
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
5
|
import type { HtAiAgentNode, HtInputGuardrailRule } from './hubtype-fields/ai-agent';
|
|
5
6
|
export declare class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -15,7 +16,7 @@ export declare class FlowAiAgent extends ContentFieldsBase {
|
|
|
15
16
|
id: string;
|
|
16
17
|
name: string;
|
|
17
18
|
}[];
|
|
18
|
-
responses: AgenticOutputMessage[];
|
|
19
|
+
responses: AgenticOutputMessage<FlowBuilderContentMessage>[];
|
|
19
20
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent;
|
|
20
21
|
trackFlow(request: ActionRequest): Promise<void>;
|
|
21
22
|
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,wCAAyE;
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,wCAAyE;AAIzE,0CAA6C;AAC7C,+DAAyD;AACzD,mDAA8C;AAC9C,2CAAsC;AAMtC,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,SAAI,GAAW,EAAE,CAAA;QACjB,iBAAY,GAAW,EAAE,CAAA;QACzB,UAAK,GAAW,EAAE,CAAA;QAClB,cAAS,GAAmB,qBAAc,CAAC,MAAM,CAAA;QAKjD,cAAS,GAAsD,EAAE,CAAA;IA+C1E,CAAC;IA7CC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAChC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;QACxC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACxD,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAA;QAC1C,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAA;QAClD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACvD,UAAU,CAAC,mBAAmB;YAC5B,SAAS,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAA;QAC/C,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAA;QAC9C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAA;QAEzC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,0FAA0F;QAC1F,kDAAkD;QAClD,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,OAAO,CACL,2DACG,IAAI,CAAC,SAAS,CAAC,GAAG,CACjB,CAAC,QAAyD,EAAE,EAAE;gBAC5D,IACE,QAAQ,CAAC,IAAI,KAAK,MAAM;oBACxB,QAAQ,CAAC,IAAI,KAAK,iBAAiB;oBACnC,QAAQ,CAAC,IAAI,KAAK,aAAa,EAC/B,CAAC;oBACD,OAAO,oBAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;gBAC3C,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACjC,OAAO,4BAAY,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACxD,CAAC;gBAED,OAAO,kDAAK,CAAA;YACd,CAAC,CACF,GACA,CACJ,CAAA;IACH,CAAC;CACF;AAxDD,kCAwDC"}
|
|
@@ -20,6 +20,7 @@ export declare class FlowButton extends ContentFieldsBase {
|
|
|
20
20
|
text: string;
|
|
21
21
|
payload?: string;
|
|
22
22
|
url?: string;
|
|
23
|
+
target?: string;
|
|
23
24
|
}): FlowButton;
|
|
24
25
|
static fromRating(button: HtRatingButton): FlowButton;
|
|
25
26
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAAgF;AAGhF,4CAAoD;AACpD,+DAAyD;AACzD,iDAA4C;AAC5C,qDAMyB;AAGzB,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ class FlowText extends content_fields_base_1.ContentFieldsBase {
|
|
|
39
39
|
id: `${id}-button-${buttonIndex}`,
|
|
40
40
|
text: button.text,
|
|
41
41
|
url: button.url,
|
|
42
|
+
target: button.target,
|
|
42
43
|
payload: button.payload ||
|
|
43
44
|
`${constants_1.EMPTY_PAYLOAD}${constants_1.SOURCE_INFO_SEPARATOR}${buttonIndex}`,
|
|
44
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAKA,0CAAyD;AAGzD,4CAAmE;AACnE,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAAiE;AAEjE,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-text.js","sourceRoot":"","sources":["../../../src/content-fields/flow-text.tsx"],"names":[],"mappings":";;;;AAKA,0CAAyD;AAGzD,4CAAmE;AACnE,0CAA6C;AAC7C,+DAAyD;AACzD,+CAA0C;AAC1C,qDAAiE;AAEjE,MAAa,QAAS,SAAQ,uCAAiB;IAA/C;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,YAAO,GAAiB,EAAE,CAAA;QAC1B,gBAAW,GAAG,8BAAa,CAAC,MAAM,CAAA;IAgE3C,CAAC;IA9DC,MAAM,CAAC,cAAc,CACnB,OAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC3B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,8BAAa,CAAC,MAAM,CAAA;QAC3E,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACrD,wBAAU,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAClD,CAAA;QACD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAA;QAEpC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,WAAsE;QAEtE,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,uBAAC,YAAI,cAAW,WAAW,CAAC,OAAO,CAAC,IAAI,IAA7B,EAAE,CAAmC,CAAA;QACzD,CAAC;QAED,OAAO,CACL,wBAAC,YAAI,eACF,WAAW,CAAC,OAAO,CAAC,IAAI,EACxB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;oBACvD,MAAM,UAAU,GAAG;wBACjB,EAAE,EAAE,GAAG,EAAE,WAAW,WAAW,EAAE;wBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,OAAO,EACL,MAAM,CAAC,OAAO;4BACd,GAAG,yBAAa,GAAG,iCAAqB,GAAG,WAAW,EAAE;qBAC3D,CAAA;oBACD,OAAO,wBAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;gBACrE,CAAC,CAAC,KAbO,EAAE,CAcN,CACR,CAAA;IACH,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9D,OAAO,CACL,wBAAC,YAAI,eACF,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CACxC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CACnD,KAJQ,EAAE,CAKN,CACR,CAAA;IACH,CAAC;CACF;AAnED,4BAmEC"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AiAgentArgs, type BotContext, GuardrailRule, type InferenceResponse, type KnowledgeBasesResponse, type PluginPreRequest, type ResolvedPlugins } from '@botonic/core';
|
|
2
|
+
import type { FlowBuilderContentMessage } from './action/ai-agent/structured-output/flow-builder-content';
|
|
2
3
|
import type { FlowContent } from './content-fields';
|
|
3
4
|
import type { HtFlowBuilderData, HtRatingButton } from './content-fields/hubtype-fields';
|
|
4
5
|
export interface InShadowingConfig {
|
|
@@ -26,7 +27,7 @@ export interface BotonicPluginFlowBuilderOptions<TPlugins extends ResolvedPlugin
|
|
|
26
27
|
}
|
|
27
28
|
export type TrackEventFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
28
29
|
export type KnowledgeBaseFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBasesResponse>;
|
|
29
|
-
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<InferenceResponse
|
|
30
|
+
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<InferenceResponse<FlowBuilderContentMessage>>;
|
|
30
31
|
export type ContentFilter<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, content: FlowContent) => Promise<FlowContent> | FlowContent;
|
|
31
32
|
export interface FlowBuilderApiOptions {
|
|
32
33
|
url: string;
|
package/package.json
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
|
+
type AgenticOutputMessage,
|
|
2
3
|
type BotContext,
|
|
3
4
|
EventAction,
|
|
4
5
|
type EventAiAgent,
|
|
5
6
|
type InferenceResponse,
|
|
6
7
|
} from '@botonic/core'
|
|
7
8
|
|
|
8
|
-
import { FlowAiAgent, type FlowContent } from '
|
|
9
|
-
import type { HtNodeWithContent } from '
|
|
10
|
-
import { getFlowBuilderPlugin } from '
|
|
11
|
-
import { trackEvent } from '
|
|
12
|
-
import type { GuardrailRule } from '
|
|
13
|
-
import type { FlowBuilderContext } from '
|
|
9
|
+
import { FlowAiAgent, type FlowContent } from '../../content-fields'
|
|
10
|
+
import type { HtNodeWithContent } from '../../content-fields/hubtype-fields'
|
|
11
|
+
import { getFlowBuilderPlugin } from '../../helpers'
|
|
12
|
+
import { trackEvent } from '../../tracking'
|
|
13
|
+
import type { GuardrailRule } from '../../types'
|
|
14
|
+
import type { FlowBuilderContext } from '../index'
|
|
15
|
+
import {
|
|
16
|
+
type FlowBuilderContentMessage,
|
|
17
|
+
FlowBuilderContentSchema,
|
|
18
|
+
} from './structured-output/flow-builder-content'
|
|
14
19
|
|
|
15
20
|
export async function getContentsByAiAgent({
|
|
16
21
|
cmsApi,
|
|
@@ -52,6 +57,7 @@ export async function getContentsByAiAgent({
|
|
|
52
57
|
activeTools: aiAgentContent.activeTools,
|
|
53
58
|
inputGuardrailRules: activeInputGuardrailRules,
|
|
54
59
|
sourceIds: aiAgentContent.sources?.map(source => source.id),
|
|
60
|
+
outputMessagesSchemas: [FlowBuilderContentSchema],
|
|
55
61
|
}
|
|
56
62
|
)
|
|
57
63
|
|
|
@@ -64,13 +70,43 @@ export async function getContentsByAiAgent({
|
|
|
64
70
|
return []
|
|
65
71
|
}
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
const regularMessages: AgenticOutputMessage[] = []
|
|
74
|
+
const flowBuilderContentMessages: FlowBuilderContentMessage[] = []
|
|
75
|
+
|
|
76
|
+
for (const message of aiAgentResponse.messages) {
|
|
77
|
+
if (message.type === 'flowBuilderContent') {
|
|
78
|
+
flowBuilderContentMessages.push(message as FlowBuilderContentMessage)
|
|
79
|
+
} else {
|
|
80
|
+
regularMessages.push(message as AgenticOutputMessage)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const result: FlowContent[] = []
|
|
85
|
+
|
|
86
|
+
if (regularMessages.length > 0) {
|
|
87
|
+
aiAgentContent.responses = regularMessages
|
|
88
|
+
result.push(...contents)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
for (const fbMessage of flowBuilderContentMessages) {
|
|
92
|
+
try {
|
|
93
|
+
const node = cmsApi.getNodeByContentID(fbMessage.contentId)
|
|
94
|
+
const targetNode = cmsApi.getNodeById<HtNodeWithContent>(node.id)
|
|
95
|
+
const flowContents = await flowBuilderPlugin.getContentsByNode(targetNode)
|
|
96
|
+
result.push(...flowContents)
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.warn(
|
|
99
|
+
`Could not resolve flowBuilderContent with contentId "${fbMessage.contentId}":`,
|
|
100
|
+
error
|
|
101
|
+
)
|
|
102
|
+
}
|
|
103
|
+
}
|
|
68
104
|
|
|
69
|
-
return
|
|
105
|
+
return result
|
|
70
106
|
}
|
|
71
107
|
|
|
72
108
|
async function trackAiAgentResponse(
|
|
73
|
-
aiAgentResponse: InferenceResponse
|
|
109
|
+
aiAgentResponse: InferenceResponse<FlowBuilderContentMessage>,
|
|
74
110
|
request: BotContext,
|
|
75
111
|
aiAgentContent: FlowAiAgent
|
|
76
112
|
) {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BaseMessage } from '@botonic/core'
|
|
2
|
+
import z from 'zod'
|
|
3
|
+
|
|
4
|
+
export interface FlowBuilderContentMessage
|
|
5
|
+
extends BaseMessage<'flowBuilderContent'> {
|
|
6
|
+
type: 'flowBuilderContent'
|
|
7
|
+
contentId: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const FlowBuilderContentSchema = z
|
|
11
|
+
.object({
|
|
12
|
+
type: z.enum(['flowBuilderContent']),
|
|
13
|
+
contentId: z.string(),
|
|
14
|
+
})
|
|
15
|
+
.describe(
|
|
16
|
+
'A Flow Builder content ID. Use it only when asked explicitly in the prompt'
|
|
17
|
+
)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type AgenticOutputMessage, VerbosityLevel } from '@botonic/core'
|
|
2
2
|
import type { ActionRequest } from '@botonic/react'
|
|
3
3
|
|
|
4
|
+
import type { FlowBuilderContentMessage } from '../action/ai-agent/structured-output/flow-builder-content'
|
|
4
5
|
import { trackOneContent } from '../tracking'
|
|
5
6
|
import { ContentFieldsBase } from './content-fields-base'
|
|
6
7
|
import { FlowCarousel } from './flow-carousel'
|
|
@@ -19,7 +20,7 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
19
20
|
public inputGuardrailRules: HtInputGuardrailRule[]
|
|
20
21
|
public sources?: { id: string; name: string }[]
|
|
21
22
|
|
|
22
|
-
public responses: AgenticOutputMessage[] = []
|
|
23
|
+
public responses: AgenticOutputMessage<FlowBuilderContentMessage>[] = []
|
|
23
24
|
|
|
24
25
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent {
|
|
25
26
|
const newAiAgent = new FlowAiAgent(component.id)
|
|
@@ -46,21 +47,23 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
46
47
|
toBotonic(id: string, request: ActionRequest): JSX.Element {
|
|
47
48
|
return (
|
|
48
49
|
<>
|
|
49
|
-
{this.responses.map(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
{this.responses.map(
|
|
51
|
+
(response: AgenticOutputMessage<FlowBuilderContentMessage>) => {
|
|
52
|
+
if (
|
|
53
|
+
response.type === 'text' ||
|
|
54
|
+
response.type === 'textWithButtons' ||
|
|
55
|
+
response.type === 'botExecutor'
|
|
56
|
+
) {
|
|
57
|
+
return FlowText.fromAIAgent(id, response)
|
|
58
|
+
}
|
|
57
59
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
if (response.type === 'carousel') {
|
|
61
|
+
return FlowCarousel.fromAIAgent(id, response, request)
|
|
62
|
+
}
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
return <></>
|
|
65
|
+
}
|
|
66
|
+
)}
|
|
64
67
|
</>
|
|
65
68
|
)
|
|
66
69
|
}
|
|
@@ -92,11 +92,13 @@ export class FlowButton extends ContentFieldsBase {
|
|
|
92
92
|
text: string
|
|
93
93
|
payload?: string
|
|
94
94
|
url?: string
|
|
95
|
+
target?: string
|
|
95
96
|
}): FlowButton {
|
|
96
97
|
const newButton = new FlowButton(button.id)
|
|
97
98
|
newButton.text = button.text
|
|
98
99
|
if (button.url) {
|
|
99
100
|
newButton.url = button.url
|
|
101
|
+
newButton.target = button.target
|
|
100
102
|
} else {
|
|
101
103
|
newButton.payload = button.payload
|
|
102
104
|
}
|
package/src/types.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
type PluginPreRequest,
|
|
8
8
|
type ResolvedPlugins,
|
|
9
9
|
} from '@botonic/core'
|
|
10
|
-
|
|
10
|
+
import type { FlowBuilderContentMessage } from './action/ai-agent/structured-output/flow-builder-content'
|
|
11
11
|
import type { FlowContent } from './content-fields'
|
|
12
12
|
import type {
|
|
13
13
|
HtFlowBuilderData,
|
|
@@ -66,7 +66,7 @@ export type AiAgentFunction<
|
|
|
66
66
|
> = (
|
|
67
67
|
request: BotContext<TPlugins, TExtraData>,
|
|
68
68
|
aiAgentArgs: AiAgentArgs
|
|
69
|
-
) => Promise<InferenceResponse
|
|
69
|
+
) => Promise<InferenceResponse<FlowBuilderContentMessage>>
|
|
70
70
|
|
|
71
71
|
export type ContentFilter<
|
|
72
72
|
TPlugins extends ResolvedPlugins = ResolvedPlugins,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":"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"}
|