@instantkom/cli 3.129.2

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 (227) hide show
  1. package/README.md +34 -0
  2. package/bin/run.js +3 -0
  3. package/dist/api-client.d.ts +55 -0
  4. package/dist/api-client.js +199 -0
  5. package/dist/auth/device-flow-client.d.ts +22 -0
  6. package/dist/auth/device-flow-client.js +70 -0
  7. package/dist/auth/token-resolver.d.ts +31 -0
  8. package/dist/auth/token-resolver.js +48 -0
  9. package/dist/auth/token-store.d.ts +13 -0
  10. package/dist/auth/token-store.js +39 -0
  11. package/dist/base-command.d.ts +18 -0
  12. package/dist/base-command.js +84 -0
  13. package/dist/commands/ai/reply.d.ts +18 -0
  14. package/dist/commands/ai/reply.js +46 -0
  15. package/dist/commands/auth/login.d.ts +15 -0
  16. package/dist/commands/auth/login.js +37 -0
  17. package/dist/commands/auth/logout.d.ts +14 -0
  18. package/dist/commands/auth/logout.js +17 -0
  19. package/dist/commands/auth/tokens/create.d.ts +17 -0
  20. package/dist/commands/auth/tokens/create.js +62 -0
  21. package/dist/commands/auth/tokens/list.d.ts +14 -0
  22. package/dist/commands/auth/tokens/list.js +41 -0
  23. package/dist/commands/auth/tokens/revoke.d.ts +20 -0
  24. package/dist/commands/auth/tokens/revoke.js +41 -0
  25. package/dist/commands/autocomplete/script.d.ts +11 -0
  26. package/dist/commands/autocomplete/script.js +90 -0
  27. package/dist/commands/autocomplete.d.ts +13 -0
  28. package/dist/commands/autocomplete.js +95 -0
  29. package/dist/commands/bots/create.d.ts +22 -0
  30. package/dist/commands/bots/create.js +39 -0
  31. package/dist/commands/bots/delete.d.ts +20 -0
  32. package/dist/commands/bots/delete.js +19 -0
  33. package/dist/commands/bots/env-vars/bots.d.ts +20 -0
  34. package/dist/commands/bots/env-vars/bots.js +18 -0
  35. package/dist/commands/bots/env-vars/create.d.ts +18 -0
  36. package/dist/commands/bots/env-vars/create.js +28 -0
  37. package/dist/commands/bots/env-vars/delete.d.ts +20 -0
  38. package/dist/commands/bots/env-vars/delete.js +19 -0
  39. package/dist/commands/bots/env-vars/get.d.ts +20 -0
  40. package/dist/commands/bots/env-vars/get.js +19 -0
  41. package/dist/commands/bots/env-vars/list.d.ts +18 -0
  42. package/dist/commands/bots/env-vars/list.js +28 -0
  43. package/dist/commands/bots/env-vars/update.d.ts +23 -0
  44. package/dist/commands/bots/env-vars/update.js +29 -0
  45. package/dist/commands/bots/env-vars/values/delete.d.ts +20 -0
  46. package/dist/commands/bots/env-vars/values/delete.js +18 -0
  47. package/dist/commands/bots/env-vars/values/update.d.ts +23 -0
  48. package/dist/commands/bots/env-vars/values/update.js +28 -0
  49. package/dist/commands/bots/env-vars/values.d.ts +24 -0
  50. package/dist/commands/bots/env-vars/values.js +30 -0
  51. package/dist/commands/bots/filters/create.d.ts +28 -0
  52. package/dist/commands/bots/filters/create.js +38 -0
  53. package/dist/commands/bots/filters/delete.d.ts +24 -0
  54. package/dist/commands/bots/filters/delete.js +19 -0
  55. package/dist/commands/bots/filters/get.d.ts +24 -0
  56. package/dist/commands/bots/filters/get.js +19 -0
  57. package/dist/commands/bots/filters/list.d.ts +24 -0
  58. package/dist/commands/bots/filters/list.js +30 -0
  59. package/dist/commands/bots/filters/update.d.ts +32 -0
  60. package/dist/commands/bots/filters/update.js +39 -0
  61. package/dist/commands/bots/get.d.ts +20 -0
  62. package/dist/commands/bots/get.js +19 -0
  63. package/dist/commands/bots/list.d.ts +21 -0
  64. package/dist/commands/bots/list.js +34 -0
  65. package/dist/commands/bots/matches.d.ts +23 -0
  66. package/dist/commands/bots/matches.js +28 -0
  67. package/dist/commands/bots/tags/add.d.ts +24 -0
  68. package/dist/commands/bots/tags/add.js +19 -0
  69. package/dist/commands/bots/tags/list.d.ts +20 -0
  70. package/dist/commands/bots/tags/list.js +18 -0
  71. package/dist/commands/bots/tags/remove.d.ts +24 -0
  72. package/dist/commands/bots/tags/remove.js +19 -0
  73. package/dist/commands/bots/update.d.ts +27 -0
  74. package/dist/commands/bots/update.js +36 -0
  75. package/dist/commands/broadcast/create.d.ts +25 -0
  76. package/dist/commands/broadcast/create.js +117 -0
  77. package/dist/commands/channels/create.d.ts +19 -0
  78. package/dist/commands/channels/create.js +43 -0
  79. package/dist/commands/channels/get.d.ts +20 -0
  80. package/dist/commands/channels/get.js +25 -0
  81. package/dist/commands/channels/kpis.d.ts +21 -0
  82. package/dist/commands/channels/kpis.js +29 -0
  83. package/dist/commands/channels/list.d.ts +19 -0
  84. package/dist/commands/channels/list.js +43 -0
  85. package/dist/commands/channels/update.d.ts +24 -0
  86. package/dist/commands/channels/update.js +43 -0
  87. package/dist/commands/chats/reply.d.ts +21 -0
  88. package/dist/commands/chats/reply.js +28 -0
  89. package/dist/commands/config/get.d.ts +17 -0
  90. package/dist/commands/config/get.js +29 -0
  91. package/dist/commands/config/set.d.ts +18 -0
  92. package/dist/commands/config/set.js +30 -0
  93. package/dist/commands/config/unset.d.ts +17 -0
  94. package/dist/commands/config/unset.js +25 -0
  95. package/dist/commands/contacts/create.d.ts +18 -0
  96. package/dist/commands/contacts/create.js +39 -0
  97. package/dist/commands/contacts/delete.d.ts +20 -0
  98. package/dist/commands/contacts/delete.js +25 -0
  99. package/dist/commands/contacts/export.d.ts +19 -0
  100. package/dist/commands/contacts/export.js +50 -0
  101. package/dist/commands/contacts/get.d.ts +20 -0
  102. package/dist/commands/contacts/get.js +25 -0
  103. package/dist/commands/contacts/import.d.ts +16 -0
  104. package/dist/commands/contacts/import.js +62 -0
  105. package/dist/commands/contacts/list.d.ts +25 -0
  106. package/dist/commands/contacts/list.js +71 -0
  107. package/dist/commands/contacts/update.d.ts +23 -0
  108. package/dist/commands/contacts/update.js +39 -0
  109. package/dist/commands/exports/create.d.ts +23 -0
  110. package/dist/commands/exports/create.js +69 -0
  111. package/dist/commands/exports/delete.d.ts +20 -0
  112. package/dist/commands/exports/delete.js +25 -0
  113. package/dist/commands/exports/download.d.ts +21 -0
  114. package/dist/commands/exports/download.js +37 -0
  115. package/dist/commands/exports/get.d.ts +20 -0
  116. package/dist/commands/exports/get.js +25 -0
  117. package/dist/commands/exports/list.d.ts +18 -0
  118. package/dist/commands/exports/list.js +39 -0
  119. package/dist/commands/flow/edges/create.d.ts +25 -0
  120. package/dist/commands/flow/edges/create.js +32 -0
  121. package/dist/commands/flow/edges/delete.d.ts +24 -0
  122. package/dist/commands/flow/edges/delete.js +19 -0
  123. package/dist/commands/flow/edges/get.d.ts +24 -0
  124. package/dist/commands/flow/edges/get.js +19 -0
  125. package/dist/commands/flow/edges/list.d.ts +20 -0
  126. package/dist/commands/flow/edges/list.js +18 -0
  127. package/dist/commands/flow/edges/update.d.ts +29 -0
  128. package/dist/commands/flow/edges/update.js +33 -0
  129. package/dist/commands/flow/nodes/create.d.ts +25 -0
  130. package/dist/commands/flow/nodes/create.js +32 -0
  131. package/dist/commands/flow/nodes/delete.d.ts +24 -0
  132. package/dist/commands/flow/nodes/delete.js +19 -0
  133. package/dist/commands/flow/nodes/get.d.ts +24 -0
  134. package/dist/commands/flow/nodes/get.js +19 -0
  135. package/dist/commands/flow/nodes/list.d.ts +20 -0
  136. package/dist/commands/flow/nodes/list.js +18 -0
  137. package/dist/commands/flow/nodes/update.d.ts +29 -0
  138. package/dist/commands/flow/nodes/update.js +33 -0
  139. package/dist/commands/flows/create.d.ts +20 -0
  140. package/dist/commands/flows/create.js +32 -0
  141. package/dist/commands/flows/delete.d.ts +20 -0
  142. package/dist/commands/flows/delete.js +19 -0
  143. package/dist/commands/flows/get.d.ts +20 -0
  144. package/dist/commands/flows/get.js +19 -0
  145. package/dist/commands/flows/list.d.ts +19 -0
  146. package/dist/commands/flows/list.js +30 -0
  147. package/dist/commands/flows/update.d.ts +25 -0
  148. package/dist/commands/flows/update.js +33 -0
  149. package/dist/commands/send.d.ts +23 -0
  150. package/dist/commands/send.js +129 -0
  151. package/dist/commands/status.d.ts +23 -0
  152. package/dist/commands/status.js +81 -0
  153. package/dist/commands/tail.d.ts +15 -0
  154. package/dist/commands/tail.js +36 -0
  155. package/dist/commands/templates/get.d.ts +20 -0
  156. package/dist/commands/templates/get.js +24 -0
  157. package/dist/commands/templates/list.d.ts +18 -0
  158. package/dist/commands/templates/list.js +37 -0
  159. package/dist/commands/templates/render.d.ts +21 -0
  160. package/dist/commands/templates/render.js +30 -0
  161. package/dist/commands/ticket/messages/create.d.ts +22 -0
  162. package/dist/commands/ticket/messages/create.js +26 -0
  163. package/dist/commands/ticket/messages/delete.d.ts +24 -0
  164. package/dist/commands/ticket/messages/delete.js +20 -0
  165. package/dist/commands/ticket/messages/get.d.ts +24 -0
  166. package/dist/commands/ticket/messages/get.js +19 -0
  167. package/dist/commands/ticket/messages/list.d.ts +20 -0
  168. package/dist/commands/ticket/messages/list.js +18 -0
  169. package/dist/commands/tickets/create.d.ts +22 -0
  170. package/dist/commands/tickets/create.js +34 -0
  171. package/dist/commands/tickets/delete.d.ts +21 -0
  172. package/dist/commands/tickets/delete.js +21 -0
  173. package/dist/commands/tickets/get.d.ts +21 -0
  174. package/dist/commands/tickets/get.js +21 -0
  175. package/dist/commands/tickets/list.d.ts +17 -0
  176. package/dist/commands/tickets/list.js +24 -0
  177. package/dist/commands/tickets/update.d.ts +25 -0
  178. package/dist/commands/tickets/update.js +31 -0
  179. package/dist/commands/webhooks/add.d.ts +16 -0
  180. package/dist/commands/webhooks/add.js +38 -0
  181. package/dist/commands/webhooks/list.d.ts +14 -0
  182. package/dist/commands/webhooks/list.js +18 -0
  183. package/dist/commands/webhooks/remove.d.ts +17 -0
  184. package/dist/commands/webhooks/remove.js +24 -0
  185. package/dist/commands/whoami.d.ts +15 -0
  186. package/dist/commands/whoami.js +40 -0
  187. package/dist/config/config-file.d.ts +36 -0
  188. package/dist/config/config-file.js +111 -0
  189. package/dist/config/config-path.d.ts +8 -0
  190. package/dist/config/config-path.js +25 -0
  191. package/dist/crud/csv.d.ts +6 -0
  192. package/dist/crud/csv.js +89 -0
  193. package/dist/crud/data.d.ts +4 -0
  194. package/dist/crud/data.js +38 -0
  195. package/dist/crud/request.d.ts +14 -0
  196. package/dist/crud/request.js +26 -0
  197. package/dist/errors/api-error.d.ts +6 -0
  198. package/dist/errors/api-error.js +10 -0
  199. package/dist/errors/exit-codes.d.ts +12 -0
  200. package/dist/errors/exit-codes.js +24 -0
  201. package/dist/errors/redact-token.d.ts +10 -0
  202. package/dist/errors/redact-token.js +17 -0
  203. package/dist/index.d.ts +1 -0
  204. package/dist/index.js +1 -0
  205. package/dist/output/formatter.d.ts +15 -0
  206. package/dist/output/formatter.js +57 -0
  207. package/dist/output/text-format.d.ts +13 -0
  208. package/dist/output/text-format.js +67 -0
  209. package/dist/send/api.d.ts +3 -0
  210. package/dist/send/api.js +21 -0
  211. package/dist/send/fallback.d.ts +5 -0
  212. package/dist/send/fallback.js +38 -0
  213. package/dist/send/media.d.ts +2 -0
  214. package/dist/send/media.js +41 -0
  215. package/dist/send/payload.d.ts +23 -0
  216. package/dist/send/payload.js +22 -0
  217. package/dist/send/recipient-resolver.d.ts +13 -0
  218. package/dist/send/recipient-resolver.js +28 -0
  219. package/dist/send/schedule.d.ts +1 -0
  220. package/dist/send/schedule.js +19 -0
  221. package/dist/tail/sse.d.ts +24 -0
  222. package/dist/tail/sse.js +139 -0
  223. package/dist/templates/render-template.d.ts +14 -0
  224. package/dist/templates/render-template.js +46 -0
  225. package/npm-shrinkwrap.json +11444 -0
  226. package/oclif.manifest.json +9286 -0
  227. package/package.json +157 -0
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsBots extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
@@ -0,0 +1,18 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { createCliApiClient } from '../../../send/api.js';
4
+ export default class BotsEnvVarsBots extends BaseCommand {
5
+ static description = 'List bots using a bot environment variable';
6
+ static args = {
7
+ id: Args.integer({ description: 'Environment variable ID', required: true }),
8
+ };
9
+ static flags = { ...BaseCommand.baseFlags };
10
+ async run() {
11
+ const { args, flags } = await this.parse(BotsEnvVarsBots);
12
+ this.flags = flags;
13
+ const client = await createCliApiClient(flags);
14
+ const bots = await client.get(`/v1/bot-env-vars/${args.id}/bots`);
15
+ if (!flags.quiet)
16
+ this.log(this.toFormatted(bots));
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsCreate extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ key: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ color: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ }
@@ -0,0 +1,28 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { mergeData, parseDataFlag } from '../../../crud/data.js';
4
+ import { createResource } from '../../../crud/request.js';
5
+ import { createCliApiClient } from '../../../send/api.js';
6
+ export default class BotsEnvVarsCreate extends BaseCommand {
7
+ static description = 'Create a bot environment variable';
8
+ static flags = {
9
+ ...BaseCommand.baseFlags,
10
+ key: Flags.string({ description: 'Variable key', required: true }),
11
+ description: Flags.string({ description: 'Variable description' }),
12
+ color: Flags.string({ description: 'Variable color as HEX' }),
13
+ data: Flags.string({ description: 'Additional JSON object payload' }),
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(BotsEnvVarsCreate);
17
+ this.flags = flags;
18
+ const payload = mergeData(parseDataFlag(flags.data), {
19
+ key: flags.key,
20
+ description: flags.description,
21
+ color: flags.color,
22
+ });
23
+ const client = await createCliApiClient(flags);
24
+ const envVar = await createResource(client, '/v1/bot-env-vars', payload);
25
+ if (!flags.quiet)
26
+ this.log(this.toFormatted(envVar));
27
+ }
28
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
@@ -0,0 +1,19 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { deleteResource } from '../../../crud/request.js';
4
+ import { createCliApiClient } from '../../../send/api.js';
5
+ export default class BotsEnvVarsDelete extends BaseCommand {
6
+ static description = 'Delete a bot environment variable';
7
+ static args = {
8
+ id: Args.integer({ description: 'Environment variable ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(BotsEnvVarsDelete);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ await deleteResource(client, '/v1/bot-env-vars', args.id);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted({ deleted: true, id: args.id }));
18
+ }
19
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsGet extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
@@ -0,0 +1,19 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { getResource } from '../../../crud/request.js';
4
+ import { createCliApiClient } from '../../../send/api.js';
5
+ export default class BotsEnvVarsGet extends BaseCommand {
6
+ static description = 'Get a bot environment variable';
7
+ static args = {
8
+ id: Args.integer({ description: 'Environment variable ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(BotsEnvVarsGet);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ const envVar = await getResource(client, '/v1/bot-env-vars', args.id);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted(envVar));
18
+ }
19
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
6
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ color: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ };
17
+ run(): Promise<void>;
18
+ }
@@ -0,0 +1,28 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { cleanQuery } from '../../../crud/data.js';
4
+ import { listResource } from '../../../crud/request.js';
5
+ import { createCliApiClient } from '../../../send/api.js';
6
+ export default class BotsEnvVarsList extends BaseCommand {
7
+ static description = 'List bot environment variables';
8
+ static flags = {
9
+ ...BaseCommand.baseFlags,
10
+ page: Flags.integer({ description: 'Page number', default: 1 }),
11
+ limit: Flags.integer({ description: 'Items per page', default: 20 }),
12
+ search: Flags.string({ description: 'Search in key or description' }),
13
+ color: Flags.string({ description: 'Filter by color' }),
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(BotsEnvVarsList);
17
+ this.flags = flags;
18
+ const client = await createCliApiClient(flags);
19
+ const envVars = await listResource(client, '/v1/bot-env-vars', cleanQuery({
20
+ page: flags.page,
21
+ limit: flags.limit,
22
+ search: flags.search,
23
+ color: flags.color,
24
+ }));
25
+ if (!flags.quiet)
26
+ this.log(this.toFormatted(envVars));
27
+ }
28
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ color: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ };
22
+ run(): Promise<void>;
23
+ }
@@ -0,0 +1,29 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { mergeData, parseDataFlag } from '../../../crud/data.js';
4
+ import { updateResource } from '../../../crud/request.js';
5
+ import { createCliApiClient } from '../../../send/api.js';
6
+ export default class BotsEnvVarsUpdate extends BaseCommand {
7
+ static description = 'Update a bot environment variable';
8
+ static args = {
9
+ id: Args.integer({ description: 'Environment variable ID', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ description: Flags.string({ description: 'Variable description' }),
14
+ color: Flags.string({ description: 'Variable color as HEX' }),
15
+ data: Flags.string({ description: 'Additional JSON object payload' }),
16
+ };
17
+ async run() {
18
+ const { args, flags } = await this.parse(BotsEnvVarsUpdate);
19
+ this.flags = flags;
20
+ const payload = mergeData(parseDataFlag(flags.data), {
21
+ description: flags.description,
22
+ color: flags.color,
23
+ });
24
+ const client = await createCliApiClient(flags);
25
+ const envVar = await updateResource(client, '/v1/bot-env-vars', args.id, payload);
26
+ if (!flags.quiet)
27
+ this.log(this.toFormatted(envVar));
28
+ }
29
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../../base-command.js';
2
+ export default class BotsEnvVarsValuesDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ valueId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<void>;
20
+ }
@@ -0,0 +1,18 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../../base-command.js';
3
+ import { createCliApiClient } from '../../../../send/api.js';
4
+ export default class BotsEnvVarsValuesDelete extends BaseCommand {
5
+ static description = 'Delete a recipient-specific environment variable value';
6
+ static args = {
7
+ valueId: Args.integer({ description: 'Value ID', required: true }),
8
+ };
9
+ static flags = { ...BaseCommand.baseFlags };
10
+ async run() {
11
+ const { args, flags } = await this.parse(BotsEnvVarsValuesDelete);
12
+ this.flags = flags;
13
+ const client = await createCliApiClient(flags);
14
+ await client.delete(`/v1/bot-env-vars/values/${args.valueId}`);
15
+ if (!flags.quiet)
16
+ this.log(this.toFormatted({ deleted: true, valueId: args.valueId }));
17
+ }
18
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../../../base-command.js';
2
+ export default class BotsEnvVarsValuesUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ valueId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ value: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'expires-at': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
16
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ };
22
+ run(): Promise<void>;
23
+ }
@@ -0,0 +1,28 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../../base-command.js';
3
+ import { mergeData, parseDataFlag } from '../../../../crud/data.js';
4
+ import { createCliApiClient } from '../../../../send/api.js';
5
+ export default class BotsEnvVarsValuesUpdate extends BaseCommand {
6
+ static description = 'Update a recipient-specific environment variable value';
7
+ static args = {
8
+ valueId: Args.integer({ description: 'Value ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ value: Flags.string({ description: 'New value' }),
13
+ 'expires-at': Flags.integer({ description: 'Expiration timestamp, 0 for none' }),
14
+ data: Flags.string({ description: 'Additional JSON object payload' }),
15
+ };
16
+ async run() {
17
+ const { args, flags } = await this.parse(BotsEnvVarsValuesUpdate);
18
+ this.flags = flags;
19
+ const payload = mergeData(parseDataFlag(flags.data), {
20
+ value: flags.value,
21
+ expiresAt: flags['expires-at'],
22
+ });
23
+ const client = await createCliApiClient(flags);
24
+ const result = await client.put(`/v1/bot-env-vars/values/${args.valueId}`, payload);
25
+ if (!flags.quiet)
26
+ this.log(this.toFormatted(result));
27
+ }
28
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsEnvVarsValues extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
13
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ recipient: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
@@ -0,0 +1,30 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { cleanQuery } from '../../../crud/data.js';
4
+ import { createCliApiClient } from '../../../send/api.js';
5
+ export default class BotsEnvVarsValues extends BaseCommand {
6
+ static description = 'List recipient values for a bot environment variable';
7
+ static args = {
8
+ id: Args.integer({ description: 'Environment variable ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ page: Flags.integer({ description: 'Page number', default: 1 }),
13
+ limit: Flags.integer({ description: 'Items per page', default: 20 }),
14
+ search: Flags.string({ description: 'Search in recipient name or identifier' }),
15
+ recipient: Flags.integer({ description: 'Filter by recipient ID' }),
16
+ };
17
+ async run() {
18
+ const { args, flags } = await this.parse(BotsEnvVarsValues);
19
+ this.flags = flags;
20
+ const client = await createCliApiClient(flags);
21
+ const values = await client.get(`/v1/bot-env-vars/${args.id}/values`, cleanQuery({
22
+ page: flags.page,
23
+ limit: flags.limit,
24
+ search: flags.search,
25
+ recipientId: flags.recipient,
26
+ }));
27
+ if (!flags.quiet)
28
+ this.log(this.toFormatted(values));
29
+ }
30
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsFiltersCreate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ botId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ operator: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'filter-object': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'filter-attribute': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'filter-comparator': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'filter-value': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ status: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ };
27
+ run(): Promise<void>;
28
+ }
@@ -0,0 +1,38 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { mergeData, parseDataFlag } from '../../../crud/data.js';
4
+ import { createCliApiClient } from '../../../send/api.js';
5
+ export default class BotsFiltersCreate extends BaseCommand {
6
+ static description = 'Create a bot filter';
7
+ static args = {
8
+ botId: Args.integer({ description: 'Bot ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ name: Flags.string({ description: 'Filter name', required: true }),
13
+ operator: Flags.string({ description: 'Logical operator', default: 'and' }),
14
+ 'filter-object': Flags.string({ description: 'Filter object type' }),
15
+ 'filter-attribute': Flags.string({ description: 'Filter attribute' }),
16
+ 'filter-comparator': Flags.string({ description: 'Filter comparator' }),
17
+ 'filter-value': Flags.string({ description: 'Filter value', required: true }),
18
+ status: Flags.integer({ description: 'Status: 0 inactive, 1 active', options: ['0', '1'] }),
19
+ data: Flags.string({ description: 'Additional JSON object payload' }),
20
+ };
21
+ async run() {
22
+ const { args, flags } = await this.parse(BotsFiltersCreate);
23
+ this.flags = flags;
24
+ const payload = mergeData(parseDataFlag(flags.data), {
25
+ name: flags.name,
26
+ operator: flags.operator,
27
+ objectType: flags['filter-object'],
28
+ attribute: flags['filter-attribute'],
29
+ comparator: flags['filter-comparator'],
30
+ value: flags['filter-value'],
31
+ status: flags.status,
32
+ });
33
+ const client = await createCliApiClient(flags);
34
+ const filter = await client.post(`/v1/bots/${args.botId}/filters`, payload);
35
+ if (!flags.quiet)
36
+ this.log(this.toFormatted(filter));
37
+ }
38
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsFiltersDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ botId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ filterId: import("@oclif/core/interfaces").Arg<number, {
10
+ max?: number;
11
+ min?: number;
12
+ }>;
13
+ };
14
+ static flags: {
15
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
@@ -0,0 +1,19 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { createCliApiClient } from '../../../send/api.js';
4
+ export default class BotsFiltersDelete extends BaseCommand {
5
+ static description = 'Delete a bot filter';
6
+ static args = {
7
+ botId: Args.integer({ description: 'Bot ID', required: true }),
8
+ filterId: Args.integer({ description: 'Filter ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(BotsFiltersDelete);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ await client.delete(`/v1/bots/${args.botId}/filters/${args.filterId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted({ deleted: true, botId: args.botId, filterId: args.filterId }));
18
+ }
19
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsFiltersGet extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ botId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ filterId: import("@oclif/core/interfaces").Arg<number, {
10
+ max?: number;
11
+ min?: number;
12
+ }>;
13
+ };
14
+ static flags: {
15
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ };
23
+ run(): Promise<void>;
24
+ }
@@ -0,0 +1,19 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ import { createCliApiClient } from '../../../send/api.js';
4
+ export default class BotsFiltersGet extends BaseCommand {
5
+ static description = 'Get a bot filter';
6
+ static args = {
7
+ botId: Args.integer({ description: 'Bot ID', required: true }),
8
+ filterId: Args.integer({ description: 'Filter ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(BotsFiltersGet);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ const filter = await client.get(`/v1/bots/${args.botId}/filters/${args.filterId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted(filter));
18
+ }
19
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class BotsFiltersList extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ botId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
13
+ status: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ };
23
+ run(): Promise<void>;
24
+ }