@panoptic-it-solutions/zoho-projects-client 0.2.3 → 0.2.5

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 (180) hide show
  1. package/README.md +51 -7
  2. package/dist/__tests__/fixtures/attachments.d.ts +59 -39
  3. package/dist/__tests__/fixtures/attachments.d.ts.map +1 -1
  4. package/dist/__tests__/fixtures/attachments.js +2 -4
  5. package/dist/__tests__/fixtures/attachments.js.map +1 -1
  6. package/dist/__tests__/fixtures/comments.d.ts +25 -13
  7. package/dist/__tests__/fixtures/comments.d.ts.map +1 -1
  8. package/dist/__tests__/fixtures/events.d.ts +27 -15
  9. package/dist/__tests__/fixtures/events.d.ts.map +1 -1
  10. package/dist/__tests__/fixtures/forums.d.ts +25 -13
  11. package/dist/__tests__/fixtures/forums.d.ts.map +1 -1
  12. package/dist/__tests__/fixtures/issues.d.ts +50 -26
  13. package/dist/__tests__/fixtures/issues.d.ts.map +1 -1
  14. package/dist/__tests__/fixtures/phases.d.ts +325 -41
  15. package/dist/__tests__/fixtures/phases.d.ts.map +1 -1
  16. package/dist/__tests__/fixtures/projects.d.ts +176 -8
  17. package/dist/__tests__/fixtures/projects.d.ts.map +1 -1
  18. package/dist/__tests__/fixtures/tasklists.d.ts +71 -25
  19. package/dist/__tests__/fixtures/tasklists.d.ts.map +1 -1
  20. package/dist/__tests__/fixtures/tasklists.js +1 -3
  21. package/dist/__tests__/fixtures/tasklists.js.map +1 -1
  22. package/dist/__tests__/fixtures/tasks.d.ts +257 -62
  23. package/dist/__tests__/fixtures/tasks.d.ts.map +1 -1
  24. package/dist/__tests__/fixtures/timelogs.d.ts +2 -2
  25. package/dist/__tests__/integration/api-v3.test.d.ts +2 -0
  26. package/dist/__tests__/integration/api-v3.test.d.ts.map +1 -0
  27. package/dist/__tests__/integration/api-v3.test.js +180 -0
  28. package/dist/__tests__/integration/api-v3.test.js.map +1 -0
  29. package/dist/__tests__/integration/setup.d.ts +0 -3
  30. package/dist/__tests__/integration/setup.d.ts.map +1 -1
  31. package/dist/__tests__/integration/setup.js +7 -1
  32. package/dist/__tests__/integration/setup.js.map +1 -1
  33. package/dist/__tests__/unit/client/attachments.test.js +31 -10
  34. package/dist/__tests__/unit/client/attachments.test.js.map +1 -1
  35. package/dist/__tests__/unit/client/blueprints.test.js +11 -11
  36. package/dist/__tests__/unit/client/blueprints.test.js.map +1 -1
  37. package/dist/__tests__/unit/client/clients.test.js +6 -6
  38. package/dist/__tests__/unit/client/clients.test.js.map +1 -1
  39. package/dist/__tests__/unit/client/comments.test.js +7 -7
  40. package/dist/__tests__/unit/client/comments.test.js.map +1 -1
  41. package/dist/__tests__/unit/client/contacts.test.js +6 -6
  42. package/dist/__tests__/unit/client/contacts.test.js.map +1 -1
  43. package/dist/__tests__/unit/client/customviews.test.js +8 -8
  44. package/dist/__tests__/unit/client/customviews.test.js.map +1 -1
  45. package/dist/__tests__/unit/client/dashboards.test.js +6 -6
  46. package/dist/__tests__/unit/client/dashboards.test.js.map +1 -1
  47. package/dist/__tests__/unit/client/events.test.js +6 -6
  48. package/dist/__tests__/unit/client/events.test.js.map +1 -1
  49. package/dist/__tests__/unit/client/followers.test.js +8 -8
  50. package/dist/__tests__/unit/client/followers.test.js.map +1 -1
  51. package/dist/__tests__/unit/client/forums.test.js +6 -6
  52. package/dist/__tests__/unit/client/forums.test.js.map +1 -1
  53. package/dist/__tests__/unit/client/groups.test.js +6 -6
  54. package/dist/__tests__/unit/client/groups.test.js.map +1 -1
  55. package/dist/__tests__/unit/client/issues.test.js +6 -6
  56. package/dist/__tests__/unit/client/issues.test.js.map +1 -1
  57. package/dist/__tests__/unit/client/leaves.test.js +6 -6
  58. package/dist/__tests__/unit/client/leaves.test.js.map +1 -1
  59. package/dist/__tests__/unit/client/modules.test.js +7 -7
  60. package/dist/__tests__/unit/client/modules.test.js.map +1 -1
  61. package/dist/__tests__/unit/client/phases.test.js +6 -6
  62. package/dist/__tests__/unit/client/phases.test.js.map +1 -1
  63. package/dist/__tests__/unit/client/portals.test.js +3 -3
  64. package/dist/__tests__/unit/client/portals.test.js.map +1 -1
  65. package/dist/__tests__/unit/client/profiles.test.js +6 -6
  66. package/dist/__tests__/unit/client/profiles.test.js.map +1 -1
  67. package/dist/__tests__/unit/client/projects.test.js +18 -18
  68. package/dist/__tests__/unit/client/projects.test.js.map +1 -1
  69. package/dist/__tests__/unit/client/reports.test.js +9 -9
  70. package/dist/__tests__/unit/client/reports.test.js.map +1 -1
  71. package/dist/__tests__/unit/client/roles.test.js +6 -6
  72. package/dist/__tests__/unit/client/roles.test.js.map +1 -1
  73. package/dist/__tests__/unit/client/search.test.js +7 -7
  74. package/dist/__tests__/unit/client/search.test.js.map +1 -1
  75. package/dist/__tests__/unit/client/tags.test.js +9 -9
  76. package/dist/__tests__/unit/client/tags.test.js.map +1 -1
  77. package/dist/__tests__/unit/client/tasklists.test.js +12 -12
  78. package/dist/__tests__/unit/client/tasklists.test.js.map +1 -1
  79. package/dist/__tests__/unit/client/tasks.test.js +17 -17
  80. package/dist/__tests__/unit/client/tasks.test.js.map +1 -1
  81. package/dist/__tests__/unit/client/teams.test.js +8 -8
  82. package/dist/__tests__/unit/client/teams.test.js.map +1 -1
  83. package/dist/__tests__/unit/client/timelogs.test.js +7 -7
  84. package/dist/__tests__/unit/client/timelogs.test.js.map +1 -1
  85. package/dist/__tests__/unit/client/timers.test.js +11 -11
  86. package/dist/__tests__/unit/client/timers.test.js.map +1 -1
  87. package/dist/__tests__/unit/client/trash.test.js +8 -8
  88. package/dist/__tests__/unit/client/trash.test.js.map +1 -1
  89. package/dist/__tests__/unit/client/users.test.js +8 -8
  90. package/dist/__tests__/unit/client/users.test.js.map +1 -1
  91. package/dist/__tests__/unit/client/widgets.test.js +6 -6
  92. package/dist/__tests__/unit/client/widgets.test.js.map +1 -1
  93. package/dist/cli/init.js +26 -10
  94. package/dist/cli/init.js.map +1 -1
  95. package/dist/client.d.ts +63 -11
  96. package/dist/client.d.ts.map +1 -1
  97. package/dist/client.js +470 -274
  98. package/dist/client.js.map +1 -1
  99. package/dist/types/attachments.d.ts +1525 -512
  100. package/dist/types/attachments.d.ts.map +1 -1
  101. package/dist/types/attachments.js +51 -10
  102. package/dist/types/attachments.js.map +1 -1
  103. package/dist/types/clients.js +2 -2
  104. package/dist/types/clients.js.map +1 -1
  105. package/dist/types/comments.d.ts +325 -169
  106. package/dist/types/comments.d.ts.map +1 -1
  107. package/dist/types/common.d.ts +33 -15
  108. package/dist/types/common.d.ts.map +1 -1
  109. package/dist/types/common.js +12 -7
  110. package/dist/types/common.js.map +1 -1
  111. package/dist/types/contacts.d.ts +6 -6
  112. package/dist/types/dashboards.d.ts +979 -511
  113. package/dist/types/dashboards.d.ts.map +1 -1
  114. package/dist/types/dashboards.js +1 -1
  115. package/dist/types/dashboards.js.map +1 -1
  116. package/dist/types/documents.d.ts +1300 -676
  117. package/dist/types/documents.d.ts.map +1 -1
  118. package/dist/types/events.d.ts +351 -195
  119. package/dist/types/events.d.ts.map +1 -1
  120. package/dist/types/forums.d.ts +325 -169
  121. package/dist/types/forums.d.ts.map +1 -1
  122. package/dist/types/forums.js +2 -2
  123. package/dist/types/forums.js.map +1 -1
  124. package/dist/types/groups.js +1 -1
  125. package/dist/types/groups.js.map +1 -1
  126. package/dist/types/index.d.ts +2 -1
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/index.js +3 -1
  129. package/dist/types/index.js.map +1 -1
  130. package/dist/types/issues.d.ts +650 -338
  131. package/dist/types/issues.d.ts.map +1 -1
  132. package/dist/types/issues.js +3 -3
  133. package/dist/types/issues.js.map +1 -1
  134. package/dist/types/phases.d.ts +4358 -561
  135. package/dist/types/phases.d.ts.map +1 -1
  136. package/dist/types/phases.js +103 -25
  137. package/dist/types/phases.js.map +1 -1
  138. package/dist/types/portals.js +5 -5
  139. package/dist/types/portals.js.map +1 -1
  140. package/dist/types/profiles.js +1 -1
  141. package/dist/types/profiles.js.map +1 -1
  142. package/dist/types/projects.d.ts +6324 -1368
  143. package/dist/types/projects.d.ts.map +1 -1
  144. package/dist/types/projects.js +123 -39
  145. package/dist/types/projects.js.map +1 -1
  146. package/dist/types/reports.d.ts +650 -338
  147. package/dist/types/reports.d.ts.map +1 -1
  148. package/dist/types/reports.js +1 -1
  149. package/dist/types/reports.js.map +1 -1
  150. package/dist/types/search.js +1 -1
  151. package/dist/types/search.js.map +1 -1
  152. package/dist/types/tags.js +1 -1
  153. package/dist/types/tags.js.map +1 -1
  154. package/dist/types/tasklists.d.ts +938 -326
  155. package/dist/types/tasklists.d.ts.map +1 -1
  156. package/dist/types/tasklists.js +43 -16
  157. package/dist/types/tasklists.js.map +1 -1
  158. package/dist/types/tasks.d.ts +3516 -876
  159. package/dist/types/tasks.d.ts.map +1 -1
  160. package/dist/types/tasks.js +70 -23
  161. package/dist/types/tasks.js.map +1 -1
  162. package/dist/types/teams.js +2 -2
  163. package/dist/types/teams.js.map +1 -1
  164. package/dist/types/timelogs.d.ts +232 -230
  165. package/dist/types/timelogs.d.ts.map +1 -1
  166. package/dist/types/timelogs.js.map +1 -1
  167. package/dist/types/timers.d.ts +750 -390
  168. package/dist/types/timers.d.ts.map +1 -1
  169. package/dist/types/trash.d.ts +650 -338
  170. package/dist/types/trash.d.ts.map +1 -1
  171. package/dist/types/workdrive.d.ts +1002 -0
  172. package/dist/types/workdrive.d.ts.map +1 -0
  173. package/dist/types/workdrive.js +70 -0
  174. package/dist/types/workdrive.js.map +1 -0
  175. package/dist/utils/pagination.d.ts +9 -9
  176. package/dist/utils/pagination.d.ts.map +1 -1
  177. package/dist/utils/pagination.js +11 -11
  178. package/dist/utils/pagination.js.map +1 -1
  179. package/package.json +3 -1
  180. package/templates/CLAUDE.md +185 -2
@@ -7,7 +7,7 @@ import { server } from "../../mocks/server.js";
7
7
  import { createZohoProjectsClient } from "../../../client.js";
8
8
  import { mockTimer, mockTimers, mockPausedTimer } from "../../fixtures/timers.js";
9
9
  const TEST_PORTAL_ID = "12345";
10
- const BASE_URL = `https://projectsapi.zoho.com/restapi/portal/${TEST_PORTAL_ID}`;
10
+ const BASE_URL = `https://projectsapi.zoho.com/api/v3/portal/${TEST_PORTAL_ID}`;
11
11
  describe("timers", () => {
12
12
  let client;
13
13
  beforeEach(() => {
@@ -20,7 +20,7 @@ describe("timers", () => {
20
20
  });
21
21
  describe("list", () => {
22
22
  it("should list all running timers", async () => {
23
- server.use(http.get(`${BASE_URL}/mytimers/`, () => {
23
+ server.use(http.get(`${BASE_URL}/mytimers`, () => {
24
24
  return HttpResponse.json({ timers: mockTimers });
25
25
  }));
26
26
  const result = await client.timers.list();
@@ -31,7 +31,7 @@ describe("timers", () => {
31
31
  });
32
32
  });
33
33
  it("should return empty array when no timers", async () => {
34
- server.use(http.get(`${BASE_URL}/mytimers/`, () => {
34
+ server.use(http.get(`${BASE_URL}/mytimers`, () => {
35
35
  return new HttpResponse("", { status: 204 });
36
36
  }));
37
37
  const result = await client.timers.list();
@@ -40,7 +40,7 @@ describe("timers", () => {
40
40
  });
41
41
  describe("getCurrent", () => {
42
42
  it("should get the current running timer", async () => {
43
- server.use(http.get(`${BASE_URL}/mytimers/`, () => {
43
+ server.use(http.get(`${BASE_URL}/mytimers`, () => {
44
44
  return HttpResponse.json({ timers: [mockTimer] });
45
45
  }));
46
46
  const result = await client.timers.getCurrent();
@@ -48,7 +48,7 @@ describe("timers", () => {
48
48
  expect(result?.status).toBe("running");
49
49
  });
50
50
  it("should return null when no timer is running", async () => {
51
- server.use(http.get(`${BASE_URL}/mytimers/`, () => {
51
+ server.use(http.get(`${BASE_URL}/mytimers`, () => {
52
52
  return new HttpResponse("", { status: 204 });
53
53
  }));
54
54
  const result = await client.timers.getCurrent();
@@ -57,7 +57,7 @@ describe("timers", () => {
57
57
  });
58
58
  describe("start", () => {
59
59
  it("should start a timer for a task", async () => {
60
- server.use(http.post(`${BASE_URL}/projects/proj_001/tasks/task_123/timer/start/`, () => {
60
+ server.use(http.post(`${BASE_URL}/projects/proj_001/tasks/task_123/timer/start`, () => {
61
61
  return HttpResponse.json({ timer: mockTimer });
62
62
  }));
63
63
  const result = await client.timers.start({
@@ -71,7 +71,7 @@ describe("timers", () => {
71
71
  describe("stop", () => {
72
72
  it("should stop the current timer", async () => {
73
73
  const stoppedTimer = { ...mockTimer, status: "stopped" };
74
- server.use(http.post(`${BASE_URL}/mytimers/stop/`, () => {
74
+ server.use(http.post(`${BASE_URL}/mytimers/stop`, () => {
75
75
  return HttpResponse.json({ timer: stoppedTimer });
76
76
  }));
77
77
  const result = await client.timers.stop({});
@@ -80,7 +80,7 @@ describe("timers", () => {
80
80
  });
81
81
  describe("pause", () => {
82
82
  it("should pause the current timer", async () => {
83
- server.use(http.post(`${BASE_URL}/mytimers/pause/`, () => {
83
+ server.use(http.post(`${BASE_URL}/mytimers/pause`, () => {
84
84
  return HttpResponse.json({ timer: mockPausedTimer });
85
85
  }));
86
86
  const result = await client.timers.pause();
@@ -89,7 +89,7 @@ describe("timers", () => {
89
89
  });
90
90
  describe("resume", () => {
91
91
  it("should resume a paused timer", async () => {
92
- server.use(http.post(`${BASE_URL}/mytimers/resume/`, () => {
92
+ server.use(http.post(`${BASE_URL}/mytimers/resume`, () => {
93
93
  return HttpResponse.json({ timer: mockTimer });
94
94
  }));
95
95
  const result = await client.timers.resume();
@@ -98,7 +98,7 @@ describe("timers", () => {
98
98
  });
99
99
  describe("startForTask", () => {
100
100
  it("should start a timer for a specific task", async () => {
101
- server.use(http.post(`${BASE_URL}/projects/proj_001/tasks/task_123/timer/start/`, () => {
101
+ server.use(http.post(`${BASE_URL}/projects/proj_001/tasks/task_123/timer/start`, () => {
102
102
  return HttpResponse.json({ timer: mockTimer });
103
103
  }));
104
104
  const result = await client.timers.startForTask("proj_001", "task_123", {
@@ -111,7 +111,7 @@ describe("timers", () => {
111
111
  describe("startForIssue", () => {
112
112
  it("should start a timer for a specific issue", async () => {
113
113
  const issueTimer = { ...mockTimer, entity_type: "issue" };
114
- server.use(http.post(`${BASE_URL}/projects/proj_001/issues/issue_123/timer/start/`, () => {
114
+ server.use(http.post(`${BASE_URL}/projects/proj_001/issues/issue_123/timer/start`, () => {
115
115
  return HttpResponse.json({ timer: issueTimer });
116
116
  }));
117
117
  const result = await client.timers.startForIssue("proj_001", "issue_123");
@@ -1 +1 @@
1
- {"version":3,"file":"timers.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/timers.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAElF,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,QAAQ,GAAG,+CAA+C,cAAc,EAAE,CAAC;AAEjF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAI,MAAmD,CAAC;IAExD,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,wBAAwB,CAAC;YAChC,QAAQ,EAAE,gBAAgB;YAC1B,YAAY,EAAE,oBAAoB;YAClC,YAAY,EAAE,oBAAoB;YAClC,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,YAAY,EAAE,GAAG,EAAE;gBACrC,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAE1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,YAAY,EAAE,GAAG,EAAE;gBACrC,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAE1C,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,YAAY,EAAE,GAAG,EAAE;gBACrC,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,YAAY,EAAE,GAAG,EAAE;gBACrC,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CACP,GAAG,QAAQ,gDAAgD,EAC3D,GAAG,EAAE;gBACH,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC,CACF,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBACvC,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;YAElE,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,iBAAiB,EAAE,GAAG,EAAE;gBAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,kBAAkB,EAAE,GAAG,EAAE;gBAC5C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAE3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,mBAAmB,EAAE,GAAG,EAAE;gBAC7C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CACP,GAAG,QAAQ,gDAAgD,EAC3D,GAAG,EAAE;gBACH,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC,CACF,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE;gBACtE,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,OAAgB,EAAE,CAAC;YAEnE,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CACP,GAAG,QAAQ,kDAAkD,EAC7D,GAAG,EAAE;gBACH,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,CAAC,CACF,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAC9C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"timers.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/timers.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { server } from "../../mocks/server.js";
7
7
  import { createZohoProjectsClient } from "../../../client.js";
8
8
  import { mockTrashItems, mockTrashRestoreResponse, } from "../../fixtures/trash.js";
9
9
  const TEST_PORTAL_ID = "12345";
10
- const BASE_URL = `https://projectsapi.zoho.com/restapi/portal/${TEST_PORTAL_ID}`;
10
+ const BASE_URL = `https://projectsapi.zoho.com/api/v3/portal/${TEST_PORTAL_ID}`;
11
11
  describe("trash", () => {
12
12
  let client;
13
13
  beforeEach(() => {
@@ -20,7 +20,7 @@ describe("trash", () => {
20
20
  });
21
21
  describe("list", () => {
22
22
  it("should list all items in trash", async () => {
23
- server.use(http.get(`${BASE_URL}/trash/`, () => {
23
+ server.use(http.get(`${BASE_URL}/trash`, () => {
24
24
  return HttpResponse.json({
25
25
  trash: mockTrashItems,
26
26
  page_info: { page: 1, per_page: 100, has_more_page: false },
@@ -35,7 +35,7 @@ describe("trash", () => {
35
35
  });
36
36
  it("should filter trash by entity type", async () => {
37
37
  let capturedParams;
38
- server.use(http.get(`${BASE_URL}/trash/`, ({ request }) => {
38
+ server.use(http.get(`${BASE_URL}/trash`, ({ request }) => {
39
39
  capturedParams = new URL(request.url).searchParams;
40
40
  return HttpResponse.json({
41
41
  trash: mockTrashItems.filter((i) => i.entity_type === "task"),
@@ -49,7 +49,7 @@ describe("trash", () => {
49
49
  });
50
50
  describe("restore", () => {
51
51
  it("should restore an item from trash", async () => {
52
- server.use(http.post(`${BASE_URL}/trash/task/task_deleted_001/restore/`, () => {
52
+ server.use(http.post(`${BASE_URL}/trash/task/task_deleted_001/restore`, () => {
53
53
  return HttpResponse.json(mockTrashRestoreResponse);
54
54
  }));
55
55
  const result = await client.trash.restore("task", "task_deleted_001");
@@ -59,7 +59,7 @@ describe("trash", () => {
59
59
  });
60
60
  describe("permanentDelete", () => {
61
61
  it("should permanently delete an item from trash", async () => {
62
- server.use(http.delete(`${BASE_URL}/trash/task/task_deleted_001/`, () => {
62
+ server.use(http.delete(`${BASE_URL}/trash/task/task_deleted_001`, () => {
63
63
  return new HttpResponse(null, { status: 204 });
64
64
  }));
65
65
  await expect(client.trash.permanentDelete("task", "task_deleted_001")).resolves.toBeUndefined();
@@ -67,13 +67,13 @@ describe("trash", () => {
67
67
  });
68
68
  describe("empty", () => {
69
69
  it("should empty all trash", async () => {
70
- server.use(http.delete(`${BASE_URL}/trash/`, () => {
70
+ server.use(http.delete(`${BASE_URL}/trash`, () => {
71
71
  return new HttpResponse(null, { status: 204 });
72
72
  }));
73
73
  await expect(client.trash.empty()).resolves.toBeUndefined();
74
74
  });
75
75
  it("should empty trash for a specific entity type", async () => {
76
- server.use(http.delete(`${BASE_URL}/trash/task/`, () => {
76
+ server.use(http.delete(`${BASE_URL}/trash/task`, () => {
77
77
  return new HttpResponse(null, { status: 204 });
78
78
  }));
79
79
  await expect(client.trash.empty("task")).resolves.toBeUndefined();
@@ -81,7 +81,7 @@ describe("trash", () => {
81
81
  });
82
82
  describe("listForProject", () => {
83
83
  it("should list trash for a specific project", async () => {
84
- server.use(http.get(`${BASE_URL}/trash/`, ({ request }) => {
84
+ server.use(http.get(`${BASE_URL}/trash`, ({ request }) => {
85
85
  const url = new URL(request.url);
86
86
  const projectId = url.searchParams.get("project_id");
87
87
  if (projectId === "proj_001") {
@@ -1 +1 @@
1
- {"version":3,"file":"trash.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/trash.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trash.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/trash.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { server } from "../../mocks/server.js";
7
7
  import { createZohoProjectsClient } from "../../../client.js";
8
8
  import { createUserFixture, createUserListFixture, createUserListResponse, } from "../../fixtures/users.js";
9
9
  const TEST_PORTAL_ID = "12345";
10
- const BASE_URL = `https://projectsapi.zoho.com/restapi/portal/${TEST_PORTAL_ID}`;
10
+ const BASE_URL = `https://projectsapi.zoho.com/api/v3/portal/${TEST_PORTAL_ID}`;
11
11
  describe("users", () => {
12
12
  let client;
13
13
  beforeEach(() => {
@@ -21,7 +21,7 @@ describe("users", () => {
21
21
  describe("list", () => {
22
22
  it("should list users with default pagination", async () => {
23
23
  const mockUsers = createUserListFixture(3);
24
- server.use(http.get(`${BASE_URL}/users/`, () => {
24
+ server.use(http.get(`${BASE_URL}/users`, () => {
25
25
  return HttpResponse.json(createUserListResponse(mockUsers));
26
26
  }));
27
27
  const result = await client.users.list();
@@ -33,7 +33,7 @@ describe("users", () => {
33
33
  });
34
34
  });
35
35
  it("should handle empty response", async () => {
36
- server.use(http.get(`${BASE_URL}/users/`, () => {
36
+ server.use(http.get(`${BASE_URL}/users`, () => {
37
37
  return HttpResponse.json(createUserListResponse([]));
38
38
  }));
39
39
  const result = await client.users.list();
@@ -43,7 +43,7 @@ describe("users", () => {
43
43
  describe("get", () => {
44
44
  it("should get a single user by ID", async () => {
45
45
  const mockUser = createUserFixture({ id: "123" });
46
- server.use(http.get(`${BASE_URL}/users/123/`, () => {
46
+ server.use(http.get(`${BASE_URL}/users/123`, () => {
47
47
  return HttpResponse.json({ users: [mockUser] });
48
48
  }));
49
49
  const result = await client.users.get("123");
@@ -56,11 +56,11 @@ describe("users", () => {
56
56
  const page1 = createUserListFixture(100);
57
57
  const page2 = createUserListFixture(50);
58
58
  let requestCount = 0;
59
- server.use(http.get(`${BASE_URL}/users/`, ({ request }) => {
59
+ server.use(http.get(`${BASE_URL}/users`, ({ request }) => {
60
60
  requestCount++;
61
61
  const url = new URL(request.url);
62
- const index = parseInt(url.searchParams.get("index") || "0");
63
- if (index === 0) {
62
+ const page = parseInt(url.searchParams.get("page") || "1");
63
+ if (page === 1) {
64
64
  return HttpResponse.json(createUserListResponse(page1, true));
65
65
  }
66
66
  else {
@@ -75,7 +75,7 @@ describe("users", () => {
75
75
  describe("iterate", () => {
76
76
  it("should yield users one at a time", async () => {
77
77
  const mockUsers = createUserListFixture(3);
78
- server.use(http.get(`${BASE_URL}/users/`, () => {
78
+ server.use(http.get(`${BASE_URL}/users`, () => {
79
79
  return HttpResponse.json(createUserListResponse(mockUsers));
80
80
  }));
81
81
  const results = [];
@@ -1 +1 @@
1
- {"version":3,"file":"users.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/users.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/users.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { server } from "../../mocks/server.js";
7
7
  import { createZohoProjectsClient } from "../../../client.js";
8
8
  import { mockWidget, mockWidgets } from "../../fixtures/widgets.js";
9
9
  const TEST_PORTAL_ID = "12345";
10
- const BASE_URL = `https://projectsapi.zoho.com/restapi/portal/${TEST_PORTAL_ID}`;
10
+ const BASE_URL = `https://projectsapi.zoho.com/api/v3/portal/${TEST_PORTAL_ID}`;
11
11
  describe("widgets", () => {
12
12
  let client;
13
13
  beforeEach(() => {
@@ -20,7 +20,7 @@ describe("widgets", () => {
20
20
  });
21
21
  describe("list", () => {
22
22
  it("should list widgets for a dashboard", async () => {
23
- server.use(http.get(`${BASE_URL}/dashboards/1001/widgets/`, () => {
23
+ server.use(http.get(`${BASE_URL}/dashboards/1001/widgets`, () => {
24
24
  return HttpResponse.json({
25
25
  widgets: mockWidgets,
26
26
  page_info: { page: 1, per_page: 100, has_more_page: false },
@@ -37,7 +37,7 @@ describe("widgets", () => {
37
37
  });
38
38
  describe("get", () => {
39
39
  it("should get a single widget by ID", async () => {
40
- server.use(http.get(`${BASE_URL}/dashboards/1001/widgets/2001/`, () => {
40
+ server.use(http.get(`${BASE_URL}/dashboards/1001/widgets/2001`, () => {
41
41
  return HttpResponse.json({ widgets: [mockWidget] });
42
42
  }));
43
43
  const widgetOps = client.dashboards.widgets("1001");
@@ -49,7 +49,7 @@ describe("widgets", () => {
49
49
  describe("create", () => {
50
50
  it("should create a widget", async () => {
51
51
  let capturedBody;
52
- server.use(http.post(`${BASE_URL}/dashboards/1001/widgets/`, async ({ request }) => {
52
+ server.use(http.post(`${BASE_URL}/dashboards/1001/widgets`, async ({ request }) => {
53
53
  capturedBody = await request.json();
54
54
  return HttpResponse.json({ widgets: [mockWidget] });
55
55
  }));
@@ -68,7 +68,7 @@ describe("widgets", () => {
68
68
  describe("update", () => {
69
69
  it("should update a widget", async () => {
70
70
  const updatedWidget = { ...mockWidget, name: "Updated Chart" };
71
- server.use(http.put(`${BASE_URL}/dashboards/1001/widgets/2001/`, () => {
71
+ server.use(http.put(`${BASE_URL}/dashboards/1001/widgets/2001`, () => {
72
72
  return HttpResponse.json({ widgets: [updatedWidget] });
73
73
  }));
74
74
  const widgetOps = client.dashboards.widgets("1001");
@@ -80,7 +80,7 @@ describe("widgets", () => {
80
80
  });
81
81
  describe("delete", () => {
82
82
  it("should delete a widget", async () => {
83
- server.use(http.delete(`${BASE_URL}/dashboards/1001/widgets/2001/`, () => {
83
+ server.use(http.delete(`${BASE_URL}/dashboards/1001/widgets/2001`, () => {
84
84
  return new HttpResponse(null, { status: 204 });
85
85
  }));
86
86
  const widgetOps = client.dashboards.widgets("1001");
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/widgets.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widgets.test.js","sourceRoot":"","sources":["../../../../src/__tests__/unit/client/widgets.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,MAAM,QAAQ,GAAG,8CAA8C,cAAc,EAAE,CAAC;AAEhF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,MAAmD,CAAC;IAExD,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,wBAAwB,CAAC;YAChC,QAAQ,EAAE,gBAAgB;YAC1B,YAAY,EAAE,oBAAoB;YAClC,YAAY,EAAE,oBAAoB;YAClC,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,0BAA0B,EAAE,GAAG,EAAE;gBACnD,OAAO,YAAY,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,WAAW;oBACpB,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE;iBAC5D,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAEtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACnC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;aACzB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,+BAA+B,EAAE,GAAG,EAAE;gBACxD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE3C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,IAAI,YAAqB,CAAC;YAE1B,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,0BAA0B,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACrE,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC;gBACpC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;gBACjC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YAE/D,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,+BAA+B,EAAE,GAAG,EAAE;gBACxD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5C,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,+BAA+B,EAAE,GAAG,EAAE;gBAC3D,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/cli/init.js CHANGED
@@ -44,21 +44,37 @@ async function init(options) {
44
44
  catch (error) {
45
45
  console.error("Failed to create .claude/commands/:", error);
46
46
  }
47
- // 3. Create CLAUDE.md (if it doesn't exist)
47
+ // 3. Create or update CLAUDE.md
48
48
  const claudeMdPath = path.join(projectRoot, "CLAUDE.md");
49
49
  const templateClaudeMd = path.join(templatesDir, "CLAUDE.md");
50
- if (await fileExists(claudeMdPath)) {
51
- console.log("CLAUDE.md already exists, skipping");
52
- }
53
- else {
54
- try {
55
- await fs.copyFile(templateClaudeMd, claudeMdPath);
56
- console.log("Created CLAUDE.md");
50
+ const ZOHO_SECTION_MARKER = "<!-- zoho-projects-client -->";
51
+ try {
52
+ if (await fileExists(claudeMdPath)) {
53
+ // Read existing content
54
+ const existingContent = await fs.readFile(claudeMdPath, "utf-8");
55
+ const templateContent = await fs.readFile(templateClaudeMd, "utf-8");
56
+ // Check if already has Zoho Projects section
57
+ if (existingContent.includes(ZOHO_SECTION_MARKER)) {
58
+ console.log("CLAUDE.md already contains Zoho Projects section, skipping");
59
+ }
60
+ else {
61
+ // Append with clear separator
62
+ const appendContent = `\n\n---\n\n${ZOHO_SECTION_MARKER}\n${templateContent}`;
63
+ await fs.appendFile(claudeMdPath, appendContent);
64
+ console.log("Appended Zoho Projects section to existing CLAUDE.md");
65
+ }
57
66
  }
58
- catch (error) {
59
- console.error("Failed to create CLAUDE.md:", error);
67
+ else {
68
+ // Create new file with marker
69
+ const templateContent = await fs.readFile(templateClaudeMd, "utf-8");
70
+ const contentWithMarker = `${ZOHO_SECTION_MARKER}\n${templateContent}`;
71
+ await fs.writeFile(claudeMdPath, contentWithMarker);
72
+ console.log("Created CLAUDE.md");
60
73
  }
61
74
  }
75
+ catch (error) {
76
+ console.error("Failed to create/update CLAUDE.md:", error);
77
+ }
62
78
  // 4. Optionally copy types
63
79
  if (options.withTypes) {
64
80
  const typesDir = path.join(projectRoot, ".ai-types");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type Bottleneck from "bottleneck";
2
2
  import { z } from "zod";
3
3
  import { TokenManager } from "./auth/token-manager.js";
4
- import { type Project, type Task, type TimeLog, type User, type Tag, type Role, type Profile, type Client, type Contact, type ProjectGroup, type Leave, type Team, type TaskList, type Phase, type Issue, type Forum, type Event, type Attachment, type Document, type DocumentFolder, type Comment, type Follower, type Dashboard, type Widget, type Report, type ReportDataResponse, type SearchResult, type TrashItem, type TrashRestoreResponse, type Portal, type Module, type ModuleField, type Timer, type CustomView, type Blueprint, type BlueprintTransition, type NextTransitionsResponse, type DuringActionsResponse, type CommentableEntityType, type FollowableEntityType, type ListParams, type TimeLogParams, type CreateProjectInput, type UpdateProjectInput, type CreateTaskInput, type UpdateTaskInput, type CreateTaskTimeLogInput, type CreateBugTimeLogInput, type CreateGeneralTimeLogInput, type UpdateTimeLogInput, type InviteUserInput, type AddUserToProjectInput, type UpdateUserInput, type CreateTagInput, type UpdateTagInput, type CreateRoleInput, type UpdateRoleInput, type CreateProfileInput, type UpdateProfileInput, type CreateClientInput, type UpdateClientInput, type CreateContactInput, type UpdateContactInput, type CreateProjectGroupInput, type UpdateProjectGroupInput, type CreateLeaveInput, type UpdateLeaveInput, type CreateTeamInput, type UpdateTeamInput, type AddTeamMembersInput, type CreateTaskListInput, type UpdateTaskListInput, type CreatePhaseInput, type UpdatePhaseInput, type CreateIssueInput, type UpdateIssueInput, type CreateForumInput, type UpdateForumInput, type CreateEventInput, type UpdateEventInput, type UploadAttachmentInput, type UploadDocumentInput, type UpdateDocumentInput, type CreateDocumentFolderInput, type UpdateDocumentFolderInput, type CreateCommentInput, type UpdateCommentInput, type AddFollowersInput, type CreateDashboardInput, type UpdateDashboardInput, type CreateWidgetInput, type UpdateWidgetInput, type ReportQueryInput, type SearchQueryInput, type TrashFilterInput, type TrashableEntityType, type ModuleFilterInput, type StartTimerInput, type StopTimerInput, type PauseResumeTimerInput, type CreateCustomViewInput, type UpdateCustomViewInput, type CustomViewEntityType, type ExecuteTransitionInput, type BlueprintModuleType } from "./types/index.js";
4
+ import { type Project, type Task, type TimeLog, type User, type Tag, type Role, type Profile, type Client, type Contact, type ProjectGroup, type Leave, type Team, type TaskList, type Phase, type Issue, type Forum, type Event, type Attachment, type Document, type DocumentFolder, type Comment, type Follower, type Dashboard, type Widget, type Report, type ReportDataResponse, type SearchResult, type TrashItem, type TrashRestoreResponse, type Portal, type Module, type ModuleField, type Timer, type CustomView, type Blueprint, type BlueprintTransition, type NextTransitionsResponse, type DuringActionsResponse, type CommentableEntityType, type FollowableEntityType, type ListParams, type TimeLogParams, type CreateProjectInput, type UpdateProjectInput, type CreateTaskInput, type UpdateTaskInput, type CreateTaskTimeLogInput, type CreateBugTimeLogInput, type CreateGeneralTimeLogInput, type UpdateTimeLogInput, type InviteUserInput, type AddUserToProjectInput, type UpdateUserInput, type CreateTagInput, type UpdateTagInput, type CreateRoleInput, type UpdateRoleInput, type CreateProfileInput, type UpdateProfileInput, type CreateClientInput, type UpdateClientInput, type CreateContactInput, type UpdateContactInput, type CreateProjectGroupInput, type UpdateProjectGroupInput, type CreateLeaveInput, type UpdateLeaveInput, type CreateTeamInput, type UpdateTeamInput, type AddTeamMembersInput, type CreateTaskListInput, type UpdateTaskListInput, type CreatePhaseInput, type UpdatePhaseInput, type CreateIssueInput, type UpdateIssueInput, type CreateForumInput, type UpdateForumInput, type CreateEventInput, type UpdateEventInput, type ListAttachmentsParams, type AssociateAttachmentInput, type AddAttachmentsToEntityInput, type WorkDriveFile, type WorkDriveUploadInput, type UploadDocumentInput, type UpdateDocumentInput, type CreateDocumentFolderInput, type UpdateDocumentFolderInput, type CreateCommentInput, type UpdateCommentInput, type AddFollowersInput, type CreateDashboardInput, type UpdateDashboardInput, type CreateWidgetInput, type UpdateWidgetInput, type ReportQueryInput, type SearchQueryInput, type TrashFilterInput, type TrashableEntityType, type ModuleFilterInput, type StartTimerInput, type StopTimerInput, type PauseResumeTimerInput, type CreateCustomViewInput, type UpdateCustomViewInput, type CustomViewEntityType, type ExecuteTransitionInput, type BlueprintModuleType } from "./types/index.js";
5
5
  import { type RateLimiterConfig } from "./utils/rate-limiter.js";
6
6
  import { type AutoPaginateOptions, type PaginatedResponse } from "./utils/pagination.js";
7
7
  /**
@@ -109,10 +109,12 @@ export declare function createZohoProjectsClient(config: ZohoProjectsConfig): {
109
109
  listAllAcrossProjects(options?: AutoPaginateOptions): Promise<Task[]>;
110
110
  /**
111
111
  * Create a new task in a project
112
+ * Note: V3 API requires a tasklist to be specified
112
113
  */
113
114
  create(projectId: string, data: CreateTaskInput): Promise<Task>;
114
115
  /**
115
116
  * Update an existing task
117
+ * Note: V3 API uses PATCH method for updates
116
118
  */
117
119
  update(projectId: string, taskId: string, data: UpdateTaskInput): Promise<Task>;
118
120
  /**
@@ -161,11 +163,11 @@ export declare function createZohoProjectsClient(config: ZohoProjectsConfig): {
161
163
  /**
162
164
  * Get all time logs for a project with auto-pagination
163
165
  */
164
- listAll(projectId: string, params: Omit<TimeLogParams, "index" | "range">, options?: AutoPaginateOptions): Promise<TimeLog[]>;
166
+ listAll(projectId: string, params: Omit<TimeLogParams, "page" | "per_page">, options?: AutoPaginateOptions): Promise<TimeLog[]>;
165
167
  /**
166
168
  * Iterate over all time logs for a project with auto-pagination
167
169
  */
168
- iterate(projectId: string, params: Omit<TimeLogParams, "index" | "range">, options?: AutoPaginateOptions): AsyncGenerator<TimeLog, void, unknown>;
170
+ iterate(projectId: string, params: Omit<TimeLogParams, "page" | "per_page">, options?: AutoPaginateOptions): AsyncGenerator<TimeLog, void, unknown>;
169
171
  /**
170
172
  * List all time logs across all projects
171
173
  */
@@ -428,22 +430,72 @@ export declare function createZohoProjectsClient(config: ZohoProjectsConfig): {
428
430
  };
429
431
  /**
430
432
  * Attachments API (project-scoped)
431
- * Note: Upload requires multipart/form-data
433
+ * Note: V3 API requires entity_type and entity_id for listing
434
+ * Note: V3 Upload requires WorkDrive integration - use workdrive.upload() then associate()
432
435
  */
433
436
  attachments: {
434
- list(projectId: string, params?: ListParams): Promise<PaginatedResponse<Attachment>>;
435
- listAll(projectId: string, options?: AutoPaginateOptions): Promise<Attachment[]>;
436
- iterate(projectId: string, options?: AutoPaginateOptions): AsyncGenerator<Attachment, void, unknown>;
437
+ /**
438
+ * List attachments for an entity (V3 API)
439
+ * Note: V3 requires entity_type and entity_id parameters
440
+ * @param projectId - Project ID
441
+ * @param params - List parameters including required entity_type and entity_id
442
+ */
443
+ listForEntity(projectId: string, params: ListAttachmentsParams): Promise<PaginatedResponse<Attachment>>;
444
+ /**
445
+ * List all attachments for an entity with auto-pagination
446
+ */
447
+ listAllForEntity(projectId: string, params: Omit<ListAttachmentsParams, "page" | "per_page">, options?: AutoPaginateOptions): Promise<Attachment[]>;
448
+ /**
449
+ * Iterate over all attachments for an entity with auto-pagination
450
+ */
451
+ iterateForEntity(projectId: string, params: Omit<ListAttachmentsParams, "page" | "per_page">, options?: AutoPaginateOptions): AsyncGenerator<Attachment, void, unknown>;
452
+ /**
453
+ * Convenience method: List attachments for a task
454
+ */
455
+ listForTask(projectId: string, taskId: string, params?: {
456
+ page?: number;
457
+ per_page?: number;
458
+ }): Promise<PaginatedResponse<Attachment>>;
459
+ /**
460
+ * Convenience method: List attachments for a bug/issue
461
+ */
462
+ listForIssue(projectId: string, issueId: string, params?: {
463
+ page?: number;
464
+ per_page?: number;
465
+ }): Promise<PaginatedResponse<Attachment>>;
437
466
  get(projectId: string, attachmentId: string): Promise<Attachment>;
438
467
  /**
439
- * Upload an attachment
468
+ * Associate an existing attachment with an entity (V3 API)
469
+ * Use this after uploading a file to WorkDrive
440
470
  * @param projectId - Project ID
471
+ * @param attachmentId - Attachment ID (from WorkDrive upload)
472
+ * @param data - Entity association details
473
+ */
474
+ associate(projectId: string, attachmentId: string, data: AssociateAttachmentInput): Promise<void>;
475
+ /**
476
+ * Add attachments to an entity using attachment IDs (V3 API)
477
+ * @param projectId - Project ID
478
+ * @param entityType - Entity type (task, bug, forum)
479
+ * @param entityId - Entity ID
480
+ * @param data - Attachment IDs to add
481
+ */
482
+ addToEntity(projectId: string, entityType: "task" | "bug" | "forum", entityId: string, data: AddAttachmentsToEntityInput): Promise<void>;
483
+ delete(projectId: string, attachmentId: string): Promise<void>;
484
+ };
485
+ /**
486
+ * WorkDrive API for file uploads
487
+ * V3 attachments require uploading to WorkDrive first, then associating with entities
488
+ */
489
+ workdrive: {
490
+ /**
491
+ * Upload a file to WorkDrive
492
+ * After uploading, use attachments.associate() to link to a task/issue
441
493
  * @param file - File buffer or stream
442
494
  * @param filename - Original filename
443
- * @param options - Additional options
495
+ * @param options - Upload options including parent_id (folder ID)
496
+ * @returns WorkDrive file object with ID to use for association
444
497
  */
445
- upload(projectId: string, file: Buffer | NodeJS.ReadableStream, filename: string, options?: UploadAttachmentInput): Promise<Attachment>;
446
- delete(projectId: string, attachmentId: string): Promise<void>;
498
+ upload(file: Buffer | NodeJS.ReadableStream, filename: string, options: WorkDriveUploadInput): Promise<WorkDriveFile>;
447
499
  };
448
500
  /**
449
501
  * Documents API (project-scoped)