@burdenoff/cli-sdk 2026.1102.2 → 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/modules/adaptercloud/index.cjs +6 -3
- package/dist/modules/adaptercloud/index.js +6 -3
- package/dist/modules/atheletebridge/index.cjs +33 -19
- package/dist/modules/atheletebridge/index.js +32 -18
- package/dist/modules/buildmyiq/index.cjs +64 -67
- package/dist/modules/buildmyiq/index.js +60 -63
- package/dist/modules/comradecircle/index.cjs +23 -15
- package/dist/modules/comradecircle/index.js +19 -11
- package/dist/modules/coolandlovely/index.cjs +27 -14
- package/dist/modules/coolandlovely/index.js +29 -16
- package/dist/modules/ecoimpacthub/index.cjs +19 -9
- package/dist/modules/ecoimpacthub/index.js +19 -9
- package/dist/modules/eventfullymanaged/index.cjs +77 -77
- package/dist/modules/eventfullymanaged/index.js +78 -78
- package/dist/modules/govcitizenhub/index.cjs +7 -4
- package/dist/modules/govcitizenhub/index.js +7 -4
- package/dist/modules/intelwatchtower/index.cjs +24 -12
- package/dist/modules/intelwatchtower/index.js +24 -12
- package/dist/modules/labsofscience/index.cjs +8 -4
- package/dist/modules/labsofscience/index.js +8 -4
- package/dist/modules/manufacturedops/index.cjs +35 -22
- package/dist/modules/manufacturedops/index.js +34 -21
- package/dist/modules/planmagnet/index.cjs +21 -21
- package/dist/modules/planmagnet/index.js +32 -32
- package/dist/modules/proserviceworld/index.cjs +17 -12
- package/dist/modules/proserviceworld/index.js +17 -12
- package/dist/modules/subscriberbot/index.cjs +43 -19
- package/dist/modules/subscriberbot/index.js +46 -22
- package/dist/modules/technospam/index.cjs +17 -8
- package/dist/modules/technospam/index.js +17 -8
- package/dist/modules/theculturepost/index.cjs +27 -22
- package/dist/modules/theculturepost/index.js +31 -26
- package/dist/modules/theglobalfuel/index.cjs +65 -60
- package/dist/modules/theglobalfuel/index.js +65 -60
- 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
|
-
|
|
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(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
|
-
|
|
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,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};
|
|
@@ -75,8 +75,11 @@
|
|
|
75
75
|
`,_=`
|
|
76
76
|
query IntListIndicators($entityId: ID, $isActive: Boolean, $type: IntIndicatorType) {
|
|
77
77
|
intListIndicators(entityId: $entityId, isActive: $isActive, type: $type) {
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
items {
|
|
79
|
+
id type value classification confidence description entityId isActive validFrom
|
|
80
|
+
validUntil createdAt updatedAt workspaceId
|
|
81
|
+
}
|
|
82
|
+
pageInfo { cursor hasMore }
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
`,q=`
|
|
@@ -92,14 +95,14 @@
|
|
|
92
95
|
id type value isActive updatedAt workspaceId
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
|
-
`,
|
|
98
|
+
`,M=`
|
|
96
99
|
mutation IntCreateFeed($input: IntCreateFeedInput!) {
|
|
97
100
|
intCreateFeed(input: $input) {
|
|
98
101
|
id name sourceId endpoint format status ingestCount lastIngestAt
|
|
99
102
|
createdAt workspaceId
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
|
-
`,
|
|
105
|
+
`,U=`
|
|
103
106
|
query IntMission($id: ID!) {
|
|
104
107
|
intMission(id: $id) {
|
|
105
108
|
id name codename classification commanderId objective status startAt
|
|
@@ -109,8 +112,11 @@
|
|
|
109
112
|
`,F=`
|
|
110
113
|
query IntListMissions($status: IntMissionStatus) {
|
|
111
114
|
intListMissions(status: $status) {
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
items {
|
|
116
|
+
id name codename classification commanderId objective status startAt endAt tags
|
|
117
|
+
createdAt updatedAt workspaceId
|
|
118
|
+
}
|
|
119
|
+
pageInfo { cursor hasMore }
|
|
114
120
|
}
|
|
115
121
|
}
|
|
116
122
|
`,W=`
|
|
@@ -129,9 +135,12 @@
|
|
|
129
135
|
`,V=`
|
|
130
136
|
query IntCase($id: ID!) {
|
|
131
137
|
intCase(id: $id) {
|
|
132
|
-
id title classification status priority summary reference leadAnalystId
|
|
133
|
-
|
|
134
|
-
entries {
|
|
138
|
+
id title classification status priority summary reference leadAnalystId missionId tags
|
|
139
|
+
openedAt closedAt createdAt updatedAt workspaceId
|
|
140
|
+
entries {
|
|
141
|
+
items { id caseId kind body createdAt updatedAt workspaceId }
|
|
142
|
+
pageInfo { cursor hasMore }
|
|
143
|
+
}
|
|
135
144
|
}
|
|
136
145
|
}
|
|
137
146
|
`,H=`
|
|
@@ -166,8 +175,11 @@
|
|
|
166
175
|
`,z=`
|
|
167
176
|
query IntListRequirements($missionId: ID, $status: IntRequirementStatus) {
|
|
168
177
|
intListRequirements(missionId: $missionId, status: $status) {
|
|
169
|
-
|
|
170
|
-
|
|
178
|
+
items {
|
|
179
|
+
id title classification description priority status missionId requestedById dueDate
|
|
180
|
+
satisfiedAt tags createdAt updatedAt workspaceId
|
|
181
|
+
}
|
|
182
|
+
pageInfo { cursor hasMore }
|
|
171
183
|
}
|
|
172
184
|
}
|
|
173
185
|
`,K=`
|
|
@@ -308,4 +320,4 @@
|
|
|
308
320
|
query IntHealth {
|
|
309
321
|
intHealth
|
|
310
322
|
}
|
|
311
|
-
`;function E(r,i){try{return JSON.parse(i)}catch{throw new m(`--${r} must be valid JSON`)}}function p(r){let i=Number.parseInt(r,10);if(Number.isNaN(i))throw new m(`Expected an integer but got "${r}"`);return i}function g(r){let i=Number.parseFloat(r);if(Number.isNaN(i))throw new m(`Expected a number but got "${r}"`);return i}function l(r){return r.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function ct(r){let i=r.command("sources").description("IntelWatchtower collection sources");i.command("list").description("List collection sources").option("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(O,{discipline:t.discipline?t.discipline.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListSources.items,{headers:["ID","Name","Discipline","Status","Reliability"],rows:e.intListSources.items.map(n=>[u(n.id,12),n.name,n.discipline,n.status,String(n.reliability??0)])});}catch(e){o(e);}}),i.command("get").description("Get a source by id").argument("<id>","Source ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(k,{id:t});if(!n.intSource)throw new m(`Source ${t} not found`);s(e,n.intSource);}catch(n){o(n);}}),i.command("create").description("Create a collection source").requiredOption("--name <name>","Source name").requiredOption("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--codename <c>","Codename").option("--description <s>","Description").option("--operator <id>","Operator user ID").option("--region <r>","Region").option("--reliability <n>","Reliability (0-100)",p).option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,discipline:t.discipline.toUpperCase()};t.codename&&(e.codename=t.codename),t.description&&(e.description=t.description),t.operator&&(e.operatorId=t.operator),t.region&&(e.region=t.region),t.reliability!==void 0&&(e.reliability=t.reliability),t.status&&(e.status=t.status.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(b,{input:e});c(`Source created: ${n.intCreateSource.name}`),s(t,n.intCreateSource);}catch(e){o(e);}}),i.command("update").description("Update a collection source").argument("<id>","Source ID").option("--name <name>","Source name").option("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--codename <c>","Codename").option("--description <s>","Description").option("--operator <id>","Operator user ID").option("--region <r>","Region").option("--reliability <n>","Reliability (0-100)",p).option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").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.discipline&&(n.discipline=e.discipline.toUpperCase()),e.codename&&(n.codename=e.codename),e.description!==void 0&&(n.description=e.description),e.operator&&(n.operatorId=e.operator),e.region&&(n.region=e.region),e.reliability!==void 0&&(n.reliability=e.reliability),e.status&&(n.status=e.status.toUpperCase()),e.classification&&(n.classification=e.classification.toUpperCase()),e.tags&&(n.tags=l(e.tags)),!Object.keys(n).length)throw new m("No updates specified");let T=await a(N,{id:t,input:n});c("Source updated"),s(e,T.intUpdateSource);}catch(n){o(n);}}),i.command("retire").description("Retire (delete) a collection source").argument("<id>","Source ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(x,{id:t});c(`Source retired: ${n.intRetireSource}`),s(e,{retired:n.intRetireSource});}catch(n){o(n);}});}function dt(r){let i=r.command("entities").description("IntelWatchtower entities of interest");i.command("list").description("List entities").option("--type <t>","PERSON|ORGANIZATION|LOCATION|FACILITY|VEHICLE|VESSEL|AIRCRAFT|EVENT|NETWORK_NODE").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(v,{type:t.type?t.type.toUpperCase():void 0,confidence:t.confidence?t.confidence.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListEntities.items,{headers:["ID","Name","Type","Confidence","Threat"],rows:e.intListEntities.items.map(n=>[u(n.id,12),n.name,n.type,n.confidence,String(n.threatScore??0)])});}catch(e){o(e);}}),i.command("get").description("Get an entity by id").argument("<id>","Entity ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(D,{id:t});if(!n.intEntity)throw new m(`Entity ${t} not found`);s(e,n.intEntity);}catch(n){o(n);}}),i.command("create").description("Create an entity of interest").requiredOption("--name <name>","Entity name").requiredOption("--type <t>","PERSON|ORGANIZATION|LOCATION|FACILITY|VEHICLE|VESSEL|AIRCRAFT|EVENT|NETWORK_NODE").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--aliases <csv>","Comma-separated aliases").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--threat-score <n>","Threat score",p).option("--tags <csv>","Comma-separated tags").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,type:t.type.toUpperCase()};t.description&&(e.description=t.description),t.confidence&&(e.confidence=t.confidence.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.aliases&&(e.aliases=l(t.aliases)),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.threatScore!==void 0&&(e.threatScore=t.threatScore),t.tags&&(e.tags=l(t.tags)),t.attributes&&(e.attributes=E("attributes",t.attributes));let n=await a(L,{input:e});c(`Entity created: ${n.intCreateEntity.name}`),s(t,n.intCreateEntity);}catch(e){o(e);}}),i.command("update").description("Update an entity of interest").argument("<id>","Entity ID").option("--name <name>","Entity name").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--aliases <csv>","Comma-separated aliases").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--threat-score <n>","Threat score",p).option("--tags <csv>","Comma-separated tags").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.description!==void 0&&(n.description=e.description),e.confidence&&(n.confidence=e.confidence.toUpperCase()),e.classification&&(n.classification=e.classification.toUpperCase()),e.aliases&&(n.aliases=l(e.aliases)),e.latitude!==void 0&&(n.latitude=e.latitude),e.longitude!==void 0&&(n.longitude=e.longitude),e.threatScore!==void 0&&(n.threatScore=e.threatScore),e.tags&&(n.tags=l(e.tags)),e.attributes&&(n.attributes=E("attributes",e.attributes)),!Object.keys(n).length)throw new m("No updates specified");let T=await a($,{id:t,input:n});c("Entity updated"),s(e,T.intUpdateEntity);}catch(n){o(n);}});}function ut(r){let i=r.command("indicators").description("IntelWatchtower indicators (IOCs)");i.command("list").description("List indicators").option("--entity <id>","Filter by entity ID").option("--type <t>","IP_ADDRESS|DOMAIN|URL|EMAIL|FILE_HASH|GEO_COORDINATE|SIGNATURE|BEHAVIOR").option("--active <bool>","true|false",t=>t==="true").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(_,{entityId:t.entity,type:t.type?t.type.toUpperCase():void 0,isActive:t.active});s(t,e.intListIndicators,{headers:["ID","Type","Value","Confidence","Active"],rows:e.intListIndicators.map(n=>[u(n.id,12),n.type,u(n.value,30),n.confidence,n.isActive?"yes":"no"])});}catch(e){o(e);}}),i.command("create").description("Create an indicator").requiredOption("--type <t>","IP_ADDRESS|DOMAIN|URL|EMAIL|FILE_HASH|GEO_COORDINATE|SIGNATURE|BEHAVIOR").requiredOption("--value <v>","Indicator value").option("--entity <id>","Associated entity ID").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--valid-from <iso>","Valid from (ISO date)").option("--valid-until <iso>","Valid until (ISO date)").option("-f, --format <format>","Output format").action(async t=>{try{let e={type:t.type.toUpperCase(),value:t.value};t.entity&&(e.entityId=t.entity),t.description&&(e.description=t.description),t.confidence&&(e.confidence=t.confidence.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.validFrom&&(e.validFrom=t.validFrom),t.validUntil&&(e.validUntil=t.validUntil);let n=await a(q,{input:e});c(`Indicator created: ${n.intCreateIndicator.value}`),s(t,n.intCreateIndicator);}catch(e){o(e);}}),i.command("deactivate").description("Deactivate an indicator").argument("<id>","Indicator ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(P,{id:t});c("Indicator deactivated"),s(e,n.intDeactivateIndicator);}catch(n){o(n);}});}function pt(r){r.command("feeds").description("IntelWatchtower source feeds").command("create").description("Create a source feed").requiredOption("--name <name>","Feed name").requiredOption("--source <id>","Source ID").option("--endpoint <url>","Feed endpoint URL").option("--format <fmt>","Feed payload format").option("--status <s>","CONNECTED|DISCONNECTED|ERROR|STALE").option("-f, --output-format <format>","Output format").action(async t=>{try{let e={name:t.name,sourceId:t.source};t.endpoint&&(e.endpoint=t.endpoint),t.format&&(e.format=t.format),t.status&&(e.status=t.status.toUpperCase());let n=await a(U,{input:e});c(`Feed created: ${n.intCreateFeed.name}`),s({format:t.outputFormat},n.intCreateFeed);}catch(e){o(e);}});}function mt(r){let i=r.command("missions").description("IntelWatchtower missions");i.command("list").description("List missions").option("--status <s>","PLANNING|READY|ACTIVE|PAUSED|COMPLETED|ABORTED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(F,{status:t.status?t.status.toUpperCase():void 0});s(t,e.intListMissions,{headers:["ID","Name","Codename","Classification","Status"],rows:e.intListMissions.map(n=>[u(n.id,12),n.name,n.codename??"-",n.classification,n.status])});}catch(e){o(e);}}),i.command("get").description("Get a mission by id").argument("<id>","Mission ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(M,{id:t});if(!n.intMission)throw new m(`Mission ${t} not found`);s(e,n.intMission);}catch(n){o(n);}}),i.command("create").description("Create a mission").requiredOption("--name <name>","Mission name").option("--codename <c>","Codename").option("--objective <s>","Objective").option("--commander <id>","Commander user ID").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--start-at <iso>","Start (ISO date)").option("--end-at <iso>","End (ISO date)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.codename&&(e.codename=t.codename),t.objective&&(e.objective=t.objective),t.commander&&(e.commanderId=t.commander),t.classification&&(e.classification=t.classification.toUpperCase()),t.startAt&&(e.startAt=t.startAt),t.endAt&&(e.endAt=t.endAt),t.tags&&(e.tags=l(t.tags));let n=await a(W,{input:e});c(`Mission created: ${n.intCreateMission.name}`),s(t,n.intCreateMission);}catch(e){o(e);}}),i.command("transition").description("Transition a mission to a new status").argument("<id>","Mission ID").requiredOption("--status <s>","PLANNING|READY|ACTIVE|PAUSED|COMPLETED|ABORTED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(G,{id:t,status:e.status.toUpperCase()});c(`Mission status set to ${n.intTransitionMission.status}`),s(e,n.intTransitionMission);}catch(n){o(n);}});}function lt(r){let i=r.command("cases").description("IntelWatchtower investigation cases");i.command("list").description("List cases").option("--mission <id>","Filter by mission ID").option("--status <s>","OPEN|ACTIVE|PENDING_REVIEW|CLOSED|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(H,{missionId:t.mission,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListCases.items,{headers:["ID","Title","Classification","Status","Priority"],rows:e.intListCases.items.map(n=>[u(n.id,12),n.title,n.classification,n.status,n.priority])});}catch(e){o(e);}}),i.command("get").description("Get a case by id").argument("<id>","Case ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(V,{id:t});if(!n.intCase)throw new m(`Case ${t} not found`);s(e,n.intCase);}catch(n){o(n);}}),i.command("create").description("Open a new case").requiredOption("--title <t>","Case title").option("--summary <s>","Summary").option("--reference <r>","External reference").option("--mission <id>","Mission ID").option("--lead-analyst <id>","Lead analyst user ID").option("--priority <p>","ROUTINE|PRIORITY|IMMEDIATE|FLASH").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.summary&&(e.summary=t.summary),t.reference&&(e.reference=t.reference),t.mission&&(e.missionId=t.mission),t.leadAnalyst&&(e.leadAnalystId=t.leadAnalyst),t.priority&&(e.priority=t.priority.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(j,{input:e});c(`Case created: ${n.intCreateCase.title}`),s(t,n.intCreateCase);}catch(e){o(e);}}),i.command("close").description("Close a case").argument("<id>","Case ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(B,{id:t});c("Case closed"),s(e,n.intCloseCase);}catch(n){o(n);}}),i.command("add-entry").description("Add an entry to a case log").requiredOption("--case <id>","Case ID").requiredOption("--kind <k>","Entry kind (e.g. note, evidence, action)").requiredOption("--body <text>","Entry body").option("--file <id>","Evidence file ID (wspace-files-svc)").option("-f, --format <format>","Output format").action(async t=>{try{let e={caseId:t.case,kind:t.kind,body:t.body};t.file&&(e.fileId=t.file);let n=await a(Y,{input:e});c("Case entry added"),s(t,n.intAddCaseEntry);}catch(e){o(e);}});}function ft(r){let i=r.command("requirements").description("IntelWatchtower collection requirements");i.command("list").description("List collection requirements").option("--mission <id>","Filter by mission ID").option("--status <s>","DRAFT|SUBMITTED|APPROVED|TASKED|SATISFIED|CANCELLED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(z,{missionId:t.mission,status:t.status?t.status.toUpperCase():void 0});s(t,e.intListRequirements,{headers:["ID","Title","Classification","Priority","Status"],rows:e.intListRequirements.map(n=>[u(n.id,12),n.title,n.classification,n.priority,n.status])});}catch(e){o(e);}}),i.command("create").description("Create a collection requirement").requiredOption("--title <t>","Requirement title").option("--description <s>","Description").option("--mission <id>","Mission ID").option("--requested-by <id>","Requesting user ID").option("--priority <p>","ROUTINE|PRIORITY|IMMEDIATE|FLASH").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--due-date <iso>","Due date (ISO date)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.mission&&(e.missionId=t.mission),t.requestedBy&&(e.requestedById=t.requestedBy),t.priority&&(e.priority=t.priority.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.dueDate&&(e.dueDate=t.dueDate),t.tags&&(e.tags=l(t.tags));let n=await a(K,{input:e});c(`Requirement created: ${n.intCreateRequirement.title}`),s(t,n.intCreateRequirement);}catch(e){o(e);}});}function gt(r){let i=r.command("tasks").description("IntelWatchtower collection tasks (taskings)");i.command("list").description("List collection tasks").option("--source <id>","Filter by source ID").option("--requirement <id>","Filter by requirement ID").option("--status <s>","PENDING|DISPATCHED|COLLECTING|COMPLETED|FAILED|CANCELLED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(J,{sourceId:t.source,requirementId:t.requirement,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListTasks.items,{headers:["ID","Source","Requirement","Status"],rows:e.intListTasks.items.map(n=>[u(n.id,12),u(n.sourceId,12),n.requirementId?u(n.requirementId,12):"-",n.status])});}catch(e){o(e);}}),i.command("create").description("Create a collection task against a source").requiredOption("--source <id>","Source ID").option("--requirement <id>","Requirement ID").option("--instructions <s>","Tasking instructions").option("--start-at <iso>","Start (ISO date)").option("--end-at <iso>","End (ISO date)").option("-f, --format <format>","Output format").action(async t=>{try{let e={sourceId:t.source};t.requirement&&(e.requirementId=t.requirement),t.instructions&&(e.instructions=t.instructions),t.startAt&&(e.startAt=t.startAt),t.endAt&&(e.endAt=t.endAt);let n=await a(Q,{input:e});c(`Task created: ${n.intCreateTask.id}`),s(t,n.intCreateTask);}catch(e){o(e);}}),i.command("transition").description("Advance a collection task to a new status").argument("<id>","Task ID").requiredOption("--status <s>","PENDING|DISPATCHED|COLLECTING|COMPLETED|FAILED|CANCELLED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(X,{id:t,status:e.status.toUpperCase()});c(`Task status set to ${n.intTransitionTask.status}`),s(e,n.intTransitionTask);}catch(n){o(n);}});}function It(r){let i=r.command("observations").description("IntelWatchtower observations (collected reporting)");i.command("list").description("List observations").option("--entity <id>","Filter by entity ID").option("--source <id>","Filter by source ID").option("--task <id>","Filter by task ID").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Z,{entityId:t.entity,sourceId:t.source,taskId:t.task,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListObservations.items,{headers:["ID","Source","Classification","Summary"],rows:e.intListObservations.items.map(n=>[u(n.id,12),u(n.sourceId,12),n.classification,u(n.summary,40)])});}catch(e){o(e);}}),i.command("record").description("Record an observation").requiredOption("--source <id>","Source ID").requiredOption("--summary <s>","Observation summary").requiredOption("--observed-at <iso>","Observed at (ISO date)").option("--entity <id>","Associated entity ID").option("--task <id>","Associated task ID").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--payload <json>","Payload JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={sourceId:t.source,summary:t.summary,observedAt:t.observedAt};t.entity&&(e.entityId=t.entity),t.task&&(e.taskId=t.task),t.classification&&(e.classification=t.classification.toUpperCase()),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.payload&&(e.payload=E("payload",t.payload));let n=await a(tt,{input:e});c(`Observation recorded: ${n.intRecordObservation.id}`),s(t,n.intRecordObservation);}catch(e){o(e);}});}function Ct(r){let i=r.command("alerts").description("IntelWatchtower alerts");i.command("list").description("List alerts").option("--entity <id>","Filter by entity ID").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--status <s>","OPEN|TRIAGED|ESCALATED|RESOLVED|FALSE_POSITIVE|SUPPRESSED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(et,{entityId:t.entity,severity:t.severity?t.severity.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListAlerts.items,{headers:["ID","Title","Severity","Status","Classification"],rows:e.intListAlerts.items.map(n=>[u(n.id,12),n.title,n.severity,n.status,n.classification])});}catch(e){o(e);}}),i.command("raise").description("Raise a new alert").requiredOption("--title <t>","Alert title").option("--description <s>","Description").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--entity <id>","Associated entity ID").option("--indicator <id>","Associated indicator ID").option("--mission <id>","Associated mission ID").option("--assigned-to <id>","Assignee user ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.severity&&(e.severity=t.severity.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.entity&&(e.entityId=t.entity),t.indicator&&(e.indicatorId=t.indicator),t.mission&&(e.missionId=t.mission),t.assignedTo&&(e.assignedToId=t.assignedTo);let n=await a(nt,{input:e});c(`Alert raised: ${n.intRaiseAlert.title}`),s(t,n.intRaiseAlert);}catch(e){o(e);}}),i.command("transition").description("Triage an alert through its lifecycle").argument("<id>","Alert ID").requiredOption("--status <s>","OPEN|TRIAGED|ESCALATED|RESOLVED|FALSE_POSITIVE|SUPPRESSED").option("--triage-notes <s>","Triage notes").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(it,{id:t,status:e.status.toUpperCase(),triageNotes:e.triageNotes});c(`Alert status set to ${n.intTransitionAlert.status}`),s(e,n.intTransitionAlert);}catch(n){o(n);}});}function yt(r){let i=r.command("reports").description("IntelWatchtower intelligence reports");i.command("list").description("List reports").option("--mission <id>","Filter by mission ID").option("--type <t>","SITREP|INTSUM|SPOT_REPORT|ASSESSMENT|WARNING").option("--status <s>","DRAFT|IN_REVIEW|RELEASED|RECALLED|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(rt,{missionId:t.mission,type:t.type?t.type.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListReports.items,{headers:["ID","Title","Type","Classification","Status"],rows:e.intListReports.items.map(n=>[u(n.id,12),n.title,n.type,n.classification,n.status])});}catch(e){o(e);}}),i.command("create").description("Create an intelligence report").requiredOption("--title <t>","Report title").option("--type <t>","SITREP|INTSUM|SPOT_REPORT|ASSESSMENT|WARNING").option("--summary <s>","Summary").option("--body <s>","Body").option("--author <id>","Author user ID").option("--case <id>","Associated case ID").option("--mission <id>","Associated mission ID").option("--file <id>","Rendered product file ID (wspace-files-svc)").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.type&&(e.type=t.type.toUpperCase()),t.summary&&(e.summary=t.summary),t.body&&(e.body=t.body),t.author&&(e.authorId=t.author),t.case&&(e.caseId=t.case),t.mission&&(e.missionId=t.mission),t.file&&(e.fileId=t.file),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(ot,{input:e});c(`Report created: ${n.intCreateReport.title}`),s(t,n.intCreateReport);}catch(e){o(e);}}),i.command("release").description("Release a report").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(st,{id:t});c("Report released"),s(e,n.intReleaseReport);}catch(n){o(n);}});}function Et(r){r.command("health").description("IntelWatchtower service health check (public)").option("-f, --format <format>","Output format").action(async i=>{try{let t=await w(at);c(t.intHealth),s(i,{health:t.intHealth});}catch(t){o(t);}});}var vt={id:"intelwatchtower",version:"1.0.0",displayName:"IntelWatchtower",dependsOn:["auth","workspaces"],register(r,i){h(i);let t=r.command("intelwatchtower").description("IntelWatchtower intelligence operations platform");ct(t),dt(t),ut(t),pt(t),mt(t),lt(t),ft(t),gt(t),It(t),Ct(t),yt(t),Et(t);}},Un=vt;module.exports=Un;
|
|
323
|
+
`;function E(r,i){try{return JSON.parse(i)}catch{throw new m(`--${r} must be valid JSON`)}}function p(r){let i=Number.parseInt(r,10);if(Number.isNaN(i))throw new m(`Expected an integer but got "${r}"`);return i}function g(r){let i=Number.parseFloat(r);if(Number.isNaN(i))throw new m(`Expected a number but got "${r}"`);return i}function l(r){return r.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function ct(r){let i=r.command("sources").description("IntelWatchtower collection sources");i.command("list").description("List collection sources").option("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(O,{discipline:t.discipline?t.discipline.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListSources.items,{headers:["ID","Name","Discipline","Status","Reliability"],rows:e.intListSources.items.map(n=>[u(n.id,12),n.name,n.discipline,n.status,String(n.reliability??0)])});}catch(e){o(e);}}),i.command("get").description("Get a source by id").argument("<id>","Source ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(k,{id:t});if(!n.intSource)throw new m(`Source ${t} not found`);s(e,n.intSource);}catch(n){o(n);}}),i.command("create").description("Create a collection source").requiredOption("--name <name>","Source name").requiredOption("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--codename <c>","Codename").option("--description <s>","Description").option("--operator <id>","Operator user ID").option("--region <r>","Region").option("--reliability <n>","Reliability (0-100)",p).option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,discipline:t.discipline.toUpperCase()};t.codename&&(e.codename=t.codename),t.description&&(e.description=t.description),t.operator&&(e.operatorId=t.operator),t.region&&(e.region=t.region),t.reliability!==void 0&&(e.reliability=t.reliability),t.status&&(e.status=t.status.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(b,{input:e});c(`Source created: ${n.intCreateSource.name}`),s(t,n.intCreateSource);}catch(e){o(e);}}),i.command("update").description("Update a collection source").argument("<id>","Source ID").option("--name <name>","Source name").option("--discipline <d>","HUMINT|SIGINT|GEOINT|OSINT|IMINT|MASINT|CYBER").option("--codename <c>","Codename").option("--description <s>","Description").option("--operator <id>","Operator user ID").option("--region <r>","Region").option("--reliability <n>","Reliability (0-100)",p).option("--status <s>","PROVISIONING|ACTIVE|DEGRADED|OFFLINE|RETIRED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").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.discipline&&(n.discipline=e.discipline.toUpperCase()),e.codename&&(n.codename=e.codename),e.description!==void 0&&(n.description=e.description),e.operator&&(n.operatorId=e.operator),e.region&&(n.region=e.region),e.reliability!==void 0&&(n.reliability=e.reliability),e.status&&(n.status=e.status.toUpperCase()),e.classification&&(n.classification=e.classification.toUpperCase()),e.tags&&(n.tags=l(e.tags)),!Object.keys(n).length)throw new m("No updates specified");let T=await a(N,{id:t,input:n});c("Source updated"),s(e,T.intUpdateSource);}catch(n){o(n);}}),i.command("retire").description("Retire (delete) a collection source").argument("<id>","Source ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(x,{id:t});c(`Source retired: ${n.intRetireSource}`),s(e,{retired:n.intRetireSource});}catch(n){o(n);}});}function dt(r){let i=r.command("entities").description("IntelWatchtower entities of interest");i.command("list").description("List entities").option("--type <t>","PERSON|ORGANIZATION|LOCATION|FACILITY|VEHICLE|VESSEL|AIRCRAFT|EVENT|NETWORK_NODE").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(v,{type:t.type?t.type.toUpperCase():void 0,confidence:t.confidence?t.confidence.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListEntities.items,{headers:["ID","Name","Type","Confidence","Threat"],rows:e.intListEntities.items.map(n=>[u(n.id,12),n.name,n.type,n.confidence,String(n.threatScore??0)])});}catch(e){o(e);}}),i.command("get").description("Get an entity by id").argument("<id>","Entity ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(D,{id:t});if(!n.intEntity)throw new m(`Entity ${t} not found`);s(e,n.intEntity);}catch(n){o(n);}}),i.command("create").description("Create an entity of interest").requiredOption("--name <name>","Entity name").requiredOption("--type <t>","PERSON|ORGANIZATION|LOCATION|FACILITY|VEHICLE|VESSEL|AIRCRAFT|EVENT|NETWORK_NODE").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--aliases <csv>","Comma-separated aliases").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--threat-score <n>","Threat score",p).option("--tags <csv>","Comma-separated tags").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,type:t.type.toUpperCase()};t.description&&(e.description=t.description),t.confidence&&(e.confidence=t.confidence.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.aliases&&(e.aliases=l(t.aliases)),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.threatScore!==void 0&&(e.threatScore=t.threatScore),t.tags&&(e.tags=l(t.tags)),t.attributes&&(e.attributes=E("attributes",t.attributes));let n=await a(L,{input:e});c(`Entity created: ${n.intCreateEntity.name}`),s(t,n.intCreateEntity);}catch(e){o(e);}}),i.command("update").description("Update an entity of interest").argument("<id>","Entity ID").option("--name <name>","Entity name").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--aliases <csv>","Comma-separated aliases").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--threat-score <n>","Threat score",p).option("--tags <csv>","Comma-separated tags").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.description!==void 0&&(n.description=e.description),e.confidence&&(n.confidence=e.confidence.toUpperCase()),e.classification&&(n.classification=e.classification.toUpperCase()),e.aliases&&(n.aliases=l(e.aliases)),e.latitude!==void 0&&(n.latitude=e.latitude),e.longitude!==void 0&&(n.longitude=e.longitude),e.threatScore!==void 0&&(n.threatScore=e.threatScore),e.tags&&(n.tags=l(e.tags)),e.attributes&&(n.attributes=E("attributes",e.attributes)),!Object.keys(n).length)throw new m("No updates specified");let T=await a($,{id:t,input:n});c("Entity updated"),s(e,T.intUpdateEntity);}catch(n){o(n);}});}function ut(r){let i=r.command("indicators").description("IntelWatchtower indicators (IOCs)");i.command("list").description("List indicators").option("--entity <id>","Filter by entity ID").option("--type <t>","IP_ADDRESS|DOMAIN|URL|EMAIL|FILE_HASH|GEO_COORDINATE|SIGNATURE|BEHAVIOR").option("--active <bool>","true|false",t=>t==="true").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(_,{entityId:t.entity,type:t.type?t.type.toUpperCase():void 0,isActive:t.active});s(t,e.intListIndicators.items,{headers:["ID","Type","Value","Confidence","Active"],rows:e.intListIndicators.items.map(n=>[u(n.id,12),n.type,u(n.value,30),n.confidence,n.isActive?"yes":"no"])});}catch(e){o(e);}}),i.command("create").description("Create an indicator").requiredOption("--type <t>","IP_ADDRESS|DOMAIN|URL|EMAIL|FILE_HASH|GEO_COORDINATE|SIGNATURE|BEHAVIOR").requiredOption("--value <v>","Indicator value").option("--entity <id>","Associated entity ID").option("--description <s>","Description").option("--confidence <c>","LOW|MODERATE|HIGH|CONFIRMED").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--valid-from <iso>","Valid from (ISO date)").option("--valid-until <iso>","Valid until (ISO date)").option("-f, --format <format>","Output format").action(async t=>{try{let e={type:t.type.toUpperCase(),value:t.value};t.entity&&(e.entityId=t.entity),t.description&&(e.description=t.description),t.confidence&&(e.confidence=t.confidence.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.validFrom&&(e.validFrom=t.validFrom),t.validUntil&&(e.validUntil=t.validUntil);let n=await a(q,{input:e});c(`Indicator created: ${n.intCreateIndicator.value}`),s(t,n.intCreateIndicator);}catch(e){o(e);}}),i.command("deactivate").description("Deactivate an indicator").argument("<id>","Indicator ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(P,{id:t});c("Indicator deactivated"),s(e,n.intDeactivateIndicator);}catch(n){o(n);}});}function pt(r){r.command("feeds").description("IntelWatchtower source feeds").command("create").description("Create a source feed").requiredOption("--name <name>","Feed name").requiredOption("--source <id>","Source ID").option("--endpoint <url>","Feed endpoint URL").option("--format <fmt>","Feed payload format").option("--status <s>","CONNECTED|DISCONNECTED|ERROR|STALE").option("-f, --output-format <format>","Output format").action(async t=>{try{let e={name:t.name,sourceId:t.source};t.endpoint&&(e.endpoint=t.endpoint),t.format&&(e.format=t.format),t.status&&(e.status=t.status.toUpperCase());let n=await a(M,{input:e});c(`Feed created: ${n.intCreateFeed.name}`),s({format:t.outputFormat},n.intCreateFeed);}catch(e){o(e);}});}function mt(r){let i=r.command("missions").description("IntelWatchtower missions");i.command("list").description("List missions").option("--status <s>","PLANNING|READY|ACTIVE|PAUSED|COMPLETED|ABORTED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(F,{status:t.status?t.status.toUpperCase():void 0});s(t,e.intListMissions.items,{headers:["ID","Name","Codename","Classification","Status"],rows:e.intListMissions.items.map(n=>[u(n.id,12),n.name,n.codename??"-",n.classification,n.status])});}catch(e){o(e);}}),i.command("get").description("Get a mission by id").argument("<id>","Mission ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(U,{id:t});if(!n.intMission)throw new m(`Mission ${t} not found`);s(e,n.intMission);}catch(n){o(n);}}),i.command("create").description("Create a mission").requiredOption("--name <name>","Mission name").option("--codename <c>","Codename").option("--objective <s>","Objective").option("--commander <id>","Commander user ID").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--start-at <iso>","Start (ISO date)").option("--end-at <iso>","End (ISO date)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.codename&&(e.codename=t.codename),t.objective&&(e.objective=t.objective),t.commander&&(e.commanderId=t.commander),t.classification&&(e.classification=t.classification.toUpperCase()),t.startAt&&(e.startAt=t.startAt),t.endAt&&(e.endAt=t.endAt),t.tags&&(e.tags=l(t.tags));let n=await a(W,{input:e});c(`Mission created: ${n.intCreateMission.name}`),s(t,n.intCreateMission);}catch(e){o(e);}}),i.command("transition").description("Transition a mission to a new status").argument("<id>","Mission ID").requiredOption("--status <s>","PLANNING|READY|ACTIVE|PAUSED|COMPLETED|ABORTED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(G,{id:t,status:e.status.toUpperCase()});c(`Mission status set to ${n.intTransitionMission.status}`),s(e,n.intTransitionMission);}catch(n){o(n);}});}function lt(r){let i=r.command("cases").description("IntelWatchtower investigation cases");i.command("list").description("List cases").option("--mission <id>","Filter by mission ID").option("--status <s>","OPEN|ACTIVE|PENDING_REVIEW|CLOSED|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(H,{missionId:t.mission,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListCases.items,{headers:["ID","Title","Classification","Status","Priority"],rows:e.intListCases.items.map(n=>[u(n.id,12),n.title,n.classification,n.status,n.priority])});}catch(e){o(e);}}),i.command("get").description("Get a case by id").argument("<id>","Case ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(V,{id:t});if(!n.intCase)throw new m(`Case ${t} not found`);s(e,n.intCase);}catch(n){o(n);}}),i.command("create").description("Open a new case").requiredOption("--title <t>","Case title").option("--summary <s>","Summary").option("--reference <r>","External reference").option("--mission <id>","Mission ID").option("--lead-analyst <id>","Lead analyst user ID").option("--priority <p>","ROUTINE|PRIORITY|IMMEDIATE|FLASH").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.summary&&(e.summary=t.summary),t.reference&&(e.reference=t.reference),t.mission&&(e.missionId=t.mission),t.leadAnalyst&&(e.leadAnalystId=t.leadAnalyst),t.priority&&(e.priority=t.priority.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(j,{input:e});c(`Case created: ${n.intCreateCase.title}`),s(t,n.intCreateCase);}catch(e){o(e);}}),i.command("close").description("Close a case").argument("<id>","Case ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(B,{id:t});c("Case closed"),s(e,n.intCloseCase);}catch(n){o(n);}}),i.command("add-entry").description("Add an entry to a case log").requiredOption("--case <id>","Case ID").requiredOption("--kind <k>","Entry kind (e.g. note, evidence, action)").requiredOption("--body <text>","Entry body").option("--file <id>","Evidence file ID (wspace-files-svc)").option("-f, --format <format>","Output format").action(async t=>{try{let e={caseId:t.case,kind:t.kind,body:t.body};t.file&&(e.fileId=t.file);let n=await a(Y,{input:e});c("Case entry added"),s(t,n.intAddCaseEntry);}catch(e){o(e);}});}function ft(r){let i=r.command("requirements").description("IntelWatchtower collection requirements");i.command("list").description("List collection requirements").option("--mission <id>","Filter by mission ID").option("--status <s>","DRAFT|SUBMITTED|APPROVED|TASKED|SATISFIED|CANCELLED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(z,{missionId:t.mission,status:t.status?t.status.toUpperCase():void 0});s(t,e.intListRequirements.items,{headers:["ID","Title","Classification","Priority","Status"],rows:e.intListRequirements.items.map(n=>[u(n.id,12),n.title,n.classification,n.priority,n.status])});}catch(e){o(e);}}),i.command("create").description("Create a collection requirement").requiredOption("--title <t>","Requirement title").option("--description <s>","Description").option("--mission <id>","Mission ID").option("--requested-by <id>","Requesting user ID").option("--priority <p>","ROUTINE|PRIORITY|IMMEDIATE|FLASH").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--due-date <iso>","Due date (ISO date)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.mission&&(e.missionId=t.mission),t.requestedBy&&(e.requestedById=t.requestedBy),t.priority&&(e.priority=t.priority.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.dueDate&&(e.dueDate=t.dueDate),t.tags&&(e.tags=l(t.tags));let n=await a(K,{input:e});c(`Requirement created: ${n.intCreateRequirement.title}`),s(t,n.intCreateRequirement);}catch(e){o(e);}});}function gt(r){let i=r.command("tasks").description("IntelWatchtower collection tasks (taskings)");i.command("list").description("List collection tasks").option("--source <id>","Filter by source ID").option("--requirement <id>","Filter by requirement ID").option("--status <s>","PENDING|DISPATCHED|COLLECTING|COMPLETED|FAILED|CANCELLED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(J,{sourceId:t.source,requirementId:t.requirement,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListTasks.items,{headers:["ID","Source","Requirement","Status"],rows:e.intListTasks.items.map(n=>[u(n.id,12),u(n.sourceId,12),n.requirementId?u(n.requirementId,12):"-",n.status])});}catch(e){o(e);}}),i.command("create").description("Create a collection task against a source").requiredOption("--source <id>","Source ID").option("--requirement <id>","Requirement ID").option("--instructions <s>","Tasking instructions").option("--start-at <iso>","Start (ISO date)").option("--end-at <iso>","End (ISO date)").option("-f, --format <format>","Output format").action(async t=>{try{let e={sourceId:t.source};t.requirement&&(e.requirementId=t.requirement),t.instructions&&(e.instructions=t.instructions),t.startAt&&(e.startAt=t.startAt),t.endAt&&(e.endAt=t.endAt);let n=await a(Q,{input:e});c(`Task created: ${n.intCreateTask.id}`),s(t,n.intCreateTask);}catch(e){o(e);}}),i.command("transition").description("Advance a collection task to a new status").argument("<id>","Task ID").requiredOption("--status <s>","PENDING|DISPATCHED|COLLECTING|COMPLETED|FAILED|CANCELLED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(X,{id:t,status:e.status.toUpperCase()});c(`Task status set to ${n.intTransitionTask.status}`),s(e,n.intTransitionTask);}catch(n){o(n);}});}function It(r){let i=r.command("observations").description("IntelWatchtower observations (collected reporting)");i.command("list").description("List observations").option("--entity <id>","Filter by entity ID").option("--source <id>","Filter by source ID").option("--task <id>","Filter by task ID").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Z,{entityId:t.entity,sourceId:t.source,taskId:t.task,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListObservations.items,{headers:["ID","Source","Classification","Summary"],rows:e.intListObservations.items.map(n=>[u(n.id,12),u(n.sourceId,12),n.classification,u(n.summary,40)])});}catch(e){o(e);}}),i.command("record").description("Record an observation").requiredOption("--source <id>","Source ID").requiredOption("--summary <s>","Observation summary").requiredOption("--observed-at <iso>","Observed at (ISO date)").option("--entity <id>","Associated entity ID").option("--task <id>","Associated task ID").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--latitude <n>","Latitude",g).option("--longitude <n>","Longitude",g).option("--payload <json>","Payload JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={sourceId:t.source,summary:t.summary,observedAt:t.observedAt};t.entity&&(e.entityId=t.entity),t.task&&(e.taskId=t.task),t.classification&&(e.classification=t.classification.toUpperCase()),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.payload&&(e.payload=E("payload",t.payload));let n=await a(tt,{input:e});c(`Observation recorded: ${n.intRecordObservation.id}`),s(t,n.intRecordObservation);}catch(e){o(e);}});}function Ct(r){let i=r.command("alerts").description("IntelWatchtower alerts");i.command("list").description("List alerts").option("--entity <id>","Filter by entity ID").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--status <s>","OPEN|TRIAGED|ESCALATED|RESOLVED|FALSE_POSITIVE|SUPPRESSED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(et,{entityId:t.entity,severity:t.severity?t.severity.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListAlerts.items,{headers:["ID","Title","Severity","Status","Classification"],rows:e.intListAlerts.items.map(n=>[u(n.id,12),n.title,n.severity,n.status,n.classification])});}catch(e){o(e);}}),i.command("raise").description("Raise a new alert").requiredOption("--title <t>","Alert title").option("--description <s>","Description").option("--severity <s>","INFO|LOW|MEDIUM|HIGH|CRITICAL").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--entity <id>","Associated entity ID").option("--indicator <id>","Associated indicator ID").option("--mission <id>","Associated mission ID").option("--assigned-to <id>","Assignee user ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.severity&&(e.severity=t.severity.toUpperCase()),t.classification&&(e.classification=t.classification.toUpperCase()),t.entity&&(e.entityId=t.entity),t.indicator&&(e.indicatorId=t.indicator),t.mission&&(e.missionId=t.mission),t.assignedTo&&(e.assignedToId=t.assignedTo);let n=await a(nt,{input:e});c(`Alert raised: ${n.intRaiseAlert.title}`),s(t,n.intRaiseAlert);}catch(e){o(e);}}),i.command("transition").description("Triage an alert through its lifecycle").argument("<id>","Alert ID").requiredOption("--status <s>","OPEN|TRIAGED|ESCALATED|RESOLVED|FALSE_POSITIVE|SUPPRESSED").option("--triage-notes <s>","Triage notes").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(it,{id:t,status:e.status.toUpperCase(),triageNotes:e.triageNotes});c(`Alert status set to ${n.intTransitionAlert.status}`),s(e,n.intTransitionAlert);}catch(n){o(n);}});}function yt(r){let i=r.command("reports").description("IntelWatchtower intelligence reports");i.command("list").description("List reports").option("--mission <id>","Filter by mission ID").option("--type <t>","SITREP|INTSUM|SPOT_REPORT|ASSESSMENT|WARNING").option("--status <s>","DRAFT|IN_REVIEW|RELEASED|RECALLED|ARCHIVED").option("--limit <n>","Page size",p,50).option("--offset <n>","Offset",p,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(rt,{missionId:t.mission,type:t.type?t.type.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset}});s(t,e.intListReports.items,{headers:["ID","Title","Type","Classification","Status"],rows:e.intListReports.items.map(n=>[u(n.id,12),n.title,n.type,n.classification,n.status])});}catch(e){o(e);}}),i.command("create").description("Create an intelligence report").requiredOption("--title <t>","Report title").option("--type <t>","SITREP|INTSUM|SPOT_REPORT|ASSESSMENT|WARNING").option("--summary <s>","Summary").option("--body <s>","Body").option("--author <id>","Author user ID").option("--case <id>","Associated case ID").option("--mission <id>","Associated mission ID").option("--file <id>","Rendered product file ID (wspace-files-svc)").option("--classification <c>","UNCLASSIFIED|CONFIDENTIAL|SECRET|TOP_SECRET").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.type&&(e.type=t.type.toUpperCase()),t.summary&&(e.summary=t.summary),t.body&&(e.body=t.body),t.author&&(e.authorId=t.author),t.case&&(e.caseId=t.case),t.mission&&(e.missionId=t.mission),t.file&&(e.fileId=t.file),t.classification&&(e.classification=t.classification.toUpperCase()),t.tags&&(e.tags=l(t.tags));let n=await a(ot,{input:e});c(`Report created: ${n.intCreateReport.title}`),s(t,n.intCreateReport);}catch(e){o(e);}}),i.command("release").description("Release a report").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(st,{id:t});c("Report released"),s(e,n.intReleaseReport);}catch(n){o(n);}});}function Et(r){r.command("health").description("IntelWatchtower service health check (public)").option("-f, --format <format>","Output format").action(async i=>{try{let t=await w(at);c(t.intHealth),s(i,{health:t.intHealth});}catch(t){o(t);}});}var vt={id:"intelwatchtower",version:"1.0.0",displayName:"IntelWatchtower",dependsOn:["auth","workspaces"],register(r,i){h(i);let t=r.command("intelwatchtower").description("IntelWatchtower intelligence operations platform");ct(t),dt(t),ut(t),pt(t),mt(t),lt(t),ft(t),gt(t),It(t),Ct(t),yt(t),Et(t);}},Mn=vt;module.exports=Mn;
|