@audienti/cli 0.1.74 → 0.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/package.json +1 -1
- package/src/api-client.js +203 -0
- package/src/cli.js +1284 -78
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@ All notable changes to the Audienti CLI are documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.1.76] - 2026-09-27
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Add `lists bulk-add-tag|merge|export`, `lists routing-rules <list> toggle`, `icps bulk-add-tag|clone|delete|prospects`, `offers regenerate-research|update-writeup|add-artifacts|remove-artifact`, `tasks update|bulk-update`, and `tools linkedin-strategy-review delete` so list, ICP, offer, task, and strategy review catalog actions are reachable from the CLI. `offers show` now lists attached artifacts.
|
|
12
|
+
|
|
13
|
+
## [0.1.75] - 2026-09-27
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Add `hubspot show|connect|disconnect|sync|retry` (`connect --token-stdin` keeps the token out of shell history), `hubspot list-syncs create|update|remove|sync`, `webhooks list|create|update|rotate|remove`, `reply-alerts show|update`, and `brand-profile show|update` so HubSpot, prospect webhook, reply alert, and brand profile settings are reachable from the CLI.
|
|
18
|
+
|
|
7
19
|
## [0.1.74] - 2026-09-27
|
|
8
20
|
|
|
9
21
|
### Added
|
package/package.json
CHANGED
package/src/api-client.js
CHANGED
|
@@ -113,6 +113,33 @@ export class AudientiClient {
|
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
regenerateOfferResearch(accountId, offerId, body = {}) {
|
|
117
|
+
return this.requestJson(accountPath(accountId, ["offers", offerId, "regenerate_research"]), {
|
|
118
|
+
method: "POST",
|
|
119
|
+
body
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
updateOfferWriteup(accountId, offerId, body) {
|
|
124
|
+
return this.requestJson(accountPath(accountId, ["offers", offerId, "writeup"]), {
|
|
125
|
+
method: "PATCH",
|
|
126
|
+
body
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
addOfferArtifacts(accountId, offerId, body) {
|
|
131
|
+
return this.requestJson(accountPath(accountId, ["offers", offerId, "artifacts"]), {
|
|
132
|
+
method: "POST",
|
|
133
|
+
body
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
removeOfferArtifact(accountId, offerId, artifactId) {
|
|
138
|
+
return this.requestJson(accountPath(accountId, ["offers", offerId, "artifacts", artifactId]), {
|
|
139
|
+
method: "DELETE"
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
116
143
|
icps(accountId, query = {}) {
|
|
117
144
|
return this.requestJson(accountPath(accountId, ["icps"], query));
|
|
118
145
|
}
|
|
@@ -163,6 +190,30 @@ export class AudientiClient {
|
|
|
163
190
|
});
|
|
164
191
|
}
|
|
165
192
|
|
|
193
|
+
bulkAddIcpTag(accountId, body) {
|
|
194
|
+
return this.requestJson(accountPath(accountId, ["icps", "bulk_add_tag"]), {
|
|
195
|
+
method: "POST",
|
|
196
|
+
body
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
cloneIcp(accountId, icpId) {
|
|
201
|
+
return this.requestJson(accountPath(accountId, ["icps", icpId, "clone"]), {
|
|
202
|
+
method: "POST",
|
|
203
|
+
body: {}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
deleteIcp(accountId, icpId) {
|
|
208
|
+
return this.requestJson(accountPath(accountId, ["icps", icpId]), {
|
|
209
|
+
method: "DELETE"
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
icpProspects(accountId, icpId, query = {}) {
|
|
214
|
+
return this.requestJson(accountPath(accountId, ["icps", icpId, "prospects"], query));
|
|
215
|
+
}
|
|
216
|
+
|
|
166
217
|
companies(accountId, query = {}) {
|
|
167
218
|
return this.requestJson(accountPath(accountId, ["companies"], query));
|
|
168
219
|
}
|
|
@@ -231,6 +282,114 @@ export class AudientiClient {
|
|
|
231
282
|
});
|
|
232
283
|
}
|
|
233
284
|
|
|
285
|
+
hubspotIntegration(accountId, query = {}) {
|
|
286
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration"], query));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
connectHubspot(accountId, body) {
|
|
290
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration"]), {
|
|
291
|
+
method: "POST",
|
|
292
|
+
body
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
disconnectHubspot(accountId) {
|
|
297
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration"]), {
|
|
298
|
+
method: "DELETE"
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
retryHubspotEvent(accountId, body) {
|
|
303
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "retry_event"]), {
|
|
304
|
+
method: "POST",
|
|
305
|
+
body
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
syncHubspot(accountId) {
|
|
310
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "sync_all"]), {
|
|
311
|
+
method: "POST"
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
createHubspotListSync(accountId, body) {
|
|
316
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "list_syncs"]), {
|
|
317
|
+
method: "POST",
|
|
318
|
+
body
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
updateHubspotListSync(accountId, listSyncId, body) {
|
|
323
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "list_syncs", listSyncId]), {
|
|
324
|
+
method: "PATCH",
|
|
325
|
+
body
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
deleteHubspotListSync(accountId, listSyncId) {
|
|
330
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "list_syncs", listSyncId]), {
|
|
331
|
+
method: "DELETE"
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
syncHubspotListSync(accountId, listSyncId) {
|
|
336
|
+
return this.requestJson(accountPath(accountId, ["hubspot_integration", "list_syncs", listSyncId, "sync_now"]), {
|
|
337
|
+
method: "POST"
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
prospectWebhookEndpoints(accountId) {
|
|
342
|
+
return this.requestJson(accountPath(accountId, ["prospect_webhook_endpoints"]));
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
createProspectWebhookEndpoint(accountId, body) {
|
|
346
|
+
return this.requestJson(accountPath(accountId, ["prospect_webhook_endpoints"]), {
|
|
347
|
+
method: "POST",
|
|
348
|
+
body
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
updateProspectWebhookEndpoint(accountId, endpointId, body) {
|
|
353
|
+
return this.requestJson(accountPath(accountId, ["prospect_webhook_endpoints", endpointId]), {
|
|
354
|
+
method: "PATCH",
|
|
355
|
+
body
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
rotateProspectWebhookEndpoint(accountId, endpointId) {
|
|
360
|
+
return this.requestJson(accountPath(accountId, ["prospect_webhook_endpoints", endpointId, "rotate"]), {
|
|
361
|
+
method: "POST"
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
deleteProspectWebhookEndpoint(accountId, endpointId) {
|
|
366
|
+
return this.requestJson(accountPath(accountId, ["prospect_webhook_endpoints", endpointId]), {
|
|
367
|
+
method: "DELETE"
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
brandProfile(accountId) {
|
|
372
|
+
return this.requestJson(accountPath(accountId, ["brand_profile"]));
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
updateBrandProfile(accountId, body) {
|
|
376
|
+
return this.requestJson(accountPath(accountId, ["brand_profile"]), {
|
|
377
|
+
method: "PATCH",
|
|
378
|
+
body
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
replyAlerts() {
|
|
383
|
+
return this.requestJson(apiPath(["me", "reply_alerts"]));
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
updateReplyAlerts(body) {
|
|
387
|
+
return this.requestJson(apiPath(["me", "reply_alerts"]), {
|
|
388
|
+
method: "PATCH",
|
|
389
|
+
body
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
|
|
234
393
|
tags(accountId) {
|
|
235
394
|
return this.requestJson(accountPath(accountId, ["tags"]));
|
|
236
395
|
}
|
|
@@ -252,6 +411,20 @@ export class AudientiClient {
|
|
|
252
411
|
});
|
|
253
412
|
}
|
|
254
413
|
|
|
414
|
+
updateTask(accountId, taskId, body) {
|
|
415
|
+
return this.requestJson(accountPath(accountId, ["tasks", taskId]), {
|
|
416
|
+
method: "PATCH",
|
|
417
|
+
body
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
bulkUpdateTasks(accountId, body) {
|
|
422
|
+
return this.requestJson(accountPath(accountId, ["tasks", "bulk_update"]), {
|
|
423
|
+
method: "PATCH",
|
|
424
|
+
body
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
|
|
255
428
|
lists(accountId) {
|
|
256
429
|
return this.requestJson(accountPath(accountId, ["lists"]));
|
|
257
430
|
}
|
|
@@ -294,6 +467,24 @@ export class AudientiClient {
|
|
|
294
467
|
});
|
|
295
468
|
}
|
|
296
469
|
|
|
470
|
+
bulkAddListTag(accountId, body) {
|
|
471
|
+
return this.requestJson(accountPath(accountId, ["lists", "bulk_add_tag"]), {
|
|
472
|
+
method: "POST",
|
|
473
|
+
body
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
mergeLists(accountId, body) {
|
|
478
|
+
return this.requestJson(accountPath(accountId, ["lists", "merge_selected"]), {
|
|
479
|
+
method: "POST",
|
|
480
|
+
body
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
exportList(accountId, listId, query = {}) {
|
|
485
|
+
return this.requestJson(accountPath(accountId, ["lists", listId, "export"], query));
|
|
486
|
+
}
|
|
487
|
+
|
|
297
488
|
listProspects(accountId, listId, query = {}) {
|
|
298
489
|
return this.requestJson(accountPath(accountId, ["lists", listId, "prospects"], query));
|
|
299
490
|
}
|
|
@@ -343,6 +534,12 @@ export class AudientiClient {
|
|
|
343
534
|
});
|
|
344
535
|
}
|
|
345
536
|
|
|
537
|
+
toggleListRoutingRule(accountId, listId, ruleId) {
|
|
538
|
+
return this.requestJson(accountPath(accountId, ["lists", listId, "routing_rules", ruleId, "toggle"]), {
|
|
539
|
+
method: "PATCH"
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
|
|
346
543
|
applyListRoutingRules(accountId, listId) {
|
|
347
544
|
return this.requestJson(accountPath(accountId, ["lists", listId, "routing_rules", "apply"]), {
|
|
348
545
|
method: "POST",
|
|
@@ -669,6 +866,12 @@ export class AudientiClient {
|
|
|
669
866
|
return this.requestJson(accountPath(accountId, ["tools", "linkedin-review", "reports", reportId]));
|
|
670
867
|
}
|
|
671
868
|
|
|
869
|
+
deleteLinkedinStrategyReview(accountId, reportId) {
|
|
870
|
+
return this.requestJson(accountPath(accountId, ["tools", "linkedin-strategy-review", "reports", reportId]), {
|
|
871
|
+
method: "DELETE"
|
|
872
|
+
});
|
|
873
|
+
}
|
|
874
|
+
|
|
672
875
|
humanizeText(accountId, body) {
|
|
673
876
|
return this.requestJson(accountPath(accountId, ["tools", "humanize"]), {
|
|
674
877
|
method: "POST",
|