@nurama/sdk 0.0.0-stage → 1.4.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.
Files changed (225) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +1080 -2
  4. package/dist/BotClient.d.ts +66 -0
  5. package/dist/BotClient.d.ts.map +1 -0
  6. package/dist/BotClient.js +68 -0
  7. package/dist/BotClient.js.map +1 -0
  8. package/dist/NuramaClient.d.ts +480 -0
  9. package/dist/NuramaClient.d.ts.map +1 -0
  10. package/dist/NuramaClient.js +902 -0
  11. package/dist/NuramaClient.js.map +1 -0
  12. package/dist/browser/nurama-bot-sdk.js +12051 -0
  13. package/dist/browser/nurama-bot-sdk.min.js +1 -0
  14. package/dist/browser/nurama-sdk.js +12003 -0
  15. package/dist/browser/nurama-sdk.min.js +1 -0
  16. package/dist/routes/ai.d.ts +280 -0
  17. package/dist/routes/ai.d.ts.map +1 -0
  18. package/dist/routes/ai.js +173 -0
  19. package/dist/routes/ai.js.map +1 -0
  20. package/dist/routes/asset.d.ts +493 -0
  21. package/dist/routes/asset.d.ts.map +1 -0
  22. package/dist/routes/asset.js +848 -0
  23. package/dist/routes/asset.js.map +1 -0
  24. package/dist/routes/auth.d.ts +218 -0
  25. package/dist/routes/auth.d.ts.map +1 -0
  26. package/dist/routes/auth.js +454 -0
  27. package/dist/routes/auth.js.map +1 -0
  28. package/dist/routes/blogPosts.d.ts +17 -0
  29. package/dist/routes/blogPosts.d.ts.map +1 -0
  30. package/dist/routes/blogPosts.js +29 -0
  31. package/dist/routes/blogPosts.js.map +1 -0
  32. package/dist/routes/board.d.ts +187 -0
  33. package/dist/routes/board.d.ts.map +1 -0
  34. package/dist/routes/board.js +270 -0
  35. package/dist/routes/board.js.map +1 -0
  36. package/dist/routes/bot.d.ts +202 -0
  37. package/dist/routes/bot.d.ts.map +1 -0
  38. package/dist/routes/bot.js +229 -0
  39. package/dist/routes/bot.js.map +1 -0
  40. package/dist/routes/chat.d.ts +842 -0
  41. package/dist/routes/chat.d.ts.map +1 -0
  42. package/dist/routes/chat.js +863 -0
  43. package/dist/routes/chat.js.map +1 -0
  44. package/dist/routes/chatAi.d.ts +51 -0
  45. package/dist/routes/chatAi.d.ts.map +1 -0
  46. package/dist/routes/chatAi.js +109 -0
  47. package/dist/routes/chatAi.js.map +1 -0
  48. package/dist/routes/config.d.ts +11 -0
  49. package/dist/routes/config.d.ts.map +1 -0
  50. package/dist/routes/config.js +24 -0
  51. package/dist/routes/config.js.map +1 -0
  52. package/dist/routes/convo.d.ts +169 -0
  53. package/dist/routes/convo.d.ts.map +1 -0
  54. package/dist/routes/convo.js +284 -0
  55. package/dist/routes/convo.js.map +1 -0
  56. package/dist/routes/credits.d.ts +82 -0
  57. package/dist/routes/credits.d.ts.map +1 -0
  58. package/dist/routes/credits.js +49 -0
  59. package/dist/routes/credits.js.map +1 -0
  60. package/dist/routes/device.d.ts +74 -0
  61. package/dist/routes/device.d.ts.map +1 -0
  62. package/dist/routes/device.js +122 -0
  63. package/dist/routes/device.js.map +1 -0
  64. package/dist/routes/folder.d.ts +75 -0
  65. package/dist/routes/folder.d.ts.map +1 -0
  66. package/dist/routes/folder.js +99 -0
  67. package/dist/routes/folder.js.map +1 -0
  68. package/dist/routes/invite.d.ts +61 -0
  69. package/dist/routes/invite.d.ts.map +1 -0
  70. package/dist/routes/invite.js +86 -0
  71. package/dist/routes/invite.js.map +1 -0
  72. package/dist/routes/joinLink.d.ts +88 -0
  73. package/dist/routes/joinLink.d.ts.map +1 -0
  74. package/dist/routes/joinLink.js +205 -0
  75. package/dist/routes/joinLink.js.map +1 -0
  76. package/dist/routes/membership.d.ts +116 -0
  77. package/dist/routes/membership.d.ts.map +1 -0
  78. package/dist/routes/membership.js +183 -0
  79. package/dist/routes/membership.js.map +1 -0
  80. package/dist/routes/notification.d.ts +103 -0
  81. package/dist/routes/notification.d.ts.map +1 -0
  82. package/dist/routes/notification.js +89 -0
  83. package/dist/routes/notification.js.map +1 -0
  84. package/dist/routes/oauthGrant.d.ts +45 -0
  85. package/dist/routes/oauthGrant.d.ts.map +1 -0
  86. package/dist/routes/oauthGrant.js +32 -0
  87. package/dist/routes/oauthGrant.js.map +1 -0
  88. package/dist/routes/payment.d.ts +56 -0
  89. package/dist/routes/payment.d.ts.map +1 -0
  90. package/dist/routes/payment.js +78 -0
  91. package/dist/routes/payment.js.map +1 -0
  92. package/dist/routes/product.d.ts +43 -0
  93. package/dist/routes/product.d.ts.map +1 -0
  94. package/dist/routes/product.js +53 -0
  95. package/dist/routes/product.js.map +1 -0
  96. package/dist/routes/project.d.ts +821 -0
  97. package/dist/routes/project.d.ts.map +1 -0
  98. package/dist/routes/project.js +1153 -0
  99. package/dist/routes/project.js.map +1 -0
  100. package/dist/routes/public.d.ts +269 -0
  101. package/dist/routes/public.d.ts.map +1 -0
  102. package/dist/routes/public.js +412 -0
  103. package/dist/routes/public.js.map +1 -0
  104. package/dist/routes/scratch.d.ts +70 -0
  105. package/dist/routes/scratch.d.ts.map +1 -0
  106. package/dist/routes/scratch.js +67 -0
  107. package/dist/routes/scratch.js.map +1 -0
  108. package/dist/routes/settings.d.ts +102 -0
  109. package/dist/routes/settings.d.ts.map +1 -0
  110. package/dist/routes/settings.js +94 -0
  111. package/dist/routes/settings.js.map +1 -0
  112. package/dist/routes/shortlink.d.ts +79 -0
  113. package/dist/routes/shortlink.d.ts.map +1 -0
  114. package/dist/routes/shortlink.js +25 -0
  115. package/dist/routes/shortlink.js.map +1 -0
  116. package/dist/routes/socket.d.ts +108 -0
  117. package/dist/routes/socket.d.ts.map +1 -0
  118. package/dist/routes/socket.js +573 -0
  119. package/dist/routes/socket.js.map +1 -0
  120. package/dist/routes/storage.d.ts +44 -0
  121. package/dist/routes/storage.d.ts.map +1 -0
  122. package/dist/routes/storage.js +49 -0
  123. package/dist/routes/storage.js.map +1 -0
  124. package/dist/routes/subscription.d.ts +184 -0
  125. package/dist/routes/subscription.d.ts.map +1 -0
  126. package/dist/routes/subscription.js +219 -0
  127. package/dist/routes/subscription.js.map +1 -0
  128. package/dist/routes/supportChat.d.ts +40 -0
  129. package/dist/routes/supportChat.d.ts.map +1 -0
  130. package/dist/routes/supportChat.js +53 -0
  131. package/dist/routes/supportChat.js.map +1 -0
  132. package/dist/routes/supportTicket.d.ts +89 -0
  133. package/dist/routes/supportTicket.d.ts.map +1 -0
  134. package/dist/routes/supportTicket.js +54 -0
  135. package/dist/routes/supportTicket.js.map +1 -0
  136. package/dist/routes/tag.d.ts +72 -0
  137. package/dist/routes/tag.d.ts.map +1 -0
  138. package/dist/routes/tag.js +81 -0
  139. package/dist/routes/tag.js.map +1 -0
  140. package/dist/routes/task.d.ts +252 -0
  141. package/dist/routes/task.d.ts.map +1 -0
  142. package/dist/routes/task.js +284 -0
  143. package/dist/routes/task.js.map +1 -0
  144. package/dist/routes/taskRelation.d.ts +80 -0
  145. package/dist/routes/taskRelation.d.ts.map +1 -0
  146. package/dist/routes/taskRelation.js +71 -0
  147. package/dist/routes/taskRelation.js.map +1 -0
  148. package/dist/routes/token.d.ts +97 -0
  149. package/dist/routes/token.d.ts.map +1 -0
  150. package/dist/routes/token.js +73 -0
  151. package/dist/routes/token.js.map +1 -0
  152. package/dist/routes/user.d.ts +112 -0
  153. package/dist/routes/user.d.ts.map +1 -0
  154. package/dist/routes/user.js +151 -0
  155. package/dist/routes/user.js.map +1 -0
  156. package/dist/routes/version.d.ts +42 -0
  157. package/dist/routes/version.d.ts.map +1 -0
  158. package/dist/routes/version.js +38 -0
  159. package/dist/routes/version.js.map +1 -0
  160. package/dist/routes/webhook.d.ts +170 -0
  161. package/dist/routes/webhook.d.ts.map +1 -0
  162. package/dist/routes/webhook.js +173 -0
  163. package/dist/routes/webhook.js.map +1 -0
  164. package/dist/routes/workspace.d.ts +120 -0
  165. package/dist/routes/workspace.d.ts.map +1 -0
  166. package/dist/routes/workspace.js +199 -0
  167. package/dist/routes/workspace.js.map +1 -0
  168. package/dist/utils/uploadSessionManager.d.ts +133 -0
  169. package/dist/utils/uploadSessionManager.d.ts.map +1 -0
  170. package/dist/utils/uploadSessionManager.js +321 -0
  171. package/dist/utils/uploadSessionManager.js.map +1 -0
  172. package/dist/utils/urlParams.d.ts +35 -0
  173. package/dist/utils/urlParams.d.ts.map +1 -0
  174. package/dist/utils/urlParams.js +146 -0
  175. package/dist/utils/urlParams.js.map +1 -0
  176. package/dist/version.d.ts +15 -0
  177. package/dist/version.d.ts.map +1 -0
  178. package/dist/version.js +12 -0
  179. package/dist/version.js.map +1 -0
  180. package/package.json +87 -3
  181. package/src/BotClient.ts +113 -0
  182. package/src/NuramaClient.ts +1253 -0
  183. package/src/bot-browser-entry.js +15 -0
  184. package/src/browser-entry.js +20 -0
  185. package/src/routes/ai.ts +378 -0
  186. package/src/routes/asset.ts +1104 -0
  187. package/src/routes/auth.ts +587 -0
  188. package/src/routes/blogPosts.ts +29 -0
  189. package/src/routes/board.ts +403 -0
  190. package/src/routes/bot.ts +356 -0
  191. package/src/routes/chat.ts +1292 -0
  192. package/src/routes/chatAi.ts +125 -0
  193. package/src/routes/config.ts +31 -0
  194. package/src/routes/convo.ts +321 -0
  195. package/src/routes/credits.ts +112 -0
  196. package/src/routes/device.ts +133 -0
  197. package/src/routes/folder.ts +154 -0
  198. package/src/routes/invite.ts +133 -0
  199. package/src/routes/joinLink.ts +233 -0
  200. package/src/routes/membership.ts +237 -0
  201. package/src/routes/notification.ts +166 -0
  202. package/src/routes/oauthGrant.ts +64 -0
  203. package/src/routes/payment.ts +104 -0
  204. package/src/routes/product.ts +67 -0
  205. package/src/routes/project.ts +1528 -0
  206. package/src/routes/public.ts +496 -0
  207. package/src/routes/scratch.ts +94 -0
  208. package/src/routes/settings.ts +152 -0
  209. package/src/routes/shortlink.ts +90 -0
  210. package/src/routes/socket.ts +757 -0
  211. package/src/routes/storage.ts +83 -0
  212. package/src/routes/subscription.ts +307 -0
  213. package/src/routes/supportChat.ts +62 -0
  214. package/src/routes/supportTicket.ts +114 -0
  215. package/src/routes/tag.ts +131 -0
  216. package/src/routes/task.ts +431 -0
  217. package/src/routes/taskRelation.ts +125 -0
  218. package/src/routes/token.ts +152 -0
  219. package/src/routes/user.ts +214 -0
  220. package/src/routes/version.ts +62 -0
  221. package/src/routes/webhook.ts +295 -0
  222. package/src/routes/workspace.ts +223 -0
  223. package/src/utils/uploadSessionManager.ts +407 -0
  224. package/src/utils/urlParams.ts +181 -0
  225. package/src/version.ts +22 -0
@@ -0,0 +1,102 @@
1
+ import NuramaClient from '../NuramaClient.js';
2
+ export interface ResourceSettingsOverrides {
3
+ emailNotifications?: {
4
+ sendEmailNotifications?: boolean | null;
5
+ newMention?: boolean | null;
6
+ newFollowing?: boolean | null;
7
+ dailySummary?: boolean | null;
8
+ publishedAsset?: boolean | null;
9
+ newMentionActiveInterval?: number | null;
10
+ newFollowingActiveInterval?: number | null;
11
+ };
12
+ systemNotifications?: {
13
+ showSystemNotifications?: boolean | null;
14
+ mentions?: boolean | null;
15
+ alerts?: boolean | null;
16
+ privateMessages?: boolean | null;
17
+ };
18
+ sounds?: {
19
+ playSounds?: boolean | null;
20
+ mentions?: boolean | null;
21
+ alerts?: boolean | null;
22
+ privateMessages?: boolean | null;
23
+ };
24
+ }
25
+ export interface ResourceSettings {
26
+ resourceId: string;
27
+ resourceType: 'workspace' | 'project';
28
+ emailNotifications?: Record<string, any>;
29
+ systemNotifications?: Record<string, any>;
30
+ sounds?: Record<string, any>;
31
+ }
32
+ export interface EffectiveSettings {
33
+ emailNotifications: Record<string, any>;
34
+ systemNotifications: Record<string, any>;
35
+ sounds: Record<string, any>;
36
+ }
37
+ /**
38
+ * Defines settings-related methods for the NuramaClient.
39
+ * @param {NuramaClient} client - The NuramaClient instance.
40
+ * @returns {object} An object containing the settings-related methods.
41
+ */
42
+ export default function createSettingsMethods(client: NuramaClient): {
43
+ /**
44
+ * Get effective (resolved) settings for a resource with full cascade.
45
+ * Requires authentication.
46
+ * @param {string} resourceType - The resource type (workspace or project).
47
+ * @param {string} resourceId - The resource ID.
48
+ * @param {string} [workspaceId] - The workspace ID (required for projects).
49
+ * @returns {Promise<EffectiveSettings>} The effective settings object.
50
+ */
51
+ getEffectiveSettings(resourceType: "workspace" | "project", resourceId: string, workspaceId?: string): Promise<EffectiveSettings>;
52
+ /**
53
+ * Get raw resource settings (overrides only, not cascaded).
54
+ * Requires authentication.
55
+ * @param {string} resourceType - The resource type (workspace or project).
56
+ * @param {string} resourceId - The resource ID.
57
+ * @returns {Promise<ResourceSettings | { message: string }>} The resource settings object.
58
+ */
59
+ getResourceSettings(resourceType: "workspace" | "project", resourceId: string): Promise<ResourceSettings | {
60
+ message: string;
61
+ }>;
62
+ /**
63
+ * Get all resource settings for current user.
64
+ * Requires authentication.
65
+ * @returns {Promise<{ resourceSettings: ResourceSettings[] }>} Object containing array of resource settings.
66
+ */
67
+ getAllResourceSettings(): Promise<{
68
+ resourceSettings: ResourceSettings[];
69
+ }>;
70
+ /**
71
+ * Update resource-specific settings.
72
+ * Requires authentication.
73
+ * @param {string} resourceType - The resource type (workspace or project).
74
+ * @param {string} resourceId - The resource ID.
75
+ * @param {ResourceSettingsOverrides} settings - The settings to update.
76
+ * @returns {Promise<{ message: string; settings: ResourceSettings }>} Success message and updated settings.
77
+ */
78
+ updateResourceSettings(resourceType: "workspace" | "project", resourceId: string, settings: ResourceSettingsOverrides): Promise<{
79
+ message: string;
80
+ settings: ResourceSettings;
81
+ }>;
82
+ /**
83
+ * Reset resource settings to inherit from parent/global.
84
+ * Requires authentication.
85
+ * @param {string} resourceType - The resource type (workspace or project).
86
+ * @param {string} resourceId - The resource ID.
87
+ * @returns {Promise<{ message: string }>} Success message.
88
+ */
89
+ resetResourceSettings(resourceType: "workspace" | "project", resourceId: string): Promise<{
90
+ message: string;
91
+ }>;
92
+ /**
93
+ * Cleanup orphaned settings (settings for resources user no longer has access to).
94
+ * Requires authentication.
95
+ * @returns {Promise<{ message: string; removedCount: number }>} Success message and count of removed settings.
96
+ */
97
+ cleanupOrphanedSettings(): Promise<{
98
+ message: string;
99
+ removedCount: number;
100
+ }>;
101
+ };
102
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,CAAC,EAAE;QACnB,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC9B,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAChC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5C,CAAC;IACF,mBAAmB,CAAC,EAAE;QACpB,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,MAAM,EAAE,YAAY;IAE9D;;;;;;;OAOG;uCAEa,WAAW,GAAG,SAAS,cACzB,MAAM,gBACJ,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;;;;;OAMG;sCAEa,WAAW,GAAG,SAAS,cACzB,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlD;;;;OAIG;8BAC6B,OAAO,CAAC;QAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAQjF;;;;;;;OAOG;yCAEa,WAAW,GAAG,SAAS,cACzB,MAAM,YACR,yBAAyB,GAClC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAS3D;;;;;;OAMG;wCAEa,WAAW,GAAG,SAAS,cACzB,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ/B;;;;OAIG;+BAC8B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;EAQtF"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Defines settings-related methods for the NuramaClient.
3
+ * @param {NuramaClient} client - The NuramaClient instance.
4
+ * @returns {object} An object containing the settings-related methods.
5
+ */
6
+ export default function createSettingsMethods(client) {
7
+ return {
8
+ /**
9
+ * Get effective (resolved) settings for a resource with full cascade.
10
+ * Requires authentication.
11
+ * @param {string} resourceType - The resource type (workspace or project).
12
+ * @param {string} resourceId - The resource ID.
13
+ * @param {string} [workspaceId] - The workspace ID (required for projects).
14
+ * @returns {Promise<EffectiveSettings>} The effective settings object.
15
+ */
16
+ async getEffectiveSettings(resourceType, resourceId, workspaceId) {
17
+ return client._request({
18
+ method: 'GET',
19
+ endpoint: `/v1/settings/${resourceType}/${resourceId}/effective`,
20
+ params: workspaceId ? { workspaceId } : undefined,
21
+ sendJWT: true,
22
+ });
23
+ },
24
+ /**
25
+ * Get raw resource settings (overrides only, not cascaded).
26
+ * Requires authentication.
27
+ * @param {string} resourceType - The resource type (workspace or project).
28
+ * @param {string} resourceId - The resource ID.
29
+ * @returns {Promise<ResourceSettings | { message: string }>} The resource settings object.
30
+ */
31
+ async getResourceSettings(resourceType, resourceId) {
32
+ return client._request({
33
+ method: 'GET',
34
+ endpoint: `/v1/settings/${resourceType}/${resourceId}`,
35
+ sendJWT: true,
36
+ });
37
+ },
38
+ /**
39
+ * Get all resource settings for current user.
40
+ * Requires authentication.
41
+ * @returns {Promise<{ resourceSettings: ResourceSettings[] }>} Object containing array of resource settings.
42
+ */
43
+ async getAllResourceSettings() {
44
+ return client._request({
45
+ method: 'GET',
46
+ endpoint: '/v1/settings',
47
+ sendJWT: true,
48
+ });
49
+ },
50
+ /**
51
+ * Update resource-specific settings.
52
+ * Requires authentication.
53
+ * @param {string} resourceType - The resource type (workspace or project).
54
+ * @param {string} resourceId - The resource ID.
55
+ * @param {ResourceSettingsOverrides} settings - The settings to update.
56
+ * @returns {Promise<{ message: string; settings: ResourceSettings }>} Success message and updated settings.
57
+ */
58
+ async updateResourceSettings(resourceType, resourceId, settings) {
59
+ return client._request({
60
+ method: 'PUT',
61
+ endpoint: `/v1/settings/${resourceType}/${resourceId}`,
62
+ body: settings,
63
+ sendJWT: true,
64
+ });
65
+ },
66
+ /**
67
+ * Reset resource settings to inherit from parent/global.
68
+ * Requires authentication.
69
+ * @param {string} resourceType - The resource type (workspace or project).
70
+ * @param {string} resourceId - The resource ID.
71
+ * @returns {Promise<{ message: string }>} Success message.
72
+ */
73
+ async resetResourceSettings(resourceType, resourceId) {
74
+ return client._request({
75
+ method: 'DELETE',
76
+ endpoint: `/v1/settings/${resourceType}/${resourceId}`,
77
+ sendJWT: true,
78
+ });
79
+ },
80
+ /**
81
+ * Cleanup orphaned settings (settings for resources user no longer has access to).
82
+ * Requires authentication.
83
+ * @returns {Promise<{ message: string; removedCount: number }>} Success message and count of removed settings.
84
+ */
85
+ async cleanupOrphanedSettings() {
86
+ return client._request({
87
+ method: 'POST',
88
+ endpoint: '/v1/settings/cleanup',
89
+ sendJWT: true,
90
+ });
91
+ },
92
+ };
93
+ }
94
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/routes/settings.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,MAAoB;IAChE,OAAO;QACL;;;;;;;WAOG;QACH,KAAK,CAAC,oBAAoB,CACxB,YAAqC,EACrC,UAAkB,EAClB,WAAoB;YAEpB,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,YAAY,IAAI,UAAU,YAAY;gBAChE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;gBACjD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,mBAAmB,CACvB,YAAqC,EACrC,UAAkB;YAElB,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,YAAY,IAAI,UAAU,EAAE;gBACtD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,sBAAsB;YAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,cAAc;gBACxB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,sBAAsB,CAC1B,YAAqC,EACrC,UAAkB,EAClB,QAAmC;YAEnC,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,gBAAgB,YAAY,IAAI,UAAU,EAAE;gBACtD,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,qBAAqB,CACzB,YAAqC,EACrC,UAAkB;YAElB,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,gBAAgB,YAAY,IAAI,UAAU,EAAE;gBACtD,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,uBAAuB;YAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,sBAAsB;gBAChC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import NuramaClient from '../NuramaClient.js';
2
+ export interface ResolveShortLinkResponse {
3
+ deepLink: string;
4
+ resourceId: string;
5
+ resourceType: 'asset' | 'project' | 'workspace' | 'chatMessage' | 'chatSubmission';
6
+ visibility: 'creator' | 'reviewer' | null;
7
+ }
8
+ export interface ResolvePublicDownloadResponse {
9
+ token: string;
10
+ fileName: string;
11
+ mediaType: string;
12
+ status: string;
13
+ /**
14
+ * Capability mode of the link. The download page uses this to decide
15
+ * whether to render the inline preview (`embed-download`), the embed-only
16
+ * message (`embed`), or auto-download (`download`). Optional for backward
17
+ * compatibility with older API versions; treat absence as `embed-download`.
18
+ */
19
+ mode?: 'download' | 'embed' | 'embed-download';
20
+ /** Mime type of the original media file, when known. */
21
+ mimeType?: string | null;
22
+ /**
23
+ * For image assets: the keyPath of the image file, used to render an
24
+ * inline preview on the download page. Null for non-image assets (video /
25
+ * audio previews are iframed from the embed page; files render an icon).
26
+ */
27
+ previewKeyPath?: string | null;
28
+ }
29
+ export interface PublicDownloadUrlResponse {
30
+ url: string;
31
+ fileName: string;
32
+ mimeType: string;
33
+ expires: number;
34
+ }
35
+ export interface PublicEmbedFilesResponse {
36
+ fileName: string;
37
+ mediaType: 'video' | 'audio' | 'image' | 'file' | string;
38
+ /**
39
+ * Mode of the underlying public link: 'embed' (no download) or 'embed-download'
40
+ * (download allowed alongside embed). 'download' never appears — that mode
41
+ * blocks the embed-files endpoint entirely. Optional for backward compatibility
42
+ * with older API versions; treat absence as 'embed-download'.
43
+ */
44
+ mode?: 'embed' | 'embed-download';
45
+ /** HLS manifest keyPath (e.g. "workspaces/.../stream/index.m3u8"), null if not yet processed. */
46
+ streamKeyPath: string | null;
47
+ /** Original media keyPath used as fallback when no HLS manifest is available. */
48
+ mediaKeyPath: string | null;
49
+ /** Poster image keyPath for video assets (explicit poster, falling back to largest thumbnail). Null when none exists. */
50
+ posterKeyPath: string | null;
51
+ /** Pre-computed waveform peaks JSON keyPath for audio assets. Null for video / when no peaks file exists. */
52
+ waveformKeyPath?: string | null;
53
+ /**
54
+ * Timeline-thumbnail geometry (`asset.meta.storyboard`) for a video's filmstrip and
55
+ * hover preview. Null for non-video assets or video without storyboard sheets.
56
+ * Optional for backward compatibility with older API versions.
57
+ */
58
+ storyboard?: Record<string, unknown> | null;
59
+ /** The storyboard sheet files matching `storyboard.sheets`. Empty when there's no storyboard. */
60
+ storyboardFiles?: Array<{
61
+ name?: string;
62
+ keyPath: string;
63
+ }>;
64
+ }
65
+ /**
66
+ * Defines short link related methods for the NuramaClient.
67
+ * @param {NuramaClient} client - The NuramaClient instance.
68
+ * @returns {object} An object containing the short link related methods.
69
+ */
70
+ export default function createShortLinkMethods(client: NuramaClient): {
71
+ /**
72
+ * Resolves a short link code to its full deep link path.
73
+ * This endpoint is publicly accessible and does not require authentication.
74
+ * @param {string} code - The 8-character alphanumeric short link code.
75
+ * @returns {Promise<ResolveShortLinkResponse>} The resolved deep link information.
76
+ */
77
+ resolveShortLink(code: string): Promise<ResolveShortLinkResponse>;
78
+ };
79
+ //# sourceMappingURL=shortlink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortlink.d.ts","sourceRoot":"","sources":["../../src/routes/shortlink.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAG9C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACnF,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC/C,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACzD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAClC,iGAAiG;IACjG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iFAAiF;IACjF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yHAAyH;IACzH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6GAA6G;IAC7G,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,iGAAiG;IACjG,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,MAAM,EAAE,YAAY;IAE/D;;;;;OAKG;2BAC0B,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;EAS1E"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Defines short link related methods for the NuramaClient.
3
+ * @param {NuramaClient} client - The NuramaClient instance.
4
+ * @returns {object} An object containing the short link related methods.
5
+ */
6
+ export default function createShortLinkMethods(client) {
7
+ return {
8
+ /**
9
+ * Resolves a short link code to its full deep link path.
10
+ * This endpoint is publicly accessible and does not require authentication.
11
+ * @param {string} code - The 8-character alphanumeric short link code.
12
+ * @returns {Promise<ResolveShortLinkResponse>} The resolved deep link information.
13
+ */
14
+ async resolveShortLink(code) {
15
+ if (!code)
16
+ throw new Error('code is required.');
17
+ return client._request({
18
+ method: 'GET',
19
+ endpoint: `/v1/shortlink/${code}`,
20
+ sendJWT: false,
21
+ });
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=shortlink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortlink.js","sourceRoot":"","sources":["../../src/routes/shortlink.ts"],"names":[],"mappings":"AAmEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,MAAoB;IACjE,OAAO;QACL;;;;;WAKG;QACH,KAAK,CAAC,gBAAgB,CAAC,IAAY;YACjC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC,QAAQ,CAA2B;gBAC/C,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,iBAAiB,IAAI,EAAE;gBACjC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,108 @@
1
+ import NuramaClient from '../NuramaClient.js';
2
+ export interface SocketInterface {
3
+ connected: boolean;
4
+ on: (event: string, listener: (...args: any[]) => void) => void;
5
+ off: (event: string) => void;
6
+ disconnect: () => void;
7
+ emit: (event: string, ...args: any[]) => void;
8
+ timeout: (ms: number) => {
9
+ emit: (event: string, ...args: any[]) => void;
10
+ };
11
+ }
12
+ export interface BaseNotificationEvent {
13
+ type: string;
14
+ initiatorId: string | null;
15
+ initiatorType: 'user' | 'system';
16
+ initiator: any | null;
17
+ resourceId: string;
18
+ resourceType: string;
19
+ channels: string[];
20
+ createdAt: string;
21
+ tokens?: Record<string, any>;
22
+ changes?: {
23
+ create?: Array<{
24
+ resourceId: string;
25
+ resourceType: string;
26
+ resource: any;
27
+ }>;
28
+ update?: Array<{
29
+ resourceId: string;
30
+ resourceType: string;
31
+ resource: any;
32
+ oldResource?: any;
33
+ newResource?: any;
34
+ }>;
35
+ delete?: Array<{
36
+ resourceId: string;
37
+ resourceType: string;
38
+ }>;
39
+ };
40
+ }
41
+ export interface SocketOptions {
42
+ /**
43
+ * Automatically handle token refresh
44
+ * @default true
45
+ */
46
+ autoRefresh?: boolean;
47
+ /**
48
+ * Automatically reconnect if connection is lost
49
+ * @default true
50
+ */
51
+ autoReconnect?: boolean;
52
+ /**
53
+ * Automatically attempt to reconnect if token expires
54
+ * @default true
55
+ */
56
+ autoReconnectOnTokenExpiry?: boolean;
57
+ /**
58
+ * Debug logging
59
+ * @default false
60
+ */
61
+ debug?: boolean;
62
+ /**
63
+ * Override the WebSocket URL for this specific connection
64
+ * Takes precedence over the client's websocketURL option
65
+ */
66
+ websocketURL?: string;
67
+ }
68
+ export interface PublicSocketOptions {
69
+ /**
70
+ * Automatically reconnect if connection is lost
71
+ * @default true
72
+ */
73
+ autoReconnect?: boolean;
74
+ /**
75
+ * Debug logging
76
+ * @default false
77
+ */
78
+ debug?: boolean;
79
+ /**
80
+ * Override the WebSocket URL for this specific connection
81
+ * Takes precedence over the client's websocketURL option
82
+ */
83
+ websocketURL?: string;
84
+ }
85
+ export interface SocketChannel {
86
+ /** Socket.IO instance */
87
+ socket: SocketInterface;
88
+ /** Channel path */
89
+ channel: string;
90
+ /** Event listeners */
91
+ listeners: Record<string, Set<(event: any) => void>>;
92
+ }
93
+ export default function createSocketMethods(client: NuramaClient): {
94
+ connect: (channel: string, options?: SocketOptions) => Promise<SocketChannel>;
95
+ connectPublic: (publicToken: string, options?: PublicSocketOptions) => Promise<SocketChannel>;
96
+ disconnect: (channel: string) => Promise<void>;
97
+ disconnectAll: () => Promise<void>;
98
+ subscribe: <T = BaseNotificationEvent>(channel: string, event: string, callback: (event: T) => void) => Promise<void>;
99
+ subscribePublic: <T = BaseNotificationEvent>(publicToken: string, event: string, callback: (event: T) => void) => Promise<void>;
100
+ unsubscribe: (channel: string, event: string, callback?: (event: any) => void) => void;
101
+ isConnected: (channel: string) => boolean;
102
+ emit: (channel: string, event: string, data?: unknown) => void;
103
+ emitWithAck: (channel: string, event: string, data: unknown, timeoutMs: number) => Promise<boolean>;
104
+ onReconnect: (channel: string, callback: (event?: unknown) => void) => void;
105
+ onReconnectFailed: (channel: string, callback: () => void) => void;
106
+ };
107
+ export type SocketMethods = ReturnType<typeof createSocketMethods>;
108
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/routes/socket.ts"],"names":[],"mappings":"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"}