@revfleet/hscli 0.5.3

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 (329) hide show
  1. package/CHANGELOG.md +466 -0
  2. package/LICENSE +21 -0
  3. package/README.md +287 -0
  4. package/SECURITY.md +68 -0
  5. package/dist/cli.d.ts +8 -0
  6. package/dist/cli.js +192 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/account/index.d.ts +3 -0
  9. package/dist/commands/account/index.js +65 -0
  10. package/dist/commands/account/index.js.map +1 -0
  11. package/dist/commands/api/index.d.ts +3 -0
  12. package/dist/commands/api/index.js +35 -0
  13. package/dist/commands/api/index.js.map +1 -0
  14. package/dist/commands/auth/index.d.ts +3 -0
  15. package/dist/commands/auth/index.js +229 -0
  16. package/dist/commands/auth/index.js.map +1 -0
  17. package/dist/commands/automation/index.d.ts +3 -0
  18. package/dist/commands/automation/index.js +119 -0
  19. package/dist/commands/automation/index.js.map +1 -0
  20. package/dist/commands/cms/blog-settings.d.ts +3 -0
  21. package/dist/commands/cms/blog-settings.js +70 -0
  22. package/dist/commands/cms/blog-settings.js.map +1 -0
  23. package/dist/commands/cms/content-ops.d.ts +13 -0
  24. package/dist/commands/cms/content-ops.js +262 -0
  25. package/dist/commands/cms/content-ops.js.map +1 -0
  26. package/dist/commands/cms/hubdb.d.ts +3 -0
  27. package/dist/commands/cms/hubdb.js +55 -0
  28. package/dist/commands/cms/hubdb.js.map +1 -0
  29. package/dist/commands/cms/index.d.ts +3 -0
  30. package/dist/commands/cms/index.js +119 -0
  31. package/dist/commands/cms/index.js.map +1 -0
  32. package/dist/commands/cms/source-code.d.ts +3 -0
  33. package/dist/commands/cms/source-code.js +101 -0
  34. package/dist/commands/cms/source-code.js.map +1 -0
  35. package/dist/commands/communication-preferences/index.d.ts +3 -0
  36. package/dist/commands/communication-preferences/index.js +107 -0
  37. package/dist/commands/communication-preferences/index.js.map +1 -0
  38. package/dist/commands/conversations/index.d.ts +3 -0
  39. package/dist/commands/conversations/index.js +233 -0
  40. package/dist/commands/conversations/index.js.map +1 -0
  41. package/dist/commands/crm/associations.d.ts +3 -0
  42. package/dist/commands/crm/associations.js +180 -0
  43. package/dist/commands/crm/associations.js.map +1 -0
  44. package/dist/commands/crm/cards.d.ts +3 -0
  45. package/dist/commands/crm/cards.js +72 -0
  46. package/dist/commands/crm/cards.js.map +1 -0
  47. package/dist/commands/crm/carts.d.ts +3 -0
  48. package/dist/commands/crm/carts.js +5 -0
  49. package/dist/commands/crm/carts.js.map +1 -0
  50. package/dist/commands/crm/communications.d.ts +3 -0
  51. package/dist/commands/crm/communications.js +5 -0
  52. package/dist/commands/crm/communications.js.map +1 -0
  53. package/dist/commands/crm/companies.d.ts +3 -0
  54. package/dist/commands/crm/companies.js +5 -0
  55. package/dist/commands/crm/companies.js.map +1 -0
  56. package/dist/commands/crm/contacts.d.ts +3 -0
  57. package/dist/commands/crm/contacts.js +5 -0
  58. package/dist/commands/crm/contacts.js.map +1 -0
  59. package/dist/commands/crm/custom-objects.d.ts +3 -0
  60. package/dist/commands/crm/custom-objects.js +83 -0
  61. package/dist/commands/crm/custom-objects.js.map +1 -0
  62. package/dist/commands/crm/dated.d.ts +9 -0
  63. package/dist/commands/crm/dated.js +247 -0
  64. package/dist/commands/crm/dated.js.map +1 -0
  65. package/dist/commands/crm/deals.d.ts +3 -0
  66. package/dist/commands/crm/deals.js +5 -0
  67. package/dist/commands/crm/deals.js.map +1 -0
  68. package/dist/commands/crm/describe.d.ts +3 -0
  69. package/dist/commands/crm/describe.js +89 -0
  70. package/dist/commands/crm/describe.js.map +1 -0
  71. package/dist/commands/crm/discounts.d.ts +3 -0
  72. package/dist/commands/crm/discounts.js +5 -0
  73. package/dist/commands/crm/discounts.js.map +1 -0
  74. package/dist/commands/crm/engagements.d.ts +3 -0
  75. package/dist/commands/crm/engagements.js +8 -0
  76. package/dist/commands/crm/engagements.js.map +1 -0
  77. package/dist/commands/crm/fees.d.ts +3 -0
  78. package/dist/commands/crm/fees.js +5 -0
  79. package/dist/commands/crm/fees.js.map +1 -0
  80. package/dist/commands/crm/goals.d.ts +3 -0
  81. package/dist/commands/crm/goals.js +30 -0
  82. package/dist/commands/crm/goals.js.map +1 -0
  83. package/dist/commands/crm/imports.d.ts +3 -0
  84. package/dist/commands/crm/imports.js +45 -0
  85. package/dist/commands/crm/imports.js.map +1 -0
  86. package/dist/commands/crm/index.d.ts +3 -0
  87. package/dist/commands/crm/index.js +64 -0
  88. package/dist/commands/crm/index.js.map +1 -0
  89. package/dist/commands/crm/invoices.d.ts +3 -0
  90. package/dist/commands/crm/invoices.js +5 -0
  91. package/dist/commands/crm/invoices.js.map +1 -0
  92. package/dist/commands/crm/leads.d.ts +3 -0
  93. package/dist/commands/crm/leads.js +5 -0
  94. package/dist/commands/crm/leads.js.map +1 -0
  95. package/dist/commands/crm/line-items.d.ts +3 -0
  96. package/dist/commands/crm/line-items.js +5 -0
  97. package/dist/commands/crm/line-items.js.map +1 -0
  98. package/dist/commands/crm/orders.d.ts +3 -0
  99. package/dist/commands/crm/orders.js +5 -0
  100. package/dist/commands/crm/orders.js.map +1 -0
  101. package/dist/commands/crm/owners.d.ts +3 -0
  102. package/dist/commands/crm/owners.js +22 -0
  103. package/dist/commands/crm/owners.js.map +1 -0
  104. package/dist/commands/crm/payments.d.ts +3 -0
  105. package/dist/commands/crm/payments.js +5 -0
  106. package/dist/commands/crm/payments.js.map +1 -0
  107. package/dist/commands/crm/pipelines.d.ts +3 -0
  108. package/dist/commands/crm/pipelines.js +70 -0
  109. package/dist/commands/crm/pipelines.js.map +1 -0
  110. package/dist/commands/crm/products.d.ts +3 -0
  111. package/dist/commands/crm/products.js +5 -0
  112. package/dist/commands/crm/products.js.map +1 -0
  113. package/dist/commands/crm/properties.d.ts +3 -0
  114. package/dist/commands/crm/properties.js +103 -0
  115. package/dist/commands/crm/properties.js.map +1 -0
  116. package/dist/commands/crm/quotes.d.ts +3 -0
  117. package/dist/commands/crm/quotes.js +5 -0
  118. package/dist/commands/crm/quotes.js.map +1 -0
  119. package/dist/commands/crm/shared.d.ts +17 -0
  120. package/dist/commands/crm/shared.js +256 -0
  121. package/dist/commands/crm/shared.js.map +1 -0
  122. package/dist/commands/crm/subscriptions.d.ts +3 -0
  123. package/dist/commands/crm/subscriptions.js +5 -0
  124. package/dist/commands/crm/subscriptions.js.map +1 -0
  125. package/dist/commands/crm/sync.d.ts +3 -0
  126. package/dist/commands/crm/sync.js +116 -0
  127. package/dist/commands/crm/sync.js.map +1 -0
  128. package/dist/commands/crm/taxes.d.ts +3 -0
  129. package/dist/commands/crm/taxes.js +5 -0
  130. package/dist/commands/crm/taxes.js.map +1 -0
  131. package/dist/commands/crm/tickets.d.ts +3 -0
  132. package/dist/commands/crm/tickets.js +5 -0
  133. package/dist/commands/crm/tickets.js.map +1 -0
  134. package/dist/commands/crm/users.d.ts +3 -0
  135. package/dist/commands/crm/users.js +5 -0
  136. package/dist/commands/crm/users.js.map +1 -0
  137. package/dist/commands/doctor/index.d.ts +3 -0
  138. package/dist/commands/doctor/index.js +232 -0
  139. package/dist/commands/doctor/index.js.map +1 -0
  140. package/dist/commands/domains/shared.d.ts +13 -0
  141. package/dist/commands/domains/shared.js +56 -0
  142. package/dist/commands/domains/shared.js.map +1 -0
  143. package/dist/commands/email-events/index.d.ts +3 -0
  144. package/dist/commands/email-events/index.js +77 -0
  145. package/dist/commands/email-events/index.js.map +1 -0
  146. package/dist/commands/events/index.d.ts +3 -0
  147. package/dist/commands/events/index.js +80 -0
  148. package/dist/commands/events/index.js.map +1 -0
  149. package/dist/commands/exports/index.d.ts +3 -0
  150. package/dist/commands/exports/index.js +45 -0
  151. package/dist/commands/exports/index.js.map +1 -0
  152. package/dist/commands/extensions/index.d.ts +3 -0
  153. package/dist/commands/extensions/index.js +118 -0
  154. package/dist/commands/extensions/index.js.map +1 -0
  155. package/dist/commands/feature-flags/index.d.ts +3 -0
  156. package/dist/commands/feature-flags/index.js +65 -0
  157. package/dist/commands/feature-flags/index.js.map +1 -0
  158. package/dist/commands/files/folders.d.ts +3 -0
  159. package/dist/commands/files/folders.js +74 -0
  160. package/dist/commands/files/folders.js.map +1 -0
  161. package/dist/commands/files/index.d.ts +3 -0
  162. package/dist/commands/files/index.js +30 -0
  163. package/dist/commands/files/index.js.map +1 -0
  164. package/dist/commands/forms/index.d.ts +3 -0
  165. package/dist/commands/forms/index.js +37 -0
  166. package/dist/commands/forms/index.js.map +1 -0
  167. package/dist/commands/integrations/index.d.ts +3 -0
  168. package/dist/commands/integrations/index.js +64 -0
  169. package/dist/commands/integrations/index.js.map +1 -0
  170. package/dist/commands/integrators/index.d.ts +3 -0
  171. package/dist/commands/integrators/index.js +79 -0
  172. package/dist/commands/integrators/index.js.map +1 -0
  173. package/dist/commands/legacy/index.d.ts +13 -0
  174. package/dist/commands/legacy/index.js +254 -0
  175. package/dist/commands/legacy/index.js.map +1 -0
  176. package/dist/commands/legacy-v1/index.d.ts +29 -0
  177. package/dist/commands/legacy-v1/index.js +568 -0
  178. package/dist/commands/legacy-v1/index.js.map +1 -0
  179. package/dist/commands/lists/index.d.ts +3 -0
  180. package/dist/commands/lists/index.js +148 -0
  181. package/dist/commands/lists/index.js.map +1 -0
  182. package/dist/commands/marketing/ads.d.ts +3 -0
  183. package/dist/commands/marketing/ads.js +45 -0
  184. package/dist/commands/marketing/ads.js.map +1 -0
  185. package/dist/commands/marketing/behavioral-events.d.ts +3 -0
  186. package/dist/commands/marketing/behavioral-events.js +38 -0
  187. package/dist/commands/marketing/behavioral-events.js.map +1 -0
  188. package/dist/commands/marketing/events.d.ts +3 -0
  189. package/dist/commands/marketing/events.js +69 -0
  190. package/dist/commands/marketing/events.js.map +1 -0
  191. package/dist/commands/marketing/index.d.ts +3 -0
  192. package/dist/commands/marketing/index.js +55 -0
  193. package/dist/commands/marketing/index.js.map +1 -0
  194. package/dist/commands/marketing/landing-pages.d.ts +3 -0
  195. package/dist/commands/marketing/landing-pages.js +48 -0
  196. package/dist/commands/marketing/landing-pages.js.map +1 -0
  197. package/dist/commands/marketing/seo.d.ts +3 -0
  198. package/dist/commands/marketing/seo.js +35 -0
  199. package/dist/commands/marketing/seo.js.map +1 -0
  200. package/dist/commands/marketing/social.d.ts +3 -0
  201. package/dist/commands/marketing/social.js +45 -0
  202. package/dist/commands/marketing/social.js.map +1 -0
  203. package/dist/commands/marketing/subscriptions.d.ts +3 -0
  204. package/dist/commands/marketing/subscriptions.js +27 -0
  205. package/dist/commands/marketing/subscriptions.js.map +1 -0
  206. package/dist/commands/marketing/transactional.d.ts +3 -0
  207. package/dist/commands/marketing/transactional.js +30 -0
  208. package/dist/commands/marketing/transactional.js.map +1 -0
  209. package/dist/commands/marketing-emails-v1/index.d.ts +3 -0
  210. package/dist/commands/marketing-emails-v1/index.js +72 -0
  211. package/dist/commands/marketing-emails-v1/index.js.map +1 -0
  212. package/dist/commands/mcp.d.ts +2 -0
  213. package/dist/commands/mcp.js +10 -0
  214. package/dist/commands/mcp.js.map +1 -0
  215. package/dist/commands/media-bridge/index.d.ts +3 -0
  216. package/dist/commands/media-bridge/index.js +209 -0
  217. package/dist/commands/media-bridge/index.js.map +1 -0
  218. package/dist/commands/reporting/index.d.ts +3 -0
  219. package/dist/commands/reporting/index.js +73 -0
  220. package/dist/commands/reporting/index.js.map +1 -0
  221. package/dist/commands/sales/calling.d.ts +3 -0
  222. package/dist/commands/sales/calling.js +32 -0
  223. package/dist/commands/sales/calling.js.map +1 -0
  224. package/dist/commands/sales/index.d.ts +3 -0
  225. package/dist/commands/sales/index.js +10 -0
  226. package/dist/commands/sales/index.js.map +1 -0
  227. package/dist/commands/sales/meetings.d.ts +3 -0
  228. package/dist/commands/sales/meetings.js +37 -0
  229. package/dist/commands/sales/meetings.js.map +1 -0
  230. package/dist/commands/sales/sequences.d.ts +3 -0
  231. package/dist/commands/sales/sequences.js +78 -0
  232. package/dist/commands/sales/sequences.js.map +1 -0
  233. package/dist/commands/seed/cms.d.ts +6 -0
  234. package/dist/commands/seed/cms.js +204 -0
  235. package/dist/commands/seed/cms.js.map +1 -0
  236. package/dist/commands/seed/commerce.d.ts +3 -0
  237. package/dist/commands/seed/commerce.js +117 -0
  238. package/dist/commands/seed/commerce.js.map +1 -0
  239. package/dist/commands/seed/context.d.ts +8 -0
  240. package/dist/commands/seed/context.js +76 -0
  241. package/dist/commands/seed/context.js.map +1 -0
  242. package/dist/commands/seed/crm-core.d.ts +3 -0
  243. package/dist/commands/seed/crm-core.js +137 -0
  244. package/dist/commands/seed/crm-core.js.map +1 -0
  245. package/dist/commands/seed/data.d.ts +73 -0
  246. package/dist/commands/seed/data.js +49 -0
  247. package/dist/commands/seed/data.js.map +1 -0
  248. package/dist/commands/seed/engagements.d.ts +3 -0
  249. package/dist/commands/seed/engagements.js +89 -0
  250. package/dist/commands/seed/engagements.js.map +1 -0
  251. package/dist/commands/seed/index.d.ts +3 -0
  252. package/dist/commands/seed/index.js +95 -0
  253. package/dist/commands/seed/index.js.map +1 -0
  254. package/dist/commands/seed/infra.d.ts +6 -0
  255. package/dist/commands/seed/infra.js +163 -0
  256. package/dist/commands/seed/infra.js.map +1 -0
  257. package/dist/commands/seed/marketing.d.ts +3 -0
  258. package/dist/commands/seed/marketing.js +172 -0
  259. package/dist/commands/seed/marketing.js.map +1 -0
  260. package/dist/commands/seed/shared.d.ts +8 -0
  261. package/dist/commands/seed/shared.js +37 -0
  262. package/dist/commands/seed/shared.js.map +1 -0
  263. package/dist/commands/seed/types.d.ts +44 -0
  264. package/dist/commands/seed/types.js +2 -0
  265. package/dist/commands/seed/types.js.map +1 -0
  266. package/dist/commands/service/chatflows.d.ts +3 -0
  267. package/dist/commands/service/chatflows.js +30 -0
  268. package/dist/commands/service/chatflows.js.map +1 -0
  269. package/dist/commands/service/index.d.ts +3 -0
  270. package/dist/commands/service/index.js +25 -0
  271. package/dist/commands/service/index.js.map +1 -0
  272. package/dist/commands/service/knowledge-base.d.ts +3 -0
  273. package/dist/commands/service/knowledge-base.js +19 -0
  274. package/dist/commands/service/knowledge-base.js.map +1 -0
  275. package/dist/commands/service/pipelines.d.ts +3 -0
  276. package/dist/commands/service/pipelines.js +36 -0
  277. package/dist/commands/service/pipelines.js.map +1 -0
  278. package/dist/commands/settings/index.d.ts +3 -0
  279. package/dist/commands/settings/index.js +149 -0
  280. package/dist/commands/settings/index.js.map +1 -0
  281. package/dist/commands/site-search/index.d.ts +3 -0
  282. package/dist/commands/site-search/index.js +36 -0
  283. package/dist/commands/site-search/index.js.map +1 -0
  284. package/dist/commands/timeline/index.d.ts +3 -0
  285. package/dist/commands/timeline/index.js +32 -0
  286. package/dist/commands/timeline/index.js.map +1 -0
  287. package/dist/commands/webhooks/index.d.ts +3 -0
  288. package/dist/commands/webhooks/index.js +41 -0
  289. package/dist/commands/webhooks/index.js.map +1 -0
  290. package/dist/commands/workflows/index.d.ts +3 -0
  291. package/dist/commands/workflows/index.js +13 -0
  292. package/dist/commands/workflows/index.js.map +1 -0
  293. package/dist/core/auth.d.ts +33 -0
  294. package/dist/core/auth.js +137 -0
  295. package/dist/core/auth.js.map +1 -0
  296. package/dist/core/capabilities.d.ts +60 -0
  297. package/dist/core/capabilities.js +559 -0
  298. package/dist/core/capabilities.js.map +1 -0
  299. package/dist/core/http.d.ts +47 -0
  300. package/dist/core/http.js +433 -0
  301. package/dist/core/http.js.map +1 -0
  302. package/dist/core/output.d.ts +23 -0
  303. package/dist/core/output.js +197 -0
  304. package/dist/core/output.js.map +1 -0
  305. package/dist/core/permissions.d.ts +9 -0
  306. package/dist/core/permissions.js +27 -0
  307. package/dist/core/permissions.js.map +1 -0
  308. package/dist/core/plugins.d.ts +42 -0
  309. package/dist/core/plugins.js +94 -0
  310. package/dist/core/plugins.js.map +1 -0
  311. package/dist/core/policy.d.ts +2 -0
  312. package/dist/core/policy.js +38 -0
  313. package/dist/core/policy.js.map +1 -0
  314. package/dist/core/schema-cache.d.ts +56 -0
  315. package/dist/core/schema-cache.js +338 -0
  316. package/dist/core/schema-cache.js.map +1 -0
  317. package/dist/core/schemas.d.ts +96 -0
  318. package/dist/core/schemas.js +104 -0
  319. package/dist/core/schemas.js.map +1 -0
  320. package/dist/core/urls.d.ts +50 -0
  321. package/dist/core/urls.js +122 -0
  322. package/dist/core/urls.js.map +1 -0
  323. package/dist/core/vault.d.ts +37 -0
  324. package/dist/core/vault.js +143 -0
  325. package/dist/core/vault.js.map +1 -0
  326. package/dist/mcp/server.d.ts +5 -0
  327. package/dist/mcp/server.js +680 -0
  328. package/dist/mcp/server.js.map +1 -0
  329. package/package.json +84 -0
@@ -0,0 +1,568 @@
1
+ import { createClient } from "../../core/http.js";
2
+ import { printResult } from "../../core/output.js";
3
+ import { appendOptional, encodePathSegment, maybeWrite, parseJsonPayload, parseNumberFlag } from "../crm/shared.js";
4
+ /**
5
+ * Legacy HubSpot v1/v2 API surface.
6
+ *
7
+ * HubSpot keeps many older endpoints alive alongside the v3/v4 APIs because portals
8
+ * with long-running integrations (Zapier recipes, custom middleware, old apps) still
9
+ * hit them. Each legacy module is registered as its own top-level command so users
10
+ * who need these paths don't have to fall back to `hubcli api request`.
11
+ *
12
+ * All covered paths come from the HubSpot dev-doc scrape at
13
+ * ~/Desktop/vault/HubSpot Audit/api-mapping/endpoints.json
14
+ * and are kept intentionally lean (list/get/create/update/delete + the most common
15
+ * extras); app-developer surfaces that target <10 endpoints are flattened onto a
16
+ * single command group for simplicity.
17
+ */
18
+ // ── CRM Contacts v1 (legacy) ──────────────────────────────────────────────
19
+ export function registerContactsV1(program, getCtx) {
20
+ const c = program.command("contacts-v1").description("Legacy /contacts/v1 API (lifecycle stage, form submissions, lists, search)");
21
+ c.command("list").option("--count <n>", "Records per page", "20").option("--offset <n>", "Paging offset").option("--property <csv>", "Comma-separated properties").action(async (o) => {
22
+ const ctx = getCtx();
23
+ const client = createClient(ctx.profile);
24
+ const params = new URLSearchParams();
25
+ params.set("count", String(parseNumberFlag(o.count, "--count")));
26
+ appendOptional(params, "vidOffset", o.offset);
27
+ if (o.property)
28
+ for (const p of String(o.property).split(","))
29
+ params.append("property", p.trim());
30
+ const res = await client.request(`/contacts/v1/lists/all/contacts/all?${params.toString()}`);
31
+ printResult(ctx, res);
32
+ });
33
+ c.command("get-by-id").argument("<contactId>").action(async (contactId) => {
34
+ const ctx = getCtx();
35
+ const client = createClient(ctx.profile);
36
+ const seg = encodePathSegment(contactId, "contactId");
37
+ const res = await client.request(`/contacts/v1/contact/vid/${seg}/profile`);
38
+ printResult(ctx, res);
39
+ });
40
+ c.command("get-by-email").argument("<email>").action(async (email) => {
41
+ const ctx = getCtx();
42
+ const client = createClient(ctx.profile);
43
+ const seg = encodePathSegment(email, "email");
44
+ const res = await client.request(`/contacts/v1/contact/email/${seg}/profile`);
45
+ printResult(ctx, res);
46
+ });
47
+ c.command("get-by-utk").argument("<utk>", "Hubspot user token").action(async (utk) => {
48
+ const ctx = getCtx();
49
+ const client = createClient(ctx.profile);
50
+ const seg = encodePathSegment(utk, "utk");
51
+ const res = await client.request(`/contacts/v1/contact/utk/${seg}/profile`);
52
+ printResult(ctx, res);
53
+ });
54
+ c.command("create-or-update").argument("<email>").requiredOption("--data <payload>", "Contact payload JSON").action(async (email, o) => {
55
+ const ctx = getCtx();
56
+ const client = createClient(ctx.profile);
57
+ const seg = encodePathSegment(email, "email");
58
+ const res = await maybeWrite(ctx, client, "POST", `/contacts/v1/contact/createOrUpdate/email/${seg}`, parseJsonPayload(o.data));
59
+ printResult(ctx, res);
60
+ });
61
+ c.command("update-by-id").argument("<contactId>").requiredOption("--data <payload>", "Contact patch JSON").action(async (contactId, o) => {
62
+ const ctx = getCtx();
63
+ const client = createClient(ctx.profile);
64
+ const seg = encodePathSegment(contactId, "contactId");
65
+ const res = await maybeWrite(ctx, client, "POST", `/contacts/v1/contact/vid/${seg}/profile`, parseJsonPayload(o.data));
66
+ printResult(ctx, res);
67
+ });
68
+ c.command("delete").argument("<contactId>").action(async (contactId) => {
69
+ const ctx = getCtx();
70
+ const client = createClient(ctx.profile);
71
+ const seg = encodePathSegment(contactId, "contactId");
72
+ const res = await maybeWrite(ctx, client, "DELETE", `/contacts/v1/contact/vid/${seg}`);
73
+ printResult(ctx, res);
74
+ });
75
+ c.command("recent").action(async () => {
76
+ const ctx = getCtx();
77
+ const client = createClient(ctx.profile);
78
+ const res = await client.request(`/contacts/v1/lists/recently_updated/contacts/recent`);
79
+ printResult(ctx, res);
80
+ });
81
+ c.command("search").requiredOption("--q <text>", "Search term").action(async (o) => {
82
+ const ctx = getCtx();
83
+ const client = createClient(ctx.profile);
84
+ const params = new URLSearchParams();
85
+ params.set("q", String(o.q));
86
+ const res = await client.request(`/contacts/search/query?${params.toString()}`);
87
+ printResult(ctx, res);
88
+ });
89
+ c.command("lists").action(async () => {
90
+ const ctx = getCtx();
91
+ const client = createClient(ctx.profile);
92
+ const res = await client.request(`/contacts/v1/lists`);
93
+ printResult(ctx, res);
94
+ });
95
+ c.command("list-contacts").argument("<listId>").action(async (listId) => {
96
+ const ctx = getCtx();
97
+ const client = createClient(ctx.profile);
98
+ const seg = encodePathSegment(listId, "listId");
99
+ const res = await client.request(`/contacts/v1/lists/${seg}/contacts/all`);
100
+ printResult(ctx, res);
101
+ });
102
+ }
103
+ // ── Companies v2 (legacy) ─────────────────────────────────────────────────
104
+ export function registerCompaniesV2(program, getCtx) {
105
+ const c = program.command("companies-v2").description("Legacy /companies/v2 API");
106
+ c.command("list").option("--limit <n>", "Records per page", "50").option("--offset <n>", "Paging offset").action(async (o) => {
107
+ const ctx = getCtx();
108
+ const client = createClient(ctx.profile);
109
+ const params = new URLSearchParams();
110
+ params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
111
+ appendOptional(params, "offset", o.offset);
112
+ const res = await client.request(`/companies/v2/companies/paged?${params.toString()}`);
113
+ printResult(ctx, res);
114
+ });
115
+ c.command("get").argument("<companyId>").action(async (companyId) => {
116
+ const ctx = getCtx();
117
+ const client = createClient(ctx.profile);
118
+ const seg = encodePathSegment(companyId, "companyId");
119
+ const res = await client.request(`/companies/v2/companies/${seg}`);
120
+ printResult(ctx, res);
121
+ });
122
+ c.command("create").requiredOption("--data <payload>", "Company payload JSON").action(async (o) => {
123
+ const ctx = getCtx();
124
+ const client = createClient(ctx.profile);
125
+ const res = await maybeWrite(ctx, client, "POST", `/companies/v2/companies`, parseJsonPayload(o.data));
126
+ printResult(ctx, res);
127
+ });
128
+ c.command("update").argument("<companyId>").requiredOption("--data <payload>", "Company patch JSON").action(async (companyId, o) => {
129
+ const ctx = getCtx();
130
+ const client = createClient(ctx.profile);
131
+ const seg = encodePathSegment(companyId, "companyId");
132
+ const res = await maybeWrite(ctx, client, "PUT", `/companies/v2/companies/${seg}`, parseJsonPayload(o.data));
133
+ printResult(ctx, res);
134
+ });
135
+ c.command("delete").argument("<companyId>").action(async (companyId) => {
136
+ const ctx = getCtx();
137
+ const client = createClient(ctx.profile);
138
+ const seg = encodePathSegment(companyId, "companyId");
139
+ const res = await maybeWrite(ctx, client, "DELETE", `/companies/v2/companies/${seg}`);
140
+ printResult(ctx, res);
141
+ });
142
+ c.command("recent").action(async () => {
143
+ const ctx = getCtx();
144
+ const client = createClient(ctx.profile);
145
+ const res = await client.request(`/companies/v2/companies/recent/modified`);
146
+ printResult(ctx, res);
147
+ });
148
+ c.command("get-contacts").argument("<companyId>").action(async (companyId) => {
149
+ const ctx = getCtx();
150
+ const client = createClient(ctx.profile);
151
+ const seg = encodePathSegment(companyId, "companyId");
152
+ const res = await client.request(`/companies/v2/companies/${seg}/contacts`);
153
+ printResult(ctx, res);
154
+ });
155
+ }
156
+ // ── Deals v1 (legacy) ─────────────────────────────────────────────────────
157
+ export function registerDealsV1(program, getCtx) {
158
+ const d = program.command("deals-v1").description("Legacy /deals/v1 API");
159
+ d.command("list").option("--limit <n>", "Records per page", "50").option("--offset <n>", "Paging offset").action(async (o) => {
160
+ const ctx = getCtx();
161
+ const client = createClient(ctx.profile);
162
+ const params = new URLSearchParams();
163
+ params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
164
+ appendOptional(params, "offset", o.offset);
165
+ const res = await client.request(`/deals/v1/deal/paged?${params.toString()}`);
166
+ printResult(ctx, res);
167
+ });
168
+ d.command("get").argument("<dealId>").action(async (dealId) => {
169
+ const ctx = getCtx();
170
+ const client = createClient(ctx.profile);
171
+ const seg = encodePathSegment(dealId, "dealId");
172
+ const res = await client.request(`/deals/v1/deal/${seg}`);
173
+ printResult(ctx, res);
174
+ });
175
+ d.command("create").requiredOption("--data <payload>", "Deal payload JSON").action(async (o) => {
176
+ const ctx = getCtx();
177
+ const client = createClient(ctx.profile);
178
+ const res = await maybeWrite(ctx, client, "POST", `/deals/v1/deal`, parseJsonPayload(o.data));
179
+ printResult(ctx, res);
180
+ });
181
+ d.command("update").argument("<dealId>").requiredOption("--data <payload>", "Deal patch JSON").action(async (dealId, o) => {
182
+ const ctx = getCtx();
183
+ const client = createClient(ctx.profile);
184
+ const seg = encodePathSegment(dealId, "dealId");
185
+ const res = await maybeWrite(ctx, client, "PUT", `/deals/v1/deal/${seg}`, parseJsonPayload(o.data));
186
+ printResult(ctx, res);
187
+ });
188
+ d.command("delete").argument("<dealId>").action(async (dealId) => {
189
+ const ctx = getCtx();
190
+ const client = createClient(ctx.profile);
191
+ const seg = encodePathSegment(dealId, "dealId");
192
+ const res = await maybeWrite(ctx, client, "DELETE", `/deals/v1/deal/${seg}`);
193
+ printResult(ctx, res);
194
+ });
195
+ d.command("recent").action(async () => {
196
+ const ctx = getCtx();
197
+ const client = createClient(ctx.profile);
198
+ const res = await client.request(`/deals/v1/deal/recent/modified`);
199
+ printResult(ctx, res);
200
+ });
201
+ d.command("associate").argument("<dealId>").argument("<objectType>").argument("<objectId>").action(async (dealId, objectType, objectId) => {
202
+ const ctx = getCtx();
203
+ const client = createClient(ctx.profile);
204
+ const dealSeg = encodePathSegment(dealId, "dealId");
205
+ const typeSeg = encodePathSegment(objectType, "objectType");
206
+ const idSeg = encodePathSegment(objectId, "objectId");
207
+ const res = await maybeWrite(ctx, client, "PUT", `/deals/v1/deal/${dealSeg}/associations/${typeSeg}/${idSeg}`);
208
+ printResult(ctx, res);
209
+ });
210
+ }
211
+ // ── Owners v2 (legacy) ────────────────────────────────────────────────────
212
+ export function registerOwnersV2(program, getCtx) {
213
+ const o = program.command("owners-v2").description("Legacy /owners/v2 API");
214
+ o.command("list").option("--email <email>", "Filter by email").option("--include-inactive", "Include deactivated owners").action(async (opt) => {
215
+ const ctx = getCtx();
216
+ const client = createClient(ctx.profile);
217
+ const params = new URLSearchParams();
218
+ appendOptional(params, "email", opt.email);
219
+ if (opt.includeInactive)
220
+ params.set("includeInactive", "true");
221
+ const res = await client.request(`/owners/v2/owners?${params.toString()}`);
222
+ printResult(ctx, res);
223
+ });
224
+ o.command("get").argument("<ownerId>").action(async (ownerId) => {
225
+ const ctx = getCtx();
226
+ const client = createClient(ctx.profile);
227
+ const seg = encodePathSegment(ownerId, "ownerId");
228
+ const res = await client.request(`/owners/v2/owners/${seg}`);
229
+ printResult(ctx, res);
230
+ });
231
+ }
232
+ // ── Engagements v1 (legacy) ───────────────────────────────────────────────
233
+ export function registerEngagementsV1(program, getCtx) {
234
+ const e = program.command("engagements-v1").description("Legacy /engagements/v1 API");
235
+ e.command("list").option("--limit <n>", "Records per page", "100").option("--offset <n>", "Paging offset").action(async (o) => {
236
+ const ctx = getCtx();
237
+ const client = createClient(ctx.profile);
238
+ const params = new URLSearchParams();
239
+ params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
240
+ appendOptional(params, "offset", o.offset);
241
+ const res = await client.request(`/engagements/v1/engagements/paged?${params.toString()}`);
242
+ printResult(ctx, res);
243
+ });
244
+ e.command("get").argument("<engagementId>").action(async (engagementId) => {
245
+ const ctx = getCtx();
246
+ const client = createClient(ctx.profile);
247
+ const seg = encodePathSegment(engagementId, "engagementId");
248
+ const res = await client.request(`/engagements/v1/engagements/${seg}`);
249
+ printResult(ctx, res);
250
+ });
251
+ e.command("create").requiredOption("--data <payload>", "Engagement payload JSON").action(async (o) => {
252
+ const ctx = getCtx();
253
+ const client = createClient(ctx.profile);
254
+ const res = await maybeWrite(ctx, client, "POST", `/engagements/v1/engagements`, parseJsonPayload(o.data));
255
+ printResult(ctx, res);
256
+ });
257
+ e.command("update").argument("<engagementId>").requiredOption("--data <payload>", "Engagement patch JSON").action(async (engagementId, o) => {
258
+ const ctx = getCtx();
259
+ const client = createClient(ctx.profile);
260
+ const seg = encodePathSegment(engagementId, "engagementId");
261
+ const res = await maybeWrite(ctx, client, "PATCH", `/engagements/v1/engagements/${seg}`, parseJsonPayload(o.data));
262
+ printResult(ctx, res);
263
+ });
264
+ e.command("delete").argument("<engagementId>").action(async (engagementId) => {
265
+ const ctx = getCtx();
266
+ const client = createClient(ctx.profile);
267
+ const seg = encodePathSegment(engagementId, "engagementId");
268
+ const res = await maybeWrite(ctx, client, "DELETE", `/engagements/v1/engagements/${seg}`);
269
+ printResult(ctx, res);
270
+ });
271
+ e.command("associated").argument("<objectType>").argument("<objectId>").action(async (objectType, objectId) => {
272
+ const ctx = getCtx();
273
+ const client = createClient(ctx.profile);
274
+ const typeSeg = encodePathSegment(objectType, "objectType");
275
+ const idSeg = encodePathSegment(objectId, "objectId");
276
+ const res = await client.request(`/engagements/v1/engagements/associated/${typeSeg}/${idSeg}/paged`);
277
+ printResult(ctx, res);
278
+ });
279
+ }
280
+ // ── Properties v1 + v2 (legacy) ───────────────────────────────────────────
281
+ export function registerPropertiesLegacy(program, getCtx) {
282
+ const p = program.command("properties-legacy").description("Legacy /properties/v1 + /properties/v2 APIs (pre-CRM-v3 property definitions)");
283
+ // /properties/v1/{objectType}/properties/named/{name}
284
+ const v1 = p.command("v1").description("/properties/v1");
285
+ v1.command("list").argument("<objectType>").action(async (objectType) => {
286
+ const ctx = getCtx();
287
+ const client = createClient(ctx.profile);
288
+ const seg = encodePathSegment(objectType, "objectType");
289
+ const res = await client.request(`/properties/v1/${seg}/properties`);
290
+ printResult(ctx, res);
291
+ });
292
+ v1.command("get").argument("<objectType>").argument("<name>").action(async (objectType, name) => {
293
+ const ctx = getCtx();
294
+ const client = createClient(ctx.profile);
295
+ const typeSeg = encodePathSegment(objectType, "objectType");
296
+ const nameSeg = encodePathSegment(name, "name");
297
+ const res = await client.request(`/properties/v1/${typeSeg}/properties/named/${nameSeg}`);
298
+ printResult(ctx, res);
299
+ });
300
+ v1.command("create").argument("<objectType>").requiredOption("--data <payload>", "Property definition JSON").action(async (objectType, o) => {
301
+ const ctx = getCtx();
302
+ const client = createClient(ctx.profile);
303
+ const seg = encodePathSegment(objectType, "objectType");
304
+ const res = await maybeWrite(ctx, client, "POST", `/properties/v1/${seg}/properties`, parseJsonPayload(o.data));
305
+ printResult(ctx, res);
306
+ });
307
+ v1.command("update").argument("<objectType>").argument("<name>").requiredOption("--data <payload>", "Property patch JSON").action(async (objectType, name, o) => {
308
+ const ctx = getCtx();
309
+ const client = createClient(ctx.profile);
310
+ const typeSeg = encodePathSegment(objectType, "objectType");
311
+ const nameSeg = encodePathSegment(name, "name");
312
+ const res = await maybeWrite(ctx, client, "PUT", `/properties/v1/${typeSeg}/properties/named/${nameSeg}`, parseJsonPayload(o.data));
313
+ printResult(ctx, res);
314
+ });
315
+ v1.command("delete").argument("<objectType>").argument("<name>").action(async (objectType, name) => {
316
+ const ctx = getCtx();
317
+ const client = createClient(ctx.profile);
318
+ const typeSeg = encodePathSegment(objectType, "objectType");
319
+ const nameSeg = encodePathSegment(name, "name");
320
+ const res = await maybeWrite(ctx, client, "DELETE", `/properties/v1/${typeSeg}/properties/named/${nameSeg}`);
321
+ printResult(ctx, res);
322
+ });
323
+ v1.command("groups-list").argument("<objectType>").action(async (objectType) => {
324
+ const ctx = getCtx();
325
+ const client = createClient(ctx.profile);
326
+ const seg = encodePathSegment(objectType, "objectType");
327
+ const res = await client.request(`/properties/v1/${seg}/groups`);
328
+ printResult(ctx, res);
329
+ });
330
+ v1.command("groups-create").argument("<objectType>").requiredOption("--data <payload>", "Group payload JSON").action(async (objectType, o) => {
331
+ const ctx = getCtx();
332
+ const client = createClient(ctx.profile);
333
+ const seg = encodePathSegment(objectType, "objectType");
334
+ const res = await maybeWrite(ctx, client, "POST", `/properties/v1/${seg}/groups`, parseJsonPayload(o.data));
335
+ printResult(ctx, res);
336
+ });
337
+ v1.command("groups-update").argument("<objectType>").argument("<groupName>").requiredOption("--data <payload>", "Group patch JSON").action(async (objectType, groupName, o) => {
338
+ const ctx = getCtx();
339
+ const client = createClient(ctx.profile);
340
+ const typeSeg = encodePathSegment(objectType, "objectType");
341
+ const groupSeg = encodePathSegment(groupName, "groupName");
342
+ const res = await maybeWrite(ctx, client, "PUT", `/properties/v1/${typeSeg}/groups/named/${groupSeg}`, parseJsonPayload(o.data));
343
+ printResult(ctx, res);
344
+ });
345
+ v1.command("groups-delete").argument("<objectType>").argument("<groupName>").action(async (objectType, groupName) => {
346
+ const ctx = getCtx();
347
+ const client = createClient(ctx.profile);
348
+ const typeSeg = encodePathSegment(objectType, "objectType");
349
+ const groupSeg = encodePathSegment(groupName, "groupName");
350
+ const res = await maybeWrite(ctx, client, "DELETE", `/properties/v1/${typeSeg}/groups/named/${groupSeg}`);
351
+ printResult(ctx, res);
352
+ });
353
+ const v2 = p.command("v2").description("/properties/v2 (same shape as v1 plus company/contact shortcuts)");
354
+ v2.command("list").argument("<objectType>").action(async (objectType) => {
355
+ const ctx = getCtx();
356
+ const client = createClient(ctx.profile);
357
+ const seg = encodePathSegment(objectType, "objectType");
358
+ const res = await client.request(`/properties/v2/${seg}/properties`);
359
+ printResult(ctx, res);
360
+ });
361
+ v2.command("get").argument("<objectType>").argument("<name>").action(async (objectType, name) => {
362
+ const ctx = getCtx();
363
+ const client = createClient(ctx.profile);
364
+ const typeSeg = encodePathSegment(objectType, "objectType");
365
+ const nameSeg = encodePathSegment(name, "name");
366
+ const res = await client.request(`/properties/v2/${typeSeg}/properties/named/${nameSeg}`);
367
+ printResult(ctx, res);
368
+ });
369
+ v2.command("create").argument("<objectType>").requiredOption("--data <payload>", "Property definition JSON").action(async (objectType, o) => {
370
+ const ctx = getCtx();
371
+ const client = createClient(ctx.profile);
372
+ const seg = encodePathSegment(objectType, "objectType");
373
+ const res = await maybeWrite(ctx, client, "POST", `/properties/v2/${seg}/properties`, parseJsonPayload(o.data));
374
+ printResult(ctx, res);
375
+ });
376
+ v2.command("update").argument("<objectType>").argument("<name>").requiredOption("--data <payload>", "Property patch JSON").action(async (objectType, name, o) => {
377
+ const ctx = getCtx();
378
+ const client = createClient(ctx.profile);
379
+ const typeSeg = encodePathSegment(objectType, "objectType");
380
+ const nameSeg = encodePathSegment(name, "name");
381
+ const res = await maybeWrite(ctx, client, "PUT", `/properties/v2/${typeSeg}/properties/named/${nameSeg}`, parseJsonPayload(o.data));
382
+ printResult(ctx, res);
383
+ });
384
+ v2.command("delete").argument("<objectType>").argument("<name>").action(async (objectType, name) => {
385
+ const ctx = getCtx();
386
+ const client = createClient(ctx.profile);
387
+ const typeSeg = encodePathSegment(objectType, "objectType");
388
+ const nameSeg = encodePathSegment(name, "name");
389
+ const res = await maybeWrite(ctx, client, "DELETE", `/properties/v2/${typeSeg}/properties/named/${nameSeg}`);
390
+ printResult(ctx, res);
391
+ });
392
+ }
393
+ // ── Reports v2 (legacy) ───────────────────────────────────────────────────
394
+ export function registerReportsV2(program, getCtx) {
395
+ const r = program.command("reports-v2").description("Legacy /reports/v2 API");
396
+ r.command("list").action(async () => {
397
+ const ctx = getCtx();
398
+ const client = createClient(ctx.profile);
399
+ const res = await client.request(`/reports/v2/reports`);
400
+ printResult(ctx, res);
401
+ });
402
+ r.command("get").argument("<reportId>").action(async (reportId) => {
403
+ const ctx = getCtx();
404
+ const client = createClient(ctx.profile);
405
+ const seg = encodePathSegment(reportId, "reportId");
406
+ const res = await client.request(`/reports/v2/reports/${seg}`);
407
+ printResult(ctx, res);
408
+ });
409
+ r.command("data").argument("<reportId>").action(async (reportId) => {
410
+ const ctx = getCtx();
411
+ const client = createClient(ctx.profile);
412
+ const seg = encodePathSegment(reportId, "reportId");
413
+ const res = await client.request(`/reports/v2/reports/${seg}/data`);
414
+ printResult(ctx, res);
415
+ });
416
+ }
417
+ // ── Payments Subscriptions (commerce subscriptions beyond /crm/v3/objects) ─
418
+ export function registerPaymentsSubscriptions(program, getCtx) {
419
+ const ps = program.command("payments-subscriptions").description("Payments subscriptions top-level commerce endpoints");
420
+ ps.command("get").argument("<subscriptionId>").action(async (subscriptionId) => {
421
+ const ctx = getCtx();
422
+ const client = createClient(ctx.profile);
423
+ const seg = encodePathSegment(subscriptionId, "subscriptionId");
424
+ const res = await client.request(`/payments/subscriptions/v1/subscriptions/${seg}`);
425
+ printResult(ctx, res);
426
+ });
427
+ ps.command("cancel").argument("<subscriptionId>").action(async (subscriptionId) => {
428
+ const ctx = getCtx();
429
+ const client = createClient(ctx.profile);
430
+ const seg = encodePathSegment(subscriptionId, "subscriptionId");
431
+ const res = await maybeWrite(ctx, client, "POST", `/payments/subscriptions/v1/subscriptions/${seg}/cancel`);
432
+ printResult(ctx, res);
433
+ });
434
+ ps.command("pause").argument("<subscriptionId>").requiredOption("--data <payload>", "Pause payload JSON").action(async (subscriptionId, o) => {
435
+ const ctx = getCtx();
436
+ const client = createClient(ctx.profile);
437
+ const seg = encodePathSegment(subscriptionId, "subscriptionId");
438
+ const res = await maybeWrite(ctx, client, "POST", `/payments/subscriptions/v1/subscriptions/${seg}/pause`, parseJsonPayload(o.data));
439
+ printResult(ctx, res);
440
+ });
441
+ }
442
+ // ── CMS Content v2 legacy (Pages, Blogs v3, Templates, Layouts, Modules, UrlMappings, DomainBy) ──
443
+ export function registerContentV2(program, getCtx) {
444
+ const c = program.command("content-v2").description("Legacy /content/api/v2 CMS endpoints (Pages, Blogs v3, Templates, Layouts, Modules, UrlMappings, Domains)");
445
+ for (const [name, path] of [
446
+ ["pages", "/content/api/v2/pages"],
447
+ ["page-versions", "/content/api/v2/pages/{p}/versions"],
448
+ ["page-buffer", "/content/api/v2/pages/{p}/buffer"],
449
+ ["blogs-v3", "/content/api/v2/blogs"],
450
+ ["blog-by-id", "/content/api/v2/blogs/{p}"],
451
+ ["blog-versions", "/content/api/v2/blogs/{p}/versions"],
452
+ ["blog-topics", "/content/api/v2/topics"],
453
+ ["blog-topic-by-id", "/content/api/v2/topics/{p}"],
454
+ ["templates", "/content/api/v2/templates"],
455
+ ["template-by-id", "/content/api/v2/templates/{p}"],
456
+ ["template-buffer", "/content/api/v2/templates/{p}/buffer"],
457
+ ["template-versions", "/content/api/v2/templates/{p}/versions"],
458
+ ["layouts", "/content/api/v2/layouts"],
459
+ ["layout-by-id", "/content/api/v2/layouts/{p}"],
460
+ ["layout-buffer", "/content/api/v2/layouts/{p}/buffer"],
461
+ ["layout-buffered-changes", "/content/api/v2/layouts/{p}/buffered_changes"],
462
+ ["layout-versions", "/content/api/v2/layouts/{p}/versions"],
463
+ ["modules", "/content/api/v2/custom_modules"],
464
+ ["module-by-id", "/content/api/v2/custom_modules/{p}"],
465
+ ["module-by-path", "/content/api/v2/custom_modules/by_path/{p}"],
466
+ ["url-mappings", "/content/api/v2/url-mappings"],
467
+ ["domains", "/content/api/v2/domains"],
468
+ ["domain-by-id", "/content/api/v2/domains/{p}"],
469
+ ["indexed-properties", "/content/api/v2/indexed-properties"],
470
+ ]) {
471
+ const cmd = c.command(name).description(`Legacy ${path}`);
472
+ if (path.includes("{p}")) {
473
+ cmd.argument("<id>").option("--method <m>", "HTTP method", "GET").option("--data <payload>", "Optional JSON body").action(async (id, o) => {
474
+ const ctx = getCtx();
475
+ const client = createClient(ctx.profile);
476
+ const resolved = path.replace("{p}", encodePathSegment(id, "id"));
477
+ const method = String(o.method).toUpperCase();
478
+ const body = o.data ? parseJsonPayload(o.data) : undefined;
479
+ const res = method === "GET" ? await client.request(resolved) : await maybeWrite(ctx, client, method, resolved, body);
480
+ printResult(ctx, res);
481
+ });
482
+ }
483
+ else {
484
+ cmd.option("--method <m>", "HTTP method", "GET").option("--data <payload>", "Optional JSON body").action(async (o) => {
485
+ const ctx = getCtx();
486
+ const client = createClient(ctx.profile);
487
+ const method = String(o.method).toUpperCase();
488
+ const body = o.data ? parseJsonPayload(o.data) : undefined;
489
+ const res = method === "GET" ? await client.request(path) : await maybeWrite(ctx, client, method, path, body);
490
+ printResult(ctx, res);
491
+ });
492
+ }
493
+ }
494
+ }
495
+ // ── Sales Extensions (/crm/v3/extensions/sales + /extensions/sales) ───────
496
+ export function registerSalesExtensions(program, getCtx) {
497
+ const se = program.command("sales-extensions").description("Sales extensions API for app-dev integrations");
498
+ se.command("videoconferencing-settings").argument("<appId>").option("--method <m>", "GET|PUT|DELETE", "GET").option("--data <payload>", "Optional JSON body").action(async (appId, o) => {
499
+ const ctx = getCtx();
500
+ const client = createClient(ctx.profile);
501
+ const seg = encodePathSegment(appId, "appId");
502
+ const path = `/extensions/sales/videoconferencing/${seg}/settings`;
503
+ const method = String(o.method).toUpperCase();
504
+ const body = o.data ? parseJsonPayload(o.data) : undefined;
505
+ const res = method === "GET" ? await client.request(path) : await maybeWrite(ctx, client, method, path, body);
506
+ printResult(ctx, res);
507
+ });
508
+ se.command("accounting-settings").argument("<appId>").option("--method <m>", "GET|PUT|DELETE", "GET").option("--data <payload>", "Optional JSON body").action(async (appId, o) => {
509
+ const ctx = getCtx();
510
+ const client = createClient(ctx.profile);
511
+ const seg = encodePathSegment(appId, "appId");
512
+ const path = `/extensions/sales/accounting/${seg}/settings`;
513
+ const method = String(o.method).toUpperCase();
514
+ const body = o.data ? parseJsonPayload(o.data) : undefined;
515
+ const res = method === "GET" ? await client.request(path) : await maybeWrite(ctx, client, method, path, body);
516
+ printResult(ctx, res);
517
+ });
518
+ }
519
+ // ── Comments (CMS comments on blog posts) ─────────────────────────────────
520
+ export function registerComments(program, getCtx) {
521
+ const c = program.command("comments").description("CMS blog post comments");
522
+ c.command("list").option("--limit <n>", "Max records", "50").option("--after <cursor>", "Paging cursor").option("--content-id <id>", "Filter by content id").action(async (o) => {
523
+ const ctx = getCtx();
524
+ const client = createClient(ctx.profile);
525
+ const params = new URLSearchParams();
526
+ params.set("limit", String(parseNumberFlag(o.limit, "--limit")));
527
+ appendOptional(params, "after", o.after);
528
+ appendOptional(params, "contentId", o.contentId);
529
+ const res = await client.request(`/comments/v3/comments?${params.toString()}`);
530
+ printResult(ctx, res);
531
+ });
532
+ c.command("get").argument("<commentId>").action(async (commentId) => {
533
+ const ctx = getCtx();
534
+ const client = createClient(ctx.profile);
535
+ const seg = encodePathSegment(commentId, "commentId");
536
+ const res = await client.request(`/comments/v3/comments/${seg}`);
537
+ printResult(ctx, res);
538
+ });
539
+ c.command("update-state").argument("<commentId>").requiredOption("--data <payload>", "Moderation state payload JSON").action(async (commentId, o) => {
540
+ const ctx = getCtx();
541
+ const client = createClient(ctx.profile);
542
+ const seg = encodePathSegment(commentId, "commentId");
543
+ const res = await maybeWrite(ctx, client, "PATCH", `/comments/v3/comments/${seg}`, parseJsonPayload(o.data));
544
+ printResult(ctx, res);
545
+ });
546
+ }
547
+ // ── Calling v1 legacy ─────────────────────────────────────────────────────
548
+ export function registerCallingV1(program, getCtx) {
549
+ const c = program.command("calling-v1").description("Legacy /calling/v1 API");
550
+ c.command("status").argument("<callId>").action(async (callId) => {
551
+ const ctx = getCtx();
552
+ const client = createClient(ctx.profile);
553
+ const seg = encodePathSegment(callId, "callId");
554
+ const res = await client.request(`/calling/v1/dispositions/${seg}`);
555
+ printResult(ctx, res);
556
+ });
557
+ }
558
+ // ── Channels (root-level channel inventory) ───────────────────────────────
559
+ export function registerChannels(program, getCtx) {
560
+ const c = program.command("channels").description("Root channel inventory (cross-cutting helper)");
561
+ c.command("list").action(async () => {
562
+ const ctx = getCtx();
563
+ const client = createClient(ctx.profile);
564
+ const res = await client.request(`/channels/v1/channels`);
565
+ printResult(ctx, res);
566
+ });
567
+ }
568
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/legacy-v1/index.ts"],"names":[],"mappings":"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"}