@burdenoff/cli-sdk 2026.1102.2 → 2026.1102.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/modules/adaptercloud/index.cjs +6 -3
  2. package/dist/modules/adaptercloud/index.js +6 -3
  3. package/dist/modules/assethandler/index.cjs +22 -57
  4. package/dist/modules/assethandler/index.js +27 -62
  5. package/dist/modules/atheletebridge/index.cjs +33 -19
  6. package/dist/modules/atheletebridge/index.js +32 -18
  7. package/dist/modules/buildmyiq/index.cjs +64 -67
  8. package/dist/modules/buildmyiq/index.js +60 -63
  9. package/dist/modules/comradecircle/index.cjs +23 -15
  10. package/dist/modules/comradecircle/index.js +19 -11
  11. package/dist/modules/coolandlovely/index.cjs +27 -14
  12. package/dist/modules/coolandlovely/index.js +29 -16
  13. package/dist/modules/crewfoundry/index.cjs +63 -116
  14. package/dist/modules/crewfoundry/index.js +62 -115
  15. package/dist/modules/ecoimpacthub/index.cjs +19 -9
  16. package/dist/modules/ecoimpacthub/index.js +19 -9
  17. package/dist/modules/eventfullymanaged/index.cjs +77 -77
  18. package/dist/modules/eventfullymanaged/index.js +78 -78
  19. package/dist/modules/govcitizenhub/index.cjs +7 -4
  20. package/dist/modules/govcitizenhub/index.js +7 -4
  21. package/dist/modules/headshotmarketing/index.cjs +92 -261
  22. package/dist/modules/headshotmarketing/index.js +94 -263
  23. package/dist/modules/hookmovies/index.cjs +17 -6
  24. package/dist/modules/hookmovies/index.js +20 -9
  25. package/dist/modules/housingvista/index.cjs +31 -24
  26. package/dist/modules/housingvista/index.js +26 -19
  27. package/dist/modules/intelwatchtower/index.cjs +24 -12
  28. package/dist/modules/intelwatchtower/index.js +24 -12
  29. package/dist/modules/kadaikodi/index.cjs +56 -90
  30. package/dist/modules/kadaikodi/index.js +60 -94
  31. package/dist/modules/labsofscience/index.cjs +8 -4
  32. package/dist/modules/labsofscience/index.js +8 -4
  33. package/dist/modules/manufacturedops/index.cjs +35 -22
  34. package/dist/modules/manufacturedops/index.js +34 -21
  35. package/dist/modules/movethewheels/index.cjs +103 -231
  36. package/dist/modules/movethewheels/index.js +103 -231
  37. package/dist/modules/planmagnet/index.cjs +21 -21
  38. package/dist/modules/planmagnet/index.js +32 -32
  39. package/dist/modules/proserviceworld/index.cjs +17 -12
  40. package/dist/modules/proserviceworld/index.js +17 -12
  41. package/dist/modules/subscriberbot/index.cjs +43 -19
  42. package/dist/modules/subscriberbot/index.js +46 -22
  43. package/dist/modules/technospam/index.cjs +17 -8
  44. package/dist/modules/technospam/index.js +17 -8
  45. package/dist/modules/theculturepost/index.cjs +27 -22
  46. package/dist/modules/theculturepost/index.js +31 -26
  47. package/dist/modules/theglobalfuel/index.cjs +65 -60
  48. package/dist/modules/theglobalfuel/index.js +65 -60
  49. package/dist/modules/timecampus/index.cjs +31 -85
  50. package/dist/modules/timecampus/index.js +32 -86
  51. package/package.json +1 -1
@@ -1,14 +1,19 @@
1
- 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var g=class extends Error{exitCode;hint;constructor(o,e){super(o),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},y=class extends g{constructor(o,e){super(o,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(o,e){super(o),this.name="CliInternalError",this.cause=e;}};var C=null;function b(r){C=r;}function h(){if(!C)throw new f("vibecontrols module helpers used before setHelpersContext was called");return C}function gt(){let r=h();if(!r.auth.isAuthenticated())throw new y("Authentication required.",{hint:`Run \`${r.productName} auth login\` to authenticate.`})}async function s(r,o){return gt(),h().gql.workspace.request(r,o)}function a(r){let o=r instanceof Error?r.message:String(r);throw new g(o)}function c(r,o,e){h().output.formatAndOutput(r,o,e);}function v(r){h().output.printSuccess(r);}function u(r,o){return h().output.truncate(r,o)}var k=`
2
- id title description type category status price city state
3
- bedrooms bathrooms totalArea imageUrl context createdAt updatedAt workspaceId
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var g=class extends Error{exitCode;hint;constructor(o,e){super(o),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},y=class extends g{constructor(o,e){super(o,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(o,e){super(o),this.name="CliInternalError",this.cause=e;}};var C=null;function I(r){C=r;}function h(){if(!C)throw new f("vibecontrols module helpers used before setHelpersContext was called");return C}function gt(){let r=h();if(!r.auth.isAuthenticated())throw new y("Authentication required.",{hint:`Run \`${r.productName} auth login\` to authenticate.`})}async function s(r,o){return gt(),h().gql.workspace.request(r,o)}function a(r){let o=r instanceof Error?r.message:String(r);throw new g(o)}function c(r,o,e){h().output.formatAndOutput(r,o,e);}function v(r){h().output.printSuccess(r);}function u(r,o){return h().output.truncate(r,o)}var k=`
2
+ id title description type category status
3
+ price { amount currency negotiable period pricePerSqft type }
4
+ location { address city state country pincode neighborhood }
5
+ specifications { bedrooms bathrooms totalArea furnishingStatus }
6
+ imageUrl context createdAt updatedAt workspaceId
4
7
  `,S=`
5
8
  query HousingvistaProperties(
6
9
  $filter: HousingVistaPropertyFilterInput
7
10
  $pagination: HousingVistaPaginationInput
8
11
  ) {
9
12
  housingvistaProperties(filter: $filter, pagination: $pagination) {
10
- id title type category status price city state bedrooms bathrooms
11
- totalArea imageUrl createdAt
13
+ id title type category status
14
+ price { amount currency negotiable period pricePerSqft type }
15
+ location { city state }
16
+ imageUrl createdAt
12
17
  }
13
18
  }
14
19
  `,A=`
@@ -18,18 +23,14 @@
18
23
  }
19
24
  }
20
25
  `,E=`
21
- mutation CreateHousingvistaProperty($input: CreatePropertyInput!) {
22
- createHousingvistaProperty(input: $input) {
23
- ${k}
24
- }
25
- }
26
- `,O=`
27
- mutation UpdateHousingvistaProperty($id: ID!, $input: UpdatePropertyInput!) {
28
- updateHousingvistaProperty(id: $id, input: $input) {
29
- ${k}
30
- }
26
+ mutation CreateHousingvistaProperty($input: HousingVistaCreatePropertyInput!) {
27
+ createHousingvistaProperty(input: $input) { ${k} }
31
28
  }
32
29
  `,P=`
30
+ mutation UpdateHousingvistaProperty($id: ID!, $input: HousingVistaUpdatePropertyInput!) {
31
+ updateHousingvistaProperty(id: $id, input: $input) { ${k} }
32
+ }
33
+ `,O=`
33
34
  mutation DeleteHousingvistaProperty($id: ID!) {
34
35
  deleteHousingvistaProperty(id: $id)
35
36
  }
@@ -42,24 +43,30 @@
42
43
  `,L=`
43
44
  query HousingvistaTransaction($id: ID!) {
44
45
  housingvistaTransaction(id: $id) {
45
- id title type status amount currency propertyId
46
- documents escrow milestones parties createdAt updatedAt workspaceId
47
- property { id title city state status price }
46
+ id title type status amount currency propertyId documents escrow milestones parties
47
+ createdAt updatedAt workspaceId
48
+ property {
49
+ id title status
50
+ price { amount currency negotiable period pricePerSqft type }
51
+ }
48
52
  }
49
53
  }
50
- `,_=`
54
+ `,$=`
51
55
  query HousingvistaInvestments($pagination: HousingVistaPaginationInput) {
52
56
  housingvistaInvestments(pagination: $pagination) {
53
57
  id title investmentType riskLevel status totalValue propertyId
54
58
  createdAt updatedAt
55
59
  }
56
60
  }
57
- `,$=`
61
+ `,_=`
58
62
  query HousingvistaInvestment($id: ID!) {
59
63
  housingvistaInvestment(id: $id) {
60
- id title investmentType riskLevel status totalValue propertyId
61
- investors returns createdAt updatedAt workspaceId
62
- property { id title city state status price }
64
+ id title investmentType riskLevel status totalValue propertyId investors returns
65
+ createdAt updatedAt workspaceId
66
+ property {
67
+ id title status
68
+ price { amount currency negotiable period pricePerSqft type }
69
+ }
63
70
  }
64
71
  }
65
72
  `,D=`
@@ -134,4 +141,4 @@
134
141
  upcomingViewings unreadMessages
135
142
  }
136
143
  }
137
- `;function x(r,o){try{return JSON.parse(o)}catch{throw new g(`--${r} must be valid JSON`)}}function i(r){let o=Number.parseInt(r,10);if(Number.isNaN(o))throw new g(`Expected an integer but got "${r}"`);return o}function w(r){let o=Number.parseFloat(r);if(Number.isNaN(o))throw new g(`Expected a number but got "${r}"`);return o}function d(r,o){let e={};return r!==void 0&&(e.limit=r),o!==void 0&&(e.offset=o),Object.keys(e).length?e:void 0}function j(r){let o=r.command("properties").description("HousingVista properties");o.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.type&&(n.type=e.type.toLowerCase()),e.status&&(n.status=e.status.toLowerCase()),e.city&&(n.city=e.city),e.search&&(n.search=e.search);let t=await s(S,{filter:Object.keys(n).length?n:void 0,pagination:d(e.limit,e.offset)});c(e,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[u(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(n){a(n);}}),o.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(A,{id:e});if(!t.housingvistaProperty)throw new g(`Property ${e} not found`);c(n,t.housingvistaProperty);}catch(t){a(t);}}),o.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",w).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",i).requiredOption("--bathrooms <n>","Bathrooms",i).requiredOption("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async e=>{try{let n={title:e.title,type:e.type.toLowerCase(),category:e.category,status:e.status.toLowerCase(),price:e.price,city:e.city,state:e.state,bedrooms:e.bedrooms,bathrooms:e.bathrooms,totalArea:e.totalArea};e.description&&(n.description=e.description),e.imageUrl&&(n.imageUrl=e.imageUrl),e.context&&(n.context=x("context",e.context));let t=await s(E,{input:n});v(`Property created: ${t.createHousingvistaProperty.title}`),c(e,t.createHousingvistaProperty);}catch(n){a(n);}}),o.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",w).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",i).option("--bathrooms <n>","Bathrooms",i).option("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t={};if(n.title&&(t.title=n.title),n.type&&(t.type=n.type.toLowerCase()),n.category&&(t.category=n.category),n.status&&(t.status=n.status.toLowerCase()),n.price!==void 0&&(t.price=n.price),n.city&&(t.city=n.city),n.state&&(t.state=n.state),n.bedrooms!==void 0&&(t.bedrooms=n.bedrooms),n.bathrooms!==void 0&&(t.bathrooms=n.bathrooms),n.totalArea!==void 0&&(t.totalArea=n.totalArea),n.description!==void 0&&(t.description=n.description),n.imageUrl!==void 0&&(t.imageUrl=n.imageUrl),n.context&&(t.context=x("context",n.context)),!Object.keys(t).length)throw new g("No updates specified");let l=await s(O,{id:e,input:t});v("Property updated"),c(n,l.updateHousingvistaProperty);}catch(t){a(t);}}),o.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(P,{id:e});if(!t.deleteHousingvistaProperty)throw new g(`Property ${e} not deleted`);v(`Property ${e} deleted`),c(n,{deleted:t.deleteHousingvistaProperty});}catch(t){a(t);}});}function z(r){let o=r.command("transactions").description("HousingVista property transactions");o.command("list").description("List transactions").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(R,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:n.housingvistaTransactions.map(t=>[u(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(n){a(n);}}),o.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(L,{id:e});if(!t.housingvistaTransaction)throw new g(`Transaction ${e} not found`);c(n,t.housingvistaTransaction);}catch(t){a(t);}});}function Y(r){let o=r.command("investments").description("HousingVista real-estate investments");o.command("list").description("List investments").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(_,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:n.housingvistaInvestments.map(t=>[u(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(n){a(n);}}),o.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s($,{id:e});if(!t.housingvistaInvestment)throw new g(`Investment ${e} not found`);c(n,t.housingvistaInvestment);}catch(t){a(t);}});}function B(r){r.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(D,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:n.housingvistaRentalUnits.map(t=>[u(t.id,12),t.unitNumber,u(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(n){a(n);}});}function J(r){r.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(N,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:n.housingvistaAssets.map(t=>[u(t.id,12),t.title,t.type,t.status,u(t.location,20),String(t.currentValue)])});}catch(n){a(n);}});}function K(r){r.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(q,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:n.housingvistaVerificationItems.map(t=>[u(t.id,12),t.entityType,u(t.entityLabel,24),t.status,t.priority])});}catch(n){a(n);}});}function Q(r){let o=r.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");o.command("services").description("List marketplace services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(H,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:n.housingvistaMarketplaceServices.map(t=>[u(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(n){a(n);}}),o.command("legal").description("List legal services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(V,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:n.housingvistaLegalServices.map(t=>[u(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(n){a(n);}}),o.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(M,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:n.housingvistaAmcContracts.map(t=>[u(t.id,12),t.packageName,u(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(n){a(n);}}),o.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(U,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:n.housingvistaHomeLoanOffers.map(t=>[u(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(n){a(n);}});}function X(r){let o=r.command("market").description("HousingVista market intelligence (area insights & trends)");o.command("area-insights").description("List area insights").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(F,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:n.housingvistaAreaInsights.map(t=>[u(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(n){a(n);}}),o.command("trends").description("List market trends").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(W,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:n.housingvistaMarketTrends.map(t=>[u(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(n){a(n);}});}function Z(r){r.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(G);c(e,n.housingvistaDashboardStats);}catch(n){a(n);}});}var dt={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(r,o){b(o);let e=r.command("housingvista").description("HousingVista real-estate & property management");j(e),z(e),Y(e),B(e),J(e),K(e),Q(e),X(e),Z(e);}},an=dt;module.exports=an;
144
+ `;function x(r,o){try{return JSON.parse(o)}catch{throw new g(`--${r} must be valid JSON`)}}function i(r){let o=Number.parseInt(r,10);if(Number.isNaN(o))throw new g(`Expected an integer but got "${r}"`);return o}function w(r){let o=Number.parseFloat(r);if(Number.isNaN(o))throw new g(`Expected a number but got "${r}"`);return o}function d(r,o){let e={};return r!==void 0&&(e.limit=r),o!==void 0&&(e.offset=o),Object.keys(e).length?e:void 0}function j(r){let o=r.command("properties").description("HousingVista properties");o.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.type&&(n.type=e.type.toLowerCase()),e.status&&(n.status=e.status.toLowerCase()),e.city&&(n.city=e.city),e.search&&(n.search=e.search);let t=await s(S,{filter:Object.keys(n).length?n:void 0,pagination:d(e.limit,e.offset)});c(e,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(m=>[u(m.id,12),m.title,m.type,m.status,m.location.city,`${m.price.amount} ${m.price.currency}`])});}catch(n){a(n);}}),o.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(A,{id:e});if(!t.housingvistaProperty)throw new g(`Property ${e} not found`);c(n,t.housingvistaProperty);}catch(t){a(t);}}),o.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",w).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",i).requiredOption("--bathrooms <n>","Bathrooms",i).requiredOption("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async e=>{try{let n={title:e.title,type:e.type.toLowerCase(),category:e.category,status:e.status.toLowerCase(),price:e.price,city:e.city,state:e.state,bedrooms:e.bedrooms,bathrooms:e.bathrooms,totalArea:e.totalArea};e.description&&(n.description=e.description),e.imageUrl&&(n.imageUrl=e.imageUrl),e.context&&(n.context=x("context",e.context));let t=await s(E,{input:n});v(`Property created: ${t.createHousingvistaProperty.title}`),c(e,t.createHousingvistaProperty);}catch(n){a(n);}}),o.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",w).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",i).option("--bathrooms <n>","Bathrooms",i).option("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t={};if(n.title&&(t.title=n.title),n.type&&(t.type=n.type.toLowerCase()),n.category&&(t.category=n.category),n.status&&(t.status=n.status.toLowerCase()),n.price!==void 0&&(t.price=n.price),n.city&&(t.city=n.city),n.state&&(t.state=n.state),n.bedrooms!==void 0&&(t.bedrooms=n.bedrooms),n.bathrooms!==void 0&&(t.bathrooms=n.bathrooms),n.totalArea!==void 0&&(t.totalArea=n.totalArea),n.description!==void 0&&(t.description=n.description),n.imageUrl!==void 0&&(t.imageUrl=n.imageUrl),n.context&&(t.context=x("context",n.context)),!Object.keys(t).length)throw new g("No updates specified");let m=await s(P,{id:e,input:t});v("Property updated"),c(n,m.updateHousingvistaProperty);}catch(t){a(t);}}),o.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(O,{id:e});if(!t.deleteHousingvistaProperty)throw new g(`Property ${e} not deleted`);v(`Property ${e} deleted`),c(n,{deleted:t.deleteHousingvistaProperty});}catch(t){a(t);}});}function z(r){let o=r.command("transactions").description("HousingVista property transactions");o.command("list").description("List transactions").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(R,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:n.housingvistaTransactions.map(t=>[u(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(n){a(n);}}),o.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(L,{id:e});if(!t.housingvistaTransaction)throw new g(`Transaction ${e} not found`);c(n,t.housingvistaTransaction);}catch(t){a(t);}});}function Y(r){let o=r.command("investments").description("HousingVista real-estate investments");o.command("list").description("List investments").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s($,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:n.housingvistaInvestments.map(t=>[u(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(n){a(n);}}),o.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(_,{id:e});if(!t.housingvistaInvestment)throw new g(`Investment ${e} not found`);c(n,t.housingvistaInvestment);}catch(t){a(t);}});}function B(r){r.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(D,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:n.housingvistaRentalUnits.map(t=>[u(t.id,12),t.unitNumber,u(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(n){a(n);}});}function J(r){r.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(N,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:n.housingvistaAssets.map(t=>[u(t.id,12),t.title,t.type,t.status,u(t.location,20),String(t.currentValue)])});}catch(n){a(n);}});}function K(r){r.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(q,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:n.housingvistaVerificationItems.map(t=>[u(t.id,12),t.entityType,u(t.entityLabel,24),t.status,t.priority])});}catch(n){a(n);}});}function Q(r){let o=r.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");o.command("services").description("List marketplace services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(H,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:n.housingvistaMarketplaceServices.map(t=>[u(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(n){a(n);}}),o.command("legal").description("List legal services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(V,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:n.housingvistaLegalServices.map(t=>[u(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(n){a(n);}}),o.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(M,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:n.housingvistaAmcContracts.map(t=>[u(t.id,12),t.packageName,u(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(n){a(n);}}),o.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(U,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:n.housingvistaHomeLoanOffers.map(t=>[u(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(n){a(n);}});}function X(r){let o=r.command("market").description("HousingVista market intelligence (area insights & trends)");o.command("area-insights").description("List area insights").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(F,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:n.housingvistaAreaInsights.map(t=>[u(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(n){a(n);}}),o.command("trends").description("List market trends").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(W,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:n.housingvistaMarketTrends.map(t=>[u(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(n){a(n);}});}function Z(r){r.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(G);c(e,n.housingvistaDashboardStats);}catch(n){a(n);}});}var dt={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(r,o){I(o);let e=r.command("housingvista").description("HousingVista real-estate & property management");j(e),z(e),Y(e),B(e),J(e),K(e),Q(e),X(e),Z(e);}},an=dt;module.exports=an;
@@ -1,14 +1,19 @@
1
1
  import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var h=`
2
- id title description type category status price city state
3
- bedrooms bathrooms totalArea imageUrl context createdAt updatedAt workspaceId
2
+ id title description type category status
3
+ price { amount currency negotiable period pricePerSqft type }
4
+ location { address city state country pincode neighborhood }
5
+ specifications { bedrooms bathrooms totalArea furnishingStatus }
6
+ imageUrl context createdAt updatedAt workspaceId
4
7
  `,S=`
5
8
  query HousingvistaProperties(
6
9
  $filter: HousingVistaPropertyFilterInput
7
10
  $pagination: HousingVistaPaginationInput
8
11
  ) {
9
12
  housingvistaProperties(filter: $filter, pagination: $pagination) {
10
- id title type category status price city state bedrooms bathrooms
11
- totalArea imageUrl createdAt
13
+ id title type category status
14
+ price { amount currency negotiable period pricePerSqft type }
15
+ location { city state }
16
+ imageUrl createdAt
12
17
  }
13
18
  }
14
19
  `,b=`
@@ -18,16 +23,12 @@ import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';im
18
23
  }
19
24
  }
20
25
  `,P=`
21
- mutation CreateHousingvistaProperty($input: CreatePropertyInput!) {
22
- createHousingvistaProperty(input: $input) {
23
- ${h}
24
- }
26
+ mutation CreateHousingvistaProperty($input: HousingVistaCreatePropertyInput!) {
27
+ createHousingvistaProperty(input: $input) { ${h} }
25
28
  }
26
29
  `,R=`
27
- mutation UpdateHousingvistaProperty($id: ID!, $input: UpdatePropertyInput!) {
28
- updateHousingvistaProperty(id: $id, input: $input) {
29
- ${h}
30
- }
30
+ mutation UpdateHousingvistaProperty($id: ID!, $input: HousingVistaUpdatePropertyInput!) {
31
+ updateHousingvistaProperty(id: $id, input: $input) { ${h} }
31
32
  }
32
33
  `,C=`
33
34
  mutation DeleteHousingvistaProperty($id: ID!) {
@@ -42,9 +43,12 @@ import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';im
42
43
  `,w=`
43
44
  query HousingvistaTransaction($id: ID!) {
44
45
  housingvistaTransaction(id: $id) {
45
- id title type status amount currency propertyId
46
- documents escrow milestones parties createdAt updatedAt workspaceId
47
- property { id title city state status price }
46
+ id title type status amount currency propertyId documents escrow milestones parties
47
+ createdAt updatedAt workspaceId
48
+ property {
49
+ id title status
50
+ price { amount currency negotiable period pricePerSqft type }
51
+ }
48
52
  }
49
53
  }
50
54
  `,O=`
@@ -57,9 +61,12 @@ import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';im
57
61
  `,k=`
58
62
  query HousingvistaInvestment($id: ID!) {
59
63
  housingvistaInvestment(id: $id) {
60
- id title investmentType riskLevel status totalValue propertyId
61
- investors returns createdAt updatedAt workspaceId
62
- property { id title city state status price }
64
+ id title investmentType riskLevel status totalValue propertyId investors returns
65
+ createdAt updatedAt workspaceId
66
+ property {
67
+ id title status
68
+ price { amount currency negotiable period pricePerSqft type }
69
+ }
63
70
  }
64
71
  }
65
72
  `,E=`
@@ -134,4 +141,4 @@ import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';im
134
141
  upcomingViewings unreadMessages
135
142
  }
136
143
  }
137
- `;function I(o$1,n){try{return JSON.parse(n)}catch{throw new o(`--${o$1} must be valid JSON`)}}function r(o$1){let n=Number.parseInt(o$1,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${o$1}"`);return n}function v(o$1){let n=Number.parseFloat(o$1);if(Number.isNaN(n))throw new o(`Expected a number but got "${o$1}"`);return n}function c(o,n){let i={};return o!==void 0&&(i.limit=o),n!==void 0&&(i.offset=n),Object.keys(i).length?i:void 0}function U(o$1){let n=o$1.command("properties").description("HousingVista properties");n.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e={};i$1.type&&(e.type=i$1.type.toLowerCase()),i$1.status&&(e.status=i$1.status.toLowerCase()),i$1.city&&(e.city=i$1.city),i$1.search&&(e.search=i$1.search);let t=await b$1(S,{filter:Object.keys(e).length?e:void 0,pagination:c(i$1.limit,i$1.offset)});i(i$1,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[r$1(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(e){h$1(e);}}),n.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(b,{id:i$1});if(!t.housingvistaProperty)throw new o(`Property ${i$1} not found`);i(e,t.housingvistaProperty);}catch(t){h$1(t);}}),n.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",v).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",r).requiredOption("--bathrooms <n>","Bathrooms",r).requiredOption("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async i$1=>{try{let e={title:i$1.title,type:i$1.type.toLowerCase(),category:i$1.category,status:i$1.status.toLowerCase(),price:i$1.price,city:i$1.city,state:i$1.state,bedrooms:i$1.bedrooms,bathrooms:i$1.bathrooms,totalArea:i$1.totalArea};i$1.description&&(e.description=i$1.description),i$1.imageUrl&&(e.imageUrl=i$1.imageUrl),i$1.context&&(e.context=I("context",i$1.context));let t=await b$1(P,{input:e});k$1(`Property created: ${t.createHousingvistaProperty.title}`),i(i$1,t.createHousingvistaProperty);}catch(e){h$1(e);}}),n.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",v).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",r).option("--bathrooms <n>","Bathrooms",r).option("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t={};if(e.title&&(t.title=e.title),e.type&&(t.type=e.type.toLowerCase()),e.category&&(t.category=e.category),e.status&&(t.status=e.status.toLowerCase()),e.price!==void 0&&(t.price=e.price),e.city&&(t.city=e.city),e.state&&(t.state=e.state),e.bedrooms!==void 0&&(t.bedrooms=e.bedrooms),e.bathrooms!==void 0&&(t.bathrooms=e.bathrooms),e.totalArea!==void 0&&(t.totalArea=e.totalArea),e.description!==void 0&&(t.description=e.description),e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.context&&(t.context=I("context",e.context)),!Object.keys(t).length)throw new o("No updates specified");let l=await b$1(R,{id:i$1,input:t});k$1("Property updated"),i(e,l.updateHousingvistaProperty);}catch(t){h$1(t);}}),n.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(C,{id:i$1});if(!t.deleteHousingvistaProperty)throw new o(`Property ${i$1} not deleted`);k$1(`Property ${i$1} deleted`),i(e,{deleted:t.deleteHousingvistaProperty});}catch(t){h$1(t);}});}function q(o$1){let n=o$1.command("transactions").description("HousingVista property transactions");n.command("list").description("List transactions").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(A,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:e.housingvistaTransactions.map(t=>[r$1(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(e){h$1(e);}}),n.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(w,{id:i$1});if(!t.housingvistaTransaction)throw new o(`Transaction ${i$1} not found`);i(e,t.housingvistaTransaction);}catch(t){h$1(t);}});}function F(o$1){let n=o$1.command("investments").description("HousingVista real-estate investments");n.command("list").description("List investments").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(O,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:e.housingvistaInvestments.map(t=>[r$1(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(e){h$1(e);}}),n.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(k,{id:i$1});if(!t.housingvistaInvestment)throw new o(`Investment ${i$1} not found`);i(e,t.housingvistaInvestment);}catch(t){h$1(t);}});}function Y(o){o.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(E,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:e.housingvistaRentalUnits.map(t=>[r$1(t.id,12),t.unitNumber,r$1(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(e){h$1(e);}});}function G(o){o.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(L,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:e.housingvistaAssets.map(t=>[r$1(t.id,12),t.title,t.type,t.status,r$1(t.location,20),String(t.currentValue)])});}catch(e){h$1(e);}});}function z(o){o.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(x,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:e.housingvistaVerificationItems.map(t=>[r$1(t.id,12),t.entityType,r$1(t.entityLabel,24),t.status,t.priority])});}catch(e){h$1(e);}});}function W(o){let n=o.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");n.command("services").description("List marketplace services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(_,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:e.housingvistaMarketplaceServices.map(t=>[r$1(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(e){h$1(e);}}),n.command("legal").description("List legal services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(N,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:e.housingvistaLegalServices.map(t=>[r$1(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(e){h$1(e);}}),n.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(H,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:e.housingvistaAmcContracts.map(t=>[r$1(t.id,12),t.packageName,r$1(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(e){h$1(e);}}),n.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(V,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:e.housingvistaHomeLoanOffers.map(t=>[r$1(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(e){h$1(e);}});}function j(o){let n=o.command("market").description("HousingVista market intelligence (area insights & trends)");n.command("area-insights").description("List area insights").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1($,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:e.housingvistaAreaInsights.map(t=>[r$1(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(e){h$1(e);}}),n.command("trends").description("List market trends").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(D,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:e.housingvistaMarketTrends.map(t=>[r$1(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(e){h$1(e);}});}function B(o){o.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(M);i(i$1,e.housingvistaDashboardStats);}catch(e){h$1(e);}});}var J={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(o,n){a(n);let i=o.command("housingvista").description("HousingVista real-estate & property management");U(i),q(i),F(i),Y(i),G(i),z(i),W(i),j(i),B(i);}},Ut=J;export{Ut as default};
144
+ `;function I(o$1,n){try{return JSON.parse(n)}catch{throw new o(`--${o$1} must be valid JSON`)}}function r(o$1){let n=Number.parseInt(o$1,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${o$1}"`);return n}function v(o$1){let n=Number.parseFloat(o$1);if(Number.isNaN(n))throw new o(`Expected a number but got "${o$1}"`);return n}function c(o,n){let i={};return o!==void 0&&(i.limit=o),n!==void 0&&(i.offset=n),Object.keys(i).length?i:void 0}function q(o$1){let n=o$1.command("properties").description("HousingVista properties");n.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e={};i$1.type&&(e.type=i$1.type.toLowerCase()),i$1.status&&(e.status=i$1.status.toLowerCase()),i$1.city&&(e.city=i$1.city),i$1.search&&(e.search=i$1.search);let t=await b$1(S,{filter:Object.keys(e).length?e:void 0,pagination:c(i$1.limit,i$1.offset)});i(i$1,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(f=>[r$1(f.id,12),f.title,f.type,f.status,f.location.city,`${f.price.amount} ${f.price.currency}`])});}catch(e){h$1(e);}}),n.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(b,{id:i$1});if(!t.housingvistaProperty)throw new o(`Property ${i$1} not found`);i(e,t.housingvistaProperty);}catch(t){h$1(t);}}),n.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",v).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",r).requiredOption("--bathrooms <n>","Bathrooms",r).requiredOption("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async i$1=>{try{let e={title:i$1.title,type:i$1.type.toLowerCase(),category:i$1.category,status:i$1.status.toLowerCase(),price:i$1.price,city:i$1.city,state:i$1.state,bedrooms:i$1.bedrooms,bathrooms:i$1.bathrooms,totalArea:i$1.totalArea};i$1.description&&(e.description=i$1.description),i$1.imageUrl&&(e.imageUrl=i$1.imageUrl),i$1.context&&(e.context=I("context",i$1.context));let t=await b$1(P,{input:e});k$1(`Property created: ${t.createHousingvistaProperty.title}`),i(i$1,t.createHousingvistaProperty);}catch(e){h$1(e);}}),n.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",v).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",r).option("--bathrooms <n>","Bathrooms",r).option("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t={};if(e.title&&(t.title=e.title),e.type&&(t.type=e.type.toLowerCase()),e.category&&(t.category=e.category),e.status&&(t.status=e.status.toLowerCase()),e.price!==void 0&&(t.price=e.price),e.city&&(t.city=e.city),e.state&&(t.state=e.state),e.bedrooms!==void 0&&(t.bedrooms=e.bedrooms),e.bathrooms!==void 0&&(t.bathrooms=e.bathrooms),e.totalArea!==void 0&&(t.totalArea=e.totalArea),e.description!==void 0&&(t.description=e.description),e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.context&&(t.context=I("context",e.context)),!Object.keys(t).length)throw new o("No updates specified");let f=await b$1(R,{id:i$1,input:t});k$1("Property updated"),i(e,f.updateHousingvistaProperty);}catch(t){h$1(t);}}),n.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(C,{id:i$1});if(!t.deleteHousingvistaProperty)throw new o(`Property ${i$1} not deleted`);k$1(`Property ${i$1} deleted`),i(e,{deleted:t.deleteHousingvistaProperty});}catch(t){h$1(t);}});}function U(o$1){let n=o$1.command("transactions").description("HousingVista property transactions");n.command("list").description("List transactions").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(A,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:e.housingvistaTransactions.map(t=>[r$1(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(e){h$1(e);}}),n.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(w,{id:i$1});if(!t.housingvistaTransaction)throw new o(`Transaction ${i$1} not found`);i(e,t.housingvistaTransaction);}catch(t){h$1(t);}});}function F(o$1){let n=o$1.command("investments").description("HousingVista real-estate investments");n.command("list").description("List investments").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(O,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:e.housingvistaInvestments.map(t=>[r$1(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(e){h$1(e);}}),n.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(k,{id:i$1});if(!t.housingvistaInvestment)throw new o(`Investment ${i$1} not found`);i(e,t.housingvistaInvestment);}catch(t){h$1(t);}});}function Y(o){o.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(E,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:e.housingvistaRentalUnits.map(t=>[r$1(t.id,12),t.unitNumber,r$1(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(e){h$1(e);}});}function G(o){o.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(L,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:e.housingvistaAssets.map(t=>[r$1(t.id,12),t.title,t.type,t.status,r$1(t.location,20),String(t.currentValue)])});}catch(e){h$1(e);}});}function z(o){o.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(x,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:e.housingvistaVerificationItems.map(t=>[r$1(t.id,12),t.entityType,r$1(t.entityLabel,24),t.status,t.priority])});}catch(e){h$1(e);}});}function W(o){let n=o.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");n.command("services").description("List marketplace services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(_,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:e.housingvistaMarketplaceServices.map(t=>[r$1(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(e){h$1(e);}}),n.command("legal").description("List legal services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(N,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:e.housingvistaLegalServices.map(t=>[r$1(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(e){h$1(e);}}),n.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(H,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:e.housingvistaAmcContracts.map(t=>[r$1(t.id,12),t.packageName,r$1(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(e){h$1(e);}}),n.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(V,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:e.housingvistaHomeLoanOffers.map(t=>[r$1(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(e){h$1(e);}});}function j(o){let n=o.command("market").description("HousingVista market intelligence (area insights & trends)");n.command("area-insights").description("List area insights").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1($,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:e.housingvistaAreaInsights.map(t=>[r$1(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(e){h$1(e);}}),n.command("trends").description("List market trends").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(D,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:e.housingvistaMarketTrends.map(t=>[r$1(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(e){h$1(e);}});}function B(o){o.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(M);i(i$1,e.housingvistaDashboardStats);}catch(e){h$1(e);}});}var J={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(o,n){a(n);let i=o.command("housingvista").description("HousingVista real-estate & property management");q(i),U(i),F(i),Y(i),G(i),z(i),W(i),j(i),B(i);}},qt=J;export{qt 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
- id type value classification confidence description entityId isActive
79
- validFrom validUntil createdAt updatedAt workspaceId
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
- `,U=`
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
- `,M=`
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
- id name codename classification commanderId objective status startAt
113
- endAt tags createdAt updatedAt workspaceId
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
- missionId tags openedAt closedAt createdAt updatedAt workspaceId
134
- entries { id caseId kind body createdAt updatedAt workspaceId }
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
- id title classification description priority status missionId
170
- requestedById dueDate satisfiedAt tags createdAt updatedAt workspaceId
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;