@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,25 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowEdgesCreate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ source: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ target: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
13
+ label: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
18
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<void>;
25
+ }
@@ -0,0 +1,32 @@
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 FlowEdgesCreate extends BaseCommand {
6
+ static description = 'Create a flow edge';
7
+ static args = {
8
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ source: Flags.integer({ description: 'Source node ID', required: true }),
13
+ target: Flags.integer({ description: 'Target node ID', required: true }),
14
+ label: Flags.string({ description: 'Edge label' }),
15
+ type: Flags.string({ description: 'Edge type', default: 'default' }),
16
+ data: Flags.string({ description: 'Additional JSON object payload' }),
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(FlowEdgesCreate);
20
+ this.flags = flags;
21
+ const payload = mergeData(parseDataFlag(flags.data), {
22
+ sourceNodeId: flags.source,
23
+ targetNodeId: flags.target,
24
+ label: flags.label,
25
+ edgeType: flags.type,
26
+ });
27
+ const client = await createCliApiClient(flags);
28
+ const edge = await client.post(`/v1/flows/${args.flowId}/edges`, payload);
29
+ if (!flags.quiet)
30
+ this.log(this.toFormatted(edge));
31
+ }
32
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowEdgesDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ edgeId: 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 FlowEdgesDelete extends BaseCommand {
5
+ static description = 'Delete a flow edge';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ edgeId: Args.integer({ description: 'Edge ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(FlowEdgesDelete);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ await client.delete(`/v1/flows/${args.flowId}/edges/${args.edgeId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted({ deleted: true, flowId: args.flowId, edgeId: args.edgeId }));
18
+ }
19
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowEdgesGet extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ edgeId: 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 FlowEdgesGet extends BaseCommand {
5
+ static description = 'Get a flow edge';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ edgeId: Args.integer({ description: 'Edge ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(FlowEdgesGet);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ const edge = await client.get(`/v1/flows/${args.flowId}/edges/${args.edgeId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted(edge));
18
+ }
19
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowEdgesList extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: 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 FlowEdgesList extends BaseCommand {
5
+ static description = 'List edges in a flow';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ };
9
+ static flags = { ...BaseCommand.baseFlags };
10
+ async run() {
11
+ const { args, flags } = await this.parse(FlowEdgesList);
12
+ this.flags = flags;
13
+ const client = await createCliApiClient(flags);
14
+ const edges = await client.get(`/v1/flows/${args.flowId}/edges`);
15
+ if (!flags.quiet)
16
+ this.log(this.toFormatted(edges));
17
+ }
18
+ }
@@ -0,0 +1,29 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowEdgesUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ edgeId: import("@oclif/core/interfaces").Arg<number, {
10
+ max?: number;
11
+ min?: number;
12
+ }>;
13
+ };
14
+ static flags: {
15
+ source: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ target: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ label: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ };
28
+ run(): Promise<void>;
29
+ }
@@ -0,0 +1,33 @@
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 FlowEdgesUpdate extends BaseCommand {
6
+ static description = 'Update a flow edge';
7
+ static args = {
8
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
9
+ edgeId: Args.integer({ description: 'Edge ID', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ source: Flags.integer({ description: 'Source node ID' }),
14
+ target: Flags.integer({ description: 'Target node ID' }),
15
+ label: Flags.string({ description: 'Edge label' }),
16
+ type: Flags.string({ description: 'Edge type' }),
17
+ data: Flags.string({ description: 'Additional JSON object payload' }),
18
+ };
19
+ async run() {
20
+ const { args, flags } = await this.parse(FlowEdgesUpdate);
21
+ this.flags = flags;
22
+ const payload = mergeData(parseDataFlag(flags.data), {
23
+ sourceNodeId: flags.source,
24
+ targetNodeId: flags.target,
25
+ label: flags.label,
26
+ edgeType: flags.type,
27
+ });
28
+ const client = await createCliApiClient(flags);
29
+ const edge = await client.put(`/v1/flows/${args.flowId}/edges/${args.edgeId}`, payload);
30
+ if (!flags.quiet)
31
+ this.log(this.toFormatted(edge));
32
+ }
33
+ }
@@ -0,0 +1,25 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowNodesCreate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ };
10
+ static flags: {
11
+ bot: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ x: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
14
+ y: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
15
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
18
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ };
24
+ run(): Promise<void>;
25
+ }
@@ -0,0 +1,32 @@
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 FlowNodesCreate extends BaseCommand {
6
+ static description = 'Create a flow node';
7
+ static args = {
8
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...BaseCommand.baseFlags,
12
+ bot: Flags.integer({ description: 'Bot ID' }),
13
+ type: Flags.string({ description: 'Node type', required: true }),
14
+ x: Flags.integer({ description: 'X position', required: true }),
15
+ y: Flags.integer({ description: 'Y position', required: true }),
16
+ data: Flags.string({ description: 'Additional JSON object payload' }),
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(FlowNodesCreate);
20
+ this.flags = flags;
21
+ const payload = mergeData(parseDataFlag(flags.data), {
22
+ botId: flags.bot,
23
+ nodeType: flags.type,
24
+ positionX: flags.x,
25
+ positionY: flags.y,
26
+ });
27
+ const client = await createCliApiClient(flags);
28
+ const node = await client.post(`/v1/flows/${args.flowId}/nodes`, payload);
29
+ if (!flags.quiet)
30
+ this.log(this.toFormatted(node));
31
+ }
32
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowNodesDelete extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ nodeId: 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 FlowNodesDelete extends BaseCommand {
5
+ static description = 'Delete a flow node';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ nodeId: Args.integer({ description: 'Node ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(FlowNodesDelete);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ await client.delete(`/v1/flows/${args.flowId}/nodes/${args.nodeId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted({ deleted: true, flowId: args.flowId, nodeId: args.nodeId }));
18
+ }
19
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowNodesGet extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ nodeId: 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 FlowNodesGet extends BaseCommand {
5
+ static description = 'Get a flow node';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ nodeId: Args.integer({ description: 'Node ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(FlowNodesGet);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ const node = await client.get(`/v1/flows/${args.flowId}/nodes/${args.nodeId}`);
16
+ if (!flags.quiet)
17
+ this.log(this.toFormatted(node));
18
+ }
19
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowNodesList extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: 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 FlowNodesList extends BaseCommand {
5
+ static description = 'List nodes in a flow';
6
+ static args = {
7
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
8
+ };
9
+ static flags = { ...BaseCommand.baseFlags };
10
+ async run() {
11
+ const { args, flags } = await this.parse(FlowNodesList);
12
+ this.flags = flags;
13
+ const client = await createCliApiClient(flags);
14
+ const nodes = await client.get(`/v1/flows/${args.flowId}/nodes`);
15
+ if (!flags.quiet)
16
+ this.log(this.toFormatted(nodes));
17
+ }
18
+ }
@@ -0,0 +1,29 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class FlowNodesUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ flowId: import("@oclif/core/interfaces").Arg<number, {
6
+ max?: number;
7
+ min?: number;
8
+ }>;
9
+ nodeId: import("@oclif/core/interfaces").Arg<number, {
10
+ max?: number;
11
+ min?: number;
12
+ }>;
13
+ };
14
+ static flags: {
15
+ bot: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ x: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ y: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
22
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ 'no-color': import("@oclif/core/interfaces").BooleanFlag<boolean>;
25
+ profile: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ };
28
+ run(): Promise<void>;
29
+ }
@@ -0,0 +1,33 @@
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 FlowNodesUpdate extends BaseCommand {
6
+ static description = 'Update a flow node';
7
+ static args = {
8
+ flowId: Args.integer({ description: 'Flow ID', required: true }),
9
+ nodeId: Args.integer({ description: 'Node ID', required: true }),
10
+ };
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ bot: Flags.integer({ description: 'Bot ID' }),
14
+ type: Flags.string({ description: 'Node type' }),
15
+ x: Flags.integer({ description: 'X position' }),
16
+ y: Flags.integer({ description: 'Y position' }),
17
+ data: Flags.string({ description: 'Additional JSON object payload' }),
18
+ };
19
+ async run() {
20
+ const { args, flags } = await this.parse(FlowNodesUpdate);
21
+ this.flags = flags;
22
+ const payload = mergeData(parseDataFlag(flags.data), {
23
+ botId: flags.bot,
24
+ nodeType: flags.type,
25
+ positionX: flags.x,
26
+ positionY: flags.y,
27
+ });
28
+ const client = await createCliApiClient(flags);
29
+ const node = await client.put(`/v1/flows/${args.flowId}/nodes/${args.nodeId}`, payload);
30
+ if (!flags.quiet)
31
+ this.log(this.toFormatted(node));
32
+ }
33
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class FlowsCreate extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ channel: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
6
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ description: 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
+ folder: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
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,32 @@
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 FlowsCreate extends BaseCommand {
7
+ static description = 'Create a flow';
8
+ static flags = {
9
+ ...BaseCommand.baseFlags,
10
+ channel: Flags.integer({ description: 'Channel ID', required: true }),
11
+ name: Flags.string({ description: 'Flow name', required: true }),
12
+ description: Flags.string({ description: 'Flow description' }),
13
+ color: Flags.string({ description: 'Flow color as HEX' }),
14
+ folder: Flags.integer({ description: 'Folder ID' }),
15
+ data: Flags.string({ description: 'Additional JSON object payload' }),
16
+ };
17
+ async run() {
18
+ const { flags } = await this.parse(FlowsCreate);
19
+ this.flags = flags;
20
+ const payload = mergeData(parseDataFlag(flags.data), {
21
+ channelId: flags.channel,
22
+ name: flags.name,
23
+ description: flags.description,
24
+ color: flags.color,
25
+ folderId: flags.folder,
26
+ });
27
+ const client = await createCliApiClient(flags);
28
+ const flow = await createResource(client, '/v1/flows', payload);
29
+ if (!flags.quiet)
30
+ this.log(this.toFormatted(flow));
31
+ }
32
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class FlowsDelete 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 FlowsDelete extends BaseCommand {
6
+ static description = 'Delete a flow';
7
+ static args = {
8
+ id: Args.integer({ description: 'Flow ID', required: true }),
9
+ };
10
+ static flags = { ...BaseCommand.baseFlags };
11
+ async run() {
12
+ const { args, flags } = await this.parse(FlowsDelete);
13
+ this.flags = flags;
14
+ const client = await createCliApiClient(flags);
15
+ await deleteResource(client, '/v1/flows', 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 FlowsGet 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
+ }