@burdenoff/cli-sdk 2026.1102.1 → 2026.1102.3
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-O6UCQ5IT.js +1 -0
- package/dist/{chunk-AYNNSLCL.js → chunk-ZGT7IIOP.js} +409 -418
- package/dist/modules/adaptercloud/index.cjs +9 -6
- package/dist/modules/adaptercloud/index.js +7 -4
- package/dist/modules/artistrybase/index.js +2 -2
- package/dist/modules/assethandler/index.cjs +2 -2
- package/dist/modules/assethandler/index.js +2 -2
- package/dist/modules/atheletebridge/index.cjs +35 -21
- package/dist/modules/atheletebridge/index.js +33 -19
- package/dist/modules/auth/index.cjs +37 -37
- package/dist/modules/auth/index.js +33 -29
- package/dist/modules/billing/index.cjs +1 -1
- package/dist/modules/billing/index.js +2 -2
- package/dist/modules/brainyrich/index.cjs +44 -28
- package/dist/modules/brainyrich/index.js +47 -31
- package/dist/modules/buildmyiq/index.cjs +64 -67
- package/dist/modules/buildmyiq/index.js +60 -63
- package/dist/modules/channels/index.cjs +3 -3
- package/dist/modules/channels/index.js +2 -2
- package/dist/modules/collabkin/index.cjs +4 -4
- package/dist/modules/collabkin/index.js +2 -2
- package/dist/modules/comradecircle/index.cjs +24 -16
- package/dist/modules/comradecircle/index.js +20 -12
- package/dist/modules/conversations/index.cjs +7 -7
- package/dist/modules/conversations/index.js +2 -2
- package/dist/modules/coolandlovely/index.cjs +28 -15
- package/dist/modules/coolandlovely/index.js +30 -17
- package/dist/modules/cosmicintersection/index.cjs +6 -6
- package/dist/modules/cosmicintersection/index.js +2 -2
- package/dist/modules/crewfoundry/index.js +2 -2
- package/dist/modules/devportal/index.cjs +2 -2
- package/dist/modules/devportal/index.js +2 -2
- package/dist/modules/ecoimpacthub/index.cjs +23 -13
- package/dist/modules/ecoimpacthub/index.js +20 -10
- package/dist/modules/eventfullymanaged/index.cjs +74 -74
- package/dist/modules/eventfullymanaged/index.js +78 -78
- package/dist/modules/export/index.cjs +4 -4
- package/dist/modules/export/index.js +2 -2
- package/dist/modules/files/index.cjs +3 -3
- package/dist/modules/files/index.js +4 -4
- package/dist/modules/fluidgrids/index.cjs +16 -16
- package/dist/modules/fluidgrids/index.js +3 -3
- package/dist/modules/ggnomad/index.cjs +4 -4
- package/dist/modules/ggnomad/index.js +2 -2
- package/dist/modules/govcitizenhub/index.cjs +10 -7
- package/dist/modules/govcitizenhub/index.js +8 -5
- package/dist/modules/groups/index.cjs +4 -4
- package/dist/modules/groups/index.js +2 -2
- package/dist/modules/headshotmarketing/index.js +2 -2
- package/dist/modules/hookmovies/index.cjs +6 -6
- package/dist/modules/hookmovies/index.js +2 -2
- package/dist/modules/housingvista/index.cjs +3 -3
- package/dist/modules/housingvista/index.js +2 -2
- package/dist/modules/integrations/index.cjs +5 -5
- package/dist/modules/integrations/index.js +2 -2
- package/dist/modules/intelwatchtower/index.cjs +28 -16
- package/dist/modules/intelwatchtower/index.js +25 -13
- package/dist/modules/kadaikodi/index.cjs +2 -2
- package/dist/modules/kadaikodi/index.js +2 -2
- package/dist/modules/labsofscience/index.cjs +10 -6
- package/dist/modules/labsofscience/index.js +9 -5
- package/dist/modules/manufacturedops/index.cjs +35 -22
- package/dist/modules/manufacturedops/index.js +35 -22
- package/dist/modules/movethewheels/index.js +2 -2
- package/dist/modules/notifications/index.cjs +2 -2
- package/dist/modules/notifications/index.js +2 -2
- package/dist/modules/organizations/index.js +2 -2
- package/dist/modules/planmagnet/index.cjs +21 -21
- package/dist/modules/planmagnet/index.js +32 -32
- package/dist/modules/products/index.cjs +4 -4
- package/dist/modules/products/index.js +2 -2
- package/dist/modules/proserviceworld/index.cjs +18 -13
- package/dist/modules/proserviceworld/index.js +18 -13
- package/dist/modules/rbac/index.js +2 -2
- package/dist/modules/sandbox/index.cjs +17 -17
- package/dist/modules/sandbox/index.js +1 -1
- package/dist/modules/scheduler/index.cjs +2 -2
- package/dist/modules/scheduler/index.js +2 -2
- package/dist/modules/security/index.cjs +3 -3
- package/dist/modules/security/index.js +2 -2
- package/dist/modules/semanticfed/index.cjs +3 -3
- package/dist/modules/semanticfed/index.js +2 -2
- package/dist/modules/store/index.cjs +3 -3
- package/dist/modules/store/index.js +2 -2
- package/dist/modules/subscriberbot/index.cjs +43 -19
- package/dist/modules/subscriberbot/index.js +47 -23
- package/dist/modules/support/index.cjs +2 -2
- package/dist/modules/support/index.js +2 -2
- package/dist/modules/tags/index.js +2 -2
- package/dist/modules/technospam/index.cjs +18 -9
- package/dist/modules/technospam/index.js +18 -9
- package/dist/modules/theculturepost/index.cjs +27 -22
- package/dist/modules/theculturepost/index.js +32 -27
- package/dist/modules/theglobalfuel/index.cjs +65 -60
- package/dist/modules/theglobalfuel/index.js +65 -60
- package/dist/modules/timecampus/index.js +2 -2
- package/dist/modules/tours/index.cjs +2 -2
- package/dist/modules/tours/index.js +2 -2
- package/dist/modules/vibecontrols/index.cjs +563 -567
- package/dist/modules/vibecontrols/index.js +5 -4
- package/dist/modules/workspaces/index.cjs +4 -4
- package/dist/modules/workspaces/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-W4JZR7RJ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('graphql-request'),require('cross-fetch');var commander=require('commander');var p=class extends Error{exitCode;hint;constructor(r,t){super(r),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch');var commander=require('commander');var p=class extends Error{exitCode;hint;constructor(r,t){super(r),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},f=class extends p{constructor(r,t){super(r,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},l=class extends Error{cause;constructor(r,t){super(r),this.name="CliInternalError",this.cause=t;}};var k=null;function x(o){k=o;}function y(){if(!k)throw new l("vibecontrols module helpers used before setHelpersContext was called");return k}function dt(){let o=y();if(!o.auth.isAuthenticated())throw new f("Authentication required.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function i(o,r){return dt(),y().gql.workspace.request(o,r)}function s(o){let r=o instanceof Error?o.message:String(o);throw new p(r)}function a(o,r,t){y().output.formatAndOutput(o,r,t);}function m(o){y().output.printSuccess(o);}function h(o){return y().output.formatDate(o)}function d(o,r){return y().output.truncate(o,r)}var I=`
|
|
2
2
|
query GgnomadGetProvider($id: ID!) {
|
|
3
3
|
ggnomadProvider(id: $id) {
|
|
4
4
|
id name type description status website contactEmail contactPhone
|
|
@@ -120,11 +120,11 @@
|
|
|
120
120
|
query GgnomadListFavorites($pagination: PaginationInput) {
|
|
121
121
|
ggnomadFavorites(pagination: $pagination)
|
|
122
122
|
}
|
|
123
|
-
`,
|
|
123
|
+
`,B=`
|
|
124
124
|
mutation GgnomadToggleFavorite($input: ToggleGgnomadFavoriteInput!) {
|
|
125
125
|
toggleGgnomadFavorite(input: $input)
|
|
126
126
|
}
|
|
127
|
-
`,
|
|
127
|
+
`,V=`
|
|
128
128
|
query GgnomadAnalytics {
|
|
129
129
|
ggnomadAnalytics {
|
|
130
130
|
totalUsers totalBookings totalRevenue conversionRate
|
|
@@ -137,4 +137,4 @@
|
|
|
137
137
|
users listings bookings monthlyRevenue
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
`;function M(o,r){try{return JSON.parse(r)}catch{throw new p(`--${o} must be valid JSON`)}}function c(o){let r=Number.parseInt(o,10);if(Number.isNaN(r))throw new p(`Expected an integer but got "${o}"`);return r}function w(o){let r=Number.parseFloat(o);if(Number.isNaN(r))throw new p(`Expected a number but got "${o}"`);return r}function j(o){let r=o.command("providers").description("GGNomad providers");r.command("list").description("List providers").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(b,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadProviders,{headers:["ID","Name","Type","Status","Rating","Listings"],rows:n.ggnomadProviders.map(e=>[d(e.id,12),e.name,e.type,e.status,`${e.rating??0} (${e.reviewCount??0})`,String(e.listingCount??0)])});}catch(n){s(n);}}),r.command("get").description("Get a provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(x,{id:t});if(!e.ggnomadProvider)throw new p(`Provider ${t} not found`);a(n,e.ggnomadProvider);}catch(e){s(e);}}),r.command("create").description("Create a provider").requiredOption("--name <name>","Provider name").addOption(new commander.Option("--type <t>","Provider type").choices(["HOTEL_OPERATOR","TOUR_OPERATOR","ACTIVITY_PROVIDER","TRANSPORT_PROVIDER","EVENT_ORGANIZER"]).makeOptionMandatory()).option("--description <s>","Description").option("--website <url>","Website URL").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("-f, --format <format>","Output format").action(async t=>{try{let n={name:t.name,type:t.type};t.description&&(n.description=t.description),t.website&&(n.website=t.website),t.contactEmail&&(n.contactEmail=t.contactEmail),t.contactPhone&&(n.contactPhone=t.contactPhone);let e=await i(E,{input:n});m(`Provider created: ${e.createGgnomadProvider.name}`),a(t,e.createGgnomadProvider);}catch(n){s(n);}});}function z(o){let r=o.command("properties").description("GGNomad stay properties");r.command("list").description("List properties").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(A,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadProperties,{headers:["ID","Name","Type","Status","Price/Night","Guests","Rating"],rows:n.ggnomadProperties.map(e=>[d(e.id,12),e.name,e.type,e.status,`${e.pricePerNight??0} ${e.currency??""}`.trim(),String(e.maxGuests??0),`${e.rating??0} (${e.reviewCount??0})`])});}catch(n){s(n);}}),r.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(O,{id:t});if(!e.ggnomadProperty)throw new p(`Property ${t} not found`);a(n,e.ggnomadProperty);}catch(e){s(e);}}),r.command("create").description("Create a property").requiredOption("--name <name>","Property name").requiredOption("--type <t>","Property type").requiredOption("--address <json>","Address JSON").requiredOption("--max-guests <n>","Maximum guests",c).requiredOption("--price-per-night <n>","Price per night",w).requiredOption("--amenities <csv>","Comma-separated amenities").requiredOption("--images <csv>","Comma-separated image URLs").option("--provider <id>","Provider ID").option("--description <s>","Description").option("--bedrooms <n>","Bedrooms",c).option("--bathrooms <n>","Bathrooms",c).option("--check-in-time <s>","Check-in time").option("--check-out-time <s>","Check-out time").option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async t=>{try{let n={name:t.name,type:t.type,address:M("address",t.address),maxGuests:t.maxGuests,pricePerNight:t.pricePerNight,amenities:t.amenities.split(",").map(C=>C.trim()),images:t.images.split(",").map(C=>C.trim())};t.provider&&(n.providerId=t.provider),t.description&&(n.description=t.description),t.bedrooms!==void 0&&(n.bedrooms=t.bedrooms),t.bathrooms!==void 0&&(n.bathrooms=t.bathrooms),t.checkInTime&&(n.checkInTime=t.checkInTime),t.checkOutTime&&(n.checkOutTime=t.checkOutTime),t.currency&&(n.currency=t.currency);let e=await i(P,{input:n});m(`Property created: ${e.createGgnomadProperty.name}`),a(t,e.createGgnomadProperty);}catch(n){s(n);}});}function Y(o){let r=o.command("activities").description("GGNomad activities");r.command("list").description("List activities").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(S,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadActivities,{headers:["ID","Name","Category","Difficulty","Duration","Price","Status"],rows:n.ggnomadActivities.map(e=>[d(e.id,12),e.name,e.category,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(n){s(n);}}),r.command("get").description("Get an activity by id").argument("<id>","Activity ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(R,{id:t});if(!e.ggnomadActivity)throw new p(`Activity ${t} not found`);a(n,e.ggnomadActivity);}catch(e){s(e);}});}function H(o){let r=o.command("events").description("GGNomad events");r.command("list").description("List events").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i($,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadEvents,{headers:["ID","Name","Category","Price","Starts","Status"],rows:n.ggnomadEvents.map(e=>[d(e.id,12),e.name,e.category,`${e.price??0} ${e.currency??""}`.trim(),h(e.startsAt),e.status])});}catch(n){s(n);}}),r.command("get").description("Get an event by id").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(G,{id:t});if(!e.ggnomadEvent)throw new p(`Event ${t} not found`);a(n,e.ggnomadEvent);}catch(e){s(e);}});}function K(o){let r=o.command("tours").description("GGNomad tours");r.command("list").description("List tours").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(D,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadTours,{headers:["ID","Name","Type","Difficulty","Duration","Price","Status"],rows:n.ggnomadTours.map(e=>[d(e.id,12),e.name,e.type,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(n){s(n);}}),r.command("get").description("Get a tour by id").argument("<id>","Tour ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(N,{id:t});if(!e.ggnomadTour)throw new p(`Tour ${t} not found`);a(n,e.ggnomadTour);}catch(e){s(e);}});}function J(o){o.command("trips").description("GGNomad transport trips").command("list").description("List trips").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(L,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadTrips,{headers:["ID","Name","Mode","Price","Departs","Eco","Status"],rows:n.ggnomadTrips.map(e=>[d(e.id,12),e.name,e.transportMode,`${e.price??0} ${e.currency??""}`.trim(),h(e.departureAt),e.ecoFriendly?"yes":"no",e.status])});}catch(n){s(n);}});}function Q(o){let r=o.command("bookings").description("GGNomad bookings");r.command("list").description("List bookings").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(q,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadBookings,{headers:["ID","Ref","Type","Item","Guest","Total","Status","Payment"],rows:n.ggnomadBookings.map(e=>[d(e.id,12),e.referenceCode,e.bookingType,d(e.itemName,20),d(e.guestName,16),`${e.totalPrice} ${e.currency??""}`.trim(),e.status,e.paymentStatus])});}catch(n){s(n);}}),r.command("create").description("Create a booking").requiredOption("--type <t>","Booking type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").requiredOption("--item-id <id>","Item ID being booked").requiredOption("--item-name <name>","Item name").requiredOption("--guest-name <name>","Guest name").requiredOption("--guests <n>","Number of guests",c).requiredOption("--total-price <n>","Total price",w).option("--guest-email <email>","Guest email").option("--guest-phone <phone>","Guest phone").option("--currency <c>","Currency code").option("--check-in <iso>","Check-in (ISO date)").option("--check-out <iso>","Check-out (ISO date)").option("--event-date <iso>","Event date (ISO date)").option("--payment-method <m>","Payment method").option("--special-requests <s>","Special requests").option("-f, --format <format>","Output format").action(async t=>{try{let n={bookingType:t.type.toUpperCase(),itemId:t.itemId,itemName:t.itemName,guestName:t.guestName,guests:t.guests,totalPrice:t.totalPrice};t.guestEmail&&(n.guestEmail=t.guestEmail),t.guestPhone&&(n.guestPhone=t.guestPhone),t.currency&&(n.currency=t.currency),t.checkIn&&(n.checkIn=t.checkIn),t.checkOut&&(n.checkOut=t.checkOut),t.eventDate&&(n.eventDate=t.eventDate),t.paymentMethod&&(n.paymentMethod=t.paymentMethod),t.specialRequests&&(n.specialRequests=t.specialRequests);let e=await i(_,{input:n});m(`Booking created: ${e.createGgnomadBooking.referenceCode}`),a(t,e.createGgnomadBooking);}catch(n){s(n);}}),r.command("cancel").description("Cancel a booking").argument("<id>","Booking ID").option("--reason <s>","Cancellation reason").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(F,{id:t,reason:n.reason});m(`Booking cancelled: ${e.cancelGgnomadBooking.referenceCode}`),a(n,e.cancelGgnomadBooking);}catch(e){s(e);}});}function X(o){let r=o.command("favorites").description("GGNomad favorites");r.command("list").description("List favorites").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(W,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadFavorites);}catch(n){s(n);}}),r.command("toggle").description("Toggle a favorite on a target").requiredOption("--target-id <id>","Target ID").requiredOption("--target-type <t>","Target type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").option("-f, --format <format>","Output format").action(async t=>{try{let n={targetId:t.targetId,targetType:t.targetType.toUpperCase()},e=await i(V,{input:n});m(e.toggleGgnomadFavorite?"Added to favorites":"Removed from favorites"),a(t,{favorited:e.toggleGgnomadFavorite});}catch(n){s(n);}});}function Z(o){let r=o.command("analytics").description("GGNomad analytics & overview");r.command("summary").description("Platform analytics (users, bookings, revenue, conversion, trends)").option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(B);a(t,n.ggnomadAnalytics);}catch(n){s(n);}}),r.command("overview").description("Overview stats (users, listings, bookings, monthly revenue)").option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(U);a(t,n.ggnomadOverviewStats);}catch(n){s(n);}});}var gt={id:"ggnomad",version:"1.0.0",displayName:"GGNomad",dependsOn:["auth","workspaces"],register(o,r){I(r);let t=o.command("ggnomad").description("GGNomad travel & experiences marketplace");j(t),z(t),Y(t),H(t),K(t),J(t),Q(t),X(t),Z(t);}},cn=gt;module.exports=cn;
|
|
140
|
+
`;function M(o,r){try{return JSON.parse(r)}catch{throw new p(`--${o} must be valid JSON`)}}function c(o){let r=Number.parseInt(o,10);if(Number.isNaN(r))throw new p(`Expected an integer but got "${o}"`);return r}function w(o){let r=Number.parseFloat(o);if(Number.isNaN(r))throw new p(`Expected a number but got "${o}"`);return r}function j(o){let r=o.command("providers").description("GGNomad providers");r.command("list").description("List providers").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(b,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadProviders,{headers:["ID","Name","Type","Status","Rating","Listings"],rows:n.ggnomadProviders.map(e=>[d(e.id,12),e.name,e.type,e.status,`${e.rating??0} (${e.reviewCount??0})`,String(e.listingCount??0)])});}catch(n){s(n);}}),r.command("get").description("Get a provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(I,{id:t});if(!e.ggnomadProvider)throw new p(`Provider ${t} not found`);a(n,e.ggnomadProvider);}catch(e){s(e);}}),r.command("create").description("Create a provider").requiredOption("--name <name>","Provider name").addOption(new commander.Option("--type <t>","Provider type").choices(["HOTEL_OPERATOR","TOUR_OPERATOR","ACTIVITY_PROVIDER","TRANSPORT_PROVIDER","EVENT_ORGANIZER"]).makeOptionMandatory()).option("--description <s>","Description").option("--website <url>","Website URL").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("-f, --format <format>","Output format").action(async t=>{try{let n={name:t.name,type:t.type};t.description&&(n.description=t.description),t.website&&(n.website=t.website),t.contactEmail&&(n.contactEmail=t.contactEmail),t.contactPhone&&(n.contactPhone=t.contactPhone);let e=await i(E,{input:n});m(`Provider created: ${e.createGgnomadProvider.name}`),a(t,e.createGgnomadProvider);}catch(n){s(n);}});}function z(o){let r=o.command("properties").description("GGNomad stay properties");r.command("list").description("List properties").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(A,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadProperties,{headers:["ID","Name","Type","Status","Price/Night","Guests","Rating"],rows:n.ggnomadProperties.map(e=>[d(e.id,12),e.name,e.type,e.status,`${e.pricePerNight??0} ${e.currency??""}`.trim(),String(e.maxGuests??0),`${e.rating??0} (${e.reviewCount??0})`])});}catch(n){s(n);}}),r.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(O,{id:t});if(!e.ggnomadProperty)throw new p(`Property ${t} not found`);a(n,e.ggnomadProperty);}catch(e){s(e);}}),r.command("create").description("Create a property").requiredOption("--name <name>","Property name").requiredOption("--type <t>","Property type").requiredOption("--address <json>","Address JSON").requiredOption("--max-guests <n>","Maximum guests",c).requiredOption("--price-per-night <n>","Price per night",w).requiredOption("--amenities <csv>","Comma-separated amenities").requiredOption("--images <csv>","Comma-separated image URLs").option("--provider <id>","Provider ID").option("--description <s>","Description").option("--bedrooms <n>","Bedrooms",c).option("--bathrooms <n>","Bathrooms",c).option("--check-in-time <s>","Check-in time").option("--check-out-time <s>","Check-out time").option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async t=>{try{let n={name:t.name,type:t.type,address:M("address",t.address),maxGuests:t.maxGuests,pricePerNight:t.pricePerNight,amenities:t.amenities.split(",").map(C=>C.trim()),images:t.images.split(",").map(C=>C.trim())};t.provider&&(n.providerId=t.provider),t.description&&(n.description=t.description),t.bedrooms!==void 0&&(n.bedrooms=t.bedrooms),t.bathrooms!==void 0&&(n.bathrooms=t.bathrooms),t.checkInTime&&(n.checkInTime=t.checkInTime),t.checkOutTime&&(n.checkOutTime=t.checkOutTime),t.currency&&(n.currency=t.currency);let e=await i(P,{input:n});m(`Property created: ${e.createGgnomadProperty.name}`),a(t,e.createGgnomadProperty);}catch(n){s(n);}});}function Y(o){let r=o.command("activities").description("GGNomad activities");r.command("list").description("List activities").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(S,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadActivities,{headers:["ID","Name","Category","Difficulty","Duration","Price","Status"],rows:n.ggnomadActivities.map(e=>[d(e.id,12),e.name,e.category,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(n){s(n);}}),r.command("get").description("Get an activity by id").argument("<id>","Activity ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(R,{id:t});if(!e.ggnomadActivity)throw new p(`Activity ${t} not found`);a(n,e.ggnomadActivity);}catch(e){s(e);}});}function H(o){let r=o.command("events").description("GGNomad events");r.command("list").description("List events").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i($,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadEvents,{headers:["ID","Name","Category","Price","Starts","Status"],rows:n.ggnomadEvents.map(e=>[d(e.id,12),e.name,e.category,`${e.price??0} ${e.currency??""}`.trim(),h(e.startsAt),e.status])});}catch(n){s(n);}}),r.command("get").description("Get an event by id").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(G,{id:t});if(!e.ggnomadEvent)throw new p(`Event ${t} not found`);a(n,e.ggnomadEvent);}catch(e){s(e);}});}function K(o){let r=o.command("tours").description("GGNomad tours");r.command("list").description("List tours").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(D,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadTours,{headers:["ID","Name","Type","Difficulty","Duration","Price","Status"],rows:n.ggnomadTours.map(e=>[d(e.id,12),e.name,e.type,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(n){s(n);}}),r.command("get").description("Get a tour by id").argument("<id>","Tour ID").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(N,{id:t});if(!e.ggnomadTour)throw new p(`Tour ${t} not found`);a(n,e.ggnomadTour);}catch(e){s(e);}});}function J(o){o.command("trips").description("GGNomad transport trips").command("list").description("List trips").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(L,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadTrips,{headers:["ID","Name","Mode","Price","Departs","Eco","Status"],rows:n.ggnomadTrips.map(e=>[d(e.id,12),e.name,e.transportMode,`${e.price??0} ${e.currency??""}`.trim(),h(e.departureAt),e.ecoFriendly?"yes":"no",e.status])});}catch(n){s(n);}});}function Q(o){let r=o.command("bookings").description("GGNomad bookings");r.command("list").description("List bookings").option("--limit <n>","Page size",c,20).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(q,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadBookings,{headers:["ID","Ref","Type","Item","Guest","Total","Status","Payment"],rows:n.ggnomadBookings.map(e=>[d(e.id,12),e.referenceCode,e.bookingType,d(e.itemName,20),d(e.guestName,16),`${e.totalPrice} ${e.currency??""}`.trim(),e.status,e.paymentStatus])});}catch(n){s(n);}}),r.command("create").description("Create a booking").requiredOption("--type <t>","Booking type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").requiredOption("--item-id <id>","Item ID being booked").requiredOption("--item-name <name>","Item name").requiredOption("--guest-name <name>","Guest name").requiredOption("--guests <n>","Number of guests",c).requiredOption("--total-price <n>","Total price",w).option("--guest-email <email>","Guest email").option("--guest-phone <phone>","Guest phone").option("--currency <c>","Currency code").option("--check-in <iso>","Check-in (ISO date)").option("--check-out <iso>","Check-out (ISO date)").option("--event-date <iso>","Event date (ISO date)").option("--payment-method <m>","Payment method").option("--special-requests <s>","Special requests").option("-f, --format <format>","Output format").action(async t=>{try{let n={bookingType:t.type.toUpperCase(),itemId:t.itemId,itemName:t.itemName,guestName:t.guestName,guests:t.guests,totalPrice:t.totalPrice};t.guestEmail&&(n.guestEmail=t.guestEmail),t.guestPhone&&(n.guestPhone=t.guestPhone),t.currency&&(n.currency=t.currency),t.checkIn&&(n.checkIn=t.checkIn),t.checkOut&&(n.checkOut=t.checkOut),t.eventDate&&(n.eventDate=t.eventDate),t.paymentMethod&&(n.paymentMethod=t.paymentMethod),t.specialRequests&&(n.specialRequests=t.specialRequests);let e=await i(_,{input:n});m(`Booking created: ${e.createGgnomadBooking.referenceCode}`),a(t,e.createGgnomadBooking);}catch(n){s(n);}}),r.command("cancel").description("Cancel a booking").argument("<id>","Booking ID").option("--reason <s>","Cancellation reason").option("-f, --format <format>","Output format").action(async(t,n)=>{try{let e=await i(F,{id:t,reason:n.reason});m(`Booking cancelled: ${e.cancelGgnomadBooking.referenceCode}`),a(n,e.cancelGgnomadBooking);}catch(e){s(e);}});}function X(o){let r=o.command("favorites").description("GGNomad favorites");r.command("list").description("List favorites").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(W,{pagination:{limit:t.limit,offset:t.offset}});a(t,n.ggnomadFavorites);}catch(n){s(n);}}),r.command("toggle").description("Toggle a favorite on a target").requiredOption("--target-id <id>","Target ID").requiredOption("--target-type <t>","Target type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").option("-f, --format <format>","Output format").action(async t=>{try{let n={targetId:t.targetId,targetType:t.targetType.toUpperCase()},e=await i(B,{input:n});m(e.toggleGgnomadFavorite?"Added to favorites":"Removed from favorites"),a(t,{favorited:e.toggleGgnomadFavorite});}catch(n){s(n);}});}function Z(o){let r=o.command("analytics").description("GGNomad analytics & overview");r.command("summary").description("Platform analytics (users, bookings, revenue, conversion, trends)").option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(V);a(t,n.ggnomadAnalytics);}catch(n){s(n);}}),r.command("overview").description("Overview stats (users, listings, bookings, monthly revenue)").option("-f, --format <format>","Output format").action(async t=>{try{let n=await i(U);a(t,n.ggnomadOverviewStats);}catch(n){s(n);}});}var gt={id:"ggnomad",version:"1.0.0",displayName:"GGNomad",dependsOn:["auth","workspaces"],register(o,r){x(r);let t=o.command("ggnomad").description("GGNomad travel & experiences marketplace");j(t),z(t),Y(t),H(t),K(t),J(t),Q(t),X(t),Z(t);}},cn=gt;module.exports=cn;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b as b$1,h as h$1,
|
|
1
|
+
import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';import {Option}from'commander';var T=`
|
|
2
2
|
query GgnomadGetProvider($id: ID!) {
|
|
3
3
|
ggnomadProvider(id: $id) {
|
|
4
4
|
id name type description status website contactEmail contactPhone
|
|
@@ -137,4 +137,4 @@ import {a,b as b$1,h as h$1,p,g,i,o as o$1}from'../../chunk-W4JZR7RJ.js';import
|
|
|
137
137
|
users listings bookings monthlyRevenue
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
`;function B(m,r){try{return JSON.parse(r)}catch{throw new o(`--${m} must be valid JSON`)}}function s(m){let r=Number.parseInt(m,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${m}"`);return r}function l(m){let r=Number.parseFloat(m);if(Number.isNaN(r))throw new o(`Expected a number but got "${m}"`);return r}function V(m){let r=m.command("providers").description("GGNomad providers");r.command("list").description("List providers").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(P,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadProviders,{headers:["ID","Name","Type","Status","Rating","Listings"],rows:o.ggnomadProviders.map(e=>[p(e.id,12),e.name,e.type,e.status,`${e.rating??0} (${e.reviewCount??0})`,String(e.listingCount??0)])});}catch(o){g(o);}}),r.command("get").description("Get a provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(T,{id:t});if(!e.ggnomadProvider)throw new o(`Provider ${t} not found`);h$1(o$1,e.ggnomadProvider);}catch(e){g(e);}}),r.command("create").description("Create a provider").requiredOption("--name <name>","Provider name").addOption(new Option("--type <t>","Provider type").choices(["HOTEL_OPERATOR","TOUR_OPERATOR","ACTIVITY_PROVIDER","TRANSPORT_PROVIDER","EVENT_ORGANIZER"]).makeOptionMandatory()).option("--description <s>","Description").option("--website <url>","Website URL").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name,type:t.type};t.description&&(o.description=t.description),t.website&&(o.website=t.website),t.contactEmail&&(o.contactEmail=t.contactEmail),t.contactPhone&&(o.contactPhone=t.contactPhone);let e=await b$1(C,{input:o});i(`Provider created: ${e.createGgnomadProvider.name}`),h$1(t,e.createGgnomadProvider);}catch(o){g(o);}});}function F(m){let r=m.command("properties").description("GGNomad stay properties");r.command("list").description("List properties").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(h,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadProperties,{headers:["ID","Name","Type","Status","Price/Night","Guests","Rating"],rows:o.ggnomadProperties.map(e=>[p(e.id,12),e.name,e.type,e.status,`${e.pricePerNight??0} ${e.currency??""}`.trim(),String(e.maxGuests??0),`${e.rating??0} (${e.reviewCount??0})`])});}catch(o){g(o);}}),r.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(O,{id:t});if(!e.ggnomadProperty)throw new o(`Property ${t} not found`);h$1(o$1,e.ggnomadProperty);}catch(e){g(e);}}),r.command("create").description("Create a property").requiredOption("--name <name>","Property name").requiredOption("--type <t>","Property type").requiredOption("--address <json>","Address JSON").requiredOption("--max-guests <n>","Maximum guests",s).requiredOption("--price-per-night <n>","Price per night",l).requiredOption("--amenities <csv>","Comma-separated amenities").requiredOption("--images <csv>","Comma-separated image URLs").option("--provider <id>","Provider ID").option("--description <s>","Description").option("--bedrooms <n>","Bedrooms",s).option("--bathrooms <n>","Bathrooms",s).option("--check-in-time <s>","Check-in time").option("--check-out-time <s>","Check-out time").option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name,type:t.type,address:B("address",t.address),maxGuests:t.maxGuests,pricePerNight:t.pricePerNight,amenities:t.amenities.split(",").map(v=>v.trim()),images:t.images.split(",").map(v=>v.trim())};t.provider&&(o.providerId=t.provider),t.description&&(o.description=t.description),t.bedrooms!==void 0&&(o.bedrooms=t.bedrooms),t.bathrooms!==void 0&&(o.bathrooms=t.bathrooms),t.checkInTime&&(o.checkInTime=t.checkInTime),t.checkOutTime&&(o.checkOutTime=t.checkOutTime),t.currency&&(o.currency=t.currency);let e=await b$1(w,{input:o});i(`Property created: ${e.createGgnomadProperty.name}`),h$1(t,e.createGgnomadProperty);}catch(o){g(o);}});}function U(m){let r=m.command("activities").description("GGNomad activities");r.command("list").description("List activities").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(k,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadActivities,{headers:["ID","Name","Category","Difficulty","Duration","Price","Status"],rows:o.ggnomadActivities.map(e=>[p(e.id,12),e.name,e.category,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(o){g(o);}}),r.command("get").description("Get an activity by id").argument("<id>","Activity ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(E,{id:t});if(!e.ggnomadActivity)throw new o(`Activity ${t} not found`);h$1(o$1,e.ggnomadActivity);}catch(e){g(e);}});}function M(m){let r=m.command("events").description("GGNomad events");r.command("list").description("List events").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(R,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadEvents,{headers:["ID","Name","Category","Price","Starts","Status"],rows:o.ggnomadEvents.map(e=>[p(e.id,12),e.name,e.category,`${e.price??0} ${e.currency??""}`.trim(),o$1(e.startsAt),e.status])});}catch(o){g(o);}}),r.command("get").description("Get an event by id").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(G,{id:t});if(!e.ggnomadEvent)throw new o(`Event ${t} not found`);h$1(o$1,e.ggnomadEvent);}catch(e){g(e);}});}function W(m){let r=m.command("tours").description("GGNomad tours");r.command("list").description("List tours").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(b,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadTours,{headers:["ID","Name","Type","Difficulty","Duration","Price","Status"],rows:o.ggnomadTours.map(e=>[p(e.id,12),e.name,e.type,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(o){g(o);}}),r.command("get").description("Get a tour by id").argument("<id>","Tour ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(A,{id:t});if(!e.ggnomadTour)throw new o(`Tour ${t} not found`);h$1(o$1,e.ggnomadTour);}catch(e){g(e);}});}function Y(m){m.command("trips").description("GGNomad transport trips").command("list").description("List trips").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(S,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadTrips,{headers:["ID","Name","Mode","Price","Departs","Eco","Status"],rows:o.ggnomadTrips.map(e=>[p(e.id,12),e.name,e.transportMode,`${e.price??0} ${e.currency??""}`.trim(),o$1(e.departureAt),e.ecoFriendly?"yes":"no",e.status])});}catch(o){g(o);}});}function z(m){let r=m.command("bookings").description("GGNomad bookings");r.command("list").description("List bookings").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(N,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadBookings,{headers:["ID","Ref","Type","Item","Guest","Total","Status","Payment"],rows:o.ggnomadBookings.map(e=>[p(e.id,12),e.referenceCode,e.bookingType,p(e.itemName,20),p(e.guestName,16),`${e.totalPrice} ${e.currency??""}`.trim(),e.status,e.paymentStatus])});}catch(o){g(o);}}),r.command("create").description("Create a booking").requiredOption("--type <t>","Booking type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").requiredOption("--item-id <id>","Item ID being booked").requiredOption("--item-name <name>","Item name").requiredOption("--guest-name <name>","Guest name").requiredOption("--guests <n>","Number of guests",s).requiredOption("--total-price <n>","Total price",l).option("--guest-email <email>","Guest email").option("--guest-phone <phone>","Guest phone").option("--currency <c>","Currency code").option("--check-in <iso>","Check-in (ISO date)").option("--check-out <iso>","Check-out (ISO date)").option("--event-date <iso>","Event date (ISO date)").option("--payment-method <m>","Payment method").option("--special-requests <s>","Special requests").option("-f, --format <format>","Output format").action(async t=>{try{let o={bookingType:t.type.toUpperCase(),itemId:t.itemId,itemName:t.itemName,guestName:t.guestName,guests:t.guests,totalPrice:t.totalPrice};t.guestEmail&&(o.guestEmail=t.guestEmail),t.guestPhone&&(o.guestPhone=t.guestPhone),t.currency&&(o.currency=t.currency),t.checkIn&&(o.checkIn=t.checkIn),t.checkOut&&(o.checkOut=t.checkOut),t.eventDate&&(o.eventDate=t.eventDate),t.paymentMethod&&(o.paymentMethod=t.paymentMethod),t.specialRequests&&(o.specialRequests=t.specialRequests);let e=await b$1(x,{input:o});i(`Booking created: ${e.createGgnomadBooking.referenceCode}`),h$1(t,e.createGgnomadBooking);}catch(o){g(o);}}),r.command("cancel").description("Cancel a booking").argument("<id>","Booking ID").option("--reason <s>","Cancellation reason").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1($,{id:t,reason:o.reason});i(`Booking cancelled: ${e.cancelGgnomadBooking.referenceCode}`),h$1(o,e.cancelGgnomadBooking);}catch(e){g(e);}});}function K(m){let r=m.command("favorites").description("GGNomad favorites");r.command("list").description("List favorites").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(D,{pagination:{limit:t.limit,offset:t.offset}});h$1(t,o.ggnomadFavorites);}catch(o){g(o);}}),r.command("toggle").description("Toggle a favorite on a target").requiredOption("--target-id <id>","Target ID").requiredOption("--target-type <t>","Target type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").option("-f, --format <format>","Output format").action(async t=>{try{let o={targetId:t.targetId,targetType:t.targetType.toUpperCase()},e=await b$1(L,{input:o});i(e.toggleGgnomadFavorite?"Added to favorites":"Removed from favorites"),h$1(t,{favorited:e.toggleGgnomadFavorite});}catch(o){g(o);}});}function J(m){let r=m.command("analytics").description("GGNomad analytics & overview");r.command("summary").description("Platform analytics (users, bookings, revenue, conversion, trends)").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(_);h$1(t,o.ggnomadAnalytics);}catch(o){g(o);}}),r.command("overview").description("Overview stats (users, listings, bookings, monthly revenue)").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(q);h$1(t,o.ggnomadOverviewStats);}catch(o){g(o);}});}var H={id:"ggnomad",version:"1.0.0",displayName:"GGNomad",dependsOn:["auth","workspaces"],register(m,r){a(r);let t=m.command("ggnomad").description("GGNomad travel & experiences marketplace");V(t),F(t),U(t),M(t),W(t),Y(t),z(t),K(t),J(t);}},Ft=H;export{Ft as default};
|
|
140
|
+
`;function B(m,r){try{return JSON.parse(r)}catch{throw new o(`--${m} must be valid JSON`)}}function s(m){let r=Number.parseInt(m,10);if(Number.isNaN(r))throw new o(`Expected an integer but got "${m}"`);return r}function l(m){let r=Number.parseFloat(m);if(Number.isNaN(r))throw new o(`Expected a number but got "${m}"`);return r}function V(m){let r$1=m.command("providers").description("GGNomad providers");r$1.command("list").description("List providers").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(P,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadProviders,{headers:["ID","Name","Type","Status","Rating","Listings"],rows:o.ggnomadProviders.map(e=>[r(e.id,12),e.name,e.type,e.status,`${e.rating??0} (${e.reviewCount??0})`,String(e.listingCount??0)])});}catch(o){h$1(o);}}),r$1.command("get").description("Get a provider by id").argument("<id>","Provider ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(T,{id:t});if(!e.ggnomadProvider)throw new o(`Provider ${t} not found`);i(o$1,e.ggnomadProvider);}catch(e){h$1(e);}}),r$1.command("create").description("Create a provider").requiredOption("--name <name>","Provider name").addOption(new Option("--type <t>","Provider type").choices(["HOTEL_OPERATOR","TOUR_OPERATOR","ACTIVITY_PROVIDER","TRANSPORT_PROVIDER","EVENT_ORGANIZER"]).makeOptionMandatory()).option("--description <s>","Description").option("--website <url>","Website URL").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name,type:t.type};t.description&&(o.description=t.description),t.website&&(o.website=t.website),t.contactEmail&&(o.contactEmail=t.contactEmail),t.contactPhone&&(o.contactPhone=t.contactPhone);let e=await b$1(C,{input:o});k$1(`Provider created: ${e.createGgnomadProvider.name}`),i(t,e.createGgnomadProvider);}catch(o){h$1(o);}});}function F(m){let r$1=m.command("properties").description("GGNomad stay properties");r$1.command("list").description("List properties").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(h,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadProperties,{headers:["ID","Name","Type","Status","Price/Night","Guests","Rating"],rows:o.ggnomadProperties.map(e=>[r(e.id,12),e.name,e.type,e.status,`${e.pricePerNight??0} ${e.currency??""}`.trim(),String(e.maxGuests??0),`${e.rating??0} (${e.reviewCount??0})`])});}catch(o){h$1(o);}}),r$1.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(O,{id:t});if(!e.ggnomadProperty)throw new o(`Property ${t} not found`);i(o$1,e.ggnomadProperty);}catch(e){h$1(e);}}),r$1.command("create").description("Create a property").requiredOption("--name <name>","Property name").requiredOption("--type <t>","Property type").requiredOption("--address <json>","Address JSON").requiredOption("--max-guests <n>","Maximum guests",s).requiredOption("--price-per-night <n>","Price per night",l).requiredOption("--amenities <csv>","Comma-separated amenities").requiredOption("--images <csv>","Comma-separated image URLs").option("--provider <id>","Provider ID").option("--description <s>","Description").option("--bedrooms <n>","Bedrooms",s).option("--bathrooms <n>","Bathrooms",s).option("--check-in-time <s>","Check-in time").option("--check-out-time <s>","Check-out time").option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name,type:t.type,address:B("address",t.address),maxGuests:t.maxGuests,pricePerNight:t.pricePerNight,amenities:t.amenities.split(",").map(v=>v.trim()),images:t.images.split(",").map(v=>v.trim())};t.provider&&(o.providerId=t.provider),t.description&&(o.description=t.description),t.bedrooms!==void 0&&(o.bedrooms=t.bedrooms),t.bathrooms!==void 0&&(o.bathrooms=t.bathrooms),t.checkInTime&&(o.checkInTime=t.checkInTime),t.checkOutTime&&(o.checkOutTime=t.checkOutTime),t.currency&&(o.currency=t.currency);let e=await b$1(w,{input:o});k$1(`Property created: ${e.createGgnomadProperty.name}`),i(t,e.createGgnomadProperty);}catch(o){h$1(o);}});}function U(m){let r$1=m.command("activities").description("GGNomad activities");r$1.command("list").description("List activities").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(k,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadActivities,{headers:["ID","Name","Category","Difficulty","Duration","Price","Status"],rows:o.ggnomadActivities.map(e=>[r(e.id,12),e.name,e.category,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(o){h$1(o);}}),r$1.command("get").description("Get an activity by id").argument("<id>","Activity ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(E,{id:t});if(!e.ggnomadActivity)throw new o(`Activity ${t} not found`);i(o$1,e.ggnomadActivity);}catch(e){h$1(e);}});}function M(m){let r$1=m.command("events").description("GGNomad events");r$1.command("list").description("List events").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(R,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadEvents,{headers:["ID","Name","Category","Price","Starts","Status"],rows:o.ggnomadEvents.map(e=>[r(e.id,12),e.name,e.category,`${e.price??0} ${e.currency??""}`.trim(),q$1(e.startsAt),e.status])});}catch(o){h$1(o);}}),r$1.command("get").description("Get an event by id").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(G,{id:t});if(!e.ggnomadEvent)throw new o(`Event ${t} not found`);i(o$1,e.ggnomadEvent);}catch(e){h$1(e);}});}function W(m){let r$1=m.command("tours").description("GGNomad tours");r$1.command("list").description("List tours").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(b,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadTours,{headers:["ID","Name","Type","Difficulty","Duration","Price","Status"],rows:o.ggnomadTours.map(e=>[r(e.id,12),e.name,e.type,e.difficulty??"-",e.duration??"-",`${e.price??0} ${e.currency??""}`.trim(),e.status])});}catch(o){h$1(o);}}),r$1.command("get").description("Get a tour by id").argument("<id>","Tour ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(A,{id:t});if(!e.ggnomadTour)throw new o(`Tour ${t} not found`);i(o$1,e.ggnomadTour);}catch(e){h$1(e);}});}function Y(m){m.command("trips").description("GGNomad transport trips").command("list").description("List trips").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(S,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadTrips,{headers:["ID","Name","Mode","Price","Departs","Eco","Status"],rows:o.ggnomadTrips.map(e=>[r(e.id,12),e.name,e.transportMode,`${e.price??0} ${e.currency??""}`.trim(),q$1(e.departureAt),e.ecoFriendly?"yes":"no",e.status])});}catch(o){h$1(o);}});}function z(m){let r$1=m.command("bookings").description("GGNomad bookings");r$1.command("list").description("List bookings").option("--limit <n>","Page size",s,20).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(N,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadBookings,{headers:["ID","Ref","Type","Item","Guest","Total","Status","Payment"],rows:o.ggnomadBookings.map(e=>[r(e.id,12),e.referenceCode,e.bookingType,r(e.itemName,20),r(e.guestName,16),`${e.totalPrice} ${e.currency??""}`.trim(),e.status,e.paymentStatus])});}catch(o){h$1(o);}}),r$1.command("create").description("Create a booking").requiredOption("--type <t>","Booking type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").requiredOption("--item-id <id>","Item ID being booked").requiredOption("--item-name <name>","Item name").requiredOption("--guest-name <name>","Guest name").requiredOption("--guests <n>","Number of guests",s).requiredOption("--total-price <n>","Total price",l).option("--guest-email <email>","Guest email").option("--guest-phone <phone>","Guest phone").option("--currency <c>","Currency code").option("--check-in <iso>","Check-in (ISO date)").option("--check-out <iso>","Check-out (ISO date)").option("--event-date <iso>","Event date (ISO date)").option("--payment-method <m>","Payment method").option("--special-requests <s>","Special requests").option("-f, --format <format>","Output format").action(async t=>{try{let o={bookingType:t.type.toUpperCase(),itemId:t.itemId,itemName:t.itemName,guestName:t.guestName,guests:t.guests,totalPrice:t.totalPrice};t.guestEmail&&(o.guestEmail=t.guestEmail),t.guestPhone&&(o.guestPhone=t.guestPhone),t.currency&&(o.currency=t.currency),t.checkIn&&(o.checkIn=t.checkIn),t.checkOut&&(o.checkOut=t.checkOut),t.eventDate&&(o.eventDate=t.eventDate),t.paymentMethod&&(o.paymentMethod=t.paymentMethod),t.specialRequests&&(o.specialRequests=t.specialRequests);let e=await b$1(x,{input:o});k$1(`Booking created: ${e.createGgnomadBooking.referenceCode}`),i(t,e.createGgnomadBooking);}catch(o){h$1(o);}}),r$1.command("cancel").description("Cancel a booking").argument("<id>","Booking ID").option("--reason <s>","Cancellation reason").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1($,{id:t,reason:o.reason});k$1(`Booking cancelled: ${e.cancelGgnomadBooking.referenceCode}`),i(o,e.cancelGgnomadBooking);}catch(e){h$1(e);}});}function K(m){let r=m.command("favorites").description("GGNomad favorites");r.command("list").description("List favorites").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(D,{pagination:{limit:t.limit,offset:t.offset}});i(t,o.ggnomadFavorites);}catch(o){h$1(o);}}),r.command("toggle").description("Toggle a favorite on a target").requiredOption("--target-id <id>","Target ID").requiredOption("--target-type <t>","Target type: ACTIVITY|EVENT|PROPERTY|TOUR|TRIP").option("-f, --format <format>","Output format").action(async t=>{try{let o={targetId:t.targetId,targetType:t.targetType.toUpperCase()},e=await b$1(L,{input:o});k$1(e.toggleGgnomadFavorite?"Added to favorites":"Removed from favorites"),i(t,{favorited:e.toggleGgnomadFavorite});}catch(o){h$1(o);}});}function J(m){let r=m.command("analytics").description("GGNomad analytics & overview");r.command("summary").description("Platform analytics (users, bookings, revenue, conversion, trends)").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(_);i(t,o.ggnomadAnalytics);}catch(o){h$1(o);}}),r.command("overview").description("Overview stats (users, listings, bookings, monthly revenue)").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(q);i(t,o.ggnomadOverviewStats);}catch(o){h$1(o);}});}var H={id:"ggnomad",version:"1.0.0",displayName:"GGNomad",dependsOn:["auth","workspaces"],register(m,r){a(r);let t=m.command("ggnomad").description("GGNomad travel & experiences marketplace");V(t),F(t),U(t),M(t),W(t),Y(t),z(t),K(t),J(t);}},Ft=H;export{Ft as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var p=class extends Error{exitCode;hint;constructor(i,t){super(i),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},C=class extends p{constructor(i,t){super(i,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},I=class extends Error{cause;constructor(i,t){super(i),this.name="CliInternalError",this.cause=t;}};var E=null;function
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var p=class extends Error{exitCode;hint;constructor(i,t){super(i),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},C=class extends p{constructor(i,t){super(i,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},I=class extends Error{cause;constructor(i,t){super(i),this.name="CliInternalError",this.cause=t;}};var E=null;function k(o){E=o;}function A(){if(!E)throw new I("vibecontrols module helpers used before setHelpersContext was called");return E}function kt(){let o=A();if(!o.auth.isAuthenticated())throw new C("Authentication required.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function a(o,i){return kt(),A().gql.workspace.request(o,i)}async function h(o,i){return A().gql.workspaceAuthOnly.request(o,i)}function r(o){let i=o instanceof Error?o.message:String(o);throw new p(i)}function s(o,i,t){A().output.formatAndOutput(o,i,t);}function c(o){A().output.printSuccess(o);}function w(o){return A().output.formatDate(o)}function d(o,i){return A().output.truncate(o,i)}var b=`
|
|
2
2
|
query GovGetAgency($id: ID!) {
|
|
3
3
|
govAgency(id: $id) {
|
|
4
4
|
id name code description jurisdiction contactEmail contactPhone
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
services { id name slug category status }
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
`,
|
|
9
|
+
`,S=`
|
|
10
10
|
query GovListAgencies($isActive: Boolean, $pagination: PaginationInput) {
|
|
11
11
|
govListAgencies(isActive: $isActive, pagination: $pagination) {
|
|
12
|
-
id name code jurisdiction contactEmail isActive tags createdAt
|
|
12
|
+
items { id name code jurisdiction contactEmail isActive tags createdAt }
|
|
13
|
+
pageInfo { cursor hasMore }
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
|
-
`,
|
|
16
|
+
`,R=`
|
|
16
17
|
mutation GovCreateAgency($input: GovCreateAgencyInput!) {
|
|
17
18
|
govCreateAgency(input: $input) {
|
|
18
19
|
id name code description jurisdiction contactEmail contactPhone
|
|
@@ -203,8 +204,10 @@
|
|
|
203
204
|
`,Q=`
|
|
204
205
|
query GovListPermits($holderId: ID, $serviceId: ID, $status: GovPermitStatus) {
|
|
205
206
|
govListPermits(holderId: $holderId, serviceId: $serviceId, status: $status) {
|
|
206
|
-
|
|
207
|
-
|
|
207
|
+
items {
|
|
208
|
+
id title holderId serviceId applicationId status verificationCode issuedAt expiresAt
|
|
209
|
+
}
|
|
210
|
+
pageInfo { cursor hasMore }
|
|
208
211
|
}
|
|
209
212
|
}
|
|
210
213
|
`,X=`
|
|
@@ -276,4 +279,4 @@
|
|
|
276
279
|
query GovHealth {
|
|
277
280
|
govHealth
|
|
278
281
|
}
|
|
279
|
-
`;function f(o,i){try{return JSON.parse(i)}catch{throw new p(`--${o} must be valid JSON`)}}function g(o){let i=Number.parseInt(o,10);if(Number.isNaN(i))throw new p(`Expected an integer but got "${o}"`);return i}function y(o){let i=Number.parseFloat(o);if(Number.isNaN(i))throw new p(`Expected a number but got "${o}"`);return i}function m(o){return o.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function at(o){let i=o.command("agencies").description("GovCitizenHub agencies");i.command("list").description("List agencies").option("--active <bool>","Filter by active state (true|false)",t=>t==="true").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(R,{isActive:t.active,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListAgencies,{headers:["ID","Name","Code","Jurisdiction","Active"],rows:e.govListAgencies.map(n=>[d(n.id,12),n.name,n.code??"-",n.jurisdiction??"-",n.isActive?"yes":"no"])});}catch(e){r(e);}}),i.command("get").description("Get an agency by id").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(b,{id:t});if(!n.govAgency)throw new p(`Agency ${t} not found`);s(e,n.govAgency);}catch(n){r(n);}}),i.command("create").description("Create an agency").requiredOption("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.code&&(e.code=t.code),t.description&&(e.description=t.description),t.jurisdiction&&(e.jurisdiction=t.jurisdiction),t.contactEmail&&(e.contactEmail=t.contactEmail),t.contactPhone&&(e.contactPhone=t.contactPhone),t.tags&&(e.tags=m(t.tags));let n=await a(S,{input:e});c(`Agency created: ${n.govCreateAgency.name}`),s(t,n.govCreateAgency);}catch(e){r(e);}}),i.command("update").description("Update an agency").argument("<id>","Agency ID").option("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--active <bool>","Active state (true|false)",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.code&&(n.code=e.code),e.description!==void 0&&(n.description=e.description),e.jurisdiction&&(n.jurisdiction=e.jurisdiction),e.contactEmail&&(n.contactEmail=e.contactEmail),e.contactPhone&&(n.contactPhone=e.contactPhone),e.active!==void 0&&(n.isActive=e.active),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(D,{id:t,input:n});c("Agency updated"),s(e,v.govUpdateAgency);}catch(n){r(n);}}),i.command("archive").description("Archive (soft-delete) an agency").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(P,{id:t});c(n.govArchiveAgency?"Agency archived":"Agency not archived"),s(e,{archived:n.govArchiveAgency});}catch(n){r(n);}});}function ct(o){let i=o.command("services").description("GovCitizenHub services");i.command("list").description("List services").option("--agency <id>","Filter by agency ID").option("--category <c>","Filter by service category").option("--status <s>","Filter by service status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a($,{agencyId:t.agency,category:t.category?t.category.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListServices.items,{headers:["ID","Name","Category","Status","Fee","SLA"],rows:e.govListServices.items.map(n=>[d(n.id,12),n.name,n.category,n.status,`${n.feeType} ${n.feeAmount}`,n.slaDays!=null?String(n.slaDays):"-"])});}catch(e){r(e);}}),i.command("get").description("Get a service by id").argument("<id>","Service ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(O,{id:t});if(!n.govService)throw new p(`Service ${t} not found`);s(e,n.govService);}catch(n){r(n);}}),i.command("create").description("Create a service").requiredOption("--agency <id>","Agency ID").requiredOption("--name <name>","Service name").requiredOption("--slug <slug>","URL slug").option("--category <c>","Service category","OTHER").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE","FREE").option("--fee-amount <n>","Fee amount",y).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",g).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={agencyId:t.agency,name:t.name,slug:t.slug,category:(t.category??"OTHER").toUpperCase(),feeType:(t.feeType??"FREE").toUpperCase()};t.summary&&(e.summary=t.summary),t.eligibility&&(e.eligibility=t.eligibility),t.feeAmount!==void 0&&(e.feeAmount=t.feeAmount),t.currency&&(e.currency=t.currency),t.requiredDocuments&&(e.requiredDocuments=m(t.requiredDocuments)),t.formSchema&&(e.formSchema=f("form-schema",t.formSchema)),t.slaDays!==void 0&&(e.slaDays=t.slaDays),t.tags&&(e.tags=m(t.tags));let n=await a(G,{input:e});c(`Service created: ${n.govCreateService.name}`),s(t,n.govCreateService);}catch(e){r(e);}}),i.command("update").description("Update a service").argument("<id>","Service ID").option("--name <name>","Service name").option("--category <c>","Service category").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE").option("--fee-amount <n>","Fee amount",y).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",g).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.category&&(n.category=e.category.toUpperCase()),e.summary!==void 0&&(n.summary=e.summary),e.eligibility!==void 0&&(n.eligibility=e.eligibility),e.feeType&&(n.feeType=e.feeType.toUpperCase()),e.feeAmount!==void 0&&(n.feeAmount=e.feeAmount),e.currency&&(n.currency=e.currency),e.requiredDocuments&&(n.requiredDocuments=m(e.requiredDocuments)),e.formSchema&&(n.formSchema=f("form-schema",e.formSchema)),e.slaDays!==void 0&&(n.slaDays=e.slaDays),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(N,{id:t,input:n});c("Service updated"),s(e,v.govUpdateService);}catch(n){r(n);}}),i.command("transition").description("Advance a service through its publication lifecycle").argument("<id>","Service ID").requiredOption("--status <s>","DRAFT|PUBLISHED|SUSPENDED|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(L,{id:t,status:e.status.toUpperCase()});c(`Service status set to ${n.govTransitionService.status}`),s(e,n.govTransitionService);}catch(n){r(n);}});}function pt(o){let i=o.command("applications").description("GovCitizenHub applications");i.command("list").description("List applications").option("--citizen <id>","Filter by citizen ID").option("--service <id>","Filter by service ID").option("--assigned-to <id>","Filter by assignee ID").option("--status <s>","Filter by application status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(_,{citizenId:t.citizen,serviceId:t.service,assignedToId:t.assignedTo,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListApplications.items,{headers:["ID","Reference","Citizen","Status","Priority","Submitted"],rows:e.govListApplications.items.map(n=>[d(n.id,12),n.reference,d(n.citizenId,12),n.status,n.priority,w(n.submittedAt)])});}catch(e){r(e);}}),i.command("get").description("Get an application by id").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(q,{id:t});if(!n.govApplication)throw new p(`Application ${t} not found`);s(e,n.govApplication);}catch(n){r(n);}}),i.command("create").description("Create an application").requiredOption("--service <id>","Service ID").option("--reference <ref>","Application reference").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={serviceId:t.service,priority:(t.priority??"NORMAL").toUpperCase()};t.reference&&(e.reference=t.reference),t.formData&&(e.formData=f("form-data",t.formData)),t.tags&&(e.tags=m(t.tags));let n=await a(U,{input:e});c(`Application created: ${n.govCreateApplication.reference}`),s(t,n.govCreateApplication);}catch(e){r(e);}}),i.command("update").description("Update an application").argument("<id>","Application ID").option("--assigned-to <id>","Assignee ID").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.assignedTo&&(n.assignedToId=e.assignedTo),e.priority&&(n.priority=e.priority.toUpperCase()),e.formData&&(n.formData=f("form-data",e.formData)),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(F,{id:t,input:n});c("Application updated"),s(e,v.govUpdateApplication);}catch(n){r(n);}}),i.command("submit").description("Submit a draft application").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(M,{id:t});c(`Application submitted: ${n.govSubmitApplication.reference}`),s(e,n.govSubmitApplication);}catch(n){r(n);}}),i.command("transition").description("Advance an application through its review lifecycle").argument("<id>","Application ID").requiredOption("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|INFO_REQUESTED|APPROVED|REJECTED|WITHDRAWN").option("--reason <s>","Transition reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(j,{id:t,status:e.status.toUpperCase(),reason:e.reason});c(`Application status set to ${n.govTransitionApplication.status}`),s(e,n.govTransitionApplication);}catch(n){r(n);}}),i.command("add-note").description("Add a case note to an application").requiredOption("--application <id>","Application ID").requiredOption("--body <text>","Note body").option("--type <t>","INTERNAL|CITIZEN_MESSAGE|INFO_REQUEST|DECISION","INTERNAL").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,body:t.body,type:(t.type??"INTERNAL").toUpperCase()},n=await a(V,{input:e});c("Case note added"),s(t,n.govAddCaseNote);}catch(e){r(e);}}),i.command("add-document").description("Attach a document to an application").requiredOption("--application <id>","Application ID").requiredOption("--name <name>","Document name").option("--file <id>","File ID (wspace-files-svc)").option("--requirement <s>","Requirement this document satisfies").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,name:t.name};t.file&&(e.fileId=t.file),t.requirement&&(e.requirement=t.requirement);let n=await a(W,{input:e});c(`Document added: ${n.govAddDocument.name}`),s(t,n.govAddDocument);}catch(e){r(e);}});}function ut(o){o.command("documents").description("GovCitizenHub application documents").command("review").description("Review (accept/reject) an application document").argument("<id>","Document ID").requiredOption("--status <s>","PENDING|ACCEPTED|REJECTED").option("--rejection-reason <s>","Reason when rejecting").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(H,{id:t,status:e.status.toUpperCase(),rejectionReason:e.rejectionReason});c(`Document ${n.govReviewDocument.status.toLowerCase()}`),s(e,n.govReviewDocument);}catch(n){r(n);}});}function dt(o){let i=o.command("grievances").description("GovCitizenHub grievances");i.command("list").description("List grievances").option("--agency <id>","Filter by agency ID").option("--reporter <id>","Filter by reporter ID").option("--status <s>","Filter by grievance status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Y,{agencyId:t.agency,reporterId:t.reporter,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListGrievances.items,{headers:["ID","Title","Category","Status","Priority","Location"],rows:e.govListGrievances.items.map(n=>[d(n.id,12),n.title,n.category,n.status,n.priority,d(n.location??"-",24)])});}catch(e){r(e);}}),i.command("get").description("Get a grievance by id").argument("<id>","Grievance ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(z,{id:t});if(!n.govGrievance)throw new p(`Grievance ${t} not found`);s(e,n.govGrievance);}catch(n){r(n);}}),i.command("report").description("Report a new grievance").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").option("--category <c>","Service category","GRIEVANCES").option("--agency <id>","Agency ID").option("--location <s>","Location description").option("--latitude <n>","Latitude",y).option("--longitude <n>","Longitude",y).option("--photo-file-ids <csv>","Comma-separated photo file IDs").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:(t.category??"GRIEVANCES").toUpperCase(),priority:(t.priority??"NORMAL").toUpperCase()};t.agency&&(e.agencyId=t.agency),t.location&&(e.location=t.location),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.photoFileIds&&(e.photoFileIds=m(t.photoFileIds)),t.tags&&(e.tags=m(t.tags));let n=await a(J,{input:e});c(`Grievance reported: ${n.govReportGrievance.title}`),s(t,n.govReportGrievance);}catch(e){r(e);}}),i.command("update").description("Update a grievance").argument("<id>","Grievance ID").option("--agency <id>","Agency ID").option("--assigned-to <id>","Assignee ID").option("--location <s>","Location description").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.agency&&(n.agencyId=e.agency),e.assignedTo&&(n.assignedToId=e.assignedTo),e.location!==void 0&&(n.location=e.location),e.priority&&(n.priority=e.priority.toUpperCase()),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(B,{id:t,input:n});c("Grievance updated"),s(e,v.govUpdateGrievance);}catch(n){r(n);}}),i.command("transition").description("Advance a grievance through its resolution lifecycle").argument("<id>","Grievance ID").requiredOption("--status <s>","OPEN|ACKNOWLEDGED|IN_PROGRESS|RESOLVED|REJECTED|CLOSED").option("--resolution <s>","Resolution note").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(K,{id:t,status:e.status.toUpperCase(),resolution:e.resolution});c(`Grievance status set to ${n.govTransitionGrievance.status}`),s(e,n.govTransitionGrievance);}catch(n){r(n);}});}function gt(o){let i=o.command("permits").description("GovCitizenHub permits");i.command("list").description("List permits").option("--holder <id>","Filter by holder ID").option("--service <id>","Filter by service ID").option("--status <s>","Filter by permit status").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Q,{holderId:t.holder,serviceId:t.service,status:t.status?t.status.toUpperCase():void 0});s(t,e.govListPermits,{headers:["ID","Title","Holder","Status","Code","Expires"],rows:e.govListPermits.map(n=>[d(n.id,12),n.title,d(n.holderId,12),n.status,n.verificationCode,w(n.expiresAt)])});}catch(e){r(e);}}),i.command("issue").description("Issue a permit").requiredOption("--holder <id>","Holder user ID").requiredOption("--service <id>","Service ID").requiredOption("--title <t>","Permit title").requiredOption("--verification-code <code>","Printed verification code").option("--application <id>","Originating application ID").option("--expires-at <iso>","Expiry (ISO date)").option("--file <id>","File ID for the generated permit PDF").option("-f, --format <format>","Output format").action(async t=>{try{let e={holderId:t.holder,serviceId:t.service,title:t.title,verificationCode:t.verificationCode};t.application&&(e.applicationId=t.application),t.expiresAt&&(e.expiresAt=t.expiresAt),t.file&&(e.fileId=t.file);let n=await a(X,{input:e});c(`Permit issued: ${n.govIssuePermit.title}`),s(t,n.govIssuePermit);}catch(e){r(e);}}),i.command("revoke").description("Revoke a permit").argument("<id>","Permit ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(Z,{id:t,reason:e.reason});c("Permit revoked"),s(e,n.govRevokePermit);}catch(n){r(n);}}),i.command("verify").description("Verify a permit by its printed code (public)").argument("<code>","Verification code").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await h(tt,{verificationCode:t});if(!n.govVerifyPermit)throw new p(`No permit found for code ${t}`);c(`Valid permit: ${n.govVerifyPermit.title} (${n.govVerifyPermit.status})`),s(e,n.govVerifyPermit);}catch(n){r(n);}});}function mt(o){let i=o.command("payments").description("GovCitizenHub payments");i.command("list").description("List payments").option("--application <id>","Filter by application ID").option("--payer <id>","Filter by payer ID").option("--status <s>","Filter by payment status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(nt,{applicationId:t.application,payerId:t.payer,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListPayments.items,{headers:["ID","Payer","Amount","Currency","Status","Receipt"],rows:e.govListPayments.items.map(n=>[d(n.id,12),d(n.payerId,12),String(n.amount),n.currency,n.status,n.receiptNumber??"-"])});}catch(e){r(e);}}),i.command("get").description("Get a payment by id").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(et,{id:t});if(!n.govPayment)throw new p(`Payment ${t} not found`);s(e,n.govPayment);}catch(n){r(n);}}),i.command("create").description("Create a payment").requiredOption("--amount <n>","Amount",y).option("--application <id>","Application ID").option("--currency <c>","Currency code").option("--provider-ref <ref>","Payment provider reference").option("--line-items <json>","Line items JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={amount:t.amount};t.application&&(e.applicationId=t.application),t.currency&&(e.currency=t.currency),t.providerRef&&(e.providerRef=t.providerRef),t.lineItems&&(e.lineItems=f("line-items",t.lineItems));let n=await a(it,{input:e});c(`Payment created: ${n.govCreatePayment.amount} ${n.govCreatePayment.currency}`),s(t,n.govCreatePayment);}catch(e){r(e);}}),i.command("mark-paid").description("Mark a payment as paid").argument("<id>","Payment ID").option("--provider-ref <ref>","Payment provider reference").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(ot,{id:t,providerRef:e.providerRef});c(`Payment marked paid (${n.govMarkPaymentPaid.status})`),s(e,n.govMarkPaymentPaid);}catch(n){r(n);}}),i.command("refund").description("Refund a payment").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(rt,{id:t});c(`Payment refunded (${n.govRefundPayment.status})`),s(e,n.govRefundPayment);}catch(n){r(n);}});}function lt(o){o.command("health").description("GovCitizenHub service health check (public)").option("-f, --format <format>","Output format").action(async i=>{try{let t=await h(st);c(t.govHealth),s(i,{health:t.govHealth});}catch(t){r(t);}});}var bt={id:"govcitizenhub",version:"1.0.0",displayName:"GovCitizenHub",dependsOn:["auth","workspaces"],register(o,i){x(i);let t=o.command("govcitizenhub").description("GovCitizenHub citizen-government services");at(t),ct(t),pt(t),ut(t),dt(t),gt(t),mt(t),lt(t);}},yn=bt;module.exports=yn;
|
|
282
|
+
`;function f(o,i){try{return JSON.parse(i)}catch{throw new p(`--${o} must be valid JSON`)}}function g(o){let i=Number.parseInt(o,10);if(Number.isNaN(i))throw new p(`Expected an integer but got "${o}"`);return i}function y(o){let i=Number.parseFloat(o);if(Number.isNaN(i))throw new p(`Expected a number but got "${o}"`);return i}function m(o){return o.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function at(o){let i=o.command("agencies").description("GovCitizenHub agencies");i.command("list").description("List agencies").option("--active <bool>","Filter by active state (true|false)",t=>t==="true").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(S,{isActive:t.active,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListAgencies.items,{headers:["ID","Name","Code","Jurisdiction","Active"],rows:e.govListAgencies.items.map(n=>[d(n.id,12),n.name,n.code??"-",n.jurisdiction??"-",n.isActive?"yes":"no"])});}catch(e){r(e);}}),i.command("get").description("Get an agency by id").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(b,{id:t});if(!n.govAgency)throw new p(`Agency ${t} not found`);s(e,n.govAgency);}catch(n){r(n);}}),i.command("create").description("Create an agency").requiredOption("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.code&&(e.code=t.code),t.description&&(e.description=t.description),t.jurisdiction&&(e.jurisdiction=t.jurisdiction),t.contactEmail&&(e.contactEmail=t.contactEmail),t.contactPhone&&(e.contactPhone=t.contactPhone),t.tags&&(e.tags=m(t.tags));let n=await a(R,{input:e});c(`Agency created: ${n.govCreateAgency.name}`),s(t,n.govCreateAgency);}catch(e){r(e);}}),i.command("update").description("Update an agency").argument("<id>","Agency ID").option("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--active <bool>","Active state (true|false)",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.code&&(n.code=e.code),e.description!==void 0&&(n.description=e.description),e.jurisdiction&&(n.jurisdiction=e.jurisdiction),e.contactEmail&&(n.contactEmail=e.contactEmail),e.contactPhone&&(n.contactPhone=e.contactPhone),e.active!==void 0&&(n.isActive=e.active),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(D,{id:t,input:n});c("Agency updated"),s(e,v.govUpdateAgency);}catch(n){r(n);}}),i.command("archive").description("Archive (soft-delete) an agency").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(P,{id:t});c(n.govArchiveAgency?"Agency archived":"Agency not archived"),s(e,{archived:n.govArchiveAgency});}catch(n){r(n);}});}function ct(o){let i=o.command("services").description("GovCitizenHub services");i.command("list").description("List services").option("--agency <id>","Filter by agency ID").option("--category <c>","Filter by service category").option("--status <s>","Filter by service status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a($,{agencyId:t.agency,category:t.category?t.category.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListServices.items,{headers:["ID","Name","Category","Status","Fee","SLA"],rows:e.govListServices.items.map(n=>[d(n.id,12),n.name,n.category,n.status,`${n.feeType} ${n.feeAmount}`,n.slaDays!=null?String(n.slaDays):"-"])});}catch(e){r(e);}}),i.command("get").description("Get a service by id").argument("<id>","Service ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(O,{id:t});if(!n.govService)throw new p(`Service ${t} not found`);s(e,n.govService);}catch(n){r(n);}}),i.command("create").description("Create a service").requiredOption("--agency <id>","Agency ID").requiredOption("--name <name>","Service name").requiredOption("--slug <slug>","URL slug").option("--category <c>","Service category","OTHER").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE","FREE").option("--fee-amount <n>","Fee amount",y).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",g).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={agencyId:t.agency,name:t.name,slug:t.slug,category:(t.category??"OTHER").toUpperCase(),feeType:(t.feeType??"FREE").toUpperCase()};t.summary&&(e.summary=t.summary),t.eligibility&&(e.eligibility=t.eligibility),t.feeAmount!==void 0&&(e.feeAmount=t.feeAmount),t.currency&&(e.currency=t.currency),t.requiredDocuments&&(e.requiredDocuments=m(t.requiredDocuments)),t.formSchema&&(e.formSchema=f("form-schema",t.formSchema)),t.slaDays!==void 0&&(e.slaDays=t.slaDays),t.tags&&(e.tags=m(t.tags));let n=await a(G,{input:e});c(`Service created: ${n.govCreateService.name}`),s(t,n.govCreateService);}catch(e){r(e);}}),i.command("update").description("Update a service").argument("<id>","Service ID").option("--name <name>","Service name").option("--category <c>","Service category").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE").option("--fee-amount <n>","Fee amount",y).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",g).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.category&&(n.category=e.category.toUpperCase()),e.summary!==void 0&&(n.summary=e.summary),e.eligibility!==void 0&&(n.eligibility=e.eligibility),e.feeType&&(n.feeType=e.feeType.toUpperCase()),e.feeAmount!==void 0&&(n.feeAmount=e.feeAmount),e.currency&&(n.currency=e.currency),e.requiredDocuments&&(n.requiredDocuments=m(e.requiredDocuments)),e.formSchema&&(n.formSchema=f("form-schema",e.formSchema)),e.slaDays!==void 0&&(n.slaDays=e.slaDays),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(N,{id:t,input:n});c("Service updated"),s(e,v.govUpdateService);}catch(n){r(n);}}),i.command("transition").description("Advance a service through its publication lifecycle").argument("<id>","Service ID").requiredOption("--status <s>","DRAFT|PUBLISHED|SUSPENDED|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(L,{id:t,status:e.status.toUpperCase()});c(`Service status set to ${n.govTransitionService.status}`),s(e,n.govTransitionService);}catch(n){r(n);}});}function pt(o){let i=o.command("applications").description("GovCitizenHub applications");i.command("list").description("List applications").option("--citizen <id>","Filter by citizen ID").option("--service <id>","Filter by service ID").option("--assigned-to <id>","Filter by assignee ID").option("--status <s>","Filter by application status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(_,{citizenId:t.citizen,serviceId:t.service,assignedToId:t.assignedTo,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListApplications.items,{headers:["ID","Reference","Citizen","Status","Priority","Submitted"],rows:e.govListApplications.items.map(n=>[d(n.id,12),n.reference,d(n.citizenId,12),n.status,n.priority,w(n.submittedAt)])});}catch(e){r(e);}}),i.command("get").description("Get an application by id").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(q,{id:t});if(!n.govApplication)throw new p(`Application ${t} not found`);s(e,n.govApplication);}catch(n){r(n);}}),i.command("create").description("Create an application").requiredOption("--service <id>","Service ID").option("--reference <ref>","Application reference").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={serviceId:t.service,priority:(t.priority??"NORMAL").toUpperCase()};t.reference&&(e.reference=t.reference),t.formData&&(e.formData=f("form-data",t.formData)),t.tags&&(e.tags=m(t.tags));let n=await a(U,{input:e});c(`Application created: ${n.govCreateApplication.reference}`),s(t,n.govCreateApplication);}catch(e){r(e);}}),i.command("update").description("Update an application").argument("<id>","Application ID").option("--assigned-to <id>","Assignee ID").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.assignedTo&&(n.assignedToId=e.assignedTo),e.priority&&(n.priority=e.priority.toUpperCase()),e.formData&&(n.formData=f("form-data",e.formData)),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(F,{id:t,input:n});c("Application updated"),s(e,v.govUpdateApplication);}catch(n){r(n);}}),i.command("submit").description("Submit a draft application").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(M,{id:t});c(`Application submitted: ${n.govSubmitApplication.reference}`),s(e,n.govSubmitApplication);}catch(n){r(n);}}),i.command("transition").description("Advance an application through its review lifecycle").argument("<id>","Application ID").requiredOption("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|INFO_REQUESTED|APPROVED|REJECTED|WITHDRAWN").option("--reason <s>","Transition reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(j,{id:t,status:e.status.toUpperCase(),reason:e.reason});c(`Application status set to ${n.govTransitionApplication.status}`),s(e,n.govTransitionApplication);}catch(n){r(n);}}),i.command("add-note").description("Add a case note to an application").requiredOption("--application <id>","Application ID").requiredOption("--body <text>","Note body").option("--type <t>","INTERNAL|CITIZEN_MESSAGE|INFO_REQUEST|DECISION","INTERNAL").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,body:t.body,type:(t.type??"INTERNAL").toUpperCase()},n=await a(V,{input:e});c("Case note added"),s(t,n.govAddCaseNote);}catch(e){r(e);}}),i.command("add-document").description("Attach a document to an application").requiredOption("--application <id>","Application ID").requiredOption("--name <name>","Document name").option("--file <id>","File ID (wspace-files-svc)").option("--requirement <s>","Requirement this document satisfies").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,name:t.name};t.file&&(e.fileId=t.file),t.requirement&&(e.requirement=t.requirement);let n=await a(W,{input:e});c(`Document added: ${n.govAddDocument.name}`),s(t,n.govAddDocument);}catch(e){r(e);}});}function ut(o){o.command("documents").description("GovCitizenHub application documents").command("review").description("Review (accept/reject) an application document").argument("<id>","Document ID").requiredOption("--status <s>","PENDING|ACCEPTED|REJECTED").option("--rejection-reason <s>","Reason when rejecting").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(H,{id:t,status:e.status.toUpperCase(),rejectionReason:e.rejectionReason});c(`Document ${n.govReviewDocument.status.toLowerCase()}`),s(e,n.govReviewDocument);}catch(n){r(n);}});}function dt(o){let i=o.command("grievances").description("GovCitizenHub grievances");i.command("list").description("List grievances").option("--agency <id>","Filter by agency ID").option("--reporter <id>","Filter by reporter ID").option("--status <s>","Filter by grievance status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Y,{agencyId:t.agency,reporterId:t.reporter,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListGrievances.items,{headers:["ID","Title","Category","Status","Priority","Location"],rows:e.govListGrievances.items.map(n=>[d(n.id,12),n.title,n.category,n.status,n.priority,d(n.location??"-",24)])});}catch(e){r(e);}}),i.command("get").description("Get a grievance by id").argument("<id>","Grievance ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(z,{id:t});if(!n.govGrievance)throw new p(`Grievance ${t} not found`);s(e,n.govGrievance);}catch(n){r(n);}}),i.command("report").description("Report a new grievance").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").option("--category <c>","Service category","GRIEVANCES").option("--agency <id>","Agency ID").option("--location <s>","Location description").option("--latitude <n>","Latitude",y).option("--longitude <n>","Longitude",y).option("--photo-file-ids <csv>","Comma-separated photo file IDs").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:(t.category??"GRIEVANCES").toUpperCase(),priority:(t.priority??"NORMAL").toUpperCase()};t.agency&&(e.agencyId=t.agency),t.location&&(e.location=t.location),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.photoFileIds&&(e.photoFileIds=m(t.photoFileIds)),t.tags&&(e.tags=m(t.tags));let n=await a(J,{input:e});c(`Grievance reported: ${n.govReportGrievance.title}`),s(t,n.govReportGrievance);}catch(e){r(e);}}),i.command("update").description("Update a grievance").argument("<id>","Grievance ID").option("--agency <id>","Agency ID").option("--assigned-to <id>","Assignee ID").option("--location <s>","Location description").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.agency&&(n.agencyId=e.agency),e.assignedTo&&(n.assignedToId=e.assignedTo),e.location!==void 0&&(n.location=e.location),e.priority&&(n.priority=e.priority.toUpperCase()),e.tags&&(n.tags=m(e.tags)),!Object.keys(n).length)throw new p("No updates specified");let v=await a(B,{id:t,input:n});c("Grievance updated"),s(e,v.govUpdateGrievance);}catch(n){r(n);}}),i.command("transition").description("Advance a grievance through its resolution lifecycle").argument("<id>","Grievance ID").requiredOption("--status <s>","OPEN|ACKNOWLEDGED|IN_PROGRESS|RESOLVED|REJECTED|CLOSED").option("--resolution <s>","Resolution note").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(K,{id:t,status:e.status.toUpperCase(),resolution:e.resolution});c(`Grievance status set to ${n.govTransitionGrievance.status}`),s(e,n.govTransitionGrievance);}catch(n){r(n);}});}function gt(o){let i=o.command("permits").description("GovCitizenHub permits");i.command("list").description("List permits").option("--holder <id>","Filter by holder ID").option("--service <id>","Filter by service ID").option("--status <s>","Filter by permit status").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Q,{holderId:t.holder,serviceId:t.service,status:t.status?t.status.toUpperCase():void 0});s(t,e.govListPermits.items,{headers:["ID","Title","Holder","Status","Code","Expires"],rows:e.govListPermits.items.map(n=>[d(n.id,12),n.title,d(n.holderId,12),n.status,n.verificationCode,w(n.expiresAt)])});}catch(e){r(e);}}),i.command("issue").description("Issue a permit").requiredOption("--holder <id>","Holder user ID").requiredOption("--service <id>","Service ID").requiredOption("--title <t>","Permit title").requiredOption("--verification-code <code>","Printed verification code").option("--application <id>","Originating application ID").option("--expires-at <iso>","Expiry (ISO date)").option("--file <id>","File ID for the generated permit PDF").option("-f, --format <format>","Output format").action(async t=>{try{let e={holderId:t.holder,serviceId:t.service,title:t.title,verificationCode:t.verificationCode};t.application&&(e.applicationId=t.application),t.expiresAt&&(e.expiresAt=t.expiresAt),t.file&&(e.fileId=t.file);let n=await a(X,{input:e});c(`Permit issued: ${n.govIssuePermit.title}`),s(t,n.govIssuePermit);}catch(e){r(e);}}),i.command("revoke").description("Revoke a permit").argument("<id>","Permit ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(Z,{id:t,reason:e.reason});c("Permit revoked"),s(e,n.govRevokePermit);}catch(n){r(n);}}),i.command("verify").description("Verify a permit by its printed code (public)").argument("<code>","Verification code").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await h(tt,{verificationCode:t});if(!n.govVerifyPermit)throw new p(`No permit found for code ${t}`);c(`Valid permit: ${n.govVerifyPermit.title} (${n.govVerifyPermit.status})`),s(e,n.govVerifyPermit);}catch(n){r(n);}});}function mt(o){let i=o.command("payments").description("GovCitizenHub payments");i.command("list").description("List payments").option("--application <id>","Filter by application ID").option("--payer <id>","Filter by payer ID").option("--status <s>","Filter by payment status").option("--limit <n>","Page size",g,50).option("--offset <n>","Offset",g,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(nt,{applicationId:t.application,payerId:t.payer,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.govListPayments.items,{headers:["ID","Payer","Amount","Currency","Status","Receipt"],rows:e.govListPayments.items.map(n=>[d(n.id,12),d(n.payerId,12),String(n.amount),n.currency,n.status,n.receiptNumber??"-"])});}catch(e){r(e);}}),i.command("get").description("Get a payment by id").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(et,{id:t});if(!n.govPayment)throw new p(`Payment ${t} not found`);s(e,n.govPayment);}catch(n){r(n);}}),i.command("create").description("Create a payment").requiredOption("--amount <n>","Amount",y).option("--application <id>","Application ID").option("--currency <c>","Currency code").option("--provider-ref <ref>","Payment provider reference").option("--line-items <json>","Line items JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={amount:t.amount};t.application&&(e.applicationId=t.application),t.currency&&(e.currency=t.currency),t.providerRef&&(e.providerRef=t.providerRef),t.lineItems&&(e.lineItems=f("line-items",t.lineItems));let n=await a(it,{input:e});c(`Payment created: ${n.govCreatePayment.amount} ${n.govCreatePayment.currency}`),s(t,n.govCreatePayment);}catch(e){r(e);}}),i.command("mark-paid").description("Mark a payment as paid").argument("<id>","Payment ID").option("--provider-ref <ref>","Payment provider reference").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(ot,{id:t,providerRef:e.providerRef});c(`Payment marked paid (${n.govMarkPaymentPaid.status})`),s(e,n.govMarkPaymentPaid);}catch(n){r(n);}}),i.command("refund").description("Refund a payment").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(rt,{id:t});c(`Payment refunded (${n.govRefundPayment.status})`),s(e,n.govRefundPayment);}catch(n){r(n);}});}function lt(o){o.command("health").description("GovCitizenHub service health check (public)").option("-f, --format <format>","Output format").action(async i=>{try{let t=await h(st);c(t.govHealth),s(i,{health:t.govHealth});}catch(t){r(t);}});}var bt={id:"govcitizenhub",version:"1.0.0",displayName:"GovCitizenHub",dependsOn:["auth","workspaces"],register(o,i){k(i);let t=o.command("govcitizenhub").description("GovCitizenHub citizen-government services");at(t),ct(t),pt(t),ut(t),dt(t),gt(t),mt(t),lt(t);}},yn=bt;module.exports=yn;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b as b$1,h as h$1,
|
|
1
|
+
import {a,b as b$1,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var R=`
|
|
2
2
|
query GovGetAgency($id: ID!) {
|
|
3
3
|
govAgency(id: $id) {
|
|
4
4
|
id name code description jurisdiction contactEmail contactPhone
|
|
@@ -9,7 +9,8 @@ import {a,b as b$1,h as h$1,p,g,i,o as o$1,d}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
9
9
|
`,D=`
|
|
10
10
|
query GovListAgencies($isActive: Boolean, $pagination: PaginationInput) {
|
|
11
11
|
govListAgencies(isActive: $isActive, pagination: $pagination) {
|
|
12
|
-
id name code jurisdiction contactEmail isActive tags createdAt
|
|
12
|
+
items { id name code jurisdiction contactEmail isActive tags createdAt }
|
|
13
|
+
pageInfo { cursor hasMore }
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
`,h=`
|
|
@@ -203,8 +204,10 @@ import {a,b as b$1,h as h$1,p,g,i,o as o$1,d}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
203
204
|
`,W=`
|
|
204
205
|
query GovListPermits($holderId: ID, $serviceId: ID, $status: GovPermitStatus) {
|
|
205
206
|
govListPermits(holderId: $holderId, serviceId: $serviceId, status: $status) {
|
|
206
|
-
|
|
207
|
-
|
|
207
|
+
items {
|
|
208
|
+
id title holderId serviceId applicationId status verificationCode issuedAt expiresAt
|
|
209
|
+
}
|
|
210
|
+
pageInfo { cursor hasMore }
|
|
208
211
|
}
|
|
209
212
|
}
|
|
210
213
|
`,Y=`
|
|
@@ -276,4 +279,4 @@ import {a,b as b$1,h as h$1,p,g,i,o as o$1,d}from'../../chunk-W4JZR7RJ.js';impor
|
|
|
276
279
|
query GovHealth {
|
|
277
280
|
govHealth
|
|
278
281
|
}
|
|
279
|
-
`;function l(c,n){try{return JSON.parse(n)}catch{throw new o(`--${c} must be valid JSON`)}}function m(c){let n=Number.parseInt(c,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${c}"`);return n}function v(c){let n=Number.parseFloat(c);if(Number.isNaN(n))throw new o(`Expected a number but got "${c}"`);return n}function u(c){return c.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function it(c){let n=c.command("agencies").description("GovCitizenHub agencies");n.command("list").description("List agencies").option("--active <bool>","Filter by active state (true|false)",t=>t==="true").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(D,{isActive:t.active,pagination:{limit:t.limit,offset:t.offset}});h$1(t,e.govListAgencies,{headers:["ID","Name","Code","Jurisdiction","Active"],rows:e.govListAgencies.map(i=>[p(i.id,12),i.name,i.code??"-",i.jurisdiction??"-",i.isActive?"yes":"no"])});}catch(e){g(e);}}),n.command("get").description("Get an agency by id").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(R,{id:t});if(!i.govAgency)throw new o(`Agency ${t} not found`);h$1(e,i.govAgency);}catch(i){g(i);}}),n.command("create").description("Create an agency").requiredOption("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.code&&(e.code=t.code),t.description&&(e.description=t.description),t.jurisdiction&&(e.jurisdiction=t.jurisdiction),t.contactEmail&&(e.contactEmail=t.contactEmail),t.contactPhone&&(e.contactPhone=t.contactPhone),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(h,{input:e});i(`Agency created: ${i$1.govCreateAgency.name}`),h$1(t,i$1.govCreateAgency);}catch(e){g(e);}}),n.command("update").description("Update an agency").argument("<id>","Agency ID").option("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--active <bool>","Active state (true|false)",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.code&&(i$1.code=e.code),e.description!==void 0&&(i$1.description=e.description),e.jurisdiction&&(i$1.jurisdiction=e.jurisdiction),e.contactEmail&&(i$1.contactEmail=e.contactEmail),e.contactPhone&&(i$1.contactPhone=e.contactPhone),e.active!==void 0&&(i$1.isActive=e.active),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(S,{id:t,input:i$1});i("Agency updated"),h$1(e,I.govUpdateAgency);}catch(i){g(i);}}),n.command("archive").description("Archive (soft-delete) an agency").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(P,{id:t});i(i$1.govArchiveAgency?"Agency archived":"Agency not archived"),h$1(e,{archived:i$1.govArchiveAgency});}catch(i){g(i);}});}function nt(c){let n=c.command("services").description("GovCitizenHub services");n.command("list").description("List services").option("--agency <id>","Filter by agency ID").option("--category <c>","Filter by service category").option("--status <s>","Filter by service status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(G,{agencyId:t.agency,category:t.category?t.category.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});h$1(t,e.govListServices.items,{headers:["ID","Name","Category","Status","Fee","SLA"],rows:e.govListServices.items.map(i=>[p(i.id,12),i.name,i.category,i.status,`${i.feeType} ${i.feeAmount}`,i.slaDays!=null?String(i.slaDays):"-"])});}catch(e){g(e);}}),n.command("get").description("Get a service by id").argument("<id>","Service ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(T,{id:t});if(!i.govService)throw new o(`Service ${t} not found`);h$1(e,i.govService);}catch(i){g(i);}}),n.command("create").description("Create a service").requiredOption("--agency <id>","Agency ID").requiredOption("--name <name>","Service name").requiredOption("--slug <slug>","URL slug").option("--category <c>","Service category","OTHER").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE","FREE").option("--fee-amount <n>","Fee amount",v).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",m).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={agencyId:t.agency,name:t.name,slug:t.slug,category:(t.category??"OTHER").toUpperCase(),feeType:(t.feeType??"FREE").toUpperCase()};t.summary&&(e.summary=t.summary),t.eligibility&&(e.eligibility=t.eligibility),t.feeAmount!==void 0&&(e.feeAmount=t.feeAmount),t.currency&&(e.currency=t.currency),t.requiredDocuments&&(e.requiredDocuments=u(t.requiredDocuments)),t.formSchema&&(e.formSchema=l("form-schema",t.formSchema)),t.slaDays!==void 0&&(e.slaDays=t.slaDays),t.tags&&(e.tags=u(t.tags));let i$1=await b$1($,{input:e});i(`Service created: ${i$1.govCreateService.name}`),h$1(t,i$1.govCreateService);}catch(e){g(e);}}),n.command("update").description("Update a service").argument("<id>","Service ID").option("--name <name>","Service name").option("--category <c>","Service category").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE").option("--fee-amount <n>","Fee amount",v).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",m).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.category&&(i$1.category=e.category.toUpperCase()),e.summary!==void 0&&(i$1.summary=e.summary),e.eligibility!==void 0&&(i$1.eligibility=e.eligibility),e.feeType&&(i$1.feeType=e.feeType.toUpperCase()),e.feeAmount!==void 0&&(i$1.feeAmount=e.feeAmount),e.currency&&(i$1.currency=e.currency),e.requiredDocuments&&(i$1.requiredDocuments=u(e.requiredDocuments)),e.formSchema&&(i$1.formSchema=l("form-schema",e.formSchema)),e.slaDays!==void 0&&(i$1.slaDays=e.slaDays),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(w,{id:t,input:i$1});i("Service updated"),h$1(e,I.govUpdateService);}catch(i){g(i);}}),n.command("transition").description("Advance a service through its publication lifecycle").argument("<id>","Service ID").requiredOption("--status <s>","DRAFT|PUBLISHED|SUSPENDED|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(O,{id:t,status:e.status.toUpperCase()});i(`Service status set to ${i$1.govTransitionService.status}`),h$1(e,i$1.govTransitionService);}catch(i){g(i);}});}function ot(c){let n=c.command("applications").description("GovCitizenHub applications");n.command("list").description("List applications").option("--citizen <id>","Filter by citizen ID").option("--service <id>","Filter by service ID").option("--assigned-to <id>","Filter by assignee ID").option("--status <s>","Filter by application status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(b,{citizenId:t.citizen,serviceId:t.service,assignedToId:t.assignedTo,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});h$1(t,e.govListApplications.items,{headers:["ID","Reference","Citizen","Status","Priority","Submitted"],rows:e.govListApplications.items.map(i=>[p(i.id,12),i.reference,p(i.citizenId,12),i.status,i.priority,o$1(i.submittedAt)])});}catch(e){g(e);}}),n.command("get").description("Get an application by id").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(N,{id:t});if(!i.govApplication)throw new o(`Application ${t} not found`);h$1(e,i.govApplication);}catch(i){g(i);}}),n.command("create").description("Create an application").requiredOption("--service <id>","Service ID").option("--reference <ref>","Application reference").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={serviceId:t.service,priority:(t.priority??"NORMAL").toUpperCase()};t.reference&&(e.reference=t.reference),t.formData&&(e.formData=l("form-data",t.formData)),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(L,{input:e});i(`Application created: ${i$1.govCreateApplication.reference}`),h$1(t,i$1.govCreateApplication);}catch(e){g(e);}}),n.command("update").description("Update an application").argument("<id>","Application ID").option("--assigned-to <id>","Assignee ID").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.assignedTo&&(i$1.assignedToId=e.assignedTo),e.priority&&(i$1.priority=e.priority.toUpperCase()),e.formData&&(i$1.formData=l("form-data",e.formData)),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(U,{id:t,input:i$1});i("Application updated"),h$1(e,I.govUpdateApplication);}catch(i){g(i);}}),n.command("submit").description("Submit a draft application").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(x,{id:t});i(`Application submitted: ${i$1.govSubmitApplication.reference}`),h$1(e,i$1.govSubmitApplication);}catch(i){g(i);}}),n.command("transition").description("Advance an application through its review lifecycle").argument("<id>","Application ID").requiredOption("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|INFO_REQUESTED|APPROVED|REJECTED|WITHDRAWN").option("--reason <s>","Transition reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(_,{id:t,status:e.status.toUpperCase(),reason:e.reason});i(`Application status set to ${i$1.govTransitionApplication.status}`),h$1(e,i$1.govTransitionApplication);}catch(i){g(i);}}),n.command("add-note").description("Add a case note to an application").requiredOption("--application <id>","Application ID").requiredOption("--body <text>","Note body").option("--type <t>","INTERNAL|CITIZEN_MESSAGE|INFO_REQUEST|DECISION","INTERNAL").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,body:t.body,type:(t.type??"INTERNAL").toUpperCase()},i$1=await b$1(k,{input:e});i("Case note added"),h$1(t,i$1.govAddCaseNote);}catch(e){g(e);}}),n.command("add-document").description("Attach a document to an application").requiredOption("--application <id>","Application ID").requiredOption("--name <name>","Document name").option("--file <id>","File ID (wspace-files-svc)").option("--requirement <s>","Requirement this document satisfies").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,name:t.name};t.file&&(e.fileId=t.file),t.requirement&&(e.requirement=t.requirement);let i$1=await b$1(q,{input:e});i(`Document added: ${i$1.govAddDocument.name}`),h$1(t,i$1.govAddDocument);}catch(e){g(e);}});}function rt(c){c.command("documents").description("GovCitizenHub application documents").command("review").description("Review (accept/reject) an application document").argument("<id>","Document ID").requiredOption("--status <s>","PENDING|ACCEPTED|REJECTED").option("--rejection-reason <s>","Reason when rejecting").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(M,{id:t,status:e.status.toUpperCase(),rejectionReason:e.rejectionReason});i(`Document ${i$1.govReviewDocument.status.toLowerCase()}`),h$1(e,i$1.govReviewDocument);}catch(i){g(i);}});}function at(c){let n=c.command("grievances").description("GovCitizenHub grievances");n.command("list").description("List grievances").option("--agency <id>","Filter by agency ID").option("--reporter <id>","Filter by reporter ID").option("--status <s>","Filter by grievance status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(V,{agencyId:t.agency,reporterId:t.reporter,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});h$1(t,e.govListGrievances.items,{headers:["ID","Title","Category","Status","Priority","Location"],rows:e.govListGrievances.items.map(i=>[p(i.id,12),i.title,i.category,i.status,i.priority,p(i.location??"-",24)])});}catch(e){g(e);}}),n.command("get").description("Get a grievance by id").argument("<id>","Grievance ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(F,{id:t});if(!i.govGrievance)throw new o(`Grievance ${t} not found`);h$1(e,i.govGrievance);}catch(i){g(i);}}),n.command("report").description("Report a new grievance").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").option("--category <c>","Service category","GRIEVANCES").option("--agency <id>","Agency ID").option("--location <s>","Location description").option("--latitude <n>","Latitude",v).option("--longitude <n>","Longitude",v).option("--photo-file-ids <csv>","Comma-separated photo file IDs").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:(t.category??"GRIEVANCES").toUpperCase(),priority:(t.priority??"NORMAL").toUpperCase()};t.agency&&(e.agencyId=t.agency),t.location&&(e.location=t.location),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.photoFileIds&&(e.photoFileIds=u(t.photoFileIds)),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(j,{input:e});i(`Grievance reported: ${i$1.govReportGrievance.title}`),h$1(t,i$1.govReportGrievance);}catch(e){g(e);}}),n.command("update").description("Update a grievance").argument("<id>","Grievance ID").option("--agency <id>","Agency ID").option("--assigned-to <id>","Assignee ID").option("--location <s>","Location description").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.agency&&(i$1.agencyId=e.agency),e.assignedTo&&(i$1.assignedToId=e.assignedTo),e.location!==void 0&&(i$1.location=e.location),e.priority&&(i$1.priority=e.priority.toUpperCase()),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(H,{id:t,input:i$1});i("Grievance updated"),h$1(e,I.govUpdateGrievance);}catch(i){g(i);}}),n.command("transition").description("Advance a grievance through its resolution lifecycle").argument("<id>","Grievance ID").requiredOption("--status <s>","OPEN|ACKNOWLEDGED|IN_PROGRESS|RESOLVED|REJECTED|CLOSED").option("--resolution <s>","Resolution note").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(z,{id:t,status:e.status.toUpperCase(),resolution:e.resolution});i(`Grievance status set to ${i$1.govTransitionGrievance.status}`),h$1(e,i$1.govTransitionGrievance);}catch(i){g(i);}});}function st(c){let n=c.command("permits").description("GovCitizenHub permits");n.command("list").description("List permits").option("--holder <id>","Filter by holder ID").option("--service <id>","Filter by service ID").option("--status <s>","Filter by permit status").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(W,{holderId:t.holder,serviceId:t.service,status:t.status?t.status.toUpperCase():void 0});h$1(t,e.govListPermits,{headers:["ID","Title","Holder","Status","Code","Expires"],rows:e.govListPermits.map(i=>[p(i.id,12),i.title,p(i.holderId,12),i.status,i.verificationCode,o$1(i.expiresAt)])});}catch(e){g(e);}}),n.command("issue").description("Issue a permit").requiredOption("--holder <id>","Holder user ID").requiredOption("--service <id>","Service ID").requiredOption("--title <t>","Permit title").requiredOption("--verification-code <code>","Printed verification code").option("--application <id>","Originating application ID").option("--expires-at <iso>","Expiry (ISO date)").option("--file <id>","File ID for the generated permit PDF").option("-f, --format <format>","Output format").action(async t=>{try{let e={holderId:t.holder,serviceId:t.service,title:t.title,verificationCode:t.verificationCode};t.application&&(e.applicationId=t.application),t.expiresAt&&(e.expiresAt=t.expiresAt),t.file&&(e.fileId=t.file);let i$1=await b$1(Y,{input:e});i(`Permit issued: ${i$1.govIssuePermit.title}`),h$1(t,i$1.govIssuePermit);}catch(e){g(e);}}),n.command("revoke").description("Revoke a permit").argument("<id>","Permit ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(J,{id:t,reason:e.reason});i("Permit revoked"),h$1(e,i$1.govRevokePermit);}catch(i){g(i);}}),n.command("verify").description("Verify a permit by its printed code (public)").argument("<code>","Verification code").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await d(B,{verificationCode:t});if(!i$1.govVerifyPermit)throw new o(`No permit found for code ${t}`);i(`Valid permit: ${i$1.govVerifyPermit.title} (${i$1.govVerifyPermit.status})`),h$1(e,i$1.govVerifyPermit);}catch(i){g(i);}});}function ct(c){let n=c.command("payments").description("GovCitizenHub payments");n.command("list").description("List payments").option("--application <id>","Filter by application ID").option("--payer <id>","Filter by payer ID").option("--status <s>","Filter by payment status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(Q,{applicationId:t.application,payerId:t.payer,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});h$1(t,e.govListPayments.items,{headers:["ID","Payer","Amount","Currency","Status","Receipt"],rows:e.govListPayments.items.map(i=>[p(i.id,12),p(i.payerId,12),String(i.amount),i.currency,i.status,i.receiptNumber??"-"])});}catch(e){g(e);}}),n.command("get").description("Get a payment by id").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(K,{id:t});if(!i.govPayment)throw new o(`Payment ${t} not found`);h$1(e,i.govPayment);}catch(i){g(i);}}),n.command("create").description("Create a payment").requiredOption("--amount <n>","Amount",v).option("--application <id>","Application ID").option("--currency <c>","Currency code").option("--provider-ref <ref>","Payment provider reference").option("--line-items <json>","Line items JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={amount:t.amount};t.application&&(e.applicationId=t.application),t.currency&&(e.currency=t.currency),t.providerRef&&(e.providerRef=t.providerRef),t.lineItems&&(e.lineItems=l("line-items",t.lineItems));let i$1=await b$1(X,{input:e});i(`Payment created: ${i$1.govCreatePayment.amount} ${i$1.govCreatePayment.currency}`),h$1(t,i$1.govCreatePayment);}catch(e){g(e);}}),n.command("mark-paid").description("Mark a payment as paid").argument("<id>","Payment ID").option("--provider-ref <ref>","Payment provider reference").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(Z,{id:t,providerRef:e.providerRef});i(`Payment marked paid (${i$1.govMarkPaymentPaid.status})`),h$1(e,i$1.govMarkPaymentPaid);}catch(i){g(i);}}),n.command("refund").description("Refund a payment").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(tt,{id:t});i(`Payment refunded (${i$1.govRefundPayment.status})`),h$1(e,i$1.govRefundPayment);}catch(i){g(i);}});}function pt(c){c.command("health").description("GovCitizenHub service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await d(et);i(t.govHealth),h$1(n,{health:t.govHealth});}catch(t){g(t);}});}var dt={id:"govcitizenhub",version:"1.0.0",displayName:"GovCitizenHub",dependsOn:["auth","workspaces"],register(c,n){a(n);let t=c.command("govcitizenhub").description("GovCitizenHub citizen-government services");it(t),nt(t),ot(t),rt(t),at(t),st(t),ct(t),pt(t);}},Bt=dt;export{Bt as default};
|
|
282
|
+
`;function l(c,n){try{return JSON.parse(n)}catch{throw new o(`--${c} must be valid JSON`)}}function m(c){let n=Number.parseInt(c,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${c}"`);return n}function v(c){let n=Number.parseFloat(c);if(Number.isNaN(n))throw new o(`Expected a number but got "${c}"`);return n}function u(c){return c.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function it(c){let n=c.command("agencies").description("GovCitizenHub agencies");n.command("list").description("List agencies").option("--active <bool>","Filter by active state (true|false)",t=>t==="true").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(D,{isActive:t.active,pagination:{limit:t.limit,offset:t.offset}});i(t,e.govListAgencies.items,{headers:["ID","Name","Code","Jurisdiction","Active"],rows:e.govListAgencies.items.map(i=>[r(i.id,12),i.name,i.code??"-",i.jurisdiction??"-",i.isActive?"yes":"no"])});}catch(e){h$1(e);}}),n.command("get").description("Get an agency by id").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(R,{id:t});if(!i$1.govAgency)throw new o(`Agency ${t} not found`);i(e,i$1.govAgency);}catch(i){h$1(i);}}),n.command("create").description("Create an agency").requiredOption("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.code&&(e.code=t.code),t.description&&(e.description=t.description),t.jurisdiction&&(e.jurisdiction=t.jurisdiction),t.contactEmail&&(e.contactEmail=t.contactEmail),t.contactPhone&&(e.contactPhone=t.contactPhone),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(h,{input:e});k$1(`Agency created: ${i$1.govCreateAgency.name}`),i(t,i$1.govCreateAgency);}catch(e){h$1(e);}}),n.command("update").description("Update an agency").argument("<id>","Agency ID").option("--name <name>","Agency name").option("--code <code>","Agency code").option("--description <s>","Description").option("--jurisdiction <s>","Jurisdiction").option("--contact-email <email>","Contact email").option("--contact-phone <phone>","Contact phone").option("--active <bool>","Active state (true|false)",t=>t==="true").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.code&&(i$1.code=e.code),e.description!==void 0&&(i$1.description=e.description),e.jurisdiction&&(i$1.jurisdiction=e.jurisdiction),e.contactEmail&&(i$1.contactEmail=e.contactEmail),e.contactPhone&&(i$1.contactPhone=e.contactPhone),e.active!==void 0&&(i$1.isActive=e.active),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(S,{id:t,input:i$1});k$1("Agency updated"),i(e,I.govUpdateAgency);}catch(i){h$1(i);}}),n.command("archive").description("Archive (soft-delete) an agency").argument("<id>","Agency ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(P,{id:t});k$1(i$1.govArchiveAgency?"Agency archived":"Agency not archived"),i(e,{archived:i$1.govArchiveAgency});}catch(i){h$1(i);}});}function nt(c){let n=c.command("services").description("GovCitizenHub services");n.command("list").description("List services").option("--agency <id>","Filter by agency ID").option("--category <c>","Filter by service category").option("--status <s>","Filter by service status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(G,{agencyId:t.agency,category:t.category?t.category.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.govListServices.items,{headers:["ID","Name","Category","Status","Fee","SLA"],rows:e.govListServices.items.map(i=>[r(i.id,12),i.name,i.category,i.status,`${i.feeType} ${i.feeAmount}`,i.slaDays!=null?String(i.slaDays):"-"])});}catch(e){h$1(e);}}),n.command("get").description("Get a service by id").argument("<id>","Service ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(T,{id:t});if(!i$1.govService)throw new o(`Service ${t} not found`);i(e,i$1.govService);}catch(i){h$1(i);}}),n.command("create").description("Create a service").requiredOption("--agency <id>","Agency ID").requiredOption("--name <name>","Service name").requiredOption("--slug <slug>","URL slug").option("--category <c>","Service category","OTHER").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE","FREE").option("--fee-amount <n>","Fee amount",v).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",m).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={agencyId:t.agency,name:t.name,slug:t.slug,category:(t.category??"OTHER").toUpperCase(),feeType:(t.feeType??"FREE").toUpperCase()};t.summary&&(e.summary=t.summary),t.eligibility&&(e.eligibility=t.eligibility),t.feeAmount!==void 0&&(e.feeAmount=t.feeAmount),t.currency&&(e.currency=t.currency),t.requiredDocuments&&(e.requiredDocuments=u(t.requiredDocuments)),t.formSchema&&(e.formSchema=l("form-schema",t.formSchema)),t.slaDays!==void 0&&(e.slaDays=t.slaDays),t.tags&&(e.tags=u(t.tags));let i$1=await b$1($,{input:e});k$1(`Service created: ${i$1.govCreateService.name}`),i(t,i$1.govCreateService);}catch(e){h$1(e);}}),n.command("update").description("Update a service").argument("<id>","Service ID").option("--name <name>","Service name").option("--category <c>","Service category").option("--summary <s>","Summary").option("--eligibility <s>","Eligibility criteria").option("--fee-type <t>","FREE|FIXED|VARIABLE").option("--fee-amount <n>","Fee amount",v).option("--currency <c>","Currency code").option("--required-documents <csv>","Comma-separated required documents").option("--form-schema <json>","Form schema JSON").option("--sla-days <n>","SLA in days",m).option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.category&&(i$1.category=e.category.toUpperCase()),e.summary!==void 0&&(i$1.summary=e.summary),e.eligibility!==void 0&&(i$1.eligibility=e.eligibility),e.feeType&&(i$1.feeType=e.feeType.toUpperCase()),e.feeAmount!==void 0&&(i$1.feeAmount=e.feeAmount),e.currency&&(i$1.currency=e.currency),e.requiredDocuments&&(i$1.requiredDocuments=u(e.requiredDocuments)),e.formSchema&&(i$1.formSchema=l("form-schema",e.formSchema)),e.slaDays!==void 0&&(i$1.slaDays=e.slaDays),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(w,{id:t,input:i$1});k$1("Service updated"),i(e,I.govUpdateService);}catch(i){h$1(i);}}),n.command("transition").description("Advance a service through its publication lifecycle").argument("<id>","Service ID").requiredOption("--status <s>","DRAFT|PUBLISHED|SUSPENDED|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(O,{id:t,status:e.status.toUpperCase()});k$1(`Service status set to ${i$1.govTransitionService.status}`),i(e,i$1.govTransitionService);}catch(i){h$1(i);}});}function ot(c){let n=c.command("applications").description("GovCitizenHub applications");n.command("list").description("List applications").option("--citizen <id>","Filter by citizen ID").option("--service <id>","Filter by service ID").option("--assigned-to <id>","Filter by assignee ID").option("--status <s>","Filter by application status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(b,{citizenId:t.citizen,serviceId:t.service,assignedToId:t.assignedTo,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.govListApplications.items,{headers:["ID","Reference","Citizen","Status","Priority","Submitted"],rows:e.govListApplications.items.map(i=>[r(i.id,12),i.reference,r(i.citizenId,12),i.status,i.priority,q$1(i.submittedAt)])});}catch(e){h$1(e);}}),n.command("get").description("Get an application by id").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(N,{id:t});if(!i$1.govApplication)throw new o(`Application ${t} not found`);i(e,i$1.govApplication);}catch(i){h$1(i);}}),n.command("create").description("Create an application").requiredOption("--service <id>","Service ID").option("--reference <ref>","Application reference").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={serviceId:t.service,priority:(t.priority??"NORMAL").toUpperCase()};t.reference&&(e.reference=t.reference),t.formData&&(e.formData=l("form-data",t.formData)),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(L,{input:e});k$1(`Application created: ${i$1.govCreateApplication.reference}`),i(t,i$1.govCreateApplication);}catch(e){h$1(e);}}),n.command("update").description("Update an application").argument("<id>","Application ID").option("--assigned-to <id>","Assignee ID").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--form-data <json>","Form data JSON").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.assignedTo&&(i$1.assignedToId=e.assignedTo),e.priority&&(i$1.priority=e.priority.toUpperCase()),e.formData&&(i$1.formData=l("form-data",e.formData)),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(U,{id:t,input:i$1});k$1("Application updated"),i(e,I.govUpdateApplication);}catch(i){h$1(i);}}),n.command("submit").description("Submit a draft application").argument("<id>","Application ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(x,{id:t});k$1(`Application submitted: ${i$1.govSubmitApplication.reference}`),i(e,i$1.govSubmitApplication);}catch(i){h$1(i);}}),n.command("transition").description("Advance an application through its review lifecycle").argument("<id>","Application ID").requiredOption("--status <s>","DRAFT|SUBMITTED|IN_REVIEW|INFO_REQUESTED|APPROVED|REJECTED|WITHDRAWN").option("--reason <s>","Transition reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(_,{id:t,status:e.status.toUpperCase(),reason:e.reason});k$1(`Application status set to ${i$1.govTransitionApplication.status}`),i(e,i$1.govTransitionApplication);}catch(i){h$1(i);}}),n.command("add-note").description("Add a case note to an application").requiredOption("--application <id>","Application ID").requiredOption("--body <text>","Note body").option("--type <t>","INTERNAL|CITIZEN_MESSAGE|INFO_REQUEST|DECISION","INTERNAL").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,body:t.body,type:(t.type??"INTERNAL").toUpperCase()},i$1=await b$1(k,{input:e});k$1("Case note added"),i(t,i$1.govAddCaseNote);}catch(e){h$1(e);}}),n.command("add-document").description("Attach a document to an application").requiredOption("--application <id>","Application ID").requiredOption("--name <name>","Document name").option("--file <id>","File ID (wspace-files-svc)").option("--requirement <s>","Requirement this document satisfies").option("-f, --format <format>","Output format").action(async t=>{try{let e={applicationId:t.application,name:t.name};t.file&&(e.fileId=t.file),t.requirement&&(e.requirement=t.requirement);let i$1=await b$1(q,{input:e});k$1(`Document added: ${i$1.govAddDocument.name}`),i(t,i$1.govAddDocument);}catch(e){h$1(e);}});}function rt(c){c.command("documents").description("GovCitizenHub application documents").command("review").description("Review (accept/reject) an application document").argument("<id>","Document ID").requiredOption("--status <s>","PENDING|ACCEPTED|REJECTED").option("--rejection-reason <s>","Reason when rejecting").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(M,{id:t,status:e.status.toUpperCase(),rejectionReason:e.rejectionReason});k$1(`Document ${i$1.govReviewDocument.status.toLowerCase()}`),i(e,i$1.govReviewDocument);}catch(i){h$1(i);}});}function at(c){let n=c.command("grievances").description("GovCitizenHub grievances");n.command("list").description("List grievances").option("--agency <id>","Filter by agency ID").option("--reporter <id>","Filter by reporter ID").option("--status <s>","Filter by grievance status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(V,{agencyId:t.agency,reporterId:t.reporter,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.govListGrievances.items,{headers:["ID","Title","Category","Status","Priority","Location"],rows:e.govListGrievances.items.map(i=>[r(i.id,12),i.title,i.category,i.status,i.priority,r(i.location??"-",24)])});}catch(e){h$1(e);}}),n.command("get").description("Get a grievance by id").argument("<id>","Grievance ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(F,{id:t});if(!i$1.govGrievance)throw new o(`Grievance ${t} not found`);i(e,i$1.govGrievance);}catch(i){h$1(i);}}),n.command("report").description("Report a new grievance").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").option("--category <c>","Service category","GRIEVANCES").option("--agency <id>","Agency ID").option("--location <s>","Location description").option("--latitude <n>","Latitude",v).option("--longitude <n>","Longitude",v).option("--photo-file-ids <csv>","Comma-separated photo file IDs").option("--priority <p>","LOW|NORMAL|HIGH|URGENT","NORMAL").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:(t.category??"GRIEVANCES").toUpperCase(),priority:(t.priority??"NORMAL").toUpperCase()};t.agency&&(e.agencyId=t.agency),t.location&&(e.location=t.location),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.photoFileIds&&(e.photoFileIds=u(t.photoFileIds)),t.tags&&(e.tags=u(t.tags));let i$1=await b$1(j,{input:e});k$1(`Grievance reported: ${i$1.govReportGrievance.title}`),i(t,i$1.govReportGrievance);}catch(e){h$1(e);}}),n.command("update").description("Update a grievance").argument("<id>","Grievance ID").option("--agency <id>","Agency ID").option("--assigned-to <id>","Assignee ID").option("--location <s>","Location description").option("--priority <p>","LOW|NORMAL|HIGH|URGENT").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.agency&&(i$1.agencyId=e.agency),e.assignedTo&&(i$1.assignedToId=e.assignedTo),e.location!==void 0&&(i$1.location=e.location),e.priority&&(i$1.priority=e.priority.toUpperCase()),e.tags&&(i$1.tags=u(e.tags)),!Object.keys(i$1).length)throw new o("No updates specified");let I=await b$1(H,{id:t,input:i$1});k$1("Grievance updated"),i(e,I.govUpdateGrievance);}catch(i){h$1(i);}}),n.command("transition").description("Advance a grievance through its resolution lifecycle").argument("<id>","Grievance ID").requiredOption("--status <s>","OPEN|ACKNOWLEDGED|IN_PROGRESS|RESOLVED|REJECTED|CLOSED").option("--resolution <s>","Resolution note").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(z,{id:t,status:e.status.toUpperCase(),resolution:e.resolution});k$1(`Grievance status set to ${i$1.govTransitionGrievance.status}`),i(e,i$1.govTransitionGrievance);}catch(i){h$1(i);}});}function st(c){let n=c.command("permits").description("GovCitizenHub permits");n.command("list").description("List permits").option("--holder <id>","Filter by holder ID").option("--service <id>","Filter by service ID").option("--status <s>","Filter by permit status").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(W,{holderId:t.holder,serviceId:t.service,status:t.status?t.status.toUpperCase():void 0});i(t,e.govListPermits.items,{headers:["ID","Title","Holder","Status","Code","Expires"],rows:e.govListPermits.items.map(i=>[r(i.id,12),i.title,r(i.holderId,12),i.status,i.verificationCode,q$1(i.expiresAt)])});}catch(e){h$1(e);}}),n.command("issue").description("Issue a permit").requiredOption("--holder <id>","Holder user ID").requiredOption("--service <id>","Service ID").requiredOption("--title <t>","Permit title").requiredOption("--verification-code <code>","Printed verification code").option("--application <id>","Originating application ID").option("--expires-at <iso>","Expiry (ISO date)").option("--file <id>","File ID for the generated permit PDF").option("-f, --format <format>","Output format").action(async t=>{try{let e={holderId:t.holder,serviceId:t.service,title:t.title,verificationCode:t.verificationCode};t.application&&(e.applicationId=t.application),t.expiresAt&&(e.expiresAt=t.expiresAt),t.file&&(e.fileId=t.file);let i$1=await b$1(Y,{input:e});k$1(`Permit issued: ${i$1.govIssuePermit.title}`),i(t,i$1.govIssuePermit);}catch(e){h$1(e);}}),n.command("revoke").description("Revoke a permit").argument("<id>","Permit ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(J,{id:t,reason:e.reason});k$1("Permit revoked"),i(e,i$1.govRevokePermit);}catch(i){h$1(i);}}),n.command("verify").description("Verify a permit by its printed code (public)").argument("<code>","Verification code").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await d(B,{verificationCode:t});if(!i$1.govVerifyPermit)throw new o(`No permit found for code ${t}`);k$1(`Valid permit: ${i$1.govVerifyPermit.title} (${i$1.govVerifyPermit.status})`),i(e,i$1.govVerifyPermit);}catch(i){h$1(i);}});}function ct(c){let n=c.command("payments").description("GovCitizenHub payments");n.command("list").description("List payments").option("--application <id>","Filter by application ID").option("--payer <id>","Filter by payer ID").option("--status <s>","Filter by payment status").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(Q,{applicationId:t.application,payerId:t.payer,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});i(t,e.govListPayments.items,{headers:["ID","Payer","Amount","Currency","Status","Receipt"],rows:e.govListPayments.items.map(i=>[r(i.id,12),r(i.payerId,12),String(i.amount),i.currency,i.status,i.receiptNumber??"-"])});}catch(e){h$1(e);}}),n.command("get").description("Get a payment by id").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(K,{id:t});if(!i$1.govPayment)throw new o(`Payment ${t} not found`);i(e,i$1.govPayment);}catch(i){h$1(i);}}),n.command("create").description("Create a payment").requiredOption("--amount <n>","Amount",v).option("--application <id>","Application ID").option("--currency <c>","Currency code").option("--provider-ref <ref>","Payment provider reference").option("--line-items <json>","Line items JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={amount:t.amount};t.application&&(e.applicationId=t.application),t.currency&&(e.currency=t.currency),t.providerRef&&(e.providerRef=t.providerRef),t.lineItems&&(e.lineItems=l("line-items",t.lineItems));let i$1=await b$1(X,{input:e});k$1(`Payment created: ${i$1.govCreatePayment.amount} ${i$1.govCreatePayment.currency}`),i(t,i$1.govCreatePayment);}catch(e){h$1(e);}}),n.command("mark-paid").description("Mark a payment as paid").argument("<id>","Payment ID").option("--provider-ref <ref>","Payment provider reference").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(Z,{id:t,providerRef:e.providerRef});k$1(`Payment marked paid (${i$1.govMarkPaymentPaid.status})`),i(e,i$1.govMarkPaymentPaid);}catch(i){h$1(i);}}),n.command("refund").description("Refund a payment").argument("<id>","Payment ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(tt,{id:t});k$1(`Payment refunded (${i$1.govRefundPayment.status})`),i(e,i$1.govRefundPayment);}catch(i){h$1(i);}});}function pt(c){c.command("health").description("GovCitizenHub service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await d(et);k$1(t.govHealth),i(n,{health:t.govHealth});}catch(t){h$1(t);}});}var dt={id:"govcitizenhub",version:"1.0.0",displayName:"GovCitizenHub",dependsOn:["auth","workspaces"],register(c,n){a(n);let t=c.command("govcitizenhub").description("GovCitizenHub citizen-government services");it(t),nt(t),ot(t),rt(t),at(t),st(t),ct(t),pt(t);}},Bt=dt;export{Bt as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var d=class extends Error{exitCode;hint;constructor(o,u){super(o),this.name="CliUserError",this.exitCode=u?.exitCode??1,this.hint=u?.hint;}},y=class extends d{constructor(o,u){super(o,{exitCode:2,hint:u?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(o,u){super(o),this.name="CliInternalError",this.cause=u;}};var C=null;function k(
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var d=class extends Error{exitCode;hint;constructor(o,u){super(o),this.name="CliUserError",this.exitCode=u?.exitCode??1,this.hint=u?.hint;}},y=class extends d{constructor(o,u){super(o,{exitCode:2,hint:u?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(o,u){super(o),this.name="CliInternalError",this.cause=u;}};var C=null;function k(r){C=r;}function g(){if(!C)throw new f("vibecontrols module helpers used before setHelpersContext was called");return C}function Y(){let r=g();if(!r.auth.isAuthenticated())throw new y("Authentication required.",{hint:`Run \`${r.productName} auth login\` to authenticate.`})}async function c(r,o){return Y(),g().gql.workspace.request(r,o)}function p(r){let o=r instanceof Error?r.message:String(r);throw new d(o)}function l(r,o,u){g().output.formatAndOutput(r,o,u);}function m(r){g().output.printSuccess(r);}function I(r){g().output.printWarning(r);}function w(r){return g().output.formatStatus(r)}function T(r){return g().output.formatDate(r)}function h(r,o){return g().output.truncate(r,o)}var E=`
|
|
2
2
|
query ListGroups($filter: GroupFilter, $first: Int, $after: String, $sort: GroupSort) {
|
|
3
3
|
groups(filter: $filter, first: $first, after: $after, sort: $sort) {
|
|
4
4
|
edges { node { id name groupType visibility status memberCount createdAt } }
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
id name description visibility status updatedAt
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
`,
|
|
26
|
+
`,S=`
|
|
27
27
|
mutation DeleteGroup($id: ID!) {
|
|
28
28
|
deleteGroup(id: $id)
|
|
29
29
|
}
|
|
30
|
-
`,
|
|
30
|
+
`,R=`
|
|
31
31
|
mutation ArchiveGroup($id: ID!) {
|
|
32
32
|
archiveGroup(id: $id) { id status }
|
|
33
33
|
}
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
edges { node { id name groupType visibility memberCount } }
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
`;function _(
|
|
68
|
+
`;function _(r){let o=r.command("groups").description("Group management");o.command("list").description("List groups").option("--type <t>","Filter by groupType").option("--status <s>","Filter by status").option("--limit <n>","Page size",e=>parseInt(e,10),50).option("-f, --format <format>").action(async e=>{try{let t={};e.type&&(t.groupType=e.type.toUpperCase()),e.status&&(t.status=e.status.toUpperCase());let a=(await c(E,{filter:Object.keys(t).length?t:void 0,first:e.limit})).groups.edges.map(i=>i.node);l(e,a,{headers:["ID","Name","Type","Visibility","Status","Members"],rows:a.map(i=>[h(i.id,12),i.name,i.groupType??"-",i.visibility??"-",w(i.status),String(i.memberCount??0)])});}catch(t){p(t);}}),o.command("get").description("Get a group by id").argument("<id>").option("-f, --format <format>").action(async(e,t)=>{try{let n=await c(v,{id:e});if(!n.group)throw new d(`Group ${e} not found`);l(t,n.group);}catch(n){p(n);}}),o.command("create").description("Create a group").requiredOption("--name <name>").option("--description <s>").option("--type <t>","AUDIENCE|BETA_PROGRAM|CHANNEL_GROUP|CUSTOM|DYNAMIC_AUDIENCE|FEATURE_FLAG_GROUP|PROJECT_GROUP|RESOURCE_COLLECTION|SECURITY_GROUP|TEAM","TEAM").option("--visibility <v>","PUBLIC|PRIVATE|HIDDEN","PRIVATE").option("--scope <s>","WORKSPACE|ORGANIZATION","WORKSPACE").option("--membership <m>","STATIC|DYNAMIC|HYBRID","STATIC").option("-f, --format <format>").action(async e=>{try{let t={name:e.name,description:e.description,groupType:(e.type??"TEAM").toUpperCase(),visibility:(e.visibility??"PRIVATE").toUpperCase(),scope:(e.scope??"WORKSPACE").toUpperCase(),membershipType:(e.membership??"STATIC").toUpperCase()},n=await c(A,{input:t});m(`Group created: ${n.createGroup.name}`),l(e,n.createGroup);}catch(t){p(t);}}),o.command("update").description("Update a group").argument("<id>").option("--name <s>").option("--description <s>").option("--visibility <v>").option("--status <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),t.visibility&&(n.visibility=t.visibility.toUpperCase()),t.status&&(n.status=t.status.toUpperCase()),!Object.keys(n).length)throw new d("No updates specified");let a=await c(O,{id:e,input:n});m("Group updated"),l(t,a.updateGroup);}catch(n){p(n);}}),o.command("delete").description("Delete a group (use --archive for soft delete)").argument("<id>").option("--archive","Archive instead of hard delete",false).action(async(e,t)=>{try{t.archive?(await c(R,{id:e}),m("Group archived")):(await c(S,{id:e}),m("Group deleted"));}catch(n){p(n);}});let u=o.command("members").description("Group membership");u.command("list").description("List members of a group").argument("<groupId>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async(e,t)=>{try{let a=(await c($,{groupId:e,first:t.limit})).groupMembers.edges.map(i=>i.node);l(t,a,{headers:["MembershipID","Entity","Type","Role","Status","Joined"],rows:a.map(i=>[h(i.id,12),h(i.entityId,12),i.entityType??"-",i.role??"-",w(i.invitationStatus),T(i.joinedAt)])});}catch(n){p(n);}}),u.command("add").description("Add a member to a group").requiredOption("--group <id>").requiredOption("--entity <id>").option("--entity-type <t>","USER|GROUP|BOT|INTEGRATION","USER").option("--role <r>","MEMBER|OWNER|ADMIN","MEMBER").option("-f, --format <format>").action(async e=>{try{let t={entityId:e.entity,entityType:(e.entityType??"USER").toUpperCase(),role:(e.role??"MEMBER").toUpperCase()},a=(await c(G,{groupId:e.group,members:[t]})).addGroupMembers;m(`Added ${a.successCount} member(s)`);for(let i of a.failed)I(`Could not add ${i.entityType} ${i.entityId}: ${i.error}`);l(e,a.added);}catch(t){p(t);}}),u.command("remove").description("Remove members by membership id").requiredOption("--group <id>").requiredOption("--membership <ids>","Comma-separated membership ids").action(async e=>{try{let t=e.membership.split(",").filter(Boolean);await c(P,{groupId:e.group,membershipIds:t}),m(`Removed ${t.length} membership(s)`);}catch(t){p(t);}}),o.command("hierarchy").description("Show entity-group hierarchy for a user/entity").argument("<entityId>").option("--type <t>","USER|GROUP","USER").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async(e,t)=>{try{let n=await c(L,{entityId:e,entityType:(t.type??"USER").toUpperCase(),first:t.limit});l(t,n.entityGroups.edges.map(a=>a.node));}catch(n){p(n);}}),o.command("activity").description("Audit log for a group").argument("<groupId>").option("--limit <n>","Page size",e=>parseInt(e,10),100).option("-f, --format <format>").action(async(e,t)=>{try{let n=await c(D,{groupId:e,first:t.limit});l(t,n.groupAuditLogs);}catch(n){p(n);}});}var J={id:"groups",version:"1.0.0",displayName:"Groups",dependsOn:["auth","workspaces"],register(r,o){k(o),_(r);}},st=J;module.exports=st;
|