@burdenoff/cli-sdk 2026.627.3 → 2026.627.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.
@@ -0,0 +1,305 @@
1
+ import {a,b as b$1,h as h$1,p as p$1,g,i,o as o$1,d as d$1}from'../../chunk-WXDQ3S5J.js';import {o}from'../../chunk-TCBALVP4.js';var O=`
2
+ query EcoSite($id: ID!) {
3
+ ecoSite(id: $id) {
4
+ id name code description type status country region latitude longitude
5
+ areaHectares createdAt updatedAt workspaceId
6
+ sensors { id name kind status unit siteId }
7
+ thresholds { id parameter unit direction severity isActive siteId }
8
+ }
9
+ }
10
+ `,R=`
11
+ query EcoListSites($status: EcoSiteStatus, $type: EcoSiteType, $pagination: PaginationInput) {
12
+ ecoListSites(status: $status, type: $type, pagination: $pagination) {
13
+ items {
14
+ id name code type status country region areaHectares createdAt
15
+ }
16
+ pageInfo { cursor hasMore }
17
+ }
18
+ }
19
+ `,b=`
20
+ mutation EcoCreateSite($input: EcoCreateSiteInput!) {
21
+ ecoCreateSite(input: $input) {
22
+ id name code description type status country region latitude longitude
23
+ areaHectares createdAt
24
+ }
25
+ }
26
+ `,A=`
27
+ mutation EcoUpdateSite($id: ID!, $input: EcoUpdateSiteInput!) {
28
+ ecoUpdateSite(id: $id, input: $input) {
29
+ id name code description type status country region latitude longitude
30
+ areaHectares updatedAt
31
+ }
32
+ }
33
+ `,T=`
34
+ mutation EcoArchiveSite($id: ID!) {
35
+ ecoArchiveSite(id: $id)
36
+ }
37
+ `,h=`
38
+ query EcoListSensors($siteId: ID, $kind: EcoSensorKind, $status: EcoSensorStatus) {
39
+ ecoListSensors(siteId: $siteId, kind: $kind, status: $status) {
40
+ id siteId name kind status unit hardwareId installedAt lastReadingAt createdAt
41
+ }
42
+ }
43
+ `,v=`
44
+ mutation EcoCreateSensor($input: EcoCreateSensorInput!) {
45
+ ecoCreateSensor(input: $input) {
46
+ id siteId name kind status unit hardwareId installedAt createdAt
47
+ }
48
+ }
49
+ `,_=`
50
+ mutation EcoSetSensorStatus($id: ID!, $status: EcoSensorStatus!) {
51
+ ecoSetSensorStatus(id: $id, status: $status) {
52
+ id siteId name kind status unit updatedAt
53
+ }
54
+ }
55
+ `,w=`
56
+ query EcoListThresholds($siteId: ID) {
57
+ ecoListThresholds(siteId: $siteId) {
58
+ id siteId parameter unit direction severity minValue maxValue limitValue
59
+ isActive createdAt
60
+ }
61
+ }
62
+ `,L=`
63
+ mutation EcoCreateThreshold($input: EcoCreateThresholdInput!) {
64
+ ecoCreateThreshold(input: $input) {
65
+ id siteId parameter unit direction severity minValue maxValue limitValue
66
+ isActive createdAt
67
+ }
68
+ }
69
+ `,D=`
70
+ mutation EcoSetThresholdActive($id: ID!, $isActive: Boolean!) {
71
+ ecoSetThresholdActive(id: $id, isActive: $isActive) {
72
+ id siteId parameter severity isActive updatedAt
73
+ }
74
+ }
75
+ `,N=`
76
+ query EcoListMeasurements(
77
+ $siteId: ID
78
+ $sensorId: ID
79
+ $parameter: String
80
+ $breachesOnly: Boolean
81
+ $pagination: PaginationInput
82
+ ) {
83
+ ecoListMeasurements(
84
+ siteId: $siteId
85
+ sensorId: $sensorId
86
+ parameter: $parameter
87
+ breachesOnly: $breachesOnly
88
+ pagination: $pagination
89
+ ) {
90
+ items {
91
+ id siteId sensorId parameter value unit source recordedAt isBreach createdAt
92
+ }
93
+ pageInfo { cursor hasMore }
94
+ }
95
+ }
96
+ `,$=`
97
+ mutation EcoRecordMeasurement($input: EcoRecordMeasurementInput!) {
98
+ ecoRecordMeasurement(input: $input) {
99
+ id siteId sensorId parameter value unit source recordedAt isBreach notes createdAt
100
+ }
101
+ }
102
+ `,P=`
103
+ query EcoSpecies($id: ID!) {
104
+ ecoSpecies(id: $id) {
105
+ id commonName scientificName taxonGroup conservationStatus isPriority
106
+ description createdAt updatedAt workspaceId
107
+ observations { id method count observedAt siteId }
108
+ }
109
+ }
110
+ `,H=`
111
+ query EcoListSpecies(
112
+ $taxonGroup: EcoTaxonGroup
113
+ $conservationStatus: EcoConservationStatus
114
+ $priorityOnly: Boolean
115
+ $pagination: PaginationInput
116
+ ) {
117
+ ecoListSpecies(
118
+ taxonGroup: $taxonGroup
119
+ conservationStatus: $conservationStatus
120
+ priorityOnly: $priorityOnly
121
+ pagination: $pagination
122
+ ) {
123
+ items {
124
+ id commonName scientificName taxonGroup conservationStatus isPriority createdAt
125
+ }
126
+ pageInfo { cursor hasMore }
127
+ }
128
+ }
129
+ `,U=`
130
+ mutation EcoCreateSpecies($input: EcoCreateSpeciesInput!) {
131
+ ecoCreateSpecies(input: $input) {
132
+ id commonName scientificName taxonGroup conservationStatus isPriority
133
+ description createdAt
134
+ }
135
+ }
136
+ `,k=`
137
+ mutation EcoUpdateSpecies($id: ID!, $input: EcoUpdateSpeciesInput!) {
138
+ ecoUpdateSpecies(id: $id, input: $input) {
139
+ id commonName scientificName taxonGroup conservationStatus isPriority
140
+ description updatedAt
141
+ }
142
+ }
143
+ `,V=`
144
+ mutation EcoArchiveSpecies($id: ID!) {
145
+ ecoArchiveSpecies(id: $id)
146
+ }
147
+ `,M=`
148
+ query EcoListObservations($speciesId: ID, $siteId: ID, $pagination: PaginationInput) {
149
+ ecoListObservations(speciesId: $speciesId, siteId: $siteId, pagination: $pagination) {
150
+ items {
151
+ id speciesId siteId observerId method count latitude longitude observedAt createdAt
152
+ }
153
+ pageInfo { cursor hasMore }
154
+ }
155
+ }
156
+ `,q=`
157
+ mutation EcoRecordObservation($input: EcoRecordObservationInput!) {
158
+ ecoRecordObservation(input: $input) {
159
+ id speciesId siteId observerId method count latitude longitude observedAt
160
+ notes createdAt
161
+ }
162
+ }
163
+ `,G=`
164
+ query EcoHabitatProject($id: ID!) {
165
+ ecoHabitatProject(id: $id) {
166
+ id name description siteId managerId status targetHectares budgetAmount
167
+ currency startDate endDate completedAt createdAt updatedAt workspaceId
168
+ activities { id type summary quantity unit performedAt }
169
+ }
170
+ }
171
+ `,F=`
172
+ query EcoListHabitatProjects($status: EcoHabitatProjectStatus) {
173
+ ecoListHabitatProjects(status: $status) {
174
+ id name siteId managerId status targetHectares budgetAmount currency
175
+ startDate endDate createdAt
176
+ }
177
+ }
178
+ `,j=`
179
+ mutation EcoCreateHabitatProject($input: EcoCreateHabitatProjectInput!) {
180
+ ecoCreateHabitatProject(input: $input) {
181
+ id name description siteId managerId status targetHectares budgetAmount
182
+ currency startDate endDate createdAt
183
+ }
184
+ }
185
+ `,x=`
186
+ mutation EcoTransitionHabitatProject($id: ID!, $status: EcoHabitatProjectStatus!) {
187
+ ecoTransitionHabitatProject(id: $id, status: $status) {
188
+ id name status completedAt updatedAt
189
+ }
190
+ }
191
+ `,B=`
192
+ mutation EcoLogRestorationActivity($input: EcoLogRestorationActivityInput!) {
193
+ ecoLogRestorationActivity(input: $input) {
194
+ id projectId type summary details quantity unit performedAt createdAt
195
+ }
196
+ }
197
+ `,Y=`
198
+ query EcoListCarbonEntries(
199
+ $scope: EcoEmissionScope
200
+ $siteId: ID
201
+ $status: EcoCarbonEntryStatus
202
+ $pagination: PaginationInput
203
+ ) {
204
+ ecoListCarbonEntries(
205
+ scope: $scope
206
+ siteId: $siteId
207
+ status: $status
208
+ pagination: $pagination
209
+ ) {
210
+ items {
211
+ id category scope activityValue activityUnit co2eKg factorId siteId
212
+ status periodStart createdAt
213
+ }
214
+ pageInfo { cursor hasMore }
215
+ }
216
+ }
217
+ `,K=`
218
+ query EcoCarbonTotalKg($scope: EcoEmissionScope, $siteId: ID) {
219
+ ecoCarbonTotalKg(scope: $scope, siteId: $siteId)
220
+ }
221
+ `,W=`
222
+ mutation EcoRecordCarbonEntry($input: EcoRecordCarbonEntryInput!) {
223
+ ecoRecordCarbonEntry(input: $input) {
224
+ id category scope activityValue activityUnit co2eKg factorId siteId
225
+ status periodStart notes createdAt
226
+ }
227
+ }
228
+ `,J=`
229
+ mutation EcoVerifyCarbonEntry($id: ID!) {
230
+ ecoVerifyCarbonEntry(id: $id) {
231
+ id category scope co2eKg status updatedAt
232
+ }
233
+ }
234
+ `,z=`
235
+ query EcoListEmissionFactors($scope: EcoEmissionScope, $activeOnly: Boolean) {
236
+ ecoListEmissionFactors(scope: $scope, activeOnly: $activeOnly) {
237
+ id name scope activityUnit factorKgco2e source validYear isActive createdAt
238
+ }
239
+ }
240
+ `,Q=`
241
+ mutation EcoCreateEmissionFactor($input: EcoCreateEmissionFactorInput!) {
242
+ ecoCreateEmissionFactor(input: $input) {
243
+ id name scope activityUnit factorKgco2e source validYear isActive createdAt
244
+ }
245
+ }
246
+ `,X=`
247
+ query EcoListReductionTargets($status: EcoReductionTargetStatus) {
248
+ ecoListReductionTargets(status: $status) {
249
+ id name metric unit baselineValue baselineYear targetValue targetYear
250
+ status createdAt
251
+ }
252
+ }
253
+ `,Z=`
254
+ mutation EcoCreateReductionTarget($input: EcoCreateReductionTargetInput!) {
255
+ ecoCreateReductionTarget(input: $input) {
256
+ id name metric unit baselineValue baselineYear targetValue targetYear
257
+ status description createdAt
258
+ }
259
+ }
260
+ `,tt=`
261
+ mutation EcoSetReductionTargetStatus($id: ID!, $status: EcoReductionTargetStatus!) {
262
+ ecoSetReductionTargetStatus(id: $id, status: $status) {
263
+ id name metric status updatedAt
264
+ }
265
+ }
266
+ `,et=`
267
+ query EcoReport($id: ID!) {
268
+ ecoReport(id: $id) {
269
+ id title framework status periodStart periodEnd summary publishedAt
270
+ createdAt updatedAt workspaceId
271
+ lineItems { id label category value unit carbonEntryId }
272
+ }
273
+ }
274
+ `,it=`
275
+ query EcoListReports($status: EcoReportStatus, $pagination: PaginationInput) {
276
+ ecoListReports(status: $status, pagination: $pagination) {
277
+ items {
278
+ id title framework status periodStart periodEnd publishedAt createdAt
279
+ }
280
+ pageInfo { cursor hasMore }
281
+ }
282
+ }
283
+ `,ot=`
284
+ mutation EcoCreateReport($input: EcoCreateReportInput!) {
285
+ ecoCreateReport(input: $input) {
286
+ id title framework status periodStart periodEnd summary createdAt
287
+ }
288
+ }
289
+ `,rt=`
290
+ mutation EcoAddReportLineItem($input: EcoAddReportLineItemInput!) {
291
+ ecoAddReportLineItem(input: $input) {
292
+ id reportId label category value unit carbonEntryId createdAt
293
+ }
294
+ }
295
+ `,nt=`
296
+ mutation EcoPublishReport($id: ID!, $fileId: ID) {
297
+ ecoPublishReport(id: $id, fileId: $fileId) {
298
+ id title framework status publishedAt updatedAt
299
+ }
300
+ }
301
+ `,at=`
302
+ query EcoHealth {
303
+ ecoHealth
304
+ }
305
+ `;function p(c){let o$1=Number.parseInt(c,10);if(Number.isNaN(o$1))throw new o(`Expected an integer but got "${c}"`);return o$1}function d(c){let o$1=Number.parseFloat(c);if(Number.isNaN(o$1))throw new o(`Expected a number but got "${c}"`);return o$1}function l(c){let o={};return c.limit!==void 0&&(o.limit=c.limit),c.offset!==void 0&&(o.offset=c.offset),Object.keys(o).length?o:void 0}function st(c){let o$1=c.command("sites").description("EcoImpactHub monitored sites");o$1.command("list").description("List sites").option("--status <s>","ACTIVE|ARCHIVED|MONITORING_PAUSED").option("--type <t>","FACILITY|FOREST|WETLAND|...").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 b$1(R,{status:t.status?t.status.toUpperCase():void 0,type:t.type?t.type.toUpperCase():void 0,pagination:l(t)});h$1(t,e.ecoListSites.items,{headers:["ID","Name","Type","Status","Country","Hectares"],rows:e.ecoListSites.items.map(i=>[p$1(i.id,12),i.name,i.type,i.status,i.country??"-",i.areaHectares!=null?String(i.areaHectares):"-"])});}catch(e){g(e);}}),o$1.command("get").description("Get a site by id").argument("<id>","Site ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(O,{id:t});if(!i.ecoSite)throw new o(`Site ${t} not found`);h$1(e,i.ecoSite);}catch(i){g(i);}}),o$1.command("create").description("Create a site").requiredOption("--name <name>","Site name").option("--code <code>","Site code").option("--description <s>","Description").option("--type <t>","Site type","FACILITY").option("--status <s>","Site status","ACTIVE").option("--country <c>","Country").option("--region <r>","Region").option("--latitude <n>","Latitude",d).option("--longitude <n>","Longitude",d).option("--area-hectares <n>","Area (hectares)",d).option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,type:(t.type??"FACILITY").toUpperCase(),status:(t.status??"ACTIVE").toUpperCase()};t.code&&(e.code=t.code),t.description&&(e.description=t.description),t.country&&(e.country=t.country),t.region&&(e.region=t.region),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.areaHectares!==void 0&&(e.areaHectares=t.areaHectares);let i$1=await b$1(b,{input:e});i(`Site created: ${i$1.ecoCreateSite.name}`),h$1(t,i$1.ecoCreateSite);}catch(e){g(e);}}),o$1.command("update").description("Update a site").argument("<id>","Site ID").option("--name <name>","Site name").option("--code <code>","Site code").option("--description <s>","Description").option("--type <t>","Site type").option("--status <s>","Site status").option("--country <c>","Country").option("--region <r>","Region").option("--latitude <n>","Latitude",d).option("--longitude <n>","Longitude",d).option("--area-hectares <n>","Area (hectares)",d).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.name&&(i$1.name=e.name),e.code&&(i$1.code=e.code),e.description!==void 0&&(i$1.description=e.description),e.type&&(i$1.type=e.type.toUpperCase()),e.status&&(i$1.status=e.status.toUpperCase()),e.country&&(i$1.country=e.country),e.region&&(i$1.region=e.region),e.latitude!==void 0&&(i$1.latitude=e.latitude),e.longitude!==void 0&&(i$1.longitude=e.longitude),e.areaHectares!==void 0&&(i$1.areaHectares=e.areaHectares),!Object.keys(i$1).length)throw new o("No updates specified");let C=await b$1(A,{id:t,input:i$1});i("Site updated"),h$1(e,C.ecoUpdateSite);}catch(i){g(i);}}),o$1.command("archive").description("Archive a site").argument("<id>","Site ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(T,{id:t});i(i$1.ecoArchiveSite?"Site archived":"Site not archived"),h$1(e,{archived:i$1.ecoArchiveSite});}catch(i){g(i);}});}function ct(c){let o=c.command("sensors").description("EcoImpactHub site sensors");o.command("list").description("List sensors").option("--site <id>","Filter by site ID").option("--kind <k>","WATER_QUALITY|AIR_QUALITY|SOIL|...").option("--status <s>","ONLINE|OFFLINE|DEGRADED|MAINTENANCE|RETIRED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(h,{siteId:t.site,kind:t.kind?t.kind.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0});h$1(t,e.ecoListSensors,{headers:["ID","Name","Kind","Status","Unit","Last Reading"],rows:e.ecoListSensors.map(i=>[p$1(i.id,12),i.name,i.kind,i.status,i.unit??"-",o$1(i.lastReadingAt)])});}catch(e){g(e);}}),o.command("create").description("Create a sensor").requiredOption("--site <id>","Site ID").requiredOption("--name <name>","Sensor name").option("--kind <k>","Sensor kind","MANUAL").option("--status <s>","Sensor status","ONLINE").option("--unit <u>","Measurement unit").option("--hardware-id <id>","Hardware ID").option("--installed-at <iso>","Install date (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={siteId:t.site,name:t.name,kind:(t.kind??"MANUAL").toUpperCase(),status:(t.status??"ONLINE").toUpperCase()};t.unit&&(e.unit=t.unit),t.hardwareId&&(e.hardwareId=t.hardwareId),t.installedAt&&(e.installedAt=t.installedAt);let i$1=await b$1(v,{input:e});i(`Sensor created: ${i$1.ecoCreateSensor.name}`),h$1(t,i$1.ecoCreateSensor);}catch(e){g(e);}}),o.command("set-status").description("Update a sensor's operational status").argument("<id>","Sensor ID").requiredOption("--status <s>","ONLINE|OFFLINE|DEGRADED|MAINTENANCE|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(_,{id:t,status:e.status.toUpperCase()});i(`Sensor status set to ${i$1.ecoSetSensorStatus.status}`),h$1(e,i$1.ecoSetSensorStatus);}catch(i){g(i);}});}function dt(c){let o=c.command("thresholds").description("EcoImpactHub alert thresholds");o.command("list").description("List alert thresholds").option("--site <id>","Filter by site ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(w,{siteId:t.site});h$1(t,e.ecoListThresholds,{headers:["ID","Parameter","Unit","Direction","Severity","Active"],rows:e.ecoListThresholds.map(i=>[p$1(i.id,12),i.parameter,i.unit,i.direction,i.severity,i.isActive?"yes":"no"])});}catch(e){g(e);}}),o.command("create").description("Create an alert threshold").requiredOption("--site <id>","Site ID").requiredOption("--parameter <p>","Measured parameter").requiredOption("--unit <u>","Unit").option("--direction <d>","ABOVE|BELOW|OUTSIDE_RANGE","ABOVE").option("--severity <s>","INFO|WARNING|CRITICAL","WARNING").option("--min-value <n>","Minimum value",d).option("--max-value <n>","Maximum value",d).option("--limit-value <n>","Limit value",d).option("-f, --format <format>","Output format").action(async t=>{try{let e={siteId:t.site,parameter:t.parameter,unit:t.unit,direction:(t.direction??"ABOVE").toUpperCase(),severity:(t.severity??"WARNING").toUpperCase()};t.minValue!==void 0&&(e.minValue=t.minValue),t.maxValue!==void 0&&(e.maxValue=t.maxValue),t.limitValue!==void 0&&(e.limitValue=t.limitValue);let i$1=await b$1(L,{input:e});i(`Threshold created for ${i$1.ecoCreateThreshold.parameter}`),h$1(t,i$1.ecoCreateThreshold);}catch(e){g(e);}}),o.command("set-active").description("Activate or deactivate a threshold").argument("<id>","Threshold ID").requiredOption("--active <bool>","true|false",t=>t==="true").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(D,{id:t,isActive:e.active});i(i$1.ecoSetThresholdActive.isActive?"Threshold activated":"Threshold disabled"),h$1(e,i$1.ecoSetThresholdActive);}catch(i){g(i);}});}function ut(c){let o=c.command("measurements").description("EcoImpactHub sensor measurements");o.command("list").description("List measurements").option("--site <id>","Filter by site ID").option("--sensor <id>","Filter by sensor ID").option("--parameter <p>","Filter by parameter").option("--breaches-only","Only threshold breaches").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 b$1(N,{siteId:t.site,sensorId:t.sensor,parameter:t.parameter,breachesOnly:t.breachesOnly?!0:void 0,pagination:l(t)});h$1(t,e.ecoListMeasurements.items,{headers:["ID","Parameter","Value","Unit","Source","Breach","Recorded"],rows:e.ecoListMeasurements.items.map(i=>[p$1(i.id,12),i.parameter,String(i.value),i.unit,i.source,i.isBreach?"yes":"no",o$1(i.recordedAt)])});}catch(e){g(e);}}),o.command("record").description("Record a measurement").requiredOption("--site <id>","Site ID").requiredOption("--parameter <p>","Measured parameter").requiredOption("--value <n>","Measured value",d).requiredOption("--unit <u>","Unit").requiredOption("--recorded-at <iso>","Recorded-at timestamp (ISO)").option("--sensor <id>","Sensor ID").option("--source <s>","SENSOR|MANUAL|IMPORT|SATELLITE|CALCULATED","SENSOR").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async t=>{try{let e={siteId:t.site,parameter:t.parameter,value:t.value,unit:t.unit,recordedAt:t.recordedAt,source:(t.source??"SENSOR").toUpperCase()};t.sensor&&(e.sensorId=t.sensor),t.notes&&(e.notes=t.notes);let i$1=await b$1($,{input:e});i(i$1.ecoRecordMeasurement.isBreach?"Measurement recorded (threshold breach!)":"Measurement recorded"),h$1(t,i$1.ecoRecordMeasurement);}catch(e){g(e);}});}function pt(c){let o$1=c.command("species").description("EcoImpactHub tracked species");o$1.command("list").description("List species").option("--taxon-group <g>","MAMMAL|BIRD|REPTILE|...").option("--conservation-status <s>","LEAST_CONCERN|ENDANGERED|...").option("--priority-only","Only priority species").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 b$1(H,{taxonGroup:t.taxonGroup?t.taxonGroup.toUpperCase():void 0,conservationStatus:t.conservationStatus?t.conservationStatus.toUpperCase():void 0,priorityOnly:t.priorityOnly?!0:void 0,pagination:l(t)});h$1(t,e.ecoListSpecies.items,{headers:["ID","Common Name","Scientific","Taxon","Status","Priority"],rows:e.ecoListSpecies.items.map(i=>[p$1(i.id,12),i.commonName,i.scientificName??"-",i.taxonGroup,i.conservationStatus,i.isPriority?"yes":"no"])});}catch(e){g(e);}}),o$1.command("get").description("Get a species by id").argument("<id>","Species ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(P,{id:t});if(!i.ecoSpecies)throw new o(`Species ${t} not found`);h$1(e,i.ecoSpecies);}catch(i){g(i);}}),o$1.command("create").description("Create a species record").requiredOption("--common-name <name>","Common name").option("--scientific-name <name>","Scientific name").option("--taxon-group <g>","Taxon group","OTHER").option("--conservation-status <s>","Conservation status","NOT_EVALUATED").option("--priority","Mark as priority species").option("--description <s>","Description").option("-f, --format <format>","Output format").action(async t=>{try{let e={commonName:t.commonName,taxonGroup:(t.taxonGroup??"OTHER").toUpperCase(),conservationStatus:(t.conservationStatus??"NOT_EVALUATED").toUpperCase(),isPriority:t.priority??!1};t.scientificName&&(e.scientificName=t.scientificName),t.description&&(e.description=t.description);let i$1=await b$1(U,{input:e});i(`Species created: ${i$1.ecoCreateSpecies.commonName}`),h$1(t,i$1.ecoCreateSpecies);}catch(e){g(e);}}),o$1.command("update").description("Update a species record").argument("<id>","Species ID").option("--common-name <name>","Common name").option("--scientific-name <name>","Scientific name").option("--taxon-group <g>","Taxon group").option("--conservation-status <s>","Conservation status").option("--priority <bool>","true|false",t=>t==="true").option("--description <s>","Description").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1={};if(e.commonName&&(i$1.commonName=e.commonName),e.scientificName&&(i$1.scientificName=e.scientificName),e.taxonGroup&&(i$1.taxonGroup=e.taxonGroup.toUpperCase()),e.conservationStatus&&(i$1.conservationStatus=e.conservationStatus.toUpperCase()),e.priority!==void 0&&(i$1.isPriority=e.priority),e.description!==void 0&&(i$1.description=e.description),!Object.keys(i$1).length)throw new o("No updates specified");let C=await b$1(k,{id:t,input:i$1});i("Species updated"),h$1(e,C.ecoUpdateSpecies);}catch(i){g(i);}}),o$1.command("archive").description("Archive a species record").argument("<id>","Species ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(V,{id:t});i(i$1.ecoArchiveSpecies?"Species archived":"Species not archived"),h$1(e,{archived:i$1.ecoArchiveSpecies});}catch(i){g(i);}});}function mt(c){let o=c.command("observations").description("EcoImpactHub species observations");o.command("list").description("List observations").option("--species <id>","Filter by species ID").option("--site <id>","Filter by site 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 b$1(M,{speciesId:t.species,siteId:t.site,pagination:l(t)});h$1(t,e.ecoListObservations.items,{headers:["ID","Species","Site","Method","Count","Observed"],rows:e.ecoListObservations.items.map(i=>[p$1(i.id,12),p$1(i.speciesId,12),i.siteId?p$1(i.siteId,12):"-",i.method,String(i.count),o$1(i.observedAt)])});}catch(e){g(e);}}),o.command("record").description("Record a species observation").requiredOption("--species <id>","Species ID").requiredOption("--observed-at <iso>","Observed-at timestamp (ISO)").option("--site <id>","Site ID").option("--method <m>","DIRECT_SIGHTING|CAMERA_TRAP|ACOUSTIC|...","DIRECT_SIGHTING").option("--count <n>","Individual count",p).option("--latitude <n>","Latitude",d).option("--longitude <n>","Longitude",d).option("--evidence-file <id>","Evidence file ID").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async t=>{try{let e={speciesId:t.species,observedAt:t.observedAt,method:(t.method??"DIRECT_SIGHTING").toUpperCase()};t.site&&(e.siteId=t.site),t.count!==void 0&&(e.count=t.count),t.latitude!==void 0&&(e.latitude=t.latitude),t.longitude!==void 0&&(e.longitude=t.longitude),t.evidenceFile&&(e.evidenceFileId=t.evidenceFile),t.notes&&(e.notes=t.notes);let i$1=await b$1(q,{input:e});i("Observation recorded"),h$1(t,i$1.ecoRecordObservation);}catch(e){g(e);}});}function gt(c){let o$1=c.command("habitat").description("EcoImpactHub habitat projects & restoration activities");o$1.command("list").description("List habitat projects").option("--status <s>","PLANNED|IN_PROGRESS|MONITORING|...").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(F,{status:t.status?t.status.toUpperCase():void 0});h$1(t,e.ecoListHabitatProjects,{headers:["ID","Name","Status","Target Ha","Budget","Currency"],rows:e.ecoListHabitatProjects.map(i=>[p$1(i.id,12),i.name,i.status,i.targetHectares!=null?String(i.targetHectares):"-",i.budgetAmount!=null?String(i.budgetAmount):"-",i.currency??"-"])});}catch(e){g(e);}}),o$1.command("get").description("Get a habitat project by id").argument("<id>","Project ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(G,{id:t});if(!i.ecoHabitatProject)throw new o(`Habitat project ${t} not found`);h$1(e,i.ecoHabitatProject);}catch(i){g(i);}}),o$1.command("create").description("Create a habitat project").requiredOption("--name <name>","Project name").option("--description <s>","Description").option("--site <id>","Site ID").option("--manager <id>","Manager user ID").option("--target-hectares <n>","Target hectares",d).option("--budget-amount <n>","Budget amount",d).option("--currency <c>","Currency code").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.description&&(e.description=t.description),t.site&&(e.siteId=t.site),t.manager&&(e.managerId=t.manager),t.targetHectares!==void 0&&(e.targetHectares=t.targetHectares),t.budgetAmount!==void 0&&(e.budgetAmount=t.budgetAmount),t.currency&&(e.currency=t.currency),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate);let i$1=await b$1(j,{input:e});i(`Habitat project created: ${i$1.ecoCreateHabitatProject.name}`),h$1(t,i$1.ecoCreateHabitatProject);}catch(e){g(e);}}),o$1.command("transition").description("Advance a habitat project through its lifecycle").argument("<id>","Project ID").requiredOption("--status <s>","PLANNED|IN_PROGRESS|MONITORING|COMPLETED|ON_HOLD|CANCELLED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(x,{id:t,status:e.status.toUpperCase()});i(`Project status set to ${i$1.ecoTransitionHabitatProject.status}`),h$1(e,i$1.ecoTransitionHabitatProject);}catch(i){g(i);}}),o$1.command("log-activity").description("Log a restoration activity against a project").requiredOption("--project <id>","Project ID").requiredOption("--summary <s>","Activity summary").requiredOption("--performed-at <iso>","Performed-at timestamp (ISO)").option("--type <t>","PLANTING|INVASIVE_REMOVAL|REWILDING|...","PLANTING").option("--details <s>","Details").option("--quantity <n>","Quantity",d).option("--unit <u>","Unit").option("-f, --format <format>","Output format").action(async t=>{try{let e={projectId:t.project,summary:t.summary,performedAt:t.performedAt,type:(t.type??"PLANTING").toUpperCase()};t.details&&(e.details=t.details),t.quantity!==void 0&&(e.quantity=t.quantity),t.unit&&(e.unit=t.unit);let i$1=await b$1(B,{input:e});i("Restoration activity logged"),h$1(t,i$1.ecoLogRestorationActivity);}catch(e){g(e);}});}function ft(c){let o=c.command("carbon").description("EcoImpactHub carbon ledger & emission factors");o.command("list").description("List carbon ledger entries").option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3").option("--site <id>","Filter by site ID").option("--status <s>","DRAFT|RECORDED|VERIFIED|ADJUSTED").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 b$1(Y,{scope:t.scope?t.scope.toUpperCase():void 0,siteId:t.site,status:t.status?t.status.toUpperCase():void 0,pagination:l(t)});h$1(t,e.ecoListCarbonEntries.items,{headers:["ID","Category","Scope","Activity","CO2e kg","Status"],rows:e.ecoListCarbonEntries.items.map(i=>[p$1(i.id,12),i.category,i.scope,`${i.activityValue} ${i.activityUnit}`,String(i.co2eKg),i.status])});}catch(e){g(e);}}),o.command("total").description("Total CO2e (kg) recorded in the workspace").option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3").option("--site <id>","Filter by site ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(K,{scope:t.scope?t.scope.toUpperCase():void 0,siteId:t.site});i(`Total CO2e: ${e.ecoCarbonTotalKg} kg`),h$1(t,{totalCo2eKg:e.ecoCarbonTotalKg});}catch(e){g(e);}}),o.command("record").description("Record a carbon ledger entry").requiredOption("--category <c>","Category").requiredOption("--activity-value <n>","Activity value",d).requiredOption("--activity-unit <u>","Activity unit").requiredOption("--period-start <iso>","Period start (ISO)").option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3","SCOPE_1").option("--factor <id>","Emission factor ID").option("--site <id>","Site ID").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async t=>{try{let e={category:t.category,activityValue:t.activityValue,activityUnit:t.activityUnit,periodStart:t.periodStart,scope:(t.scope??"SCOPE_1").toUpperCase()};t.factor&&(e.factorId=t.factor),t.site&&(e.siteId=t.site),t.notes&&(e.notes=t.notes);let i$1=await b$1(W,{input:e});i(`Carbon entry recorded: ${i$1.ecoRecordCarbonEntry.co2eKg} kg CO2e`),h$1(t,i$1.ecoRecordCarbonEntry);}catch(e){g(e);}}),o.command("verify").description("Verify a carbon ledger entry").argument("<id>","Carbon entry ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(J,{id:t});i(`Carbon entry ${i$1.ecoVerifyCarbonEntry.status}`),h$1(e,i$1.ecoVerifyCarbonEntry);}catch(i){g(i);}}),o.command("list-factors").description("List emission factors").option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3").option("--active-only","Only active factors").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(z,{scope:t.scope?t.scope.toUpperCase():void 0,activeOnly:t.activeOnly?!0:void 0});h$1(t,e.ecoListEmissionFactors,{headers:["ID","Name","Scope","Unit","kgCO2e","Year","Active"],rows:e.ecoListEmissionFactors.map(i=>[p$1(i.id,12),i.name,i.scope,i.activityUnit,String(i.factorKgco2e),i.validYear!=null?String(i.validYear):"-",i.isActive?"yes":"no"])});}catch(e){g(e);}}),o.command("create-factor").description("Create an emission factor").requiredOption("--name <name>","Factor name").requiredOption("--activity-unit <u>","Activity unit").requiredOption("--factor-kgco2e <n>","kg CO2e per unit",d).option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3","SCOPE_1").option("--source <s>","Source").option("--valid-year <n>","Valid year",p).option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,activityUnit:t.activityUnit,factorKgco2e:t.factorKgco2e,scope:(t.scope??"SCOPE_1").toUpperCase()};t.source&&(e.source=t.source),t.validYear!==void 0&&(e.validYear=t.validYear);let i$1=await b$1(Q,{input:e});i(`Emission factor created: ${i$1.ecoCreateEmissionFactor.name}`),h$1(t,i$1.ecoCreateEmissionFactor);}catch(e){g(e);}});}function lt(c){let o=c.command("targets").description("EcoImpactHub reduction targets");o.command("list").description("List reduction targets").option("--status <s>","PROPOSED|ACTIVE|ACHIEVED|MISSED|RETIRED").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(X,{status:t.status?t.status.toUpperCase():void 0});h$1(t,e.ecoListReductionTargets,{headers:["ID","Name","Metric","Baseline","Target","Status"],rows:e.ecoListReductionTargets.map(i=>[p$1(i.id,12),i.name,i.metric,`${i.baselineValue} (${i.baselineYear})`,`${i.targetValue} (${i.targetYear})`,i.status])});}catch(e){g(e);}}),o.command("create").description("Create a reduction target").requiredOption("--name <name>","Target name").requiredOption("--metric <m>","Metric").requiredOption("--unit <u>","Unit").requiredOption("--baseline-value <n>","Baseline value",d).requiredOption("--baseline-year <n>","Baseline year",p).requiredOption("--target-value <n>","Target value",d).requiredOption("--target-year <n>","Target year",p).option("--description <s>","Description").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,metric:t.metric,unit:t.unit,baselineValue:t.baselineValue,baselineYear:t.baselineYear,targetValue:t.targetValue,targetYear:t.targetYear};t.description&&(e.description=t.description);let i$1=await b$1(Z,{input:e});i(`Reduction target created: ${i$1.ecoCreateReductionTarget.name}`),h$1(t,i$1.ecoCreateReductionTarget);}catch(e){g(e);}}),o.command("set-status").description("Update a reduction target status").argument("<id>","Target ID").requiredOption("--status <s>","PROPOSED|ACTIVE|ACHIEVED|MISSED|RETIRED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(tt,{id:t,status:e.status.toUpperCase()});i(`Target status set to ${i$1.ecoSetReductionTargetStatus.status}`),h$1(e,i$1.ecoSetReductionTargetStatus);}catch(i){g(i);}});}function Et(c){let o$2=c.command("reports").description("EcoImpactHub sustainability reports");o$2.command("list").description("List reports").option("--status <s>","DRAFT|IN_REVIEW|PUBLISHED|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 b$1(it,{status:t.status?t.status.toUpperCase():void 0,pagination:l(t)});h$1(t,e.ecoListReports.items,{headers:["ID","Title","Framework","Status","Period End","Published"],rows:e.ecoListReports.items.map(i=>[p$1(i.id,12),i.title,i.framework,i.status,o$1(i.periodEnd),o$1(i.publishedAt)])});}catch(e){g(e);}}),o$2.command("get").description("Get a report by id").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await b$1(et,{id:t});if(!i.ecoReport)throw new o(`Report ${t} not found`);h$1(e,i.ecoReport);}catch(i){g(i);}}),o$2.command("create").description("Create a sustainability report").requiredOption("--title <t>","Report title").requiredOption("--period-start <iso>","Period start (ISO)").requiredOption("--period-end <iso>","Period end (ISO)").option("--framework <f>","GHG_PROTOCOL|GRI|SASB|TCFD|CDP|CUSTOM","GHG_PROTOCOL").option("--summary <s>","Summary").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,periodStart:t.periodStart,periodEnd:t.periodEnd,framework:(t.framework??"GHG_PROTOCOL").toUpperCase()};t.summary&&(e.summary=t.summary);let i$1=await b$1(ot,{input:e});i(`Report created: ${i$1.ecoCreateReport.title}`),h$1(t,i$1.ecoCreateReport);}catch(e){g(e);}}),o$2.command("add-line-item").description("Add a line item to a report").requiredOption("--report <id>","Report ID").requiredOption("--label <l>","Line item label").requiredOption("--value <n>","Value",d).requiredOption("--unit <u>","Unit").option("--category <c>","Category").option("--carbon-entry <id>","Linked carbon entry ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={reportId:t.report,label:t.label,value:t.value,unit:t.unit};t.category&&(e.category=t.category),t.carbonEntry&&(e.carbonEntryId=t.carbonEntry);let i$1=await b$1(rt,{input:e});i("Line item added"),h$1(t,i$1.ecoAddReportLineItem);}catch(e){g(e);}}),o$2.command("publish").description("Publish a report").argument("<id>","Report ID").option("--file <id>","Published artifact file ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i$1=await b$1(nt,{id:t,fileId:e.file});i(`Report published: ${i$1.ecoPublishReport.title}`),h$1(e,i$1.ecoPublishReport);}catch(i){g(i);}});}function St(c){c.command("health").description("EcoImpactHub service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d$1(at);i(t.ecoHealth),h$1(o,{health:t.ecoHealth});}catch(t){g(t);}});}var Ct={id:"ecoimpacthub",version:"1.0.0",displayName:"EcoImpactHub",dependsOn:["auth","workspaces"],register(c,o){a(o);let t=c.command("ecoimpacthub").description("EcoImpactHub environmental-impact & sustainability monitoring");st(t),ct(t),dt(t),ut(t),pt(t),mt(t),gt(t),ft(t),lt(t),Et(t),St(t);}},le=Ct;export{le as default};