@great-detail/support-cli 0.1.0

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 (2) hide show
  1. package/dist/cli.js +2 -0
  2. package/package.json +46 -0
package/dist/cli.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import{Command as j}from"commander";import{Client as y}from"@great-detail/support-sdk";import{Command as O}from"commander";function i({client:t}){let o=new O("actions").description("Actions");return o.addCommand(new O("list").description("List actions").action(async()=>{let n=await t.action.list().json();console.log(n)})),o}import{Command as g}from"commander";function m({client:t}){let o=new g("channels").description("Channels");return o.addCommand(new g("list").description("List channels").action(async()=>{let n=await t.channel.list().json();console.log(n)})),o}import{Command as e}from"commander";function c({client:t}){let o=new e("contacts").description("Contacts");return o.addCommand(new e("get").description("Find contact").argument("<contact>","Contact ID").action(async n=>{let s=await t.contact.get(n).json();console.log(s)})),o.addCommand(new e("list").description("List contacts").action(async()=>{let n=await t.contact.list().json();console.log(n)})),o.addCommand(new e("get-vcf").description("Export Contact as VCF").argument("<contact>","Contact ID").action(async n=>{let s=await t.contact.getVCF(n).response();console.log(s)})),o}import{Command as r}from"commander";function d({client:t}){let o=new r("conversations").description("Conversations");return o.addCommand(new r("get").description("Find conversation").argument("<conversation>","Conversation ID").action(async n=>{let s=await t.conversation.get(n).json();console.log(s)})),o.addCommand(new r("list").description("List conversations").action(async()=>{let n=await t.conversation.list().json();console.log(n)})),o}import{Command as p}from"commander";function l({client:t}){let o=new p("labels").description("Labels");return o.addCommand(new p("get").description("Find label").argument("<label>","Label ID").action(async n=>{let s=await t.label.get(n).json();console.log(s)})),o.addCommand(new p("list").description("List labels").action(async()=>{let n=await t.label.list().json();console.log(n)})),o}import{Command as w}from"commander";function u({client:t}){let o=new w("messages").description("Messages");return o.addCommand(new w("list").description("List messages").action(async()=>{let n=await t.message.list().json();console.log(n)})),o}import{Command as C}from"commander";function f({client:t}){let o=new C("sources").description("Sources");return o.addCommand(new C("get").description("Find source").argument("<source>","Source ID").action(async n=>{let s=await t.source.get(n).json();console.log(s)})),o.addCommand(new C("list").description("List sources").action(async()=>{let n=await t.source.list().json();console.log(n)})),o}var a={client:new y(new y.PublicAuthentication)},v=new j("gds").description("Great Detail Support System").addCommand(i(a)).addCommand(m(a)).addCommand(c(a)).addCommand(d(a)).addCommand(l(a)).addCommand(u(a)).addCommand(f(a)),x=v;x.parseAsync(process.argv);
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@great-detail/support-cli",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "CLI for the Great Detail Support System",
6
+ "author": "Great Detail Ltd <info@greatdetail.com>",
7
+ "contributors": [
8
+ "Dom Webber <dom.webber@hotmail.com>",
9
+ "Great Detail Ltd <info@greatdetail.com>"
10
+ ],
11
+ "license": "MIT",
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
15
+ "bin": {
16
+ "support-cli": "dist/cli.js"
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "keywords": [
22
+ "CLI"
23
+ ],
24
+ "dependencies": {
25
+ "commander": "^14.0.0",
26
+ "@great-detail/support-sdk": ""
27
+ },
28
+ "devDependencies": {
29
+ "@great-detail/eslint-config": "^1.1.0",
30
+ "@types/node": "^24.1.0",
31
+ "cobertura": "^1.0.3",
32
+ "publint": "^0.3.12",
33
+ "tsup": "^8.5.0",
34
+ "tsx": "^4.19.4",
35
+ "typescript": "^5.8.3"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public",
39
+ "provenance": false
40
+ },
41
+ "scripts": {
42
+ "build": "tsup src/entrypoint/cli.ts --format esm --minify",
43
+ "test": "node --import tsx --test --experimental-test-coverage src/__tests__/**/*.test.ts src/__tests__/*.test.ts",
44
+ "typecheck": "tsc --noEmit"
45
+ }
46
+ }