@nurama/sdk 0.0.0-stage → 1.4.0
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/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +1080 -2
- package/dist/BotClient.d.ts +66 -0
- package/dist/BotClient.d.ts.map +1 -0
- package/dist/BotClient.js +68 -0
- package/dist/BotClient.js.map +1 -0
- package/dist/NuramaClient.d.ts +448 -0
- package/dist/NuramaClient.d.ts.map +1 -0
- package/dist/NuramaClient.js +864 -0
- package/dist/NuramaClient.js.map +1 -0
- package/dist/browser/nurama-bot-sdk.js +11780 -0
- package/dist/browser/nurama-bot-sdk.min.js +1 -0
- package/dist/browser/nurama-sdk.js +11732 -0
- package/dist/browser/nurama-sdk.min.js +1 -0
- package/dist/routes/ai.d.ts +280 -0
- package/dist/routes/ai.d.ts.map +1 -0
- package/dist/routes/ai.js +173 -0
- package/dist/routes/ai.js.map +1 -0
- package/dist/routes/asset.d.ts +493 -0
- package/dist/routes/asset.d.ts.map +1 -0
- package/dist/routes/asset.js +848 -0
- package/dist/routes/asset.js.map +1 -0
- package/dist/routes/auth.d.ts +218 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +454 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/blogPosts.d.ts +17 -0
- package/dist/routes/blogPosts.d.ts.map +1 -0
- package/dist/routes/blogPosts.js +29 -0
- package/dist/routes/blogPosts.js.map +1 -0
- package/dist/routes/board.d.ts +187 -0
- package/dist/routes/board.d.ts.map +1 -0
- package/dist/routes/board.js +270 -0
- package/dist/routes/board.js.map +1 -0
- package/dist/routes/bot.d.ts +147 -0
- package/dist/routes/bot.d.ts.map +1 -0
- package/dist/routes/bot.js +157 -0
- package/dist/routes/bot.js.map +1 -0
- package/dist/routes/chat.d.ts +842 -0
- package/dist/routes/chat.d.ts.map +1 -0
- package/dist/routes/chat.js +863 -0
- package/dist/routes/chat.js.map +1 -0
- package/dist/routes/chatAi.d.ts +51 -0
- package/dist/routes/chatAi.d.ts.map +1 -0
- package/dist/routes/chatAi.js +109 -0
- package/dist/routes/chatAi.js.map +1 -0
- package/dist/routes/config.d.ts +11 -0
- package/dist/routes/config.d.ts.map +1 -0
- package/dist/routes/config.js +24 -0
- package/dist/routes/config.js.map +1 -0
- package/dist/routes/convo.d.ts +169 -0
- package/dist/routes/convo.d.ts.map +1 -0
- package/dist/routes/convo.js +284 -0
- package/dist/routes/convo.js.map +1 -0
- package/dist/routes/credits.d.ts +82 -0
- package/dist/routes/credits.d.ts.map +1 -0
- package/dist/routes/credits.js +49 -0
- package/dist/routes/credits.js.map +1 -0
- package/dist/routes/device.d.ts +74 -0
- package/dist/routes/device.d.ts.map +1 -0
- package/dist/routes/device.js +122 -0
- package/dist/routes/device.js.map +1 -0
- package/dist/routes/folder.d.ts +75 -0
- package/dist/routes/folder.d.ts.map +1 -0
- package/dist/routes/folder.js +99 -0
- package/dist/routes/folder.js.map +1 -0
- package/dist/routes/invite.d.ts +61 -0
- package/dist/routes/invite.d.ts.map +1 -0
- package/dist/routes/invite.js +86 -0
- package/dist/routes/invite.js.map +1 -0
- package/dist/routes/joinLink.d.ts +38 -0
- package/dist/routes/joinLink.d.ts.map +1 -0
- package/dist/routes/joinLink.js +81 -0
- package/dist/routes/joinLink.js.map +1 -0
- package/dist/routes/membership.d.ts +116 -0
- package/dist/routes/membership.d.ts.map +1 -0
- package/dist/routes/membership.js +183 -0
- package/dist/routes/membership.js.map +1 -0
- package/dist/routes/notification.d.ts +103 -0
- package/dist/routes/notification.d.ts.map +1 -0
- package/dist/routes/notification.js +89 -0
- package/dist/routes/notification.js.map +1 -0
- package/dist/routes/payment.d.ts +56 -0
- package/dist/routes/payment.d.ts.map +1 -0
- package/dist/routes/payment.js +78 -0
- package/dist/routes/payment.js.map +1 -0
- package/dist/routes/product.d.ts +43 -0
- package/dist/routes/product.d.ts.map +1 -0
- package/dist/routes/product.js +53 -0
- package/dist/routes/product.js.map +1 -0
- package/dist/routes/project.d.ts +821 -0
- package/dist/routes/project.d.ts.map +1 -0
- package/dist/routes/project.js +1153 -0
- package/dist/routes/project.js.map +1 -0
- package/dist/routes/public.d.ts +269 -0
- package/dist/routes/public.d.ts.map +1 -0
- package/dist/routes/public.js +412 -0
- package/dist/routes/public.js.map +1 -0
- package/dist/routes/scratch.d.ts +70 -0
- package/dist/routes/scratch.d.ts.map +1 -0
- package/dist/routes/scratch.js +67 -0
- package/dist/routes/scratch.js.map +1 -0
- package/dist/routes/settings.d.ts +102 -0
- package/dist/routes/settings.d.ts.map +1 -0
- package/dist/routes/settings.js +94 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/routes/shortlink.d.ts +79 -0
- package/dist/routes/shortlink.d.ts.map +1 -0
- package/dist/routes/shortlink.js +25 -0
- package/dist/routes/shortlink.js.map +1 -0
- package/dist/routes/socket.d.ts +108 -0
- package/dist/routes/socket.d.ts.map +1 -0
- package/dist/routes/socket.js +555 -0
- package/dist/routes/socket.js.map +1 -0
- package/dist/routes/storage.d.ts +44 -0
- package/dist/routes/storage.d.ts.map +1 -0
- package/dist/routes/storage.js +49 -0
- package/dist/routes/storage.js.map +1 -0
- package/dist/routes/subscription.d.ts +184 -0
- package/dist/routes/subscription.d.ts.map +1 -0
- package/dist/routes/subscription.js +219 -0
- package/dist/routes/subscription.js.map +1 -0
- package/dist/routes/supportChat.d.ts +40 -0
- package/dist/routes/supportChat.d.ts.map +1 -0
- package/dist/routes/supportChat.js +53 -0
- package/dist/routes/supportChat.js.map +1 -0
- package/dist/routes/supportTicket.d.ts +89 -0
- package/dist/routes/supportTicket.d.ts.map +1 -0
- package/dist/routes/supportTicket.js +54 -0
- package/dist/routes/supportTicket.js.map +1 -0
- package/dist/routes/tag.d.ts +72 -0
- package/dist/routes/tag.d.ts.map +1 -0
- package/dist/routes/tag.js +81 -0
- package/dist/routes/tag.js.map +1 -0
- package/dist/routes/task.d.ts +252 -0
- package/dist/routes/task.d.ts.map +1 -0
- package/dist/routes/task.js +284 -0
- package/dist/routes/task.js.map +1 -0
- package/dist/routes/taskRelation.d.ts +80 -0
- package/dist/routes/taskRelation.d.ts.map +1 -0
- package/dist/routes/taskRelation.js +71 -0
- package/dist/routes/taskRelation.js.map +1 -0
- package/dist/routes/token.d.ts +75 -0
- package/dist/routes/token.d.ts.map +1 -0
- package/dist/routes/token.js +51 -0
- package/dist/routes/token.js.map +1 -0
- package/dist/routes/user.d.ts +112 -0
- package/dist/routes/user.d.ts.map +1 -0
- package/dist/routes/user.js +151 -0
- package/dist/routes/user.js.map +1 -0
- package/dist/routes/version.d.ts +42 -0
- package/dist/routes/version.d.ts.map +1 -0
- package/dist/routes/version.js +38 -0
- package/dist/routes/version.js.map +1 -0
- package/dist/routes/webhook.d.ts +170 -0
- package/dist/routes/webhook.d.ts.map +1 -0
- package/dist/routes/webhook.js +173 -0
- package/dist/routes/webhook.js.map +1 -0
- package/dist/routes/workspace.d.ts +120 -0
- package/dist/routes/workspace.d.ts.map +1 -0
- package/dist/routes/workspace.js +199 -0
- package/dist/routes/workspace.js.map +1 -0
- package/dist/utils/uploadSessionManager.d.ts +133 -0
- package/dist/utils/uploadSessionManager.d.ts.map +1 -0
- package/dist/utils/uploadSessionManager.js +321 -0
- package/dist/utils/uploadSessionManager.js.map +1 -0
- package/dist/utils/urlParams.d.ts +35 -0
- package/dist/utils/urlParams.d.ts.map +1 -0
- package/dist/utils/urlParams.js +146 -0
- package/dist/utils/urlParams.js.map +1 -0
- package/dist/version.d.ts +15 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +12 -0
- package/dist/version.js.map +1 -0
- package/package.json +87 -3
- package/src/BotClient.ts +113 -0
- package/src/NuramaClient.ts +1193 -0
- package/src/bot-browser-entry.js +15 -0
- package/src/browser-entry.js +20 -0
- package/src/routes/ai.ts +378 -0
- package/src/routes/asset.ts +1104 -0
- package/src/routes/auth.ts +587 -0
- package/src/routes/blogPosts.ts +29 -0
- package/src/routes/board.ts +403 -0
- package/src/routes/bot.ts +257 -0
- package/src/routes/chat.ts +1292 -0
- package/src/routes/chatAi.ts +125 -0
- package/src/routes/config.ts +31 -0
- package/src/routes/convo.ts +321 -0
- package/src/routes/credits.ts +112 -0
- package/src/routes/device.ts +133 -0
- package/src/routes/folder.ts +154 -0
- package/src/routes/invite.ts +133 -0
- package/src/routes/joinLink.ts +100 -0
- package/src/routes/membership.ts +237 -0
- package/src/routes/notification.ts +166 -0
- package/src/routes/payment.ts +104 -0
- package/src/routes/product.ts +67 -0
- package/src/routes/project.ts +1528 -0
- package/src/routes/public.ts +496 -0
- package/src/routes/scratch.ts +94 -0
- package/src/routes/settings.ts +152 -0
- package/src/routes/shortlink.ts +90 -0
- package/src/routes/socket.ts +739 -0
- package/src/routes/storage.ts +83 -0
- package/src/routes/subscription.ts +307 -0
- package/src/routes/supportChat.ts +62 -0
- package/src/routes/supportTicket.ts +114 -0
- package/src/routes/tag.ts +131 -0
- package/src/routes/task.ts +431 -0
- package/src/routes/taskRelation.ts +125 -0
- package/src/routes/token.ts +113 -0
- package/src/routes/user.ts +214 -0
- package/src/routes/version.ts +62 -0
- package/src/routes/webhook.ts +295 -0
- package/src/routes/workspace.ts +223 -0
- package/src/utils/uploadSessionManager.ts +407 -0
- package/src/utils/urlParams.ts +181 -0
- package/src/version.ts +22 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportTicket.d.ts","sourceRoot":"","sources":["../../src/routes/supportTicket.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE1F,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,sBAAsB,CAAA;KAAE,EAAE,CAAC;IAC/G,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,sBAAsB,CAAA;KAAE,EAAE,CAAC;CAC1I;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,MAAM,EAAE,YAAY;IAYnE,gFAAgF;8BAChD,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAUnF,oFAAoF;gCACnD,uBAAuB,GAAQ,OAAO,CAAC,yBAAyB,CAAC;+BAIjE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAShE,gEAAgE;oCAC1B,OAAO,CAAC,yBAAyB,CAAC;EAI3E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Support tickets. A ticket carries the metadata + a backing Chat thread; the
|
|
3
|
+
* conversation itself is sent/read through the regular chat endpoints:
|
|
4
|
+
*
|
|
5
|
+
* - send: `nuramaClient.chat.createMessage(ticket.chatId, …)`
|
|
6
|
+
* - read: `nuramaClient.chat.getMessages(ticket.chatId, …)`
|
|
7
|
+
*
|
|
8
|
+
* Nurama customer service replies (as the support persona) from the admin site.
|
|
9
|
+
*/
|
|
10
|
+
export default function createSupportTicketMethods(client) {
|
|
11
|
+
const buildQuery = (params = {}) => {
|
|
12
|
+
const search = new URLSearchParams();
|
|
13
|
+
for (const [key, value] of Object.entries(params)) {
|
|
14
|
+
if (value === undefined || value === null || value === '')
|
|
15
|
+
continue;
|
|
16
|
+
search.set(key, String(value));
|
|
17
|
+
}
|
|
18
|
+
const query = search.toString();
|
|
19
|
+
return query ? `?${query}` : '';
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
/** Create a ticket. The opening message body becomes the first thread entry. */
|
|
23
|
+
async createSupportTicket(data) {
|
|
24
|
+
if (!data?.scopeType)
|
|
25
|
+
throw new Error('scopeType is required.');
|
|
26
|
+
if (data.scopeType !== 'user' && !data.scopeId) {
|
|
27
|
+
throw new Error('scopeId is required for workspace/project scope.');
|
|
28
|
+
}
|
|
29
|
+
if (!data?.subject)
|
|
30
|
+
throw new Error('subject is required.');
|
|
31
|
+
if (!data?.body)
|
|
32
|
+
throw new Error('body is required.');
|
|
33
|
+
return client._request({ endpoint: '/v1/support-tickets', method: 'POST', body: data, sendJWT: true });
|
|
34
|
+
},
|
|
35
|
+
/** List the caller's own tickets + (for resource admins) tickets in their scope. */
|
|
36
|
+
async listSupportTickets(params = {}) {
|
|
37
|
+
return client._request({ endpoint: `/v1/support-tickets${buildQuery(params)}`, method: 'GET', sendJWT: true });
|
|
38
|
+
},
|
|
39
|
+
async getSupportTicket(ticketId) {
|
|
40
|
+
if (!ticketId)
|
|
41
|
+
throw new Error('ticketId is required.');
|
|
42
|
+
return client._request({
|
|
43
|
+
endpoint: `/v1/support-tickets/${encodeURIComponent(ticketId)}`,
|
|
44
|
+
method: 'GET',
|
|
45
|
+
sendJWT: true,
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
/** Workspaces/projects the caller may scope a new ticket to. */
|
|
49
|
+
async getSupportTicketScopeOptions() {
|
|
50
|
+
return client._request({ endpoint: '/v1/support-tickets/scope-options', method: 'GET', sendJWT: true });
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=supportTicket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supportTicket.js","sourceRoot":"","sources":["../../src/routes/supportTicket.ts"],"names":[],"mappings":"AA8DA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,MAAoB;IACrE,MAAM,UAAU,GAAG,CAAC,SAAkC,EAAE,EAAU,EAAE;QAClE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;gBAAE,SAAS;YACpE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;QACL,gFAAgF;QAChF,KAAK,CAAC,mBAAmB,CAAC,IAAgC;YACxD,IAAI,CAAC,IAAI,EAAE,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,oFAAoF;QACpF,KAAK,CAAC,kBAAkB,CAAC,SAAkC,EAAE;YAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,sBAAsB,UAAU,CAAC,MAAiC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5I,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;YACrC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE;gBAC/D,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,KAAK,CAAC,4BAA4B;YAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,mCAAmC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import NuramaClient from '../NuramaClient.js';
|
|
2
|
+
import { type Tag, type TagOwnerResourceType } from '@nurama/types';
|
|
3
|
+
/**
|
|
4
|
+
* Data required to create a new tag
|
|
5
|
+
*/
|
|
6
|
+
export interface CreateTagData {
|
|
7
|
+
/** The name of the tag */
|
|
8
|
+
name: string;
|
|
9
|
+
/** The type of resource that will own this tag */
|
|
10
|
+
ownerResourceType: TagOwnerResourceType;
|
|
11
|
+
/** The ID of the resource that will own this tag */
|
|
12
|
+
ownerResourceId: string;
|
|
13
|
+
/** Optional hex color code for the tag. If not provided, a color will be assigned automatically */
|
|
14
|
+
color?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Data for updating an existing tag
|
|
18
|
+
*/
|
|
19
|
+
export interface UpdateTagData {
|
|
20
|
+
/** The new name for the tag */
|
|
21
|
+
name?: string;
|
|
22
|
+
/** The new hex color code for the tag */
|
|
23
|
+
color?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parameters for getting tags for a resource
|
|
27
|
+
*/
|
|
28
|
+
export interface GetTagsParams {
|
|
29
|
+
/** Filter tags by partial name match (case-insensitive) */
|
|
30
|
+
name?: string;
|
|
31
|
+
/** Sort tags by field */
|
|
32
|
+
sortBy?: 'name' | 'createdAt' | 'updatedAt';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Array of tags
|
|
36
|
+
*/
|
|
37
|
+
export type Tags = Tag[];
|
|
38
|
+
/**
|
|
39
|
+
* Defines tag-related methods for the NuramaClient.
|
|
40
|
+
* @param {NuramaClient} client - The NuramaClient instance.
|
|
41
|
+
* @returns {object} An object containing the tag-related methods.
|
|
42
|
+
*/
|
|
43
|
+
export default function createTagMethods(client: NuramaClient): {
|
|
44
|
+
/**
|
|
45
|
+
* Creates a new tag for a specific resource.
|
|
46
|
+
* @param {CreateTagData} tagData - The tag data to create.
|
|
47
|
+
* @returns {Promise<Tag>} The created tag object.
|
|
48
|
+
*/
|
|
49
|
+
createTag(tagData: CreateTagData): Promise<Tag>;
|
|
50
|
+
/**
|
|
51
|
+
* Retrieves all tags for a specific resource.
|
|
52
|
+
* @param {TagOwnerResourceType} ownerResourceType - The type of resource to get tags for.
|
|
53
|
+
* @param {string} ownerResourceId - The ID of the resource to get tags for.
|
|
54
|
+
* @param {GetTagsParams} [params] - Optional parameters for filtering and sorting.
|
|
55
|
+
* @returns {Promise<Tags>} Array of tag objects.
|
|
56
|
+
*/
|
|
57
|
+
getTags(ownerResourceType: TagOwnerResourceType, ownerResourceId: string, params?: GetTagsParams): Promise<Tags>;
|
|
58
|
+
/**
|
|
59
|
+
* Updates an existing tag.
|
|
60
|
+
* @param {string} tagId - The ID of the tag to update.
|
|
61
|
+
* @param {UpdateTagData} updateData - The data to update.
|
|
62
|
+
* @returns {Promise<Tag>} The updated tag object.
|
|
63
|
+
*/
|
|
64
|
+
updateTag(tagId: string, updateData: UpdateTagData): Promise<Tag>;
|
|
65
|
+
/**
|
|
66
|
+
* Deletes a tag permanently.
|
|
67
|
+
* @param {string} tagId - The ID of the tag to delete.
|
|
68
|
+
* @returns {Promise<Tag>} The deleted tag object.
|
|
69
|
+
*/
|
|
70
|
+
deleteTag(tagId: string): Promise<Tag>;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/routes/tag.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IAEb,kDAAkD;IAClD,iBAAiB,EAAE,oBAAoB,CAAC;IAExC,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IAExB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;AAEzB;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAM,EAAE,YAAY;IAEzD;;;;OAIG;uBACsB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAarD;;;;;;OAMG;+BAEkB,oBAAoB,mBACtB,MAAM,WACd,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;qBACoB,MAAM,cAAc,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAcvE;;;;OAIG;qBACoB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;EAU/C"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines tag-related methods for the NuramaClient.
|
|
3
|
+
* @param {NuramaClient} client - The NuramaClient instance.
|
|
4
|
+
* @returns {object} An object containing the tag-related methods.
|
|
5
|
+
*/
|
|
6
|
+
export default function createTagMethods(client) {
|
|
7
|
+
return {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new tag for a specific resource.
|
|
10
|
+
* @param {CreateTagData} tagData - The tag data to create.
|
|
11
|
+
* @returns {Promise<Tag>} The created tag object.
|
|
12
|
+
*/
|
|
13
|
+
async createTag(tagData) {
|
|
14
|
+
if (!tagData.name)
|
|
15
|
+
throw new Error('Tag name is required.');
|
|
16
|
+
if (!tagData.ownerResourceType)
|
|
17
|
+
throw new Error('Owner resource type is required.');
|
|
18
|
+
if (!tagData.ownerResourceId)
|
|
19
|
+
throw new Error('Owner resource ID is required.');
|
|
20
|
+
return client._request({
|
|
21
|
+
method: 'POST',
|
|
22
|
+
endpoint: '/v1/tags',
|
|
23
|
+
body: tagData,
|
|
24
|
+
sendJWT: true,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* Retrieves all tags for a specific resource.
|
|
29
|
+
* @param {TagOwnerResourceType} ownerResourceType - The type of resource to get tags for.
|
|
30
|
+
* @param {string} ownerResourceId - The ID of the resource to get tags for.
|
|
31
|
+
* @param {GetTagsParams} [params] - Optional parameters for filtering and sorting.
|
|
32
|
+
* @returns {Promise<Tags>} Array of tag objects.
|
|
33
|
+
*/
|
|
34
|
+
async getTags(ownerResourceType, ownerResourceId, params) {
|
|
35
|
+
if (!ownerResourceType)
|
|
36
|
+
throw new Error('Owner resource type is required.');
|
|
37
|
+
if (!ownerResourceId)
|
|
38
|
+
throw new Error('Owner resource ID is required.');
|
|
39
|
+
return client._request({
|
|
40
|
+
method: 'GET',
|
|
41
|
+
endpoint: `/v1/tags/${ownerResourceType}/${ownerResourceId}`,
|
|
42
|
+
params,
|
|
43
|
+
sendJWT: true,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* Updates an existing tag.
|
|
48
|
+
* @param {string} tagId - The ID of the tag to update.
|
|
49
|
+
* @param {UpdateTagData} updateData - The data to update.
|
|
50
|
+
* @returns {Promise<Tag>} The updated tag object.
|
|
51
|
+
*/
|
|
52
|
+
async updateTag(tagId, updateData) {
|
|
53
|
+
if (!tagId)
|
|
54
|
+
throw new Error('Tag ID is required.');
|
|
55
|
+
if (!updateData.name && !updateData.color) {
|
|
56
|
+
throw new Error('At least one field (name or color) must be provided for update.');
|
|
57
|
+
}
|
|
58
|
+
return client._request({
|
|
59
|
+
method: 'PUT',
|
|
60
|
+
endpoint: `/v1/tags/${tagId}`,
|
|
61
|
+
body: updateData,
|
|
62
|
+
sendJWT: true,
|
|
63
|
+
});
|
|
64
|
+
},
|
|
65
|
+
/**
|
|
66
|
+
* Deletes a tag permanently.
|
|
67
|
+
* @param {string} tagId - The ID of the tag to delete.
|
|
68
|
+
* @returns {Promise<Tag>} The deleted tag object.
|
|
69
|
+
*/
|
|
70
|
+
async deleteTag(tagId) {
|
|
71
|
+
if (!tagId)
|
|
72
|
+
throw new Error('Tag ID is required.');
|
|
73
|
+
return client._request({
|
|
74
|
+
method: 'DELETE',
|
|
75
|
+
endpoint: `/v1/tags/${tagId}`,
|
|
76
|
+
sendJWT: true,
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/routes/tag.ts"],"names":[],"mappings":"AA+CA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAoB;IAC3D,OAAO;QACL;;;;WAIG;QACH,KAAK,CAAC,SAAS,CAAC,OAAsB;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,iBAAiB;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAEhF,OAAO,MAAM,CAAC,QAAQ,CAAM;gBAC1B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,OAAO,CACX,iBAAuC,EACvC,eAAuB,EACvB,MAAsB;YAEtB,IAAI,CAAC,iBAAiB;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC5E,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAExE,OAAO,MAAM,CAAC,QAAQ,CAAO;gBAC3B,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,YAAY,iBAAiB,IAAI,eAAe,EAAE;gBAC5D,MAAM;gBACN,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,UAAyB;YACtD,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YAED,OAAO,MAAM,CAAC,QAAQ,CAAM;gBAC1B,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,YAAY,KAAK,EAAE;gBAC7B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,SAAS,CAAC,KAAa;YAC3B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAEnD,OAAO,MAAM,CAAC,QAAQ,CAAM;gBAC1B,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,YAAY,KAAK,EAAE;gBAC7B,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import NuramaClient from '../NuramaClient.js';
|
|
2
|
+
import { type UpdateTaskDetailsData, type LinkTaskData } from './board.js';
|
|
3
|
+
import { type Task, // Import Task type
|
|
4
|
+
type PaginatedResult, // Import pagination types
|
|
5
|
+
type CursorPaginatedResult, type TaskLink } from '@nurama/types';
|
|
6
|
+
export type PaginatedResponse<T> = (PaginatedResult | CursorPaginatedResult) & {
|
|
7
|
+
results?: T[];
|
|
8
|
+
};
|
|
9
|
+
export interface SortParams {
|
|
10
|
+
sort?: Record<string, 1 | -1>;
|
|
11
|
+
}
|
|
12
|
+
export type TaskVisibility = 'creator' | 'reviewer';
|
|
13
|
+
export type TaskStatus = 'pending' | 'complete' | 'cancelled';
|
|
14
|
+
export interface GetTasksBaseParams extends SortParams {
|
|
15
|
+
projectId?: string;
|
|
16
|
+
creatorId?: string;
|
|
17
|
+
relatedToId?: string;
|
|
18
|
+
visibility?: TaskVisibility;
|
|
19
|
+
acknowledged?: boolean;
|
|
20
|
+
limit?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface GetTasksIndexParams extends GetTasksBaseParams {
|
|
23
|
+
paginate?: 'index';
|
|
24
|
+
page?: number;
|
|
25
|
+
createdBefore?: number | string;
|
|
26
|
+
createdAfter?: number | string;
|
|
27
|
+
}
|
|
28
|
+
export interface GetTasksCursorParams extends GetTasksBaseParams {
|
|
29
|
+
paginate: 'cursor';
|
|
30
|
+
cursor?: string;
|
|
31
|
+
paginateReverse?: boolean;
|
|
32
|
+
includeCounts?: boolean;
|
|
33
|
+
includeCursorRecord?: boolean;
|
|
34
|
+
startAt?: string;
|
|
35
|
+
includeStartAtRecord?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export type GetTasksParams = GetTasksIndexParams | GetTasksCursorParams;
|
|
38
|
+
export interface UpdateTaskStatusData {
|
|
39
|
+
status: TaskStatus;
|
|
40
|
+
}
|
|
41
|
+
export type GetTasksResponse = PaginatedResponse<Task>;
|
|
42
|
+
export interface UnacknowledgedTaskCountResponse {
|
|
43
|
+
total: number;
|
|
44
|
+
creator: number;
|
|
45
|
+
reviewer: number;
|
|
46
|
+
}
|
|
47
|
+
export interface AcknowledgeAllTasksResponse {
|
|
48
|
+
/** Number of tasks that were acknowledged by this call. */
|
|
49
|
+
acknowledged: number;
|
|
50
|
+
/** The user's remaining unacknowledged count for the project (should be all-zero). */
|
|
51
|
+
unacknowledgedCount: UnacknowledgedTaskCountResponse;
|
|
52
|
+
}
|
|
53
|
+
export interface TaskEventActor {
|
|
54
|
+
id: string;
|
|
55
|
+
displayName?: string;
|
|
56
|
+
firstName?: string;
|
|
57
|
+
lastName?: string;
|
|
58
|
+
color?: string;
|
|
59
|
+
avatar?: unknown;
|
|
60
|
+
}
|
|
61
|
+
export interface TaskEvent {
|
|
62
|
+
id: string;
|
|
63
|
+
taskId: string;
|
|
64
|
+
projectId: string;
|
|
65
|
+
eventType: string;
|
|
66
|
+
detail?: Record<string, unknown>;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
actor: TaskEventActor | null;
|
|
69
|
+
}
|
|
70
|
+
export interface GetTaskEventsParams {
|
|
71
|
+
page?: number;
|
|
72
|
+
limit?: number;
|
|
73
|
+
sort?: Record<string, 1 | -1>;
|
|
74
|
+
eventType?: string;
|
|
75
|
+
}
|
|
76
|
+
export type GetTaskEventsResponse = PaginatedResponse<TaskEvent>;
|
|
77
|
+
/**
|
|
78
|
+
* Defines task-related methods for the NuramaClient.
|
|
79
|
+
* @param {NuramaClient} client - The NuramaClient instance.
|
|
80
|
+
* @returns {object} An object containing the task-related methods.
|
|
81
|
+
*/
|
|
82
|
+
export interface BulkTaskDraft {
|
|
83
|
+
/** FE-assigned id; echoed back in `results` so the caller can map a
|
|
84
|
+
* per-task outcome onto the originating draft. */
|
|
85
|
+
clientId: string;
|
|
86
|
+
boardId: string;
|
|
87
|
+
columnId?: string;
|
|
88
|
+
subject: string;
|
|
89
|
+
description?: string | null;
|
|
90
|
+
assignedToId?: string;
|
|
91
|
+
tagIds?: string[];
|
|
92
|
+
}
|
|
93
|
+
export interface BulkCreateTasksRequest {
|
|
94
|
+
projectId: string;
|
|
95
|
+
tasks: BulkTaskDraft[];
|
|
96
|
+
/** When present, the server posts a single Nu reply in the chat after
|
|
97
|
+
* the batch creates, threaded as `replyToId = messageId` and carrying
|
|
98
|
+
* every newly-created task as a taskCard. Replaces the standalone
|
|
99
|
+
* `ai.announceTasksFromMessage` endpoint we shipped previously. */
|
|
100
|
+
announce?: {
|
|
101
|
+
chatId: string;
|
|
102
|
+
messageId: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface BulkCreateTaskResult {
|
|
106
|
+
clientId: string;
|
|
107
|
+
status: 'created' | 'error';
|
|
108
|
+
task?: Task;
|
|
109
|
+
error?: {
|
|
110
|
+
code: string;
|
|
111
|
+
message: string;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export interface BulkCreateTasksResponse {
|
|
115
|
+
results: BulkCreateTaskResult[];
|
|
116
|
+
announce?: {
|
|
117
|
+
posted: boolean;
|
|
118
|
+
messageId: string | null;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export default function createTaskMethods(client: NuramaClient): {
|
|
122
|
+
/**
|
|
123
|
+
* Retrieves tasks assigned to the currently authenticated user.
|
|
124
|
+
* Supports filtering, sorting, and both index and cursor pagination.
|
|
125
|
+
* @param {GetTasksParams} [params] - Optional query parameters for filtering, sorting, and pagination.
|
|
126
|
+
* @returns {Promise<GetTasksResponse>} Paginated list of tasks.
|
|
127
|
+
*/
|
|
128
|
+
getMyTasks(params?: GetTasksParams): Promise<GetTasksResponse>;
|
|
129
|
+
/**
|
|
130
|
+
* Bulk-create one or more tasks under a single project — single
|
|
131
|
+
* round-trip replacement for the per-draft create loop the
|
|
132
|
+
* EnhancedTaskCreatorModal used to drive. Per-task partial success
|
|
133
|
+
* is returned in `results[]`; if `announce` is set and at least
|
|
134
|
+
* one task creates, the server also posts a Nu reply linking the
|
|
135
|
+
* new tasks back to the source message and rendering them as
|
|
136
|
+
* inline taskCards.
|
|
137
|
+
*/
|
|
138
|
+
bulkCreate(data: BulkCreateTasksRequest): Promise<BulkCreateTasksResponse>;
|
|
139
|
+
/**
|
|
140
|
+
* Updates the status of a specific task.
|
|
141
|
+
* Requires authentication and permission.
|
|
142
|
+
* @param {string} taskId - The ID of the task to update.
|
|
143
|
+
* @param {UpdateTaskStatusData} data - The new status for the task.
|
|
144
|
+
* @returns {Promise<Task>} The updated task object.
|
|
145
|
+
*/
|
|
146
|
+
updateTaskStatus(taskId: string, data: UpdateTaskStatusData): Promise<Task>;
|
|
147
|
+
/**
|
|
148
|
+
* Toggles the acknowledgement status of a specific task.
|
|
149
|
+
* Requires authentication and permission.
|
|
150
|
+
* @param {string} taskId - The ID of the task to acknowledge/unacknowledge.
|
|
151
|
+
* @returns {Promise<Task>} The updated task object with the new acknowledgement status.
|
|
152
|
+
*/
|
|
153
|
+
acknowledgeTask(taskId: string): Promise<Task>;
|
|
154
|
+
/**
|
|
155
|
+
* Retrieves the count of unacknowledged tasks for the current user within a specific project.
|
|
156
|
+
* Requires authentication.
|
|
157
|
+
* @param {string} projectId - The ID of the project.
|
|
158
|
+
* @returns {Promise<UnacknowledgedTaskCountResponse>} An object containing total, creator, and reviewer unacknowledged task counts.
|
|
159
|
+
*/
|
|
160
|
+
getUnacknowledgedTaskCount(projectId: string): Promise<UnacknowledgedTaskCountResponse>;
|
|
161
|
+
/**
|
|
162
|
+
* Acknowledge every unacknowledged mention-task the current user has in a
|
|
163
|
+
* project. Idempotent server-side.
|
|
164
|
+
* @param {string} projectId - The ID of the project.
|
|
165
|
+
* @returns {Promise<AcknowledgeAllTasksResponse>} The number acknowledged and the remaining unacknowledged count.
|
|
166
|
+
*/
|
|
167
|
+
acknowledgeAllTasks(projectId: string): Promise<AcknowledgeAllTasksResponse>;
|
|
168
|
+
/**
|
|
169
|
+
* Add the calling user to a task's `followers` list.
|
|
170
|
+
* Idempotent server-side — following an already-followed task is a no-op
|
|
171
|
+
* and still returns the current task.
|
|
172
|
+
* @param taskId - The ID of the task to follow.
|
|
173
|
+
* @returns The updated task with the new followers array.
|
|
174
|
+
*/
|
|
175
|
+
followTask(taskId: string): Promise<Task>;
|
|
176
|
+
/**
|
|
177
|
+
* Remove the calling user from a task's `followers` list.
|
|
178
|
+
* Idempotent server-side — unfollowing a task you don't follow is a
|
|
179
|
+
* no-op and still returns the current task.
|
|
180
|
+
* @param taskId - The ID of the task to unfollow.
|
|
181
|
+
* @returns The updated task with the new followers array.
|
|
182
|
+
*/
|
|
183
|
+
unfollowTask(taskId: string): Promise<Task>;
|
|
184
|
+
/**
|
|
185
|
+
* Permanently delete a task. Gated server-side by
|
|
186
|
+
* `canRemove{Visibility}BoardTask` for at least one of the parent
|
|
187
|
+
* board's visibility tiers (see `boardPermission('Remove', 'BoardTask')`).
|
|
188
|
+
*
|
|
189
|
+
* Returns void; the server responds with 204 No Content.
|
|
190
|
+
*
|
|
191
|
+
* @param taskId - The ID of the task to delete.
|
|
192
|
+
*/
|
|
193
|
+
deleteTask(taskId: string): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Retrieves the event log for a specific task.
|
|
196
|
+
* Returns paginated events in reverse chronological order with populated actor info.
|
|
197
|
+
* @param {string} taskId - The ID of the task.
|
|
198
|
+
* @param {GetTaskEventsParams} [params] - Optional pagination, sort, search, and filter params.
|
|
199
|
+
* @returns {Promise<GetTaskEventsResponse>} Paginated list of task events.
|
|
200
|
+
*/
|
|
201
|
+
getTaskEvents(taskId: string, params?: GetTaskEventsParams): Promise<GetTaskEventsResponse>;
|
|
202
|
+
/**
|
|
203
|
+
* Update a board task's subject, description, assignee or status.
|
|
204
|
+
* Requires the boards capability and board-task write permission.
|
|
205
|
+
* @param {string} taskId - The task ID.
|
|
206
|
+
* @param {UpdateTaskDetailsData} data - Fields to change.
|
|
207
|
+
* @returns {Promise<Task>} The updated task.
|
|
208
|
+
* @throws {Error} 'taskId is required.' when `taskId` is falsy.
|
|
209
|
+
*/
|
|
210
|
+
updateTaskDetails(taskId: string, data: UpdateTaskDetailsData): Promise<Task>;
|
|
211
|
+
/**
|
|
212
|
+
* Link two tasks with a typed relation (related, blocks, blockedBy, duplicate).
|
|
213
|
+
* The link is symmetrical: both tasks reflect the relationship.
|
|
214
|
+
* @param {string} taskId - The task ID.
|
|
215
|
+
* @param {LinkTaskData} data - `linkedTaskId` and `type`.
|
|
216
|
+
* @returns {Promise<TaskLink>} The created link.
|
|
217
|
+
* @throws {Error} 'taskId is required.' or 'linkedTaskId is required.'.
|
|
218
|
+
*/
|
|
219
|
+
linkTask(taskId: string, data: LinkTaskData): Promise<TaskLink>;
|
|
220
|
+
/**
|
|
221
|
+
* Remove a task-to-task link.
|
|
222
|
+
* @param {string} taskId - The task ID.
|
|
223
|
+
* @param {string} linkedTaskId - The other task in the link.
|
|
224
|
+
* @returns {Promise<void>} Resolves once removed.
|
|
225
|
+
* @throws {Error} 'taskId is required.' or 'linkedTaskId is required.'.
|
|
226
|
+
*/
|
|
227
|
+
unlinkTask(taskId: string, linkedTaskId: string): Promise<void>;
|
|
228
|
+
/**
|
|
229
|
+
* List the tasks linked to a task, with the relation type of each link.
|
|
230
|
+
* @param {string} taskId - The task ID.
|
|
231
|
+
* @returns {Promise<TaskLink[]>} The task's links.
|
|
232
|
+
* @throws {Error} 'taskId is required.' when `taskId` is falsy.
|
|
233
|
+
*/
|
|
234
|
+
getTaskLinks(taskId: string): Promise<TaskLink[]>;
|
|
235
|
+
/**
|
|
236
|
+
* Attach a project tag to a task.
|
|
237
|
+
* @param {string} taskId - The task ID.
|
|
238
|
+
* @param {string} tagId - The tag ID.
|
|
239
|
+
* @returns {Promise<Task>} The updated task.
|
|
240
|
+
* @throws {Error} 'taskId is required.' or 'tagId is required.'.
|
|
241
|
+
*/
|
|
242
|
+
tagTask(taskId: string, tagId: string): Promise<Task>;
|
|
243
|
+
/**
|
|
244
|
+
* Detach a project tag from a task.
|
|
245
|
+
* @param {string} taskId - The task ID.
|
|
246
|
+
* @param {string} tagId - The tag ID.
|
|
247
|
+
* @returns {Promise<Task>} The updated task.
|
|
248
|
+
* @throws {Error} 'taskId is required.' or 'tagId is required.'.
|
|
249
|
+
*/
|
|
250
|
+
untagTask(taskId: string, tagId: string): Promise<Task>;
|
|
251
|
+
};
|
|
252
|
+
//# sourceMappingURL=task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/routes/task.ts"],"names":[],"mappings":"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"}
|