@burdenoff/cli-sdk 2026.1102.2 → 2026.1102.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/modules/adaptercloud/index.cjs +6 -3
  2. package/dist/modules/adaptercloud/index.js +6 -3
  3. package/dist/modules/assethandler/index.cjs +22 -57
  4. package/dist/modules/assethandler/index.js +27 -62
  5. package/dist/modules/atheletebridge/index.cjs +33 -19
  6. package/dist/modules/atheletebridge/index.js +32 -18
  7. package/dist/modules/buildmyiq/index.cjs +64 -67
  8. package/dist/modules/buildmyiq/index.js +60 -63
  9. package/dist/modules/comradecircle/index.cjs +23 -15
  10. package/dist/modules/comradecircle/index.js +19 -11
  11. package/dist/modules/coolandlovely/index.cjs +27 -14
  12. package/dist/modules/coolandlovely/index.js +29 -16
  13. package/dist/modules/crewfoundry/index.cjs +63 -116
  14. package/dist/modules/crewfoundry/index.js +62 -115
  15. package/dist/modules/ecoimpacthub/index.cjs +19 -9
  16. package/dist/modules/ecoimpacthub/index.js +19 -9
  17. package/dist/modules/eventfullymanaged/index.cjs +77 -77
  18. package/dist/modules/eventfullymanaged/index.js +78 -78
  19. package/dist/modules/govcitizenhub/index.cjs +7 -4
  20. package/dist/modules/govcitizenhub/index.js +7 -4
  21. package/dist/modules/headshotmarketing/index.cjs +92 -261
  22. package/dist/modules/headshotmarketing/index.js +94 -263
  23. package/dist/modules/hookmovies/index.cjs +17 -6
  24. package/dist/modules/hookmovies/index.js +20 -9
  25. package/dist/modules/housingvista/index.cjs +31 -24
  26. package/dist/modules/housingvista/index.js +26 -19
  27. package/dist/modules/intelwatchtower/index.cjs +24 -12
  28. package/dist/modules/intelwatchtower/index.js +24 -12
  29. package/dist/modules/kadaikodi/index.cjs +56 -90
  30. package/dist/modules/kadaikodi/index.js +60 -94
  31. package/dist/modules/labsofscience/index.cjs +8 -4
  32. package/dist/modules/labsofscience/index.js +8 -4
  33. package/dist/modules/manufacturedops/index.cjs +35 -22
  34. package/dist/modules/manufacturedops/index.js +34 -21
  35. package/dist/modules/movethewheels/index.cjs +103 -231
  36. package/dist/modules/movethewheels/index.js +103 -231
  37. package/dist/modules/planmagnet/index.cjs +21 -21
  38. package/dist/modules/planmagnet/index.js +32 -32
  39. package/dist/modules/proserviceworld/index.cjs +17 -12
  40. package/dist/modules/proserviceworld/index.js +17 -12
  41. package/dist/modules/subscriberbot/index.cjs +43 -19
  42. package/dist/modules/subscriberbot/index.js +46 -22
  43. package/dist/modules/technospam/index.cjs +17 -8
  44. package/dist/modules/technospam/index.js +17 -8
  45. package/dist/modules/theculturepost/index.cjs +27 -22
  46. package/dist/modules/theculturepost/index.js +31 -26
  47. package/dist/modules/theglobalfuel/index.cjs +65 -60
  48. package/dist/modules/theglobalfuel/index.js +65 -60
  49. package/dist/modules/timecampus/index.cjs +31 -85
  50. package/dist/modules/timecampus/index.js +32 -86
  51. package/package.json +1 -1
@@ -9,7 +9,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=`
@@ -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
- id title holderId serviceId applicationId status verificationCode
207
- issuedAt expiresAt
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(S,{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(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,{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){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;
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;
@@ -9,7 +9,8 @@ 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
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,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
203
204
  `,W=`
204
205
  query GovListPermits($holderId: ID, $serviceId: ID, $status: GovPermitStatus) {
205
206
  govListPermits(holderId: $holderId, serviceId: $serviceId, status: $status) {
206
- id title holderId serviceId applicationId status verificationCode
207
- issuedAt expiresAt
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,i,r,h as h$1,k as k$1,q as q$1,d}from'../../chunk-O6UCQ5IT.js
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}});i(t,e.govListAgencies,{headers:["ID","Name","Code","Jurisdiction","Active"],rows:e.govListAgencies.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,{headers:["ID","Title","Holder","Status","Code","Expires"],rows:e.govListPermits.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};
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};