@henry2323/n8n-nodes-calendar-tool-wrapper 0.1.0 → 0.1.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/dist/CalendarToolWrapperX/CalendarToolWrapperX.node.d.ts +14 -0
- package/dist/{CalendarToolWrapperX.node.js → CalendarToolWrapperX/CalendarToolWrapperX.node.js} +137 -154
- package/dist/CalendarToolWrapperX/RunKeys.svg +14 -0
- package/dist/CalendarToolWrapperX/calendarTool.schema.json +17 -0
- package/dist/CalendarToolWrapperX/subWorkflowTemplate.json +34 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/nodes/CalendarToolWrapperX/CalendarToolWrapperX.node.d.ts +14 -0
- package/dist/nodes/CalendarToolWrapperX/CalendarToolWrapperX.node.js +137 -0
- package/dist/nodes/CalendarToolWrapperX/RunKeys.svg +14 -0
- package/dist/nodes/CalendarToolWrapperX/calendarTool.schema.json +17 -0
- package/dist/nodes/CalendarToolWrapperX/subWorkflowTemplate.json +34 -0
- package/package.json +19 -29
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
2
|
+
declare module 'n8n-workflow' {
|
3
|
+
interface INodeTypeDescription {
|
4
|
+
aiTool?: {
|
5
|
+
name: string;
|
6
|
+
description: string;
|
7
|
+
parametersSchema: Record<string, unknown>;
|
8
|
+
};
|
9
|
+
}
|
10
|
+
}
|
11
|
+
export declare class CalendarToolWrapperX implements INodeType {
|
12
|
+
description: INodeTypeDescription;
|
13
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
14
|
+
}
|
package/dist/{CalendarToolWrapperX.node.js → CalendarToolWrapperX/CalendarToolWrapperX.node.js}
RENAMED
@@ -1,154 +1,137 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.CalendarToolWrapperX = void 0;
|
4
|
-
const n8n_workflow_1 = require("n8n-workflow");
|
5
|
-
const subWorkflowTemplate = require("
|
6
|
-
class CalendarToolWrapperX {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
calendarId: this.getNodeParameter('calendarId', 0),
|
139
|
-
returnAll: this.getNodeParameter('returnAll', 0)
|
140
|
-
}
|
141
|
-
}
|
142
|
-
}]
|
143
|
-
];
|
144
|
-
}
|
145
|
-
const errorContext = {
|
146
|
-
nodeId: this.getNode().id,
|
147
|
-
itemIndex: 0,
|
148
|
-
workflowId: this.getWorkflow().id
|
149
|
-
};
|
150
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, errorContext);
|
151
|
-
}
|
152
|
-
}
|
153
|
-
}
|
154
|
-
exports.CalendarToolWrapperX = CalendarToolWrapperX;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.CalendarToolWrapperX = void 0;
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
5
|
+
const subWorkflowTemplate = require("./subWorkflowTemplate.json");
|
6
|
+
class CalendarToolWrapperX {
|
7
|
+
// @ts-ignore - Adding custom aiTool property to type definition
|
8
|
+
description = {
|
9
|
+
displayName: 'Calendar Tool Wrapper X',
|
10
|
+
name: 'calendarToolWrapperX',
|
11
|
+
icon: 'file:RunKeys.svg',
|
12
|
+
group: ['ai'],
|
13
|
+
version: 1.2,
|
14
|
+
description: 'Wraps Microsoft Calendar Tool for AI operations',
|
15
|
+
inputs: ['main'],
|
16
|
+
outputs: ['main'],
|
17
|
+
credentials: [
|
18
|
+
{
|
19
|
+
name: 'microsoftOutlookOAuth2Api',
|
20
|
+
required: true
|
21
|
+
}
|
22
|
+
],
|
23
|
+
properties: [
|
24
|
+
{
|
25
|
+
displayName: 'Calendar ID',
|
26
|
+
name: 'calendarId',
|
27
|
+
type: 'string',
|
28
|
+
default: '',
|
29
|
+
required: true,
|
30
|
+
description: 'Target calendar ID for operations',
|
31
|
+
},
|
32
|
+
{
|
33
|
+
displayName: 'Return All Events',
|
34
|
+
name: 'returnAll',
|
35
|
+
type: 'boolean',
|
36
|
+
default: false,
|
37
|
+
description: 'Whether to return all results or only first page',
|
38
|
+
}
|
39
|
+
],
|
40
|
+
aiTool: {
|
41
|
+
name: 'calendarQuery',
|
42
|
+
description: 'Query Microsoft Calendar events',
|
43
|
+
parametersSchema: require('./calendarTool.schema.json')
|
44
|
+
}
|
45
|
+
};
|
46
|
+
async execute() {
|
47
|
+
const items = this.getInputData();
|
48
|
+
try {
|
49
|
+
const credentialsId = this.getNodeParameter('credentialsId', 0);
|
50
|
+
const calendarId = this.getNodeParameter('calendarId', 0);
|
51
|
+
const returnAll = this.getNodeParameter('returnAll', 0);
|
52
|
+
// Configure calendar tool node
|
53
|
+
const calendarNode = {
|
54
|
+
type: 'n8n-nodes-base.microsoftOutlookTool',
|
55
|
+
typeVersion: 2,
|
56
|
+
position: [1000, 340],
|
57
|
+
name: 'Microsoft_Calendar_Tool',
|
58
|
+
credentials: {
|
59
|
+
microsoftOutlookOAuth2Api: {
|
60
|
+
id: credentialsId
|
61
|
+
}
|
62
|
+
},
|
63
|
+
parameters: {
|
64
|
+
resource: 'calendarEvent',
|
65
|
+
operation: 'getAll',
|
66
|
+
calendarId,
|
67
|
+
returnAll,
|
68
|
+
options: {
|
69
|
+
fromAllCalendars: false
|
70
|
+
}
|
71
|
+
}
|
72
|
+
};
|
73
|
+
// Clone and configure workflow template
|
74
|
+
const template = JSON.parse(JSON.stringify(subWorkflowTemplate));
|
75
|
+
template.nodes.push(calendarNode);
|
76
|
+
// Update connection references
|
77
|
+
if (template.connections?.Start?.main?.[0]?.[0]) {
|
78
|
+
template.connections.Start.main[0][0].node = calendarNode.name;
|
79
|
+
}
|
80
|
+
// Execute sub-workflow
|
81
|
+
const workflowInfo = {
|
82
|
+
code: template,
|
83
|
+
};
|
84
|
+
const executionResult = await this.executeWorkflow(workflowInfo, items);
|
85
|
+
// Handle empty results
|
86
|
+
if (!executionResult?.data?.[0]) {
|
87
|
+
return [
|
88
|
+
[], // Main output
|
89
|
+
[{ json: { toolOutput: [] } }] // AI tool output
|
90
|
+
];
|
91
|
+
}
|
92
|
+
// Format AI tool output
|
93
|
+
const toolOutput = executionResult.data[0].map((item) => ({
|
94
|
+
eventId: item.json.id,
|
95
|
+
summary: item.json.subject,
|
96
|
+
start: item.json.start,
|
97
|
+
end: item.json.end
|
98
|
+
}));
|
99
|
+
return [
|
100
|
+
[], // Empty main output
|
101
|
+
[{
|
102
|
+
json: {
|
103
|
+
tool: this.getNode().type.description.aiTool?.name,
|
104
|
+
parameters: { calendarId, returnAll },
|
105
|
+
toolOutput
|
106
|
+
}
|
107
|
+
}]
|
108
|
+
];
|
109
|
+
}
|
110
|
+
catch (error) {
|
111
|
+
if (this.continueOnFail()) {
|
112
|
+
if (error instanceof Error) {
|
113
|
+
error.context = { itemIndex: 0 };
|
114
|
+
}
|
115
|
+
return [
|
116
|
+
[],
|
117
|
+
[{
|
118
|
+
json: {
|
119
|
+
error: error.message,
|
120
|
+
parameters: {
|
121
|
+
calendarId: this.getNodeParameter('calendarId', 0),
|
122
|
+
returnAll: this.getNodeParameter('returnAll', 0)
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}]
|
126
|
+
];
|
127
|
+
}
|
128
|
+
const errorContext = {
|
129
|
+
nodeId: this.getNode().id,
|
130
|
+
itemIndex: 0,
|
131
|
+
workflowId: this.getWorkflow().id
|
132
|
+
};
|
133
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, errorContext);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
exports.CalendarToolWrapperX = CalendarToolWrapperX;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="1.70666in" height="1.70666in" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 1706.66 1706.66" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
|
2
|
+
<defs>
|
3
|
+
<style type="text/css">
|
4
|
+
|
5
|
+
.fil0 {fill:black}
|
6
|
+
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<g id="Layer_x0020_1">
|
10
|
+
<metadata id="CorelCorpID_0Corel-Layer"></metadata>
|
11
|
+
<path class="fil0" d="M506.04 1706.52c-5.14,0 -10.26,-1.97 -14.17,-5.9l-190.76 -191.56c-8.31,-8.34 -8.33,-32.94 0.04,-41.33l82.71 -82.71 -82.71 -82.69c-3.75,-3.76 -5.86,-8.84 -5.86,-14.15l0 -149.83c0,-5.31 2.11,-10.39 5.86,-14.15l82.71 -82.69 -82.71 -82.69c-3.75,-3.76 -5.86,-8.85 -5.86,-14.15l0 -148.86c-145.17,-84.38 -226.2,-246.4 -206.97,-413.17 24.46,-212.4 204.41,-372.59 418.56,-372.59 232.33,0 421.35,189.02 421.35,421.35 0,150.5 -80.08,289.06 -209.78,364.45l0 699.13c0,5.31 -2.11,10.41 -5.89,14.18l-192.41 191.57c-3.9,3.86 -9,5.8 -14.11,5.8zm82.03 -1159.54l-150.53 0c-29.43,0 -53.33,-23.89 -53.33,-53.33l0 -171.05c0,-29.43 23.89,-53.33 53.33,-53.33l150.53 0c29.43,0 53.33,23.89 53.33,53.33l0 171.05c0,29.44 -23.89,53.33 -53.33,53.33zm-23.83 904.15c-11.04,0 -20,-8.97 -20,-20l0 -612.91c0,-26.33 39.99,-26.33 39.99,0l0 612.91c0,11.03 -8.96,20 -20,20z" id="id_103" style="fill: rgb(148, 66, 189);"></path>
|
12
|
+
<path class="fil0" d="M1530.29 1529l-266.21 -71.24c-11.36,-3.07 -23.71,-24.37 -20.65,-35.8l30.27 -112.97 -112.98 -30.29c-5.11,-1.37 -9.5,-4.72 -12.13,-9.31l-74.92 -129.77c-2.65,-4.58 -3.37,-10.06 -2,-15.18l30.26 -112.96 -112.98 -30.29c-5.11,-1.38 -9.48,-4.72 -12.14,-9.32l-74.41 -128.92c-51.44,-0.18 -102.66,-9.86 -150.62,-28.31l0 -0.11c102.67,-65.66 173.75,-169.04 199.3,-286.05l80.46 -47.36c25.46,-14.69 34.22,-47.4 19.52,-72.86l-85.53 -148.14c-10.41,-18.03 -29.82,-27.67 -49.31,-26.56 -40.16,-82.76 -104.7,-151.6 -184.22,-197.11 193.13,-86.71 427.75,-13.59 536.31,174.41 75.26,130.34 75.19,290.36 0.56,420.52l349.59 605.5c2.65,4.6 3.37,10.08 1.98,15.22l-70.87 262.12c-2.4,8.9 -10.46,14.78 -19.28,14.78zm-46.7 -239.04c-6.9,0 -13.63,-3.59 -17.33,-10.02l-306.44 -530.78c-13.15,-22.81 21.46,-42.78 34.63,-20l306.44 530.79c7.74,13.42 -2.11,30 -17.3,30z" id="id_104" style="fill: rgb(107, 21, 150);"></path>
|
13
|
+
</g>
|
14
|
+
</svg>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"type": "object",
|
3
|
+
"properties": {
|
4
|
+
"calendarId": {
|
5
|
+
"type": "string",
|
6
|
+
"title": "Calendar ID",
|
7
|
+
"description": "The ID of the calendar to query"
|
8
|
+
},
|
9
|
+
"returnAll": {
|
10
|
+
"type": "boolean",
|
11
|
+
"title": "Return All Events",
|
12
|
+
"description": "Whether to return all events or only up to a limit",
|
13
|
+
"default": false
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"required": ["calendarId"]
|
17
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"nodes": [
|
3
|
+
{
|
4
|
+
"parameters": {},
|
5
|
+
"id": "dacc52e8-fef9-4cc3-9fca-623fa81b3c5f",
|
6
|
+
"name": "Start",
|
7
|
+
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
8
|
+
"typeVersion": 1,
|
9
|
+
"position": [
|
10
|
+
720,
|
11
|
+
340
|
12
|
+
]
|
13
|
+
}
|
14
|
+
],
|
15
|
+
"settings":{
|
16
|
+
"saveManualExecutions":false,
|
17
|
+
"saveExecutionProgress":false,
|
18
|
+
"saveDataErrorExecution": "none",
|
19
|
+
"saveDataSuccessExecution": "none"
|
20
|
+
},
|
21
|
+
"connections": {
|
22
|
+
"Start": {
|
23
|
+
"main": [
|
24
|
+
[
|
25
|
+
{
|
26
|
+
"node": "",
|
27
|
+
"type": "main",
|
28
|
+
"index": 0
|
29
|
+
}
|
30
|
+
]
|
31
|
+
]
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/index.js
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const CalendarToolWrapperX_node_1 = require("./nodes/CalendarToolWrapperX/CalendarToolWrapperX.node");
|
4
|
+
module.exports = {
|
5
|
+
CalendarToolWrapperX: CalendarToolWrapperX_node_1.CalendarToolWrapperX
|
6
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
2
|
+
declare module 'n8n-workflow' {
|
3
|
+
interface INodeTypeDescription {
|
4
|
+
aiTool?: {
|
5
|
+
name: string;
|
6
|
+
description: string;
|
7
|
+
parametersSchema: Record<string, unknown>;
|
8
|
+
};
|
9
|
+
}
|
10
|
+
}
|
11
|
+
export declare class CalendarToolWrapperX implements INodeType {
|
12
|
+
description: INodeTypeDescription;
|
13
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
14
|
+
}
|
@@ -0,0 +1,137 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.CalendarToolWrapperX = void 0;
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
5
|
+
const subWorkflowTemplate = require("./subWorkflowTemplate.json");
|
6
|
+
class CalendarToolWrapperX {
|
7
|
+
// @ts-ignore - Adding custom aiTool property to type definition
|
8
|
+
description = {
|
9
|
+
displayName: 'Calendar Tool Wrapper X',
|
10
|
+
name: 'calendarToolWrapperX',
|
11
|
+
// icon: 'file:RunKeys.svg', // Removed icon property
|
12
|
+
group: ['ai'],
|
13
|
+
version: 1.2,
|
14
|
+
description: 'Wraps Microsoft Calendar Tool for AI operations',
|
15
|
+
inputs: ['main'],
|
16
|
+
outputs: ['main'],
|
17
|
+
credentials: [
|
18
|
+
{
|
19
|
+
name: 'microsoftOutlookOAuth2Api',
|
20
|
+
required: true
|
21
|
+
}
|
22
|
+
],
|
23
|
+
properties: [
|
24
|
+
{
|
25
|
+
displayName: 'Calendar ID',
|
26
|
+
name: 'calendarId',
|
27
|
+
type: 'string',
|
28
|
+
default: '',
|
29
|
+
required: true,
|
30
|
+
description: 'Target calendar ID for operations',
|
31
|
+
},
|
32
|
+
{
|
33
|
+
displayName: 'Return All Events',
|
34
|
+
name: 'returnAll',
|
35
|
+
type: 'boolean',
|
36
|
+
default: false,
|
37
|
+
description: 'Whether to return all results or only first page',
|
38
|
+
}
|
39
|
+
],
|
40
|
+
aiTool: {
|
41
|
+
name: 'calendarQuery',
|
42
|
+
description: 'Query Microsoft Calendar events',
|
43
|
+
parametersSchema: require('./calendarTool.schema.json')
|
44
|
+
}
|
45
|
+
};
|
46
|
+
async execute() {
|
47
|
+
const items = this.getInputData();
|
48
|
+
try {
|
49
|
+
const credentialsId = this.getNodeParameter('credentialsId', 0);
|
50
|
+
const calendarId = this.getNodeParameter('calendarId', 0);
|
51
|
+
const returnAll = this.getNodeParameter('returnAll', 0);
|
52
|
+
// Configure calendar tool node
|
53
|
+
const calendarNode = {
|
54
|
+
type: 'n8n-nodes-base.microsoftOutlookTool',
|
55
|
+
typeVersion: 2,
|
56
|
+
position: [1000, 340],
|
57
|
+
name: 'Microsoft_Calendar_Tool',
|
58
|
+
credentials: {
|
59
|
+
microsoftOutlookOAuth2Api: {
|
60
|
+
id: credentialsId
|
61
|
+
}
|
62
|
+
},
|
63
|
+
parameters: {
|
64
|
+
resource: 'calendarEvent',
|
65
|
+
operation: 'getAll',
|
66
|
+
calendarId,
|
67
|
+
returnAll,
|
68
|
+
options: {
|
69
|
+
fromAllCalendars: false
|
70
|
+
}
|
71
|
+
}
|
72
|
+
};
|
73
|
+
// Clone and configure workflow template
|
74
|
+
const template = JSON.parse(JSON.stringify(subWorkflowTemplate));
|
75
|
+
template.nodes.push(calendarNode);
|
76
|
+
// Update connection references
|
77
|
+
if (template.connections?.Start?.main?.[0]?.[0]) {
|
78
|
+
template.connections.Start.main[0][0].node = calendarNode.name;
|
79
|
+
}
|
80
|
+
// Execute sub-workflow
|
81
|
+
const workflowInfo = {
|
82
|
+
code: template,
|
83
|
+
};
|
84
|
+
const executionResult = await this.executeWorkflow(workflowInfo, items);
|
85
|
+
// Handle empty results
|
86
|
+
if (!executionResult?.data?.[0]) {
|
87
|
+
return [
|
88
|
+
[], // Main output
|
89
|
+
[{ json: { toolOutput: [] } }] // AI tool output
|
90
|
+
];
|
91
|
+
}
|
92
|
+
// Format AI tool output
|
93
|
+
const toolOutput = executionResult.data[0].map((item) => ({
|
94
|
+
eventId: item.json.id,
|
95
|
+
summary: item.json.subject,
|
96
|
+
start: item.json.start,
|
97
|
+
end: item.json.end
|
98
|
+
}));
|
99
|
+
return [
|
100
|
+
[], // Empty main output
|
101
|
+
[{
|
102
|
+
json: {
|
103
|
+
tool: this.getNode().type.description.aiTool?.name,
|
104
|
+
parameters: { calendarId, returnAll },
|
105
|
+
toolOutput
|
106
|
+
}
|
107
|
+
}]
|
108
|
+
];
|
109
|
+
}
|
110
|
+
catch (error) {
|
111
|
+
if (this.continueOnFail()) {
|
112
|
+
if (error instanceof Error) {
|
113
|
+
error.context = { itemIndex: 0 };
|
114
|
+
}
|
115
|
+
return [
|
116
|
+
[],
|
117
|
+
[{
|
118
|
+
json: {
|
119
|
+
error: error.message,
|
120
|
+
parameters: {
|
121
|
+
calendarId: this.getNodeParameter('calendarId', 0),
|
122
|
+
returnAll: this.getNodeParameter('returnAll', 0)
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}]
|
126
|
+
];
|
127
|
+
}
|
128
|
+
const errorContext = {
|
129
|
+
nodeId: this.getNode().id,
|
130
|
+
itemIndex: 0,
|
131
|
+
workflowId: this.getWorkflow().id
|
132
|
+
};
|
133
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, errorContext);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
exports.CalendarToolWrapperX = CalendarToolWrapperX;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="1.70666in" height="1.70666in" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 1706.66 1706.66" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
|
2
|
+
<defs>
|
3
|
+
<style type="text/css">
|
4
|
+
|
5
|
+
.fil0 {fill:black}
|
6
|
+
|
7
|
+
</style>
|
8
|
+
</defs>
|
9
|
+
<g id="Layer_x0020_1">
|
10
|
+
<metadata id="CorelCorpID_0Corel-Layer"></metadata>
|
11
|
+
<path class="fil0" d="M506.04 1706.52c-5.14,0 -10.26,-1.97 -14.17,-5.9l-190.76 -191.56c-8.31,-8.34 -8.33,-32.94 0.04,-41.33l82.71 -82.71 -82.71 -82.69c-3.75,-3.76 -5.86,-8.84 -5.86,-14.15l0 -149.83c0,-5.31 2.11,-10.39 5.86,-14.15l82.71 -82.69 -82.71 -82.69c-3.75,-3.76 -5.86,-8.85 -5.86,-14.15l0 -148.86c-145.17,-84.38 -226.2,-246.4 -206.97,-413.17 24.46,-212.4 204.41,-372.59 418.56,-372.59 232.33,0 421.35,189.02 421.35,421.35 0,150.5 -80.08,289.06 -209.78,364.45l0 699.13c0,5.31 -2.11,10.41 -5.89,14.18l-192.41 191.57c-3.9,3.86 -9,5.8 -14.11,5.8zm82.03 -1159.54l-150.53 0c-29.43,0 -53.33,-23.89 -53.33,-53.33l0 -171.05c0,-29.43 23.89,-53.33 53.33,-53.33l150.53 0c29.43,0 53.33,23.89 53.33,53.33l0 171.05c0,29.44 -23.89,53.33 -53.33,53.33zm-23.83 904.15c-11.04,0 -20,-8.97 -20,-20l0 -612.91c0,-26.33 39.99,-26.33 39.99,0l0 612.91c0,11.03 -8.96,20 -20,20z" id="id_103" style="fill: rgb(148, 66, 189);"></path>
|
12
|
+
<path class="fil0" d="M1530.29 1529l-266.21 -71.24c-11.36,-3.07 -23.71,-24.37 -20.65,-35.8l30.27 -112.97 -112.98 -30.29c-5.11,-1.37 -9.5,-4.72 -12.13,-9.31l-74.92 -129.77c-2.65,-4.58 -3.37,-10.06 -2,-15.18l30.26 -112.96 -112.98 -30.29c-5.11,-1.38 -9.48,-4.72 -12.14,-9.32l-74.41 -128.92c-51.44,-0.18 -102.66,-9.86 -150.62,-28.31l0 -0.11c102.67,-65.66 173.75,-169.04 199.3,-286.05l80.46 -47.36c25.46,-14.69 34.22,-47.4 19.52,-72.86l-85.53 -148.14c-10.41,-18.03 -29.82,-27.67 -49.31,-26.56 -40.16,-82.76 -104.7,-151.6 -184.22,-197.11 193.13,-86.71 427.75,-13.59 536.31,174.41 75.26,130.34 75.19,290.36 0.56,420.52l349.59 605.5c2.65,4.6 3.37,10.08 1.98,15.22l-70.87 262.12c-2.4,8.9 -10.46,14.78 -19.28,14.78zm-46.7 -239.04c-6.9,0 -13.63,-3.59 -17.33,-10.02l-306.44 -530.78c-13.15,-22.81 21.46,-42.78 34.63,-20l306.44 530.79c7.74,13.42 -2.11,30 -17.3,30z" id="id_104" style="fill: rgb(107, 21, 150);"></path>
|
13
|
+
</g>
|
14
|
+
</svg>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"type": "object",
|
3
|
+
"properties": {
|
4
|
+
"calendarId": {
|
5
|
+
"type": "string",
|
6
|
+
"title": "Calendar ID",
|
7
|
+
"description": "The ID of the calendar to query"
|
8
|
+
},
|
9
|
+
"returnAll": {
|
10
|
+
"type": "boolean",
|
11
|
+
"title": "Return All Events",
|
12
|
+
"description": "Whether to return all events or only up to a limit",
|
13
|
+
"default": false
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"required": ["calendarId"]
|
17
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"nodes": [
|
3
|
+
{
|
4
|
+
"parameters": {},
|
5
|
+
"id": "dacc52e8-fef9-4cc3-9fca-623fa81b3c5f",
|
6
|
+
"name": "Start",
|
7
|
+
"type": "n8n-nodes-base.executeWorkflowTrigger",
|
8
|
+
"typeVersion": 1,
|
9
|
+
"position": [
|
10
|
+
720,
|
11
|
+
340
|
12
|
+
]
|
13
|
+
}
|
14
|
+
],
|
15
|
+
"settings":{
|
16
|
+
"saveManualExecutions":false,
|
17
|
+
"saveExecutionProgress":false,
|
18
|
+
"saveDataErrorExecution": "none",
|
19
|
+
"saveDataSuccessExecution": "none"
|
20
|
+
},
|
21
|
+
"connections": {
|
22
|
+
"Start": {
|
23
|
+
"main": [
|
24
|
+
[
|
25
|
+
{
|
26
|
+
"node": "",
|
27
|
+
"type": "main",
|
28
|
+
"index": 0
|
29
|
+
}
|
30
|
+
]
|
31
|
+
]
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
package/package.json
CHANGED
@@ -1,52 +1,42 @@
|
|
1
1
|
{
|
2
2
|
"name": "@henry2323/n8n-nodes-calendar-tool-wrapper",
|
3
|
-
"version": "0.1.
|
4
|
-
"
|
3
|
+
"version": "0.1.2",
|
4
|
+
"type": "commonjs",
|
5
|
+
"engines": {
|
6
|
+
"node": ">=18.0.0"
|
7
|
+
},
|
8
|
+
"description": "Wrapper for Microsoft Calendar AI Tool integration",
|
5
9
|
"keywords": [
|
6
10
|
"n8n-community-node-package"
|
7
11
|
],
|
8
12
|
"license": "MIT",
|
9
|
-
"homepage": "",
|
10
|
-
"author": {
|
11
|
-
"name": "henry2323"
|
12
|
-
},
|
13
|
-
"private": false,
|
14
|
-
"main": "index.js",
|
15
13
|
"scripts": {
|
14
|
+
"clean": "rimraf dist",
|
16
15
|
"build": "tsc",
|
17
16
|
"dev": "tsc --watch",
|
18
|
-
"
|
19
|
-
"lint": "eslint nodes package.json",
|
20
|
-
"lintfix": "eslint nodes package.json --fix",
|
21
|
-
"prepublishOnly": "npm run build",
|
22
|
-
"pretest": "npm run lint",
|
23
|
-
"test": "jest"
|
17
|
+
"prepublishOnly": "npm run build"
|
24
18
|
},
|
19
|
+
"author": "Henry",
|
20
|
+
"private": false,
|
21
|
+
"main": "dist/nodes/CalendarToolWrapperX/CalendarToolWrapperX.node.js",
|
22
|
+
"types": "dist/nodes/CalendarToolWrapperX/CalendarToolWrapperX.node.d.ts",
|
25
23
|
"files": [
|
26
24
|
"dist"
|
27
25
|
],
|
28
26
|
"n8n": {
|
29
|
-
"n8nNodesApiVersion":
|
30
|
-
"credentials": [],
|
27
|
+
"n8nNodesApiVersion": 2,
|
31
28
|
"nodes": [
|
32
29
|
"dist/nodes/CalendarToolWrapperX/CalendarToolWrapperX.node.js"
|
33
30
|
]
|
34
31
|
},
|
35
32
|
"dependencies": {
|
36
|
-
"n8n-nodes-base": "^1.
|
33
|
+
"n8n-nodes-base": "^1.16.0",
|
34
|
+
"n8n-workflow": "^1.16.0",
|
35
|
+
"copyfiles": "^2.4.1"
|
37
36
|
},
|
38
37
|
"devDependencies": {
|
39
|
-
"@types/
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"@typescript-eslint/parser": "^5.29.0",
|
43
|
-
"eslint-plugin-n8n-nodes-base": "^1.5.4",
|
44
|
-
"gulp": "^5.0.0",
|
45
|
-
"jest": "^29.7.0",
|
46
|
-
"n8n-core": "^1.75.0",
|
47
|
-
"n8n-workflow": "^1.70.0",
|
48
|
-
"prettier": "^2.7.1",
|
49
|
-
"ts-jest": "^29.2.5",
|
50
|
-
"typescript": "~4.6.4"
|
38
|
+
"@types/node": "^20.11.0",
|
39
|
+
"typescript": "^5.3.3",
|
40
|
+
"rimraf": "^5.0.5"
|
51
41
|
}
|
52
42
|
}
|