@activepieces/piece-manus 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 ADDED
@@ -0,0 +1,7 @@
1
+ # pieces-manus
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build pieces-manus` to build the library.
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@activepieces/piece-manus",
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.8.3",
10
+ "axios-retry": "4.4.1",
11
+ "deepmerge-ts": "7.1.0",
12
+ "mime-types": "2.1.35",
13
+ "nanoid": "3.3.8",
14
+ "semver": "7.6.0",
15
+ "socket.io-client": "4.8.1",
16
+ "tslib": "^2.3.0",
17
+ "zod": "3.25.76",
18
+ "@activepieces/pieces-common": "0.8.1",
19
+ "@activepieces/pieces-framework": "0.20.2",
20
+ "@activepieces/shared": "0.25.2"
21
+ },
22
+ "resolutions": {
23
+ "rollup": "npm:@rollup/wasm-node"
24
+ }
25
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const manus: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").SecretTextProperty<true>>;
package/src/index.js ADDED
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.manus = 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 shared_1 = require("@activepieces/shared");
8
+ const auth_1 = require("./lib/common/auth");
9
+ const create_task_1 = require("./lib/actions/create-task");
10
+ const get_task_1 = require("./lib/actions/get-task");
11
+ const update_task_1 = require("./lib/actions/update-task");
12
+ const delete_task_1 = require("./lib/actions/delete-task");
13
+ const new_task_created_1 = require("./lib/triggers/new-task-created");
14
+ const task_stopped_1 = require("./lib/triggers/task-stopped");
15
+ exports.manus = (0, pieces_framework_1.createPiece)({
16
+ displayName: "Manus",
17
+ description: "AI-powered automation and task execution platform",
18
+ auth: auth_1.manusAuth,
19
+ minimumSupportedRelease: '0.36.1',
20
+ logoUrl: "https://cdn.activepieces.com/pieces/manus.png",
21
+ categories: [shared_1.PieceCategory.ARTIFICIAL_INTELLIGENCE],
22
+ authors: ["onyedikachi-david"],
23
+ actions: [
24
+ create_task_1.createTask,
25
+ get_task_1.getTask,
26
+ update_task_1.updateTask,
27
+ delete_task_1.deleteTask,
28
+ (0, pieces_common_1.createCustomApiCallAction)({
29
+ baseUrl: () => 'https://api.manus.ai/v1',
30
+ auth: auth_1.manusAuth,
31
+ authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
+ return ({
33
+ API_KEY: auth,
34
+ });
35
+ }),
36
+ }),
37
+ ],
38
+ triggers: [
39
+ new_task_created_1.newTaskCreated,
40
+ task_stopped_1.taskStopped,
41
+ ],
42
+ });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/manus/src/index.ts"],"names":[],"mappings":";;;;AACA,qEAA6D;AAC7D,+DAAwE;AACxE,iDAAqD;AACrD,4CAA8C;AAC9C,2DAAuD;AACvD,qDAAiD;AACjD,2DAAuD;AACvD,2DAAuD;AACvD,sEAAiE;AACjE,8DAA0D;AAE7C,QAAA,KAAK,GAAG,IAAA,8BAAW,EAAC;IAC/B,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,mDAAmD;IAChE,IAAI,EAAE,gBAAS;IACf,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,+CAA+C;IACxD,UAAU,EAAE,CAAC,sBAAa,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,CAAC,mBAAmB,CAAC;IAC9B,OAAO,EAAE;QACP,wBAAU;QACV,kBAAO;QACP,wBAAU;QACV,wBAAU;QACV,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB;YACxC,IAAI,EAAE,gBAAS;YACf,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,OAAO,EAAE,IAAc;iBACxB,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,QAAQ,EAAE;QACR,iCAAc;QACd,0BAAW;KACZ;CACE,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const createTask: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ prompt: import("@activepieces/pieces-framework").LongTextProperty<true>;
3
+ agentProfile: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
4
+ taskMode: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
5
+ connectors: import("@activepieces/pieces-framework").ArrayProperty<false>;
6
+ hideInTaskList: import("@activepieces/pieces-framework").CheckboxProperty<false>;
7
+ createShareableLink: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ taskId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
9
+ locale: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
+ attachments: import("@activepieces/pieces-framework").ArrayProperty<false>;
11
+ }>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTask = 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 auth_1 = require("../common/auth");
8
+ exports.createTask = (0, pieces_framework_1.createAction)({
9
+ name: 'create_task',
10
+ auth: auth_1.manusAuth,
11
+ displayName: 'Create Task',
12
+ description: 'Create a new task for Manus AI to execute',
13
+ props: {
14
+ prompt: pieces_framework_1.Property.LongText({
15
+ displayName: 'Prompt',
16
+ description: 'The task prompt or instruction for the Manus agent',
17
+ required: true,
18
+ }),
19
+ agentProfile: pieces_framework_1.Property.StaticDropdown({
20
+ displayName: 'Agent Profile',
21
+ description: 'The AI model profile to use for the task',
22
+ required: true,
23
+ defaultValue: 'manus-1.5',
24
+ options: {
25
+ options: [
26
+ {
27
+ label: 'Manus 1.5 (Recommended)',
28
+ value: 'manus-1.5',
29
+ },
30
+ {
31
+ label: 'Manus 1.5 Lite (Faster)',
32
+ value: 'manus-1.5-lite',
33
+ },
34
+ {
35
+ label: 'Speed (Deprecated)',
36
+ value: 'speed',
37
+ },
38
+ {
39
+ label: 'Quality (Deprecated)',
40
+ value: 'quality',
41
+ },
42
+ ],
43
+ },
44
+ }),
45
+ taskMode: pieces_framework_1.Property.StaticDropdown({
46
+ displayName: 'Task Mode',
47
+ description: 'The interaction mode for the task',
48
+ required: false,
49
+ options: {
50
+ options: [
51
+ {
52
+ label: 'Chat',
53
+ value: 'chat',
54
+ },
55
+ {
56
+ label: 'Adaptive',
57
+ value: 'adaptive',
58
+ },
59
+ {
60
+ label: 'Agent',
61
+ value: 'agent',
62
+ },
63
+ ],
64
+ },
65
+ }),
66
+ connectors: pieces_framework_1.Property.Array({
67
+ displayName: 'Connectors',
68
+ description: 'List of connector IDs to enable for this task',
69
+ required: false,
70
+ }),
71
+ hideInTaskList: pieces_framework_1.Property.Checkbox({
72
+ displayName: 'Hide in Task List',
73
+ description: 'Whether to hide this task from the Manus webapp task list',
74
+ required: false,
75
+ defaultValue: false,
76
+ }),
77
+ createShareableLink: pieces_framework_1.Property.Checkbox({
78
+ displayName: 'Create Shareable Link',
79
+ description: 'Whether to make the chat publicly accessible to others on the Manus website',
80
+ required: false,
81
+ defaultValue: false,
82
+ }),
83
+ taskId: pieces_framework_1.Property.ShortText({
84
+ displayName: 'Task ID',
85
+ description: 'For continuing existing tasks (multi-turn conversations)',
86
+ required: false,
87
+ }),
88
+ locale: pieces_framework_1.Property.ShortText({
89
+ displayName: 'Locale',
90
+ description: 'Your default locale that you\'ve set on Manus (e.g., "en-US", "zh-CN")',
91
+ required: false,
92
+ }),
93
+ attachments: pieces_framework_1.Property.Array({
94
+ displayName: 'Attachments',
95
+ description: 'Array of file/image attachments (URLs or base64 data)',
96
+ required: false,
97
+ }),
98
+ },
99
+ run(context) {
100
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
101
+ const body = {
102
+ prompt: context.propsValue['prompt'],
103
+ agentProfile: context.propsValue['agentProfile'],
104
+ };
105
+ if (context.propsValue['taskMode']) {
106
+ body['taskMode'] = context.propsValue['taskMode'];
107
+ }
108
+ if (context.propsValue['connectors'] && context.propsValue['connectors'].length > 0) {
109
+ body['connectors'] = context.propsValue['connectors'];
110
+ }
111
+ if (context.propsValue['hideInTaskList'] !== undefined) {
112
+ body['hideInTaskList'] = context.propsValue['hideInTaskList'];
113
+ }
114
+ if (context.propsValue['createShareableLink'] !== undefined) {
115
+ body['createShareableLink'] = context.propsValue['createShareableLink'];
116
+ }
117
+ if (context.propsValue['taskId']) {
118
+ body['taskId'] = context.propsValue['taskId'];
119
+ }
120
+ if (context.propsValue['locale']) {
121
+ body['locale'] = context.propsValue['locale'];
122
+ }
123
+ if (context.propsValue['attachments'] && context.propsValue['attachments'].length > 0) {
124
+ body['attachments'] = context.propsValue['attachments'];
125
+ }
126
+ const response = yield pieces_common_1.httpClient.sendRequest({
127
+ method: pieces_common_1.HttpMethod.POST,
128
+ url: 'https://api.manus.ai/v1/tasks',
129
+ headers: {
130
+ 'accept': 'application/json',
131
+ 'content-type': 'application/json',
132
+ 'API_KEY': context.auth,
133
+ },
134
+ body,
135
+ });
136
+ return response.body;
137
+ });
138
+ },
139
+ });
140
+ //# sourceMappingURL=create-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/actions/create-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const deleteTask: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ taskId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ }>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteTask = 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 auth_1 = require("../common/auth");
8
+ function getTasksDropdown(auth) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ var _a;
11
+ try {
12
+ const response = yield pieces_common_1.httpClient.sendRequest({
13
+ method: pieces_common_1.HttpMethod.GET,
14
+ url: 'https://api.manus.ai/v1/tasks',
15
+ headers: {
16
+ 'accept': 'application/json',
17
+ 'API_KEY': auth,
18
+ },
19
+ queryParams: {
20
+ limit: '50',
21
+ order: 'desc',
22
+ orderBy: 'created_at',
23
+ },
24
+ });
25
+ const tasks = ((_a = response.body) === null || _a === void 0 ? void 0 : _a.data) || [];
26
+ return tasks.map((task) => {
27
+ var _a;
28
+ return ({
29
+ label: `${((_a = task.instructions) === null || _a === void 0 ? void 0 : _a.substring(0, 50)) || 'Untitled Task'} (${task.status})`,
30
+ value: task.id,
31
+ });
32
+ });
33
+ }
34
+ catch (error) {
35
+ return [];
36
+ }
37
+ });
38
+ }
39
+ exports.deleteTask = (0, pieces_framework_1.createAction)({
40
+ name: 'delete_task',
41
+ auth: auth_1.manusAuth,
42
+ displayName: 'Delete Task',
43
+ description: 'Permanently delete a task by its ID. This action cannot be undone.',
44
+ props: {
45
+ taskId: pieces_framework_1.Property.Dropdown({
46
+ displayName: 'Task',
47
+ description: 'Select the task to delete',
48
+ required: true,
49
+ refreshers: ['auth'],
50
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
51
+ if (!auth)
52
+ return { disabled: true, options: [], placeholder: 'Connect account first' };
53
+ return { disabled: false, options: yield getTasksDropdown(auth) };
54
+ }),
55
+ }),
56
+ },
57
+ run(context) {
58
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
+ const response = yield pieces_common_1.httpClient.sendRequest({
60
+ method: pieces_common_1.HttpMethod.DELETE,
61
+ url: `https://api.manus.ai/v1/tasks/${context.propsValue['taskId']}`,
62
+ headers: {
63
+ 'accept': 'application/json',
64
+ 'API_KEY': context.auth,
65
+ },
66
+ });
67
+ return response.body;
68
+ });
69
+ },
70
+ });
71
+ //# sourceMappingURL=delete-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-task.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/actions/delete-task.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAqE;AACrE,yCAA2C;AAE3C,SAAe,gBAAgB,CAAC,IAAY;;;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,+BAA+B;gBACpC,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,IAAI;iBAChB;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,YAAY;iBACtB;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,KAAI,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC/B,KAAK,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAI,eAAe,KAAK,IAAI,CAAC,MAAM,GAAG;oBACnF,KAAK,EAAE,IAAI,CAAC,EAAE;iBACf,CAAC,CAAA;aAAA,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA;AAEY,QAAA,UAAU,GAAG,IAAA,+BAAY,EAAC;IACrC,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,gBAAS;IACf,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,oEAAoE;IACjF,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBACxF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAc,CAAC,EAAE,CAAC;YAC9E,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,MAAM;gBACzB,GAAG,EAAE,iCAAiC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACpE,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,OAAO,CAAC,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const getTask: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ taskId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ }>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTask = 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 auth_1 = require("../common/auth");
8
+ function getTasksDropdown(auth) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ var _a;
11
+ try {
12
+ const response = yield pieces_common_1.httpClient.sendRequest({
13
+ method: pieces_common_1.HttpMethod.GET,
14
+ url: 'https://api.manus.ai/v1/tasks',
15
+ headers: {
16
+ 'accept': 'application/json',
17
+ 'API_KEY': auth,
18
+ },
19
+ queryParams: {
20
+ limit: '50',
21
+ order: 'desc',
22
+ orderBy: 'created_at',
23
+ },
24
+ });
25
+ const tasks = ((_a = response.body) === null || _a === void 0 ? void 0 : _a.data) || [];
26
+ return tasks.map((task) => {
27
+ var _a;
28
+ return ({
29
+ label: `${((_a = task.instructions) === null || _a === void 0 ? void 0 : _a.substring(0, 50)) || 'Untitled Task'} (${task.status})`,
30
+ value: task.id,
31
+ });
32
+ });
33
+ }
34
+ catch (error) {
35
+ return [];
36
+ }
37
+ });
38
+ }
39
+ exports.getTask = (0, pieces_framework_1.createAction)({
40
+ name: 'get_task',
41
+ auth: auth_1.manusAuth,
42
+ displayName: 'Get Task',
43
+ description: 'Retrieve detailed information about a specific task by its ID',
44
+ props: {
45
+ taskId: pieces_framework_1.Property.Dropdown({
46
+ displayName: 'Task',
47
+ description: 'Select the task to retrieve details for',
48
+ required: true,
49
+ refreshers: ['auth'],
50
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
51
+ if (!auth)
52
+ return { disabled: true, options: [], placeholder: 'Connect account first' };
53
+ return { disabled: false, options: yield getTasksDropdown(auth) };
54
+ }),
55
+ }),
56
+ },
57
+ run(context) {
58
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
+ const response = yield pieces_common_1.httpClient.sendRequest({
60
+ method: pieces_common_1.HttpMethod.GET,
61
+ url: `https://api.manus.ai/v1/tasks/${context.propsValue['taskId']}`,
62
+ headers: {
63
+ 'accept': 'application/json',
64
+ 'API_KEY': context.auth,
65
+ },
66
+ });
67
+ return response.body;
68
+ });
69
+ },
70
+ });
71
+ //# sourceMappingURL=get-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-task.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/actions/get-task.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAqE;AACrE,yCAA2C;AAE3C,SAAe,gBAAgB,CAAC,IAAY;;;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,+BAA+B;gBACpC,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,IAAI;iBAChB;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,YAAY;iBACtB;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,KAAI,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;;gBAAC,OAAA,CAAC;oBAC/B,KAAK,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAI,eAAe,KAAK,IAAI,CAAC,MAAM,GAAG;oBACnF,KAAK,EAAE,IAAI,CAAC,EAAE;iBACf,CAAC,CAAA;aAAA,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA;AAEY,QAAA,OAAO,GAAG,IAAA,+BAAY,EAAC;IAClC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,gBAAS;IACf,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,+DAA+D;IAC5E,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACxB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;gBACtB,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;gBACxF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAc,CAAC,EAAE,CAAC;YAC9E,CAAC,CAAA;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,iCAAiC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACpE,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,OAAO,CAAC,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const updateTask: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ taskId: import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ title: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
+ enableShared: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
+ enableVisibleInTaskList: import("@activepieces/pieces-framework").CheckboxProperty<false>;
6
+ }>;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateTask = 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 auth_1 = require("../common/auth");
8
+ function getTasksDropdown(auth) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ var _a;
11
+ try {
12
+ const response = yield pieces_common_1.httpClient.sendRequest({
13
+ method: pieces_common_1.HttpMethod.GET,
14
+ url: 'https://api.manus.ai/v1/tasks',
15
+ headers: {
16
+ 'accept': 'application/json',
17
+ 'API_KEY': auth,
18
+ },
19
+ queryParams: {
20
+ limit: '50',
21
+ order: 'desc',
22
+ orderBy: 'created_at',
23
+ },
24
+ });
25
+ const tasks = ((_a = response.body) === null || _a === void 0 ? void 0 : _a.data) || [];
26
+ return tasks.map((task) => {
27
+ var _a;
28
+ return ({
29
+ label: `${((_a = task.instructions) === null || _a === void 0 ? void 0 : _a.substring(0, 50)) || 'Untitled Task'} (${task.status})`,
30
+ value: task.id,
31
+ });
32
+ });
33
+ }
34
+ catch (error) {
35
+ return [];
36
+ }
37
+ });
38
+ }
39
+ exports.updateTask = (0, pieces_framework_1.createAction)({
40
+ name: 'update_task',
41
+ auth: auth_1.manusAuth,
42
+ displayName: 'Update Task',
43
+ description: 'Update a task\'s metadata such as title, sharing settings, and visibility in the task list',
44
+ props: {
45
+ taskId: pieces_framework_1.Property.Dropdown({
46
+ displayName: 'Task',
47
+ description: 'Select the task to update',
48
+ required: true,
49
+ refreshers: ['auth'],
50
+ options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
51
+ if (!auth)
52
+ return { disabled: true, options: [], placeholder: 'Connect account first' };
53
+ return { disabled: false, options: yield getTasksDropdown(auth) };
54
+ }),
55
+ }),
56
+ title: pieces_framework_1.Property.ShortText({
57
+ displayName: 'Title',
58
+ description: 'New title for the task',
59
+ required: false,
60
+ }),
61
+ enableShared: pieces_framework_1.Property.Checkbox({
62
+ displayName: 'Enable Sharing',
63
+ description: 'Whether to enable public sharing',
64
+ required: false,
65
+ defaultValue: false,
66
+ }),
67
+ enableVisibleInTaskList: pieces_framework_1.Property.Checkbox({
68
+ displayName: 'Visible in Task List',
69
+ description: 'Whether the task should be visible in the task list',
70
+ required: false,
71
+ defaultValue: true,
72
+ }),
73
+ },
74
+ run(context) {
75
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
+ const body = {};
77
+ if (context.propsValue['title']) {
78
+ body['title'] = context.propsValue['title'];
79
+ }
80
+ if (context.propsValue['enableShared'] !== undefined) {
81
+ body['enableShared'] = context.propsValue['enableShared'];
82
+ }
83
+ if (context.propsValue['enableVisibleInTaskList'] !== undefined) {
84
+ body['enableVisibleInTaskList'] = context.propsValue['enableVisibleInTaskList'];
85
+ }
86
+ const response = yield pieces_common_1.httpClient.sendRequest({
87
+ method: pieces_common_1.HttpMethod.PUT,
88
+ url: `https://api.manus.ai/v1/tasks/${context.propsValue['taskId']}`,
89
+ headers: {
90
+ 'accept': 'application/json',
91
+ 'content-type': 'application/json',
92
+ 'API_KEY': context.auth,
93
+ },
94
+ body,
95
+ });
96
+ return response.body;
97
+ });
98
+ },
99
+ });
100
+ //# sourceMappingURL=update-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-task.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/actions/update-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const manusAuth: import("@activepieces/pieces-framework").SecretTextProperty<true>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.manusAuth = 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
+ exports.manusAuth = pieces_framework_1.PieceAuth.SecretText({
8
+ displayName: 'API Key',
9
+ description: 'Your Manus API key from https://app.manus.ai/settings/api-keys',
10
+ required: true,
11
+ validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
12
+ try {
13
+ yield pieces_common_1.httpClient.sendRequest({
14
+ url: 'https://api.manus.ai/v1/tasks',
15
+ method: pieces_common_1.HttpMethod.POST,
16
+ headers: {
17
+ 'accept': 'application/json',
18
+ 'content-type': 'application/json',
19
+ 'API_KEY': auth,
20
+ },
21
+ body: {
22
+ prompt: 'test',
23
+ mode: 'speed'
24
+ },
25
+ });
26
+ return {
27
+ valid: true,
28
+ };
29
+ }
30
+ catch (error) {
31
+ return {
32
+ valid: false,
33
+ error: 'Invalid API key',
34
+ };
35
+ }
36
+ }),
37
+ });
38
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/common/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAA2D;AAC3D,+DAAqE;AAExD,QAAA,SAAS,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,gEAAgE;IAC7E,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC3B,GAAG,EAAE,+BAA+B;gBACpC,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,OAAO,EAAE;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,cAAc,EAAE,kBAAkB;oBAClC,SAAS,EAAE,IAAc;iBAC1B;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,OAAO;iBACd;aACF,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,iBAAiB;aACzB,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const newTaskCreated: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").PieceAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty, {}>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newTaskCreated = 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
+ exports.newTaskCreated = (0, pieces_framework_1.createTrigger)({
8
+ name: 'new_task_created',
9
+ displayName: 'New Task Created',
10
+ description: 'Triggers when a new task is successfully created in Manus',
11
+ props: {},
12
+ sampleData: {
13
+ event_id: "task_created_task_abc123",
14
+ event_type: "task_created",
15
+ task_detail: {
16
+ task_id: "task_abc123",
17
+ task_title: "Generate quarterly sales report",
18
+ task_url: "https://manus.im/app/task_abc123"
19
+ }
20
+ },
21
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
22
+ onEnable(_a) {
23
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ webhookUrl, store, auth }) {
24
+ try {
25
+ const response = yield pieces_common_1.httpClient.sendRequest({
26
+ method: pieces_common_1.HttpMethod.POST,
27
+ url: 'https://api.manus.ai/v1/webhooks',
28
+ headers: {
29
+ 'accept': 'application/json',
30
+ 'content-type': 'application/json',
31
+ 'API_KEY': auth,
32
+ },
33
+ body: {
34
+ webhook: {
35
+ url: webhookUrl,
36
+ },
37
+ },
38
+ });
39
+ const webhookId = response.body.webhook_id;
40
+ yield store.put('webhook_id', webhookId);
41
+ yield store.put('webhook_url', webhookUrl);
42
+ }
43
+ catch (error) {
44
+ throw new Error(`Failed to create webhook: ${error}`);
45
+ }
46
+ });
47
+ },
48
+ onDisable(_a) {
49
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, auth }) {
50
+ try {
51
+ const webhookId = yield store.get('webhook_id');
52
+ if (webhookId) {
53
+ yield pieces_common_1.httpClient.sendRequest({
54
+ method: pieces_common_1.HttpMethod.DELETE,
55
+ url: `https://api.manus.ai/v1/webhooks/${webhookId}`,
56
+ headers: {
57
+ 'accept': 'application/json',
58
+ 'API_KEY': auth,
59
+ },
60
+ });
61
+ }
62
+ }
63
+ catch (error) {
64
+ console.error('Failed to delete webhook:', error);
65
+ }
66
+ });
67
+ },
68
+ run(context) {
69
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
70
+ const payload = context.payload.body;
71
+ if (!payload || payload.event_type !== 'task_created') {
72
+ return [];
73
+ }
74
+ return [payload];
75
+ });
76
+ },
77
+ });
78
+ //# sourceMappingURL=new-task-created.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-task-created.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/triggers/new-task-created.ts"],"names":[],"mappings":";;;;AAAA,qEAGwC;AACxC,+DAAqE;AAExD,QAAA,cAAc,GAAG,IAAA,gCAAa,EAAC;IAC1C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,2DAA2D;IACxE,KAAK,EAAE,EAAE;IACT,UAAU,EAAE;QACV,QAAQ,EAAE,0BAA0B;QACpC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE;YACX,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,iCAAiC;YAC7C,QAAQ,EAAE,kCAAkC;SAC7C;KACF;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ;qEAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;oBAC5C,MAAM,EAAE,0BAAU,CAAC,IAAI;oBACvB,GAAG,EAAE,kCAAkC;oBACvC,OAAO,EAAE;wBACP,QAAQ,EAAE,kBAAkB;wBAC5B,cAAc,EAAE,kBAAkB;wBAClC,SAAS,EAAE,IAAc;qBAC1B;oBACD,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,GAAG,EAAE,UAAU;yBAChB;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KAAA;IACK,SAAS;qEAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,0BAAU,CAAC,WAAW,CAAC;wBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;wBACzB,GAAG,EAAE,oCAAoC,SAAS,EAAE;wBACpD,OAAO,EAAE;4BACP,QAAQ,EAAE,kBAAkB;4BAC5B,SAAS,EAAE,IAAc;yBAC1B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAW,CAAC;YAE5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const taskStopped: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").PieceAuthProperty, {}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").PieceAuthProperty, {}>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.taskStopped = 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
+ exports.taskStopped = (0, pieces_framework_1.createTrigger)({
8
+ name: 'task_stopped',
9
+ displayName: 'Task Stopped',
10
+ description: 'Triggers when a task reaches a stopping point - either completion or requiring user input',
11
+ props: {},
12
+ sampleData: {
13
+ event_id: "task_stopped_task_abc123",
14
+ event_type: "task_stopped",
15
+ task_detail: {
16
+ task_id: "task_abc123",
17
+ task_title: "Generate quarterly sales report",
18
+ task_url: "https://manus.im/app/task_abc123",
19
+ message: "I've completed the quarterly sales report analysis...",
20
+ attachments: [
21
+ {
22
+ file_name: "q4-sales-report.pdf",
23
+ url: "https://s3.amazonaws.com/manus-files/reports/q4-sales-report.pdf",
24
+ size_bytes: 2048576
25
+ }
26
+ ],
27
+ stop_reason: "finish"
28
+ }
29
+ },
30
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
31
+ onEnable(_a) {
32
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ webhookUrl, store, auth }) {
33
+ try {
34
+ const response = yield pieces_common_1.httpClient.sendRequest({
35
+ method: pieces_common_1.HttpMethod.POST,
36
+ url: 'https://api.manus.ai/v1/webhooks',
37
+ headers: {
38
+ 'accept': 'application/json',
39
+ 'content-type': 'application/json',
40
+ 'API_KEY': auth,
41
+ },
42
+ body: {
43
+ webhook: {
44
+ url: webhookUrl,
45
+ },
46
+ },
47
+ });
48
+ const webhookId = response.body.webhook_id;
49
+ yield store.put('webhook_id', webhookId);
50
+ yield store.put('webhook_url', webhookUrl);
51
+ }
52
+ catch (error) {
53
+ throw new Error(`Failed to create webhook: ${error}`);
54
+ }
55
+ });
56
+ },
57
+ onDisable(_a) {
58
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ store, auth }) {
59
+ try {
60
+ const webhookId = yield store.get('webhook_id');
61
+ if (webhookId) {
62
+ yield pieces_common_1.httpClient.sendRequest({
63
+ method: pieces_common_1.HttpMethod.DELETE,
64
+ url: `https://api.manus.ai/v1/webhooks/${webhookId}`,
65
+ headers: {
66
+ 'accept': 'application/json',
67
+ 'API_KEY': auth,
68
+ },
69
+ });
70
+ }
71
+ }
72
+ catch (error) {
73
+ console.error('Failed to delete webhook:', error);
74
+ }
75
+ });
76
+ },
77
+ run(context) {
78
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
+ const payload = context.payload.body;
80
+ if (!payload || payload.event_type !== 'task_stopped') {
81
+ return [];
82
+ }
83
+ return [payload];
84
+ });
85
+ },
86
+ });
87
+ //# sourceMappingURL=task-stopped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-stopped.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/manus/src/lib/triggers/task-stopped.ts"],"names":[],"mappings":";;;;AAAA,qEAGwC;AACxC,+DAAqE;AAExD,QAAA,WAAW,GAAG,IAAA,gCAAa,EAAC;IACvC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,2FAA2F;IACxG,KAAK,EAAE,EAAE;IACT,UAAU,EAAE;QACV,QAAQ,EAAE,0BAA0B;QACpC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE;YACX,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,iCAAiC;YAC7C,QAAQ,EAAE,kCAAkC;YAC5C,OAAO,EAAE,uDAAuD;YAChE,WAAW,EAAE;gBACX;oBACE,SAAS,EAAE,qBAAqB;oBAChC,GAAG,EAAE,kEAAkE;oBACvE,UAAU,EAAE,OAAO;iBACpB;aACF;YACD,WAAW,EAAE,QAAQ;SACtB;KACF;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ;qEAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YACxC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;oBAC5C,MAAM,EAAE,0BAAU,CAAC,IAAI;oBACvB,GAAG,EAAE,kCAAkC;oBACvC,OAAO,EAAE;wBACP,QAAQ,EAAE,kBAAkB;wBAC5B,cAAc,EAAE,kBAAkB;wBAClC,SAAS,EAAE,IAAc;qBAC1B;oBACD,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,GAAG,EAAE,UAAU;yBAChB;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KAAA;IACK,SAAS;qEAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,0BAAU,CAAC,WAAW,CAAC;wBAC3B,MAAM,EAAE,0BAAU,CAAC,MAAM;wBACzB,GAAG,EAAE,oCAAoC,SAAS,EAAE;wBACpD,OAAO,EAAE;4BACP,QAAQ,EAAE,kBAAkB;4BAC5B,SAAS,EAAE,IAAc;yBAC1B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAW,CAAC;YAE5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;KAAA;CACF,CAAC,CAAC"}