@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.
- package/dist/modules/cosmicintersection/index.cjs +334 -0
- package/dist/modules/cosmicintersection/index.d.cts +7 -0
- package/dist/modules/cosmicintersection/index.d.ts +7 -0
- package/dist/modules/cosmicintersection/index.js +334 -0
- package/dist/modules/ecoimpacthub/index.cjs +305 -0
- package/dist/modules/ecoimpacthub/index.d.cts +7 -0
- package/dist/modules/ecoimpacthub/index.d.ts +7 -0
- package/dist/modules/ecoimpacthub/index.js +305 -0
- package/dist/modules/govcitizenhub/index.cjs +279 -0
- package/dist/modules/govcitizenhub/index.d.cts +7 -0
- package/dist/modules/govcitizenhub/index.d.ts +7 -0
- package/dist/modules/govcitizenhub/index.js +279 -0
- package/dist/modules/intelwatchtower/index.cjs +311 -0
- package/dist/modules/intelwatchtower/index.d.cts +7 -0
- package/dist/modules/intelwatchtower/index.d.ts +7 -0
- package/dist/modules/intelwatchtower/index.js +311 -0
- package/dist/modules/manufacturedops/index.cjs +292 -0
- package/dist/modules/manufacturedops/index.d.cts +7 -0
- package/dist/modules/manufacturedops/index.d.ts +7 -0
- package/dist/modules/manufacturedops/index.js +292 -0
- package/package.json +1 -1
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var l=class extends Error{exitCode;hint;constructor(r,t){super(r),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},I=class extends l{constructor(r,t){super(r,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},C=class extends Error{cause;constructor(r,t){super(r),this.name="CliInternalError",this.cause=t;}};var h=null;function A(o){h=o;}function y(){if(!h)throw new C("vibecontrols module helpers used before setHelpersContext was called");return h}function $t(){let o=y();if(!o.auth.isAuthenticated())throw new I(`Authentication required. Run \`${o.productName} auth login\`.`)}async function a(o,r){return $t(),y().gql.workspace.request(o,r)}async function b(o,r){return y().gql.workspaceAuthOnly.request(o,r)}function i(o){let r=o instanceof Error?o.message:String(o);throw new l(r)}function s(o,r,t){y().output.formatAndOutput(o,r,t);}function c(o){y().output.printSuccess(o);}function E(o){return y().output.formatDate(o)}function d(o,r){return y().output.truncate(o,r)}var R=`
|
|
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
|
+
`,w=`
|
|
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
|
+
`,v=`
|
|
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
|
+
`,k=`
|
|
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
|
+
`,_=`
|
|
34
|
+
mutation EcoArchiveSite($id: ID!) {
|
|
35
|
+
ecoArchiveSite(id: $id)
|
|
36
|
+
}
|
|
37
|
+
`,x=`
|
|
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
|
+
`,D=`
|
|
44
|
+
mutation EcoCreateSensor($input: EcoCreateSensorInput!) {
|
|
45
|
+
ecoCreateSensor(input: $input) {
|
|
46
|
+
id siteId name kind status unit hardwareId installedAt createdAt
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
`,L=`
|
|
50
|
+
mutation EcoSetSensorStatus($id: ID!, $status: EcoSensorStatus!) {
|
|
51
|
+
ecoSetSensorStatus(id: $id, status: $status) {
|
|
52
|
+
id siteId name kind status unit updatedAt
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
`,$=`
|
|
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
|
+
`,P=`
|
|
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
|
+
`,N=`
|
|
70
|
+
mutation EcoSetThresholdActive($id: ID!, $isActive: Boolean!) {
|
|
71
|
+
ecoSetThresholdActive(id: $id, isActive: $isActive) {
|
|
72
|
+
id siteId parameter severity isActive updatedAt
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
`,H=`
|
|
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
|
+
`,q=`
|
|
97
|
+
mutation EcoRecordMeasurement($input: EcoRecordMeasurementInput!) {
|
|
98
|
+
ecoRecordMeasurement(input: $input) {
|
|
99
|
+
id siteId sensorId parameter value unit source recordedAt isBreach notes createdAt
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
`,U=`
|
|
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
|
+
`,M=`
|
|
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
|
+
`,V=`
|
|
130
|
+
mutation EcoCreateSpecies($input: EcoCreateSpeciesInput!) {
|
|
131
|
+
ecoCreateSpecies(input: $input) {
|
|
132
|
+
id commonName scientificName taxonGroup conservationStatus isPriority
|
|
133
|
+
description createdAt
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
`,F=`
|
|
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
|
+
`,G=`
|
|
144
|
+
mutation EcoArchiveSpecies($id: ID!) {
|
|
145
|
+
ecoArchiveSpecies(id: $id)
|
|
146
|
+
}
|
|
147
|
+
`,j=`
|
|
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
|
+
`,W=`
|
|
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
|
+
`,B=`
|
|
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
|
+
`,Y=`
|
|
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
|
+
`,K=`
|
|
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
|
+
`,z=`
|
|
186
|
+
mutation EcoTransitionHabitatProject($id: ID!, $status: EcoHabitatProjectStatus!) {
|
|
187
|
+
ecoTransitionHabitatProject(id: $id, status: $status) {
|
|
188
|
+
id name status completedAt updatedAt
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
`,J=`
|
|
192
|
+
mutation EcoLogRestorationActivity($input: EcoLogRestorationActivityInput!) {
|
|
193
|
+
ecoLogRestorationActivity(input: $input) {
|
|
194
|
+
id projectId type summary details quantity unit performedAt createdAt
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
`,Q=`
|
|
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
|
+
`,X=`
|
|
218
|
+
query EcoCarbonTotalKg($scope: EcoEmissionScope, $siteId: ID) {
|
|
219
|
+
ecoCarbonTotalKg(scope: $scope, siteId: $siteId)
|
|
220
|
+
}
|
|
221
|
+
`,Z=`
|
|
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
|
+
`,tt=`
|
|
229
|
+
mutation EcoVerifyCarbonEntry($id: ID!) {
|
|
230
|
+
ecoVerifyCarbonEntry(id: $id) {
|
|
231
|
+
id category scope co2eKg status updatedAt
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
`,et=`
|
|
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
|
+
`,nt=`
|
|
241
|
+
mutation EcoCreateEmissionFactor($input: EcoCreateEmissionFactorInput!) {
|
|
242
|
+
ecoCreateEmissionFactor(input: $input) {
|
|
243
|
+
id name scope activityUnit factorKgco2e source validYear isActive createdAt
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
`,rt=`
|
|
247
|
+
query EcoListReductionTargets($status: EcoReductionTargetStatus) {
|
|
248
|
+
ecoListReductionTargets(status: $status) {
|
|
249
|
+
id name metric unit baselineValue baselineYear targetValue targetYear
|
|
250
|
+
status createdAt
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
`,ot=`
|
|
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
|
+
`,it=`
|
|
261
|
+
mutation EcoSetReductionTargetStatus($id: ID!, $status: EcoReductionTargetStatus!) {
|
|
262
|
+
ecoSetReductionTargetStatus(id: $id, status: $status) {
|
|
263
|
+
id name metric status updatedAt
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
`,st=`
|
|
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
|
+
`,at=`
|
|
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
|
+
`,ct=`
|
|
284
|
+
mutation EcoCreateReport($input: EcoCreateReportInput!) {
|
|
285
|
+
ecoCreateReport(input: $input) {
|
|
286
|
+
id title framework status periodStart periodEnd summary createdAt
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
`,ut=`
|
|
290
|
+
mutation EcoAddReportLineItem($input: EcoAddReportLineItemInput!) {
|
|
291
|
+
ecoAddReportLineItem(input: $input) {
|
|
292
|
+
id reportId label category value unit carbonEntryId createdAt
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
`,pt=`
|
|
296
|
+
mutation EcoPublishReport($id: ID!, $fileId: ID) {
|
|
297
|
+
ecoPublishReport(id: $id, fileId: $fileId) {
|
|
298
|
+
id title framework status publishedAt updatedAt
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
`,dt=`
|
|
302
|
+
query EcoHealth {
|
|
303
|
+
ecoHealth
|
|
304
|
+
}
|
|
305
|
+
`;function m(o){let r=Number.parseInt(o,10);if(Number.isNaN(r))throw new l(`Expected an integer but got "${o}"`);return r}function u(o){let r=Number.parseFloat(o);if(Number.isNaN(r))throw new l(`Expected a number but got "${o}"`);return r}function g(o){let r={};return o.limit!==void 0&&(r.limit=o.limit),o.offset!==void 0&&(r.offset=o.offset),Object.keys(r).length?r:void 0}function mt(o){let r=o.command("sites").description("EcoImpactHub monitored sites");r.command("list").description("List sites").option("--status <s>","ACTIVE|ARCHIVED|MONITORING_PAUSED").option("--type <t>","FACILITY|FOREST|WETLAND|...").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(w,{status:t.status?t.status.toUpperCase():void 0,type:t.type?t.type.toUpperCase():void 0,pagination:g(t)});s(t,e.ecoListSites.items,{headers:["ID","Name","Type","Status","Country","Hectares"],rows:e.ecoListSites.items.map(n=>[d(n.id,12),n.name,n.type,n.status,n.country??"-",n.areaHectares!=null?String(n.areaHectares):"-"])});}catch(e){i(e);}}),r.command("get").description("Get a site by id").argument("<id>","Site ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(R,{id:t});if(!n.ecoSite)throw new l(`Site ${t} not found`);s(e,n.ecoSite);}catch(n){i(n);}}),r.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",u).option("--longitude <n>","Longitude",u).option("--area-hectares <n>","Area (hectares)",u).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 n=await a(v,{input:e});c(`Site created: ${n.ecoCreateSite.name}`),s(t,n.ecoCreateSite);}catch(e){i(e);}}),r.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",u).option("--longitude <n>","Longitude",u).option("--area-hectares <n>","Area (hectares)",u).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.code&&(n.code=e.code),e.description!==void 0&&(n.description=e.description),e.type&&(n.type=e.type.toUpperCase()),e.status&&(n.status=e.status.toUpperCase()),e.country&&(n.country=e.country),e.region&&(n.region=e.region),e.latitude!==void 0&&(n.latitude=e.latitude),e.longitude!==void 0&&(n.longitude=e.longitude),e.areaHectares!==void 0&&(n.areaHectares=e.areaHectares),!Object.keys(n).length)throw new l("No updates specified");let S=await a(k,{id:t,input:n});c("Site updated"),s(e,S.ecoUpdateSite);}catch(n){i(n);}}),r.command("archive").description("Archive a site").argument("<id>","Site ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(_,{id:t});c(n.ecoArchiveSite?"Site archived":"Site not archived"),s(e,{archived:n.ecoArchiveSite});}catch(n){i(n);}});}function lt(o){let r=o.command("sensors").description("EcoImpactHub site sensors");r.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 a(x,{siteId:t.site,kind:t.kind?t.kind.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0});s(t,e.ecoListSensors,{headers:["ID","Name","Kind","Status","Unit","Last Reading"],rows:e.ecoListSensors.map(n=>[d(n.id,12),n.name,n.kind,n.status,n.unit??"-",E(n.lastReadingAt)])});}catch(e){i(e);}}),r.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 n=await a(D,{input:e});c(`Sensor created: ${n.ecoCreateSensor.name}`),s(t,n.ecoCreateSensor);}catch(e){i(e);}}),r.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 n=await a(L,{id:t,status:e.status.toUpperCase()});c(`Sensor status set to ${n.ecoSetSensorStatus.status}`),s(e,n.ecoSetSensorStatus);}catch(n){i(n);}});}function gt(o){let r=o.command("thresholds").description("EcoImpactHub alert thresholds");r.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 a($,{siteId:t.site});s(t,e.ecoListThresholds,{headers:["ID","Parameter","Unit","Direction","Severity","Active"],rows:e.ecoListThresholds.map(n=>[d(n.id,12),n.parameter,n.unit,n.direction,n.severity,n.isActive?"yes":"no"])});}catch(e){i(e);}}),r.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",u).option("--max-value <n>","Maximum value",u).option("--limit-value <n>","Limit value",u).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 n=await a(P,{input:e});c(`Threshold created for ${n.ecoCreateThreshold.parameter}`),s(t,n.ecoCreateThreshold);}catch(e){i(e);}}),r.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 n=await a(N,{id:t,isActive:e.active});c(n.ecoSetThresholdActive.isActive?"Threshold activated":"Threshold disabled"),s(e,n.ecoSetThresholdActive);}catch(n){i(n);}});}function ft(o){let r=o.command("measurements").description("EcoImpactHub sensor measurements");r.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",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(H,{siteId:t.site,sensorId:t.sensor,parameter:t.parameter,breachesOnly:t.breachesOnly?!0:void 0,pagination:g(t)});s(t,e.ecoListMeasurements.items,{headers:["ID","Parameter","Value","Unit","Source","Breach","Recorded"],rows:e.ecoListMeasurements.items.map(n=>[d(n.id,12),n.parameter,String(n.value),n.unit,n.source,n.isBreach?"yes":"no",E(n.recordedAt)])});}catch(e){i(e);}}),r.command("record").description("Record a measurement").requiredOption("--site <id>","Site ID").requiredOption("--parameter <p>","Measured parameter").requiredOption("--value <n>","Measured value",u).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 n=await a(q,{input:e});c(n.ecoRecordMeasurement.isBreach?"Measurement recorded (threshold breach!)":"Measurement recorded"),s(t,n.ecoRecordMeasurement);}catch(e){i(e);}});}function Et(o){let r=o.command("species").description("EcoImpactHub tracked species");r.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",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(M,{taxonGroup:t.taxonGroup?t.taxonGroup.toUpperCase():void 0,conservationStatus:t.conservationStatus?t.conservationStatus.toUpperCase():void 0,priorityOnly:t.priorityOnly?!0:void 0,pagination:g(t)});s(t,e.ecoListSpecies.items,{headers:["ID","Common Name","Scientific","Taxon","Status","Priority"],rows:e.ecoListSpecies.items.map(n=>[d(n.id,12),n.commonName,n.scientificName??"-",n.taxonGroup,n.conservationStatus,n.isPriority?"yes":"no"])});}catch(e){i(e);}}),r.command("get").description("Get a species by id").argument("<id>","Species ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(U,{id:t});if(!n.ecoSpecies)throw new l(`Species ${t} not found`);s(e,n.ecoSpecies);}catch(n){i(n);}}),r.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 n=await a(V,{input:e});c(`Species created: ${n.ecoCreateSpecies.commonName}`),s(t,n.ecoCreateSpecies);}catch(e){i(e);}}),r.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 n={};if(e.commonName&&(n.commonName=e.commonName),e.scientificName&&(n.scientificName=e.scientificName),e.taxonGroup&&(n.taxonGroup=e.taxonGroup.toUpperCase()),e.conservationStatus&&(n.conservationStatus=e.conservationStatus.toUpperCase()),e.priority!==void 0&&(n.isPriority=e.priority),e.description!==void 0&&(n.description=e.description),!Object.keys(n).length)throw new l("No updates specified");let S=await a(F,{id:t,input:n});c("Species updated"),s(e,S.ecoUpdateSpecies);}catch(n){i(n);}}),r.command("archive").description("Archive a species record").argument("<id>","Species ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(G,{id:t});c(n.ecoArchiveSpecies?"Species archived":"Species not archived"),s(e,{archived:n.ecoArchiveSpecies});}catch(n){i(n);}});}function Ct(o){let r=o.command("observations").description("EcoImpactHub species observations");r.command("list").description("List observations").option("--species <id>","Filter by species ID").option("--site <id>","Filter by site ID").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(j,{speciesId:t.species,siteId:t.site,pagination:g(t)});s(t,e.ecoListObservations.items,{headers:["ID","Species","Site","Method","Count","Observed"],rows:e.ecoListObservations.items.map(n=>[d(n.id,12),d(n.speciesId,12),n.siteId?d(n.siteId,12):"-",n.method,String(n.count),E(n.observedAt)])});}catch(e){i(e);}}),r.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",m).option("--latitude <n>","Latitude",u).option("--longitude <n>","Longitude",u).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 n=await a(W,{input:e});c("Observation recorded"),s(t,n.ecoRecordObservation);}catch(e){i(e);}});}function yt(o){let r=o.command("habitat").description("EcoImpactHub habitat projects & restoration activities");r.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 a(Y,{status:t.status?t.status.toUpperCase():void 0});s(t,e.ecoListHabitatProjects,{headers:["ID","Name","Status","Target Ha","Budget","Currency"],rows:e.ecoListHabitatProjects.map(n=>[d(n.id,12),n.name,n.status,n.targetHectares!=null?String(n.targetHectares):"-",n.budgetAmount!=null?String(n.budgetAmount):"-",n.currency??"-"])});}catch(e){i(e);}}),r.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 n=await a(B,{id:t});if(!n.ecoHabitatProject)throw new l(`Habitat project ${t} not found`);s(e,n.ecoHabitatProject);}catch(n){i(n);}}),r.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",u).option("--budget-amount <n>","Budget amount",u).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 n=await a(K,{input:e});c(`Habitat project created: ${n.ecoCreateHabitatProject.name}`),s(t,n.ecoCreateHabitatProject);}catch(e){i(e);}}),r.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 n=await a(z,{id:t,status:e.status.toUpperCase()});c(`Project status set to ${n.ecoTransitionHabitatProject.status}`),s(e,n.ecoTransitionHabitatProject);}catch(n){i(n);}}),r.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",u).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 n=await a(J,{input:e});c("Restoration activity logged"),s(t,n.ecoLogRestorationActivity);}catch(e){i(e);}});}function It(o){let r=o.command("carbon").description("EcoImpactHub carbon ledger & emission factors");r.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",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(Q,{scope:t.scope?t.scope.toUpperCase():void 0,siteId:t.site,status:t.status?t.status.toUpperCase():void 0,pagination:g(t)});s(t,e.ecoListCarbonEntries.items,{headers:["ID","Category","Scope","Activity","CO2e kg","Status"],rows:e.ecoListCarbonEntries.items.map(n=>[d(n.id,12),n.category,n.scope,`${n.activityValue} ${n.activityUnit}`,String(n.co2eKg),n.status])});}catch(e){i(e);}}),r.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 a(X,{scope:t.scope?t.scope.toUpperCase():void 0,siteId:t.site});c(`Total CO2e: ${e.ecoCarbonTotalKg} kg`),s(t,{totalCo2eKg:e.ecoCarbonTotalKg});}catch(e){i(e);}}),r.command("record").description("Record a carbon ledger entry").requiredOption("--category <c>","Category").requiredOption("--activity-value <n>","Activity value",u).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 n=await a(Z,{input:e});c(`Carbon entry recorded: ${n.ecoRecordCarbonEntry.co2eKg} kg CO2e`),s(t,n.ecoRecordCarbonEntry);}catch(e){i(e);}}),r.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 n=await a(tt,{id:t});c(`Carbon entry ${n.ecoVerifyCarbonEntry.status}`),s(e,n.ecoVerifyCarbonEntry);}catch(n){i(n);}}),r.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 a(et,{scope:t.scope?t.scope.toUpperCase():void 0,activeOnly:t.activeOnly?!0:void 0});s(t,e.ecoListEmissionFactors,{headers:["ID","Name","Scope","Unit","kgCO2e","Year","Active"],rows:e.ecoListEmissionFactors.map(n=>[d(n.id,12),n.name,n.scope,n.activityUnit,String(n.factorKgco2e),n.validYear!=null?String(n.validYear):"-",n.isActive?"yes":"no"])});}catch(e){i(e);}}),r.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",u).option("--scope <s>","SCOPE_1|SCOPE_2|SCOPE_3","SCOPE_1").option("--source <s>","Source").option("--valid-year <n>","Valid year",m).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 n=await a(nt,{input:e});c(`Emission factor created: ${n.ecoCreateEmissionFactor.name}`),s(t,n.ecoCreateEmissionFactor);}catch(e){i(e);}});}function St(o){let r=o.command("targets").description("EcoImpactHub reduction targets");r.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 a(rt,{status:t.status?t.status.toUpperCase():void 0});s(t,e.ecoListReductionTargets,{headers:["ID","Name","Metric","Baseline","Target","Status"],rows:e.ecoListReductionTargets.map(n=>[d(n.id,12),n.name,n.metric,`${n.baselineValue} (${n.baselineYear})`,`${n.targetValue} (${n.targetYear})`,n.status])});}catch(e){i(e);}}),r.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",u).requiredOption("--baseline-year <n>","Baseline year",m).requiredOption("--target-value <n>","Target value",u).requiredOption("--target-year <n>","Target year",m).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 n=await a(ot,{input:e});c(`Reduction target created: ${n.ecoCreateReductionTarget.name}`),s(t,n.ecoCreateReductionTarget);}catch(e){i(e);}}),r.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 n=await a(it,{id:t,status:e.status.toUpperCase()});c(`Target status set to ${n.ecoSetReductionTargetStatus.status}`),s(e,n.ecoSetReductionTargetStatus);}catch(n){i(n);}});}function ht(o){let r=o.command("reports").description("EcoImpactHub sustainability reports");r.command("list").description("List reports").option("--status <s>","DRAFT|IN_REVIEW|PUBLISHED|ARCHIVED").option("--limit <n>","Page size",m,50).option("--offset <n>","Offset",m,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await a(at,{status:t.status?t.status.toUpperCase():void 0,pagination:g(t)});s(t,e.ecoListReports.items,{headers:["ID","Title","Framework","Status","Period End","Published"],rows:e.ecoListReports.items.map(n=>[d(n.id,12),n.title,n.framework,n.status,E(n.periodEnd),E(n.publishedAt)])});}catch(e){i(e);}}),r.command("get").description("Get a report by id").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await a(st,{id:t});if(!n.ecoReport)throw new l(`Report ${t} not found`);s(e,n.ecoReport);}catch(n){i(n);}}),r.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 n=await a(ct,{input:e});c(`Report created: ${n.ecoCreateReport.title}`),s(t,n.ecoCreateReport);}catch(e){i(e);}}),r.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",u).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 n=await a(ut,{input:e});c("Line item added"),s(t,n.ecoAddReportLineItem);}catch(e){i(e);}}),r.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 n=await a(pt,{id:t,fileId:e.file});c(`Report published: ${n.ecoPublishReport.title}`),s(e,n.ecoPublishReport);}catch(n){i(n);}});}function bt(o){o.command("health").description("EcoImpactHub service health check (public)").option("-f, --format <format>","Output format").action(async r=>{try{let t=await b(dt);c(t.ecoHealth),s(r,{health:t.ecoHealth});}catch(t){i(t);}});}var Pt={id:"ecoimpacthub",version:"1.0.0",displayName:"EcoImpactHub",dependsOn:["auth","workspaces"],register(o,r){A(r);let t=o.command("ecoimpacthub").description("EcoImpactHub environmental-impact & sustainability monitoring");mt(t),lt(t),gt(t),ft(t),Et(t),Ct(t),yt(t),It(t),St(t),ht(t),bt(t);}},Nn=Pt;module.exports=Nn;
|