@burdenoff/cli-sdk 2026.1101.1 → 2026.1102.1
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/dist/{chunk-REBBLQFS.js → chunk-AYNNSLCL.js} +360 -379
- package/dist/modules/auth/index.cjs +31 -31
- package/dist/modules/auth/index.js +1 -1
- package/dist/modules/billing/index.cjs +18 -18
- package/dist/modules/billing/index.js +22 -22
- package/dist/modules/devportal/index.cjs +40 -34
- package/dist/modules/devportal/index.js +49 -43
- package/dist/modules/sandbox/index.cjs +27 -46
- package/dist/modules/sandbox/index.js +1 -1
- package/dist/modules/store/index.cjs +46 -40
- package/dist/modules/store/index.js +45 -39
- package/dist/modules/vibecontrols/index.cjs +332 -332
- package/dist/modules/vibecontrols/index.js +4 -4
- package/package.json +1 -1
|
@@ -1,33 +1,36 @@
|
|
|
1
|
-
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var l=class extends Error{exitCode;hint;constructor(a,d){super(a),this.name="CliUserError",this.exitCode=d?.exitCode??1,this.hint=d?.hint;}};var
|
|
2
|
-
query
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var l=class extends Error{exitCode;hint;constructor(a,d){super(a),this.name="CliUserError",this.exitCode=d?.exitCode??1,this.hint=d?.hint;}};var m=class extends Error{cause;constructor(a,d){super(a),this.name="CliInternalError",this.cause=d;}};var C=null;function b(s){C=s;}function I(){if(!C)throw new m("vibecontrols module helpers used before setHelpersContext was called");return C}async function r(s,a){return I().gql.global.request(s,a)}function i(s){let a=s instanceof Error?s.message:String(s);throw new l(a)}function c(s,a,d){I().output.formatAndOutput(s,a,d);}function u(s){I().output.printSuccess(s);}function k(s){return I().output.formatStatus(s)}function A(s,a){return I().output.truncate(s,a)}var E=`
|
|
2
|
+
query ListDeveloperOrganizations($limit: Int, $offset: Int) {
|
|
3
|
+
developerOrganizations(limit: $limit, offset: $offset) {
|
|
4
|
+
edges { node { id name slug tier isVerified totalApps publishedApps } }
|
|
5
|
+
totalCount
|
|
6
|
+
pageInfo { hasNextPage endCursor }
|
|
6
7
|
}
|
|
7
8
|
}
|
|
8
|
-
`,
|
|
9
|
-
query
|
|
10
|
-
|
|
11
|
-
id name description
|
|
9
|
+
`,O=`
|
|
10
|
+
query GetDeveloperOrganization($id: ID!) {
|
|
11
|
+
developerOrganization(id: $id) {
|
|
12
|
+
id name slug description tier isVerified isCertified
|
|
13
|
+
totalApps publishedApps totalRevenue contactEmail supportEmail websiteUrl
|
|
14
|
+
createdAt updatedAt
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
17
|
`,S=`
|
|
15
|
-
mutation
|
|
16
|
-
|
|
17
|
-
id name slug
|
|
18
|
+
mutation CreateDeveloperOrganization($input: CreateDeveloperOrganizationInput!) {
|
|
19
|
+
createDeveloperOrganization(input: $input) {
|
|
20
|
+
id name slug description tier
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
`,R=`
|
|
21
|
-
mutation
|
|
22
|
-
|
|
23
|
-
id name updatedAt
|
|
24
|
+
mutation UpdateDeveloperOrganization($id: ID!, $input: UpdateDeveloperOrganizationInput!) {
|
|
25
|
+
updateDeveloperOrganization(id: $id, input: $input) {
|
|
26
|
+
id name description updatedAt
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
|
-
`,P=`
|
|
27
|
-
mutation DeleteOrganization($id: ID!) {
|
|
28
|
-
deleteOrganization(id: $id) { success }
|
|
29
|
-
}
|
|
30
29
|
`,D=`
|
|
30
|
+
mutation DeleteDeveloperOrganization($id: ID!) {
|
|
31
|
+
deleteDeveloperOrganization(id: $id)
|
|
32
|
+
}
|
|
33
|
+
`,P=`
|
|
31
34
|
query ListApplications($organizationId: ID, $status: AppStatus, $limit: Int) {
|
|
32
35
|
applications(organizationId: $organizationId, status: $status, limit: $limit) {
|
|
33
36
|
edges { node { id name status installCount averageRating } }
|
|
@@ -40,13 +43,13 @@
|
|
|
40
43
|
id name status reviewStatus publishedAt installCount
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
|
-
`,
|
|
46
|
+
`,L=`
|
|
44
47
|
mutation CreateApplication($input: CreateApplicationInput!) {
|
|
45
48
|
createApplication(input: $input) {
|
|
46
49
|
id name status appId
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
|
-
`,
|
|
52
|
+
`,N=`
|
|
50
53
|
mutation UpdateApplication($id: ID!, $input: UpdateApplicationInput!) {
|
|
51
54
|
updateApplication(id: $id, input: $input) {
|
|
52
55
|
id description updatedAt
|
|
@@ -68,12 +71,13 @@
|
|
|
68
71
|
mutation DeleteApplication($id: ID!) {
|
|
69
72
|
deleteApplication(id: $id)
|
|
70
73
|
}
|
|
71
|
-
`,
|
|
74
|
+
`,U=`
|
|
72
75
|
query ApplicationVersions($applicationId: ID!) {
|
|
73
76
|
application(id: $applicationId) {
|
|
74
77
|
id
|
|
75
78
|
versions {
|
|
76
|
-
id version status isLatest isStable releaseNotes
|
|
79
|
+
edges { node { id version status isLatest isStable releaseNotes publishedAt } }
|
|
80
|
+
totalCount
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -83,21 +87,22 @@
|
|
|
83
87
|
id version status publishedAt
|
|
84
88
|
}
|
|
85
89
|
}
|
|
86
|
-
`,
|
|
90
|
+
`,G=`
|
|
87
91
|
query ListDevportalWebhooks($applicationId: ID!) {
|
|
88
92
|
webhooks(applicationId: $applicationId) {
|
|
89
93
|
id name url events isActive status failureCount
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
`,V=`
|
|
93
|
-
mutation CreateDevportalWebhook($input: CreateWebhookInput!) {
|
|
94
|
-
createWebhook(input: $input) {
|
|
95
|
-
|
|
97
|
+
mutation CreateDevportalWebhook($applicationId: ID!, $input: CreateWebhookInput!) {
|
|
98
|
+
createWebhook(applicationId: $applicationId, input: $input) {
|
|
99
|
+
secret
|
|
100
|
+
webhook { id name url events isActive status }
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
`,F=`
|
|
99
104
|
mutation DeleteDevportalWebhook($id: ID!) {
|
|
100
|
-
deleteWebhook(id: $id)
|
|
105
|
+
deleteWebhook(id: $id)
|
|
101
106
|
}
|
|
102
107
|
`,j=`
|
|
103
108
|
query ApplicationAnalytics($applicationId: ID!, $period: String!, $startDate: DateTime, $endDate: DateTime) {
|
|
@@ -106,15 +111,16 @@
|
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
113
|
`,M=`
|
|
109
|
-
query OrganizationRevenue($organizationId: ID!, $period: String) {
|
|
114
|
+
query OrganizationRevenue($organizationId: ID!, $period: String!) {
|
|
110
115
|
developerOrgRevenueSummary(organizationId: $organizationId, period: $period) {
|
|
111
|
-
|
|
116
|
+
period currency totalGrossRevenue totalNetRevenue totalPlatformFees totalRefunds
|
|
117
|
+
totalSales pendingBalance nextPayoutAmount nextPayoutDate
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
120
|
`,B=`
|
|
115
|
-
query AdminReviews($status:
|
|
116
|
-
|
|
117
|
-
edges { node { id
|
|
121
|
+
query AdminReviews($status: AppStatus, $limit: Int, $offset: Int) {
|
|
122
|
+
applications(status: $status, limit: $limit, offset: $offset) {
|
|
123
|
+
edges { node { id name slug status reviewStatus reviewNotes submittedAt lastReviewedAt } }
|
|
118
124
|
totalCount
|
|
119
125
|
}
|
|
120
126
|
}
|
|
@@ -130,4 +136,4 @@
|
|
|
130
136
|
id status reviewStatus reviewNotes
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
|
-
`;function K(s){let a=s.command("devportal").description("Developer portal: orgs, apps, webhooks, revenue"),d=a.command("orgs").description("Publisher organizations");d.command("list").description("List devportal organizations").option("--limit <n>","Page size",
|
|
139
|
+
`;function K(s){let a=s.command("devportal").description("Developer portal: orgs, apps, webhooks, revenue"),d=a.command("orgs").description("Publisher organizations");d.command("list").description("List devportal organizations").option("--limit <n>","Page size",e=>parseInt(e,10),50).option("-f, --format <format>").action(async e=>{try{let n=(await r(E,{limit:e.limit,offset:0})).developerOrganizations.edges.map(o=>o.node);c(e,n,{headers:["ID","Name","Slug","Tier","Verified","Apps"],rows:n.map(o=>[A(o.id,12),o.name,o.slug??"-",o.tier??"-",String(!!o.isVerified),String(o.totalApps??0)])});}catch(t){i(t);}}),d.command("get").description("Get an organization").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await r(O,{id:e});if(!n.developerOrganization)throw new l(`Organization ${e} not found`);c(t,n.developerOrganization);}catch(n){i(n);}}),d.command("create").description("Create a publisher organization").requiredOption("--name <s>").option("--slug <s>","Unique slug (derived from the name when omitted)").option("--description <s>").option("--contact-email <email>").option("--website <url>").option("-f, --format <format>").action(async e=>{try{let t={name:e.name,slug:e.slug,description:e.description,contactEmail:e.contactEmail,websiteUrl:e.website},n=await r(S,{input:t});u(`Organization created: ${n.createDeveloperOrganization.name}`),c(e,n.createDeveloperOrganization);}catch(t){i(t);}}),d.command("update").description("Update an organization").argument("<id>").option("--name <s>").option("--description <s>").option("-f, --format <format>").action(async(e,t)=>{try{let n={};if(t.name&&(n.name=t.name),t.description!==void 0&&(n.description=t.description),!Object.keys(n).length)throw new l("No updates specified");let o=await r(R,{id:e,input:n});u("Organization updated"),c(t,o.updateDeveloperOrganization);}catch(n){i(n);}}),d.command("delete").description("Delete an organization").argument("<id>").action(async e=>{try{await r(D,{id:e}),u("Organization deleted");}catch(t){i(t);}});let g=a.command("apps").description("Applications");g.command("list").description("List applications").option("--organization <id>").option("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|APPROVED|PUBLISHED|REJECTED|SUSPENDED").option("--limit <n>","Page size",e=>parseInt(e,10),50).option("-f, --format <format>").action(async e=>{try{let n=(await r(P,{organizationId:e.organization,status:e.status?.toUpperCase(),limit:e.limit})).applications.edges.map(o=>o.node);c(e,n,{headers:["ID","Name","Status","Installs","Rating"],rows:n.map(o=>[A(o.id,12),o.name,k(o.status),String(o.installCount??0),String(o.averageRating??"-")])});}catch(t){i(t);}}),g.command("get").description("Get an application").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await r($,{id:e});if(!n.application)throw new l(`Application ${e} not found`);c(t,n.application);}catch(n){i(n);}}),g.command("create").description("Create an application").requiredOption("--name <s>").requiredOption("--organization <id>").option("--type <t>","API_INTEGRATION|WEB_APP|MOBILE_APP","API_INTEGRATION").option("--description <s>").option("-f, --format <format>").action(async e=>{try{let t={name:e.name,developerOrganizationId:e.organization,appType:(e.type??"API_INTEGRATION").toUpperCase(),description:e.description},n=await r(L,{input:t});u(`Application created: ${n.createApplication.name}`),c(e,n.createApplication);}catch(t){i(t);}}),g.command("update").description("Update an application").argument("<id>").option("--description <s>").option("--pricing <p>","FREE|PAID_ONETIME|SUBSCRIPTION").option("--docs-url <url>").option("-f, --format <format>").action(async(e,t)=>{try{let n={};if(t.description!==void 0&&(n.description=t.description),t.pricing&&(n.pricingType=t.pricing.toUpperCase()),t.docsUrl&&(n.documentationUrl=t.docsUrl),!Object.keys(n).length)throw new l("No updates specified");let o=await r(N,{id:e,input:n});u("Application updated"),c(t,o.updateApplication);}catch(n){i(n);}}),g.command("submit-review").description("Submit an application for review").argument("<id>").option("--notes <s>").action(async(e,t)=>{try{await r(_,{id:e,notes:t.notes}),u("Submitted for review");}catch(n){i(n);}}),g.command("publish").description("Publish an application").argument("<id>").action(async e=>{try{await r(q,{id:e}),u("Application published");}catch(t){i(t);}}),g.command("delete").description("Delete an application").argument("<id>").action(async e=>{try{await r(z,{id:e}),u("Application deleted");}catch(t){i(t);}});let y=g.command("versions").description("Application versions");y.command("list").description("List versions for an application").argument("<applicationId>").option("-f, --format <format>").action(async(e,t)=>{try{let o=(await r(U,{applicationId:e})).application?.versions.edges.map(f=>f.node)??[];c(t,o,{headers:["ID","Version","Status","Latest","Stable"],rows:o.map(f=>[A(f.id,12),f.version,k(f.status),String(!!f.isLatest),String(!!f.isStable)])});}catch(n){i(n);}}),y.command("create").description("Create an application version").requiredOption("--application <id>").requiredOption("--version <v>").option("--notes <s>").option("--package <url>","Package URL").option("-f, --format <format>").action(async e=>{try{let t={version:e.version,releaseNotes:e.notes,packageUrl:e.package},n=await r(W,{applicationId:e.application,input:t});u(`Version created: ${n.createApplicationVersion.version}`),c(e,n.createApplicationVersion);}catch(t){i(t);}});let w=g.command("webhooks").description("Application webhooks");w.command("list").description("List webhooks for an application").argument("<applicationId>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await r(G,{applicationId:e});c(t,n.webhooks,{headers:["ID","Name","URL","Active","Failures"],rows:n.webhooks.map(o=>[A(o.id,12),o.name,A(o.url,40),String(!!o.isActive),String(o.failureCount??0)])});}catch(n){i(n);}}),w.command("add").description("Add a webhook to an application").requiredOption("--application <id>").requiredOption("--name <s>").requiredOption("--url <url>").requiredOption("--events <s>","Comma-separated event names").option("--max-retries <n>","",e=>parseInt(e,10),5).option("-f, --format <format>").action(async e=>{try{let t={name:e.name,url:e.url,events:e.events.split(",").map(o=>o.trim()).filter(Boolean),retryEnabled:!0,maxRetries:e.maxRetries},n=await r(V,{applicationId:e.application,input:t});u("Webhook created. Store the signing secret now: it is shown only once."),c(e,n.createWebhook);}catch(t){i(t);}}),w.command("remove").description("Remove a webhook").argument("<id>").action(async e=>{try{await r(F,{id:e}),u("Webhook removed");}catch(t){i(t);}}),g.command("analytics").description("Application analytics for a period").requiredOption("--application <id>").option("--period <p>","LAST_7_DAYS|LAST_30_DAYS|CUSTOM","LAST_30_DAYS").option("--from <iso>").option("--to <iso>").option("-f, --format <format>").action(async e=>{try{let t=await r(j,{applicationId:e.application,period:(e.period??"LAST_30_DAYS").toUpperCase(),startDate:e.from,endDate:e.to});c(e,t.applicationAnalytics);}catch(t){i(t);}}),a.command("revenue").description("Revenue for an organization").requiredOption("--organization <id>").option("--period <p>","LAST_7_DAYS|LAST_30_DAYS|YTD","LAST_30_DAYS").option("-f, --format <format>").action(async e=>{try{let t=await r(M,{organizationId:e.organization,period:(e.period??"LAST_30_DAYS").toUpperCase()});c(e,t.developerOrgRevenueSummary);}catch(t){i(t);}});let h=a.command("admin").description("Admin operations").command("reviews").description("Application review queue");h.command("list").description("List applications pending review").option("--status <s>","SUBMITTED|IN_REVIEW","SUBMITTED").option("--limit <n>","Page size",e=>parseInt(e,10),50).option("-f, --format <format>").action(async e=>{try{let t=await r(B,{status:(e.status??"SUBMITTED").toUpperCase(),limit:e.limit});c(e,t.applications.edges.map(n=>n.node));}catch(t){i(t);}}),h.command("approve").description("Approve an application").argument("<applicationId>").option("--notes <s>").action(async(e,t)=>{try{await r(H,{id:e,notes:t.notes}),u("Application approved");}catch(n){i(n);}}),h.command("reject").description("Reject an application").argument("<applicationId>").requiredOption("--notes <s>","Reason for rejection").action(async(e,t)=>{try{await r(Y,{id:e,notes:t.notes}),u("Application rejected");}catch(n){i(n);}});}var ce={id:"devportal",version:"1.0.0",displayName:"Developer Portal",dependsOn:["auth"],register(s,a){b(a),K(s);}},Ct=ce;module.exports=Ct;
|
|
@@ -1,79 +1,83 @@
|
|
|
1
|
-
import {a,c,h as h$1,p,
|
|
2
|
-
query
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import {a,c,h as h$1,p,g,i,n}from'../../chunk-W4JZR7RJ.js';import {o}from'../../chunk-YIY5IDXQ.js';var R=`
|
|
2
|
+
query ListDeveloperOrganizations($limit: Int, $offset: Int) {
|
|
3
|
+
developerOrganizations(limit: $limit, offset: $offset) {
|
|
4
|
+
edges { node { id name slug tier isVerified totalApps publishedApps } }
|
|
5
|
+
totalCount
|
|
6
|
+
pageInfo { hasNextPage endCursor }
|
|
6
7
|
}
|
|
7
8
|
}
|
|
8
9
|
`,w=`
|
|
9
|
-
query
|
|
10
|
-
|
|
11
|
-
id name description
|
|
10
|
+
query GetDeveloperOrganization($id: ID!) {
|
|
11
|
+
developerOrganization(id: $id) {
|
|
12
|
+
id name slug description tier isVerified isCertified
|
|
13
|
+
totalApps publishedApps totalRevenue contactEmail supportEmail websiteUrl
|
|
14
|
+
createdAt updatedAt
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
|
-
`,
|
|
15
|
-
mutation
|
|
16
|
-
|
|
17
|
-
id name slug
|
|
17
|
+
`,D=`
|
|
18
|
+
mutation CreateDeveloperOrganization($input: CreateDeveloperOrganizationInput!) {
|
|
19
|
+
createDeveloperOrganization(input: $input) {
|
|
20
|
+
id name slug description tier
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
|
-
`,
|
|
21
|
-
mutation
|
|
22
|
-
|
|
23
|
-
id name updatedAt
|
|
23
|
+
`,S=`
|
|
24
|
+
mutation UpdateDeveloperOrganization($id: ID!, $input: UpdateDeveloperOrganizationInput!) {
|
|
25
|
+
updateDeveloperOrganization(id: $id, input: $input) {
|
|
26
|
+
id name description updatedAt
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
|
-
`,
|
|
27
|
-
mutation
|
|
28
|
-
|
|
29
|
+
`,C=`
|
|
30
|
+
mutation DeleteDeveloperOrganization($id: ID!) {
|
|
31
|
+
deleteDeveloperOrganization(id: $id)
|
|
29
32
|
}
|
|
30
|
-
`,
|
|
33
|
+
`,y=`
|
|
31
34
|
query ListApplications($organizationId: ID, $status: AppStatus, $limit: Int) {
|
|
32
35
|
applications(organizationId: $organizationId, status: $status, limit: $limit) {
|
|
33
36
|
edges { node { id name status installCount averageRating } }
|
|
34
37
|
totalCount
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
|
-
`,
|
|
40
|
+
`,P=`
|
|
38
41
|
query GetApplication($id: ID!) {
|
|
39
42
|
application(id: $id) {
|
|
40
43
|
id name status reviewStatus publishedAt installCount
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
|
-
|
|
46
|
+
`,h=`
|
|
44
47
|
mutation CreateApplication($input: CreateApplicationInput!) {
|
|
45
48
|
createApplication(input: $input) {
|
|
46
49
|
id name status appId
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
|
-
`,
|
|
52
|
+
`,N=`
|
|
50
53
|
mutation UpdateApplication($id: ID!, $input: UpdateApplicationInput!) {
|
|
51
54
|
updateApplication(id: $id, input: $input) {
|
|
52
55
|
id description updatedAt
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
|
-
|
|
58
|
+
`,$=`
|
|
56
59
|
mutation SubmitApplicationForReview($id: ID!, $notes: String) {
|
|
57
60
|
submitApplicationForReview(id: $id, notes: $notes) {
|
|
58
61
|
id status reviewStatus submittedAt
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
|
-
`,
|
|
64
|
+
`,b=`
|
|
62
65
|
mutation PublishApplication($id: ID!) {
|
|
63
66
|
publishApplication(id: $id) {
|
|
64
67
|
id status publishedAt
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
|
-
`,
|
|
70
|
+
`,_=`
|
|
68
71
|
mutation DeleteApplication($id: ID!) {
|
|
69
72
|
deleteApplication(id: $id)
|
|
70
73
|
}
|
|
71
|
-
`,
|
|
74
|
+
`,L=`
|
|
72
75
|
query ApplicationVersions($applicationId: ID!) {
|
|
73
76
|
application(id: $applicationId) {
|
|
74
77
|
id
|
|
75
78
|
versions {
|
|
76
|
-
id version status isLatest isStable releaseNotes
|
|
79
|
+
edges { node { id version status isLatest isStable releaseNotes publishedAt } }
|
|
80
|
+
totalCount
|
|
77
81
|
}
|
|
78
82
|
}
|
|
79
83
|
}
|
|
@@ -90,44 +94,46 @@ import {a,c,h as h$1,p,n,g,i}from'../../chunk-W4JZR7RJ.js';import {o}from'../../
|
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
`,U=`
|
|
93
|
-
mutation CreateDevportalWebhook($input: CreateWebhookInput!) {
|
|
94
|
-
createWebhook(input: $input) {
|
|
95
|
-
|
|
97
|
+
mutation CreateDevportalWebhook($applicationId: ID!, $input: CreateWebhookInput!) {
|
|
98
|
+
createWebhook(applicationId: $applicationId, input: $input) {
|
|
99
|
+
secret
|
|
100
|
+
webhook { id name url events isActive status }
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
`,x=`
|
|
99
104
|
mutation DeleteDevportalWebhook($id: ID!) {
|
|
100
|
-
deleteWebhook(id: $id)
|
|
105
|
+
deleteWebhook(id: $id)
|
|
101
106
|
}
|
|
102
|
-
`,
|
|
107
|
+
`,V=`
|
|
103
108
|
query ApplicationAnalytics($applicationId: ID!, $period: String!, $startDate: DateTime, $endDate: DateTime) {
|
|
104
109
|
applicationAnalytics(applicationId: $applicationId, period: $period, startDate: $startDate, endDate: $endDate) {
|
|
105
110
|
date period activeUsers apiCalls avgResponseTime sessions
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
|
-
`,
|
|
109
|
-
query OrganizationRevenue($organizationId: ID!, $period: String) {
|
|
113
|
+
`,W=`
|
|
114
|
+
query OrganizationRevenue($organizationId: ID!, $period: String!) {
|
|
110
115
|
developerOrgRevenueSummary(organizationId: $organizationId, period: $period) {
|
|
111
|
-
|
|
116
|
+
period currency totalGrossRevenue totalNetRevenue totalPlatformFees totalRefunds
|
|
117
|
+
totalSales pendingBalance nextPayoutAmount nextPayoutDate
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
|
-
`,
|
|
115
|
-
query AdminReviews($status:
|
|
116
|
-
|
|
117
|
-
edges { node { id
|
|
120
|
+
`,G=`
|
|
121
|
+
query AdminReviews($status: AppStatus, $limit: Int, $offset: Int) {
|
|
122
|
+
applications(status: $status, limit: $limit, offset: $offset) {
|
|
123
|
+
edges { node { id name slug status reviewStatus reviewNotes submittedAt lastReviewedAt } }
|
|
118
124
|
totalCount
|
|
119
125
|
}
|
|
120
126
|
}
|
|
121
|
-
`,
|
|
127
|
+
`,B=`
|
|
122
128
|
mutation ApproveApplication($id: ID!, $notes: String) {
|
|
123
129
|
approveApplication(id: $id, notes: $notes) {
|
|
124
130
|
id status reviewStatus publishedAt
|
|
125
131
|
}
|
|
126
132
|
}
|
|
127
|
-
`,
|
|
133
|
+
`,q=`
|
|
128
134
|
mutation RejectApplication($id: ID!, $notes: String!) {
|
|
129
135
|
rejectApplication(id: $id, notes: $notes) {
|
|
130
136
|
id status reviewStatus reviewNotes
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
|
-
`;function
|
|
139
|
+
`;function M(g$1){let d=g$1.command("devportal").description("Developer portal: orgs, apps, webhooks, revenue"),m=d.command("orgs").description("Publisher organizations");m.command("list").description("List devportal organizations").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>").action(async t=>{try{let e=(await c(R,{limit:t.limit,offset:0})).developerOrganizations.edges.map(n=>n.node);h$1(t,e,{headers:["ID","Name","Slug","Tier","Verified","Apps"],rows:e.map(n=>[p(n.id,12),n.name,n.slug??"-",n.tier??"-",String(!!n.isVerified),String(n.totalApps??0)])});}catch(i){g(i);}}),m.command("get").description("Get an organization").argument("<id>").option("-f, --format <format>").action(async(t,i)=>{try{let e=await c(w,{id:t});if(!e.developerOrganization)throw new o(`Organization ${t} not found`);h$1(i,e.developerOrganization);}catch(e){g(e);}}),m.command("create").description("Create a publisher organization").requiredOption("--name <s>").option("--slug <s>","Unique slug (derived from the name when omitted)").option("--description <s>").option("--contact-email <email>").option("--website <url>").option("-f, --format <format>").action(async t=>{try{let i$1={name:t.name,slug:t.slug,description:t.description,contactEmail:t.contactEmail,websiteUrl:t.website},e=await c(D,{input:i$1});i(`Organization created: ${e.createDeveloperOrganization.name}`),h$1(t,e.createDeveloperOrganization);}catch(i){g(i);}}),m.command("update").description("Update an organization").argument("<id>").option("--name <s>").option("--description <s>").option("-f, --format <format>").action(async(t,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.description!==void 0&&(e.description=i$1.description),!Object.keys(e).length)throw new o("No updates specified");let n=await c(S,{id:t,input:e});i("Organization updated"),h$1(i$1,n.updateDeveloperOrganization);}catch(e){g(e);}}),m.command("delete").description("Delete an organization").argument("<id>").action(async t=>{try{await c(C,{id:t}),i("Organization deleted");}catch(i){g(i);}});let p$1=d.command("apps").description("Applications");p$1.command("list").description("List applications").option("--organization <id>").option("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|APPROVED|PUBLISHED|REJECTED|SUSPENDED").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>").action(async t=>{try{let e=(await c(y,{organizationId:t.organization,status:t.status?.toUpperCase(),limit:t.limit})).applications.edges.map(n=>n.node);h$1(t,e,{headers:["ID","Name","Status","Installs","Rating"],rows:e.map(n$1=>[p(n$1.id,12),n$1.name,n(n$1.status),String(n$1.installCount??0),String(n$1.averageRating??"-")])});}catch(i){g(i);}}),p$1.command("get").description("Get an application").argument("<id>").option("-f, --format <format>").action(async(t,i)=>{try{let e=await c(P,{id:t});if(!e.application)throw new o(`Application ${t} not found`);h$1(i,e.application);}catch(e){g(e);}}),p$1.command("create").description("Create an application").requiredOption("--name <s>").requiredOption("--organization <id>").option("--type <t>","API_INTEGRATION|WEB_APP|MOBILE_APP","API_INTEGRATION").option("--description <s>").option("-f, --format <format>").action(async t=>{try{let i$1={name:t.name,developerOrganizationId:t.organization,appType:(t.type??"API_INTEGRATION").toUpperCase(),description:t.description},e=await c(h,{input:i$1});i(`Application created: ${e.createApplication.name}`),h$1(t,e.createApplication);}catch(i){g(i);}}),p$1.command("update").description("Update an application").argument("<id>").option("--description <s>").option("--pricing <p>","FREE|PAID_ONETIME|SUBSCRIPTION").option("--docs-url <url>").option("-f, --format <format>").action(async(t,i$1)=>{try{let e={};if(i$1.description!==void 0&&(e.description=i$1.description),i$1.pricing&&(e.pricingType=i$1.pricing.toUpperCase()),i$1.docsUrl&&(e.documentationUrl=i$1.docsUrl),!Object.keys(e).length)throw new o("No updates specified");let n=await c(N,{id:t,input:e});i("Application updated"),h$1(i$1,n.updateApplication);}catch(e){g(e);}}),p$1.command("submit-review").description("Submit an application for review").argument("<id>").option("--notes <s>").action(async(t,i$1)=>{try{await c($,{id:t,notes:i$1.notes}),i("Submitted for review");}catch(e){g(e);}}),p$1.command("publish").description("Publish an application").argument("<id>").action(async t=>{try{await c(b,{id:t}),i("Application published");}catch(i){g(i);}}),p$1.command("delete").description("Delete an application").argument("<id>").action(async t=>{try{await c(_,{id:t}),i("Application deleted");}catch(i){g(i);}});let O=p$1.command("versions").description("Application versions");O.command("list").description("List versions for an application").argument("<applicationId>").option("-f, --format <format>").action(async(t,i)=>{try{let n$1=(await c(L,{applicationId:t})).application?.versions.edges.map(c=>c.node)??[];h$1(i,n$1,{headers:["ID","Version","Status","Latest","Stable"],rows:n$1.map(c=>[p(c.id,12),c.version,n(c.status),String(!!c.isLatest),String(!!c.isStable)])});}catch(e){g(e);}}),O.command("create").description("Create an application version").requiredOption("--application <id>").requiredOption("--version <v>").option("--notes <s>").option("--package <url>","Package URL").option("-f, --format <format>").action(async t=>{try{let i$1={version:t.version,releaseNotes:t.notes,packageUrl:t.package},e=await c(z,{applicationId:t.application,input:i$1});i(`Version created: ${e.createApplicationVersion.version}`),h$1(t,e.createApplicationVersion);}catch(i){g(i);}});let A=p$1.command("webhooks").description("Application webhooks");A.command("list").description("List webhooks for an application").argument("<applicationId>").option("-f, --format <format>").action(async(t,i)=>{try{let e=await c(k,{applicationId:t});h$1(i,e.webhooks,{headers:["ID","Name","URL","Active","Failures"],rows:e.webhooks.map(n=>[p(n.id,12),n.name,p(n.url,40),String(!!n.isActive),String(n.failureCount??0)])});}catch(e){g(e);}}),A.command("add").description("Add a webhook to an application").requiredOption("--application <id>").requiredOption("--name <s>").requiredOption("--url <url>").requiredOption("--events <s>","Comma-separated event names").option("--max-retries <n>","",t=>parseInt(t,10),5).option("-f, --format <format>").action(async t=>{try{let i$1={name:t.name,url:t.url,events:t.events.split(",").map(n=>n.trim()).filter(Boolean),retryEnabled:!0,maxRetries:t.maxRetries},e=await c(U,{applicationId:t.application,input:i$1});i("Webhook created. Store the signing secret now: it is shown only once."),h$1(t,e.createWebhook);}catch(i){g(i);}}),A.command("remove").description("Remove a webhook").argument("<id>").action(async t=>{try{await c(x,{id:t}),i("Webhook removed");}catch(i){g(i);}}),p$1.command("analytics").description("Application analytics for a period").requiredOption("--application <id>").option("--period <p>","LAST_7_DAYS|LAST_30_DAYS|CUSTOM","LAST_30_DAYS").option("--from <iso>").option("--to <iso>").option("-f, --format <format>").action(async t=>{try{let i=await c(V,{applicationId:t.application,period:(t.period??"LAST_30_DAYS").toUpperCase(),startDate:t.from,endDate:t.to});h$1(t,i.applicationAnalytics);}catch(i){g(i);}}),d.command("revenue").description("Revenue for an organization").requiredOption("--organization <id>").option("--period <p>","LAST_7_DAYS|LAST_30_DAYS|YTD","LAST_30_DAYS").option("-f, --format <format>").action(async t=>{try{let i=await c(W,{organizationId:t.organization,period:(t.period??"LAST_30_DAYS").toUpperCase()});h$1(t,i.developerOrgRevenueSummary);}catch(i){g(i);}});let I=d.command("admin").description("Admin operations").command("reviews").description("Application review queue");I.command("list").description("List applications pending review").option("--status <s>","SUBMITTED|IN_REVIEW","SUBMITTED").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>").action(async t=>{try{let i=await c(G,{status:(t.status??"SUBMITTED").toUpperCase(),limit:t.limit});h$1(t,i.applications.edges.map(e=>e.node));}catch(i){g(i);}}),I.command("approve").description("Approve an application").argument("<applicationId>").option("--notes <s>").action(async(t,i$1)=>{try{await c(B,{id:t,notes:i$1.notes}),i("Application approved");}catch(e){g(e);}}),I.command("reject").description("Reject an application").argument("<applicationId>").requiredOption("--notes <s>","Reason for rejection").action(async(t,i$1)=>{try{await c(q,{id:t,notes:i$1.notes}),i("Application rejected");}catch(e){g(e);}});}var Y={id:"devportal",version:"1.0.0",displayName:"Developer Portal",dependsOn:["auth"],register(g,d){a(d),M(g);}},it=Y;export{it as default};
|