@robinpath/todoist 0.1.0 → 0.1.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 CHANGED
@@ -1,112 +1,112 @@
1
- # @robinpath/todoist
2
-
3
- > Todoist module for RobinPath.
4
-
5
- ![Category](https://img.shields.io/badge/category-Project-management-blue) ![Functions](https://img.shields.io/badge/functions-18-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)
6
-
7
- ## Why use this module?
8
-
9
- The `todoist` module lets you:
10
-
11
- - listProjects
12
- - getProject
13
- - createProject
14
- - updateProject
15
- - deleteProject
16
-
17
- All functions are callable directly from RobinPath scripts with a simple, consistent API.
18
-
19
- ## Installation
20
-
21
- ```bash
22
- npm install @robinpath/todoist
23
- ```
24
-
25
- ## Quick Start
26
-
27
- **1. Set up credentials**
28
-
29
- ```robinpath
30
- todoist.setCredentials "your-credentials"
31
- ```
32
-
33
- **2. listProjects**
34
-
35
- ```robinpath
36
- todoist.listProjects
37
- ```
38
-
39
- ## Available Functions
40
-
41
- | Function | Description |
42
- |----------|-------------|
43
- | `todoist.setCredentials` | Configure todoist credentials. |
44
- | `todoist.listProjects` | listProjects |
45
- | `todoist.getProject` | getProject |
46
- | `todoist.createProject` | createProject |
47
- | `todoist.updateProject` | updateProject |
48
- | `todoist.deleteProject` | deleteProject |
49
- | `todoist.listTasks` | listTasks |
50
- | `todoist.getTask` | getTask |
51
- | `todoist.createTask` | createTask |
52
- | `todoist.updateTask` | updateTask |
53
- | `todoist.closeTask` | closeTask |
54
- | `todoist.reopenTask` | reopenTask |
55
- | `todoist.deleteTask` | deleteTask |
56
- | `todoist.listLabels` | listLabels |
57
- | `todoist.createLabel` | createLabel |
58
- | `todoist.listComments` | listComments |
59
- | `todoist.createComment` | createComment |
60
- | `todoist.deleteComment` | deleteComment |
61
-
62
- ## Examples
63
-
64
- ### listProjects
65
-
66
- ```robinpath
67
- todoist.listProjects
68
- ```
69
-
70
- ### getProject
71
-
72
- ```robinpath
73
- todoist.getProject
74
- ```
75
-
76
- ### createProject
77
-
78
- ```robinpath
79
- todoist.createProject
80
- ```
81
-
82
- ## Integration with RobinPath
83
-
84
- ```typescript
85
- import { RobinPath } from "@wiredwp/robinpath";
86
- import Module from "@robinpath/todoist";
87
-
88
- const rp = new RobinPath();
89
- rp.registerModule(Module.name, Module.functions);
90
- rp.registerModuleMeta(Module.name, Module.functionMetadata);
91
-
92
- const result = await rp.executeScript(`
93
- todoist.setCredentials "your-credentials"
94
- todoist.listProjects
95
- `);
96
- ```
97
-
98
- ## Full API Reference
99
-
100
- See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
101
-
102
- ## Related Modules
103
-
104
- - [`@robinpath/asana`](../asana) — Asana module for complementary functionality
105
- - [`@robinpath/clickup`](../clickup) — ClickUp module for complementary functionality
106
- - [`@robinpath/jira`](../jira) — Jira module for complementary functionality
107
- - [`@robinpath/linear`](../linear) — Linear module for complementary functionality
108
- - [`@robinpath/monday`](../monday) — Monday.com module for complementary functionality
109
-
110
- ## License
111
-
112
- MIT
1
+ # @robinpath/todoist
2
+
3
+ > Todoist module for RobinPath.
4
+
5
+ ![Category](https://img.shields.io/badge/category-Project-management-blue) ![Functions](https://img.shields.io/badge/functions-18-green) ![Auth](https://img.shields.io/badge/auth-API%20Key-orange) ![License](https://img.shields.io/badge/license-MIT-brightgreen)
6
+
7
+ ## Why use this module?
8
+
9
+ The `todoist` module lets you:
10
+
11
+ - listProjects
12
+ - getProject
13
+ - createProject
14
+ - updateProject
15
+ - deleteProject
16
+
17
+ All functions are callable directly from RobinPath scripts with a simple, consistent API.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ npm install @robinpath/todoist
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ **1. Set up credentials**
28
+
29
+ ```robinpath
30
+ todoist.setCredentials "your-credentials"
31
+ ```
32
+
33
+ **2. listProjects**
34
+
35
+ ```robinpath
36
+ todoist.listProjects
37
+ ```
38
+
39
+ ## Available Functions
40
+
41
+ | Function | Description |
42
+ |----------|-------------|
43
+ | `todoist.setCredentials` | Configure todoist credentials. |
44
+ | `todoist.listProjects` | listProjects |
45
+ | `todoist.getProject` | getProject |
46
+ | `todoist.createProject` | createProject |
47
+ | `todoist.updateProject` | updateProject |
48
+ | `todoist.deleteProject` | deleteProject |
49
+ | `todoist.listTasks` | listTasks |
50
+ | `todoist.getTask` | getTask |
51
+ | `todoist.createTask` | createTask |
52
+ | `todoist.updateTask` | updateTask |
53
+ | `todoist.closeTask` | closeTask |
54
+ | `todoist.reopenTask` | reopenTask |
55
+ | `todoist.deleteTask` | deleteTask |
56
+ | `todoist.listLabels` | listLabels |
57
+ | `todoist.createLabel` | createLabel |
58
+ | `todoist.listComments` | listComments |
59
+ | `todoist.createComment` | createComment |
60
+ | `todoist.deleteComment` | deleteComment |
61
+
62
+ ## Examples
63
+
64
+ ### listProjects
65
+
66
+ ```robinpath
67
+ todoist.listProjects
68
+ ```
69
+
70
+ ### getProject
71
+
72
+ ```robinpath
73
+ todoist.getProject
74
+ ```
75
+
76
+ ### createProject
77
+
78
+ ```robinpath
79
+ todoist.createProject
80
+ ```
81
+
82
+ ## Integration with RobinPath
83
+
84
+ ```typescript
85
+ import { RobinPath } from "@wiredwp/robinpath";
86
+ import Module from "@robinpath/todoist";
87
+
88
+ const rp = new RobinPath();
89
+ rp.registerModule(Module.name, Module.functions);
90
+ rp.registerModuleMeta(Module.name, Module.functionMetadata);
91
+
92
+ const result = await rp.executeScript(`
93
+ todoist.setCredentials "your-credentials"
94
+ todoist.listProjects
95
+ `);
96
+ ```
97
+
98
+ ## Full API Reference
99
+
100
+ See [MODULE.md](./MODULE.md) for complete documentation including all parameters, return types, error handling, and advanced examples.
101
+
102
+ ## Related Modules
103
+
104
+ - [`@robinpath/asana`](../asana) — Asana module for complementary functionality
105
+ - [`@robinpath/clickup`](../clickup) — ClickUp module for complementary functionality
106
+ - [`@robinpath/jira`](../jira) — Jira module for complementary functionality
107
+ - [`@robinpath/linear`](../linear) — Linear module for complementary functionality
108
+ - [`@robinpath/monday`](../monday) — Monday.com module for complementary functionality
109
+
110
+ ## License
111
+
112
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinpath/todoist",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -20,10 +20,23 @@
20
20
  "build": "tsc"
21
21
  },
22
22
  "peerDependencies": {
23
- "@wiredwp/robinpath": ">=0.20.0"
23
+ "@robinpath/core": ">=0.20.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@wiredwp/robinpath": "^0.30.1",
26
+ "@robinpath/core": "^0.30.1",
27
27
  "typescript": "^5.6.0"
28
+ },
29
+ "description": "Todoist module for RobinPath.",
30
+ "keywords": [
31
+ "todoist",
32
+ "project management"
33
+ ],
34
+ "license": "MIT",
35
+ "robinpath": {
36
+ "category": "project-management",
37
+ "type": "integration",
38
+ "auth": "api-key",
39
+ "functionCount": 18,
40
+ "baseUrl": "https://api.todoist.com"
28
41
  }
29
42
  }
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { ModuleAdapter } from "@wiredwp/robinpath";
2
- declare const TodoistModule: ModuleAdapter;
3
- export default TodoistModule;
4
- export { TodoistModule };
5
- export { TodoistFunctions, TodoistFunctionMetadata, TodoistModuleMetadata } from "./todoist.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,aAAa,EAAE,aAMpB,CAAC;AAEF,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js DELETED
@@ -1,12 +0,0 @@
1
- import { TodoistFunctions, TodoistFunctionMetadata, TodoistModuleMetadata } from "./todoist.js";
2
- const TodoistModule = {
3
- name: "todoist",
4
- functions: TodoistFunctions,
5
- functionMetadata: TodoistFunctionMetadata,
6
- moduleMetadata: TodoistModuleMetadata,
7
- global: false,
8
- }; // as ModuleAdapter
9
- export default TodoistModule;
10
- export { TodoistModule };
11
- export { TodoistFunctions, TodoistFunctionMetadata, TodoistModuleMetadata } from "./todoist.js";
12
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEhG,MAAM,aAAa,GAAkB;IACnC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,gBAAgB;IAC3B,gBAAgB,EAAE,uBAA8B;IAChD,cAAc,EAAE,qBAA4B;IAC5C,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
package/dist/todoist.d.ts DELETED
@@ -1,226 +0,0 @@
1
- import type { BuiltinHandler } from "@wiredwp/robinpath";
2
- export declare const TodoistFunctions: Record<string, BuiltinHandler>;
3
- export declare const TodoistFunctionMetadata: {
4
- setCredentials: {
5
- description: string;
6
- parameters: {
7
- name: string;
8
- dataType: string;
9
- description: string;
10
- formInputType: string;
11
- required: boolean;
12
- }[];
13
- returnType: string;
14
- returnDescription: string;
15
- };
16
- listProjects: {
17
- description: string;
18
- parameters: {
19
- name: string;
20
- dataType: string;
21
- description: string;
22
- formInputType: string;
23
- required: boolean;
24
- }[];
25
- returnType: string;
26
- returnDescription: string;
27
- };
28
- getProject: {
29
- description: string;
30
- parameters: {
31
- name: string;
32
- dataType: string;
33
- description: string;
34
- formInputType: string;
35
- required: boolean;
36
- }[];
37
- returnType: string;
38
- returnDescription: string;
39
- };
40
- createProject: {
41
- description: string;
42
- parameters: {
43
- name: string;
44
- dataType: string;
45
- description: string;
46
- formInputType: string;
47
- required: boolean;
48
- }[];
49
- returnType: string;
50
- returnDescription: string;
51
- };
52
- updateProject: {
53
- description: string;
54
- parameters: {
55
- name: string;
56
- dataType: string;
57
- description: string;
58
- formInputType: string;
59
- required: boolean;
60
- }[];
61
- returnType: string;
62
- returnDescription: string;
63
- };
64
- deleteProject: {
65
- description: string;
66
- parameters: {
67
- name: string;
68
- dataType: string;
69
- description: string;
70
- formInputType: string;
71
- required: boolean;
72
- }[];
73
- returnType: string;
74
- returnDescription: string;
75
- };
76
- listTasks: {
77
- description: string;
78
- parameters: {
79
- name: string;
80
- dataType: string;
81
- description: string;
82
- formInputType: string;
83
- required: boolean;
84
- }[];
85
- returnType: string;
86
- returnDescription: string;
87
- };
88
- getTask: {
89
- description: string;
90
- parameters: {
91
- name: string;
92
- dataType: string;
93
- description: string;
94
- formInputType: string;
95
- required: boolean;
96
- }[];
97
- returnType: string;
98
- returnDescription: string;
99
- };
100
- createTask: {
101
- description: string;
102
- parameters: {
103
- name: string;
104
- dataType: string;
105
- description: string;
106
- formInputType: string;
107
- required: boolean;
108
- }[];
109
- returnType: string;
110
- returnDescription: string;
111
- };
112
- updateTask: {
113
- description: string;
114
- parameters: {
115
- name: string;
116
- dataType: string;
117
- description: string;
118
- formInputType: string;
119
- required: boolean;
120
- }[];
121
- returnType: string;
122
- returnDescription: string;
123
- };
124
- closeTask: {
125
- description: string;
126
- parameters: {
127
- name: string;
128
- dataType: string;
129
- description: string;
130
- formInputType: string;
131
- required: boolean;
132
- }[];
133
- returnType: string;
134
- returnDescription: string;
135
- };
136
- reopenTask: {
137
- description: string;
138
- parameters: {
139
- name: string;
140
- dataType: string;
141
- description: string;
142
- formInputType: string;
143
- required: boolean;
144
- }[];
145
- returnType: string;
146
- returnDescription: string;
147
- };
148
- deleteTask: {
149
- description: string;
150
- parameters: {
151
- name: string;
152
- dataType: string;
153
- description: string;
154
- formInputType: string;
155
- required: boolean;
156
- }[];
157
- returnType: string;
158
- returnDescription: string;
159
- };
160
- listLabels: {
161
- description: string;
162
- parameters: {
163
- name: string;
164
- dataType: string;
165
- description: string;
166
- formInputType: string;
167
- required: boolean;
168
- }[];
169
- returnType: string;
170
- returnDescription: string;
171
- };
172
- createLabel: {
173
- description: string;
174
- parameters: {
175
- name: string;
176
- dataType: string;
177
- description: string;
178
- formInputType: string;
179
- required: boolean;
180
- }[];
181
- returnType: string;
182
- returnDescription: string;
183
- };
184
- listComments: {
185
- description: string;
186
- parameters: {
187
- name: string;
188
- dataType: string;
189
- description: string;
190
- formInputType: string;
191
- required: boolean;
192
- }[];
193
- returnType: string;
194
- returnDescription: string;
195
- };
196
- createComment: {
197
- description: string;
198
- parameters: {
199
- name: string;
200
- dataType: string;
201
- description: string;
202
- formInputType: string;
203
- required: boolean;
204
- }[];
205
- returnType: string;
206
- returnDescription: string;
207
- };
208
- deleteComment: {
209
- description: string;
210
- parameters: {
211
- name: string;
212
- dataType: string;
213
- description: string;
214
- formInputType: string;
215
- required: boolean;
216
- }[];
217
- returnType: string;
218
- returnDescription: string;
219
- };
220
- };
221
- export declare const TodoistModuleMetadata: {
222
- description: string;
223
- methods: string[];
224
- category: string;
225
- };
226
- //# sourceMappingURL=todoist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todoist.d.ts","sourceRoot":"","sources":["../src/todoist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AAgIlG,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAE3D,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;CAIjC,CAAC"}
package/dist/todoist.js DELETED
@@ -1,146 +0,0 @@
1
- const config = new Map();
2
- function getConfig(key) {
3
- const val = config.get(key);
4
- if (!val)
5
- throw new Error(`Todoist: "${key}" not configured. Call todoist.setCredentials first.`);
6
- return val;
7
- }
8
- async function apiCall(path, method = "GET", body) {
9
- const res = await fetch(`https://api.todoist.com/rest/v2${path}`, {
10
- method,
11
- headers: { "Authorization": `Bearer ${getConfig("apiToken")}`, "Content-Type": "application/json", Accept: "application/json" },
12
- body: body ? JSON.stringify(body) : undefined,
13
- });
14
- if (!res.ok) {
15
- const t = await res.text();
16
- throw new Error(`Todoist API error (${res.status}): ${t}`);
17
- }
18
- const ct = res.headers.get("content-type");
19
- return ct && ct.includes("application/json") ? res.json() : res.text();
20
- }
21
- const setCredentials = (args) => {
22
- const apiToken = args[0];
23
- if (!apiToken)
24
- throw new Error("todoist.setCredentials requires apiToken.");
25
- config.set("apiToken", apiToken);
26
- return "Todoist credentials configured.";
27
- };
28
- const listProjects = async (args) => {
29
- const id = args[0];
30
- return apiCall(id ? `/listProjects/${id}` : `/listProjects`);
31
- };
32
- const getProject = async (args) => {
33
- const id = args[0];
34
- return apiCall(id ? `/getProject/${id}` : `/getProject`);
35
- };
36
- const createProject = async (args) => {
37
- const id = args[0];
38
- const data = args[1] ?? args[0];
39
- return apiCall(`/createProject`, "POST", typeof data === "object" ? data : { value: data });
40
- };
41
- const updateProject = async (args) => {
42
- const id = args[0];
43
- if (!id)
44
- throw new Error("todoist.updateProject requires an ID.");
45
- const data = args[1] ?? {};
46
- return apiCall(`/updateProject/${id}`, "PUT", typeof data === "object" ? data : { value: data });
47
- };
48
- const deleteProject = async (args) => {
49
- const id = args[0];
50
- if (!id)
51
- throw new Error("todoist.deleteProject requires an ID.");
52
- return apiCall(`/deleteProject/${id}`, "DELETE");
53
- };
54
- const listTasks = async (args) => {
55
- const id = args[0];
56
- return apiCall(id ? `/listTasks/${id}` : `/listTasks`);
57
- };
58
- const getTask = async (args) => {
59
- const id = args[0];
60
- return apiCall(id ? `/getTask/${id}` : `/getTask`);
61
- };
62
- const createTask = async (args) => {
63
- const id = args[0];
64
- const data = args[1] ?? args[0];
65
- return apiCall(`/createTask`, "POST", typeof data === "object" ? data : { value: data });
66
- };
67
- const updateTask = async (args) => {
68
- const id = args[0];
69
- if (!id)
70
- throw new Error("todoist.updateTask requires an ID.");
71
- const data = args[1] ?? {};
72
- return apiCall(`/updateTask/${id}`, "PUT", typeof data === "object" ? data : { value: data });
73
- };
74
- const closeTask = async (args) => {
75
- const id = args[0];
76
- if (!id)
77
- throw new Error("todoist.closeTask requires an ID.");
78
- const data = args[1] ?? {};
79
- return apiCall(`/closeTask/${id}`, "PUT", typeof data === "object" ? data : { value: data });
80
- };
81
- const reopenTask = async (args) => {
82
- const id = args[0];
83
- if (!id)
84
- throw new Error("todoist.reopenTask requires an ID.");
85
- const data = args[1] ?? {};
86
- return apiCall(`/reopenTask/${id}`, "PUT", typeof data === "object" ? data : { value: data });
87
- };
88
- const deleteTask = async (args) => {
89
- const id = args[0];
90
- if (!id)
91
- throw new Error("todoist.deleteTask requires an ID.");
92
- return apiCall(`/deleteTask/${id}`, "DELETE");
93
- };
94
- const listLabels = async (args) => {
95
- const id = args[0];
96
- return apiCall(id ? `/listLabels/${id}` : `/listLabels`);
97
- };
98
- const createLabel = async (args) => {
99
- const id = args[0];
100
- const data = args[1] ?? args[0];
101
- return apiCall(`/createLabel`, "POST", typeof data === "object" ? data : { value: data });
102
- };
103
- const listComments = async (args) => {
104
- const id = args[0];
105
- return apiCall(id ? `/listComments/${id}` : `/listComments`);
106
- };
107
- const createComment = async (args) => {
108
- const id = args[0];
109
- const data = args[1] ?? args[0];
110
- return apiCall(`/createComment`, "POST", typeof data === "object" ? data : { value: data });
111
- };
112
- const deleteComment = async (args) => {
113
- const id = args[0];
114
- if (!id)
115
- throw new Error("todoist.deleteComment requires an ID.");
116
- return apiCall(`/deleteComment/${id}`, "DELETE");
117
- };
118
- export const TodoistFunctions = {
119
- setCredentials, listProjects, getProject, createProject, updateProject, deleteProject, listTasks, getTask, createTask, updateTask, closeTask, reopenTask, deleteTask, listLabels, createLabel, listComments, createComment, deleteComment,
120
- };
121
- export const TodoistFunctionMetadata = {
122
- setCredentials: { description: "Configure todoist credentials.", parameters: [{ name: "apiToken", dataType: "string", description: "apiToken", formInputType: "text", required: true }], returnType: "object", returnDescription: "API response." },
123
- listProjects: { description: "listProjects", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
124
- getProject: { description: "getProject", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
125
- createProject: { description: "createProject", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
126
- updateProject: { description: "updateProject", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
127
- deleteProject: { description: "deleteProject", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
128
- listTasks: { description: "listTasks", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
129
- getTask: { description: "getTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
130
- createTask: { description: "createTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
131
- updateTask: { description: "updateTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
132
- closeTask: { description: "closeTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
133
- reopenTask: { description: "reopenTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
134
- deleteTask: { description: "deleteTask", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
135
- listLabels: { description: "listLabels", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
136
- createLabel: { description: "createLabel", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
137
- listComments: { description: "listComments", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
138
- createComment: { description: "createComment", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
139
- deleteComment: { description: "deleteComment", parameters: [{ name: "input", dataType: "string", description: "Input parameter", formInputType: "text", required: false }], returnType: "object", returnDescription: "API response." },
140
- };
141
- export const TodoistModuleMetadata = {
142
- description: "Todoist — tasks, projects, labels, comments, and filters.",
143
- methods: Object.keys(TodoistFunctions),
144
- category: "productivity",
145
- };
146
- //# sourceMappingURL=todoist.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"todoist.js","sourceRoot":"","sources":["../src/todoist.ts"],"names":[],"mappings":"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"}