@burdenoff/cli-sdk 2026.627.1 → 2026.627.2
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/assethandler/index.cjs +255 -0
- package/dist/modules/assethandler/index.d.cts +7 -0
- package/dist/modules/assethandler/index.d.ts +7 -0
- package/dist/modules/assethandler/index.js +255 -0
- package/dist/modules/eventfullymanaged/index.cjs +247 -0
- package/dist/modules/eventfullymanaged/index.d.cts +7 -0
- package/dist/modules/eventfullymanaged/index.d.ts +7 -0
- package/dist/modules/eventfullymanaged/index.js +247 -0
- package/dist/modules/headshotmarketing/index.cjs +1083 -0
- package/dist/modules/headshotmarketing/index.d.cts +7 -0
- package/dist/modules/headshotmarketing/index.d.ts +7 -0
- package/dist/modules/headshotmarketing/index.js +1083 -0
- package/dist/modules/movethewheels/index.cjs +565 -0
- package/dist/modules/movethewheels/index.d.cts +7 -0
- package/dist/modules/movethewheels/index.d.ts +7 -0
- package/dist/modules/movethewheels/index.js +565 -0
- package/dist/modules/planmagnet/index.cjs +795 -0
- package/dist/modules/planmagnet/index.d.cts +7 -0
- package/dist/modules/planmagnet/index.d.ts +7 -0
- package/dist/modules/planmagnet/index.js +795 -0
- package/dist/modules/proserviceworld/index.cjs +193 -0
- package/dist/modules/proserviceworld/index.d.cts +7 -0
- package/dist/modules/proserviceworld/index.d.ts +7 -0
- package/dist/modules/proserviceworld/index.js +193 -0
- package/dist/modules/timecampus/index.cjs +444 -0
- package/dist/modules/timecampus/index.d.cts +7 -0
- package/dist/modules/timecampus/index.d.ts +7 -0
- package/dist/modules/timecampus/index.js +444 -0
- package/package.json +1 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var g=class extends Error{exitCode;hint;constructor(i,t){super(i),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},w=class extends g{constructor(i,t){super(i,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(i,t){super(i),this.name="CliInternalError",this.cause=t;}};var T=null;function E(r){T=r;}function I(){if(!T)throw new f("vibecontrols module helpers used before setHelpersContext was called");return T}function St(){let r=I();if(!r.auth.isAuthenticated())throw new w(`Authentication required. Run \`${r.productName} auth login\`.`)}async function o(r,i){return St(),I().gql.workspace.request(r,i)}function s(r){let i=r instanceof Error?r.message:String(r);throw new g(i)}function a(r,i,t){I().output.formatAndOutput(r,i,t);}function m(r){I().output.printSuccess(r);}function v(r){return I().output.formatDate(r)}function c(r,i){return I().output.truncate(r,i)}var S=`
|
|
2
|
+
query AssetHandlerGetAsset($id: ID!) {
|
|
3
|
+
asset(id: $id) {
|
|
4
|
+
id assetNumber name description category status condition
|
|
5
|
+
serialNumber locationName assignedTo tags customAttributes
|
|
6
|
+
createdAt updatedAt workspaceId
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
`,b=`
|
|
10
|
+
query AssetHandlerListAssets($pagination: AssetHandlerPaginationInput) {
|
|
11
|
+
assets(pagination: $pagination) {
|
|
12
|
+
id assetNumber name category status condition serialNumber
|
|
13
|
+
locationName assignedTo tags createdAt updatedAt workspaceId
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`,O=`
|
|
17
|
+
mutation AssetHandlerCreateAsset($input: CreateAssetInput!) {
|
|
18
|
+
createAsset(input: $input) {
|
|
19
|
+
id assetNumber name description category status condition
|
|
20
|
+
serialNumber locationName assignedTo tags customAttributes
|
|
21
|
+
createdAt updatedAt workspaceId
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
`,x=`
|
|
25
|
+
query AssetHandlerListSoftwareAssets($pagination: AssetHandlerPaginationInput) {
|
|
26
|
+
softwareAssets(pagination: $pagination) {
|
|
27
|
+
id name vendor version licenseType seatsPurchased seatsUsed
|
|
28
|
+
compliancePercent createdAt updatedAt workspaceId
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
`,R=`
|
|
32
|
+
mutation AssetHandlerUpsertSoftwareAsset($input: UpsertSoftwareAssetInput!) {
|
|
33
|
+
upsertSoftwareAsset(input: $input) {
|
|
34
|
+
id name vendor version licenseType seatsPurchased seatsUsed
|
|
35
|
+
compliancePercent createdAt updatedAt workspaceId
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
`,D=`
|
|
39
|
+
query AssetHandlerListDigitalTwins($pagination: AssetHandlerPaginationInput) {
|
|
40
|
+
digitalTwins(pagination: $pagination) {
|
|
41
|
+
id assetId fidelityLevel modelRef geometryRef properties
|
|
42
|
+
createdAt updatedAt workspaceId
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
`,P=`
|
|
46
|
+
mutation AssetHandlerCreateDigitalTwin($input: CreateDigitalTwinInput!) {
|
|
47
|
+
createDigitalTwin(input: $input) {
|
|
48
|
+
id assetId fidelityLevel modelRef geometryRef properties
|
|
49
|
+
createdAt updatedAt workspaceId
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
`,N=`
|
|
53
|
+
query AssetHandlerListConfigurationItems($pagination: AssetHandlerPaginationInput) {
|
|
54
|
+
configurationItems(pagination: $pagination) {
|
|
55
|
+
id ciNumber name ciType status environment owner attributes
|
|
56
|
+
createdAt updatedAt workspaceId
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`,L=`
|
|
60
|
+
mutation AssetHandlerUpsertConfigurationItem($input: UpsertConfigurationItemInput!) {
|
|
61
|
+
upsertConfigurationItem(input: $input) {
|
|
62
|
+
id ciNumber name ciType status environment owner attributes
|
|
63
|
+
createdAt updatedAt workspaceId
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
`,q=`
|
|
67
|
+
query AssetHandlerListIotDevices($pagination: AssetHandlerPaginationInput) {
|
|
68
|
+
iotDevices(pagination: $pagination) {
|
|
69
|
+
id deviceId name type protocol status assetId metadata
|
|
70
|
+
createdAt updatedAt workspaceId
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`,_=`
|
|
74
|
+
mutation AssetHandlerRegisterIotDevice($input: RegisterIoTDeviceInput!) {
|
|
75
|
+
registerIoTDevice(input: $input) {
|
|
76
|
+
id deviceId name type protocol status assetId metadata
|
|
77
|
+
createdAt updatedAt workspaceId
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
`,$=`
|
|
81
|
+
query AssetHandlerListIncidents($pagination: AssetHandlerPaginationInput) {
|
|
82
|
+
incidents(pagination: $pagination) {
|
|
83
|
+
id title description category priority status assignedTo
|
|
84
|
+
reportedBy reportedAt resolvedAt slaBreached workspaceId
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
`,H=`
|
|
88
|
+
mutation AssetHandlerCreateIncident($input: CreateIncidentInput!) {
|
|
89
|
+
createIncident(input: $input) {
|
|
90
|
+
id title description category priority status assignedTo
|
|
91
|
+
reportedBy reportedAt resolvedAt slaBreached workspaceId
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
`,M=`
|
|
95
|
+
query AssetHandlerListProblems($pagination: AssetHandlerPaginationInput) {
|
|
96
|
+
problems(pagination: $pagination) {
|
|
97
|
+
id title description category priority status rootCause workaround
|
|
98
|
+
relatedIncidents assignedTo createdAt updatedAt workspaceId
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
`,W=`
|
|
102
|
+
query AssetHandlerListChangeRequests($pagination: AssetHandlerPaginationInput) {
|
|
103
|
+
changeRequests(pagination: $pagination) {
|
|
104
|
+
id title description type risk status requestedBy assignedTo
|
|
105
|
+
affectedAssets approvals scheduledStart scheduledEnd
|
|
106
|
+
createdAt updatedAt workspaceId
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
`,U=`
|
|
110
|
+
query AssetHandlerListWorkOrders($pagination: AssetHandlerPaginationInput) {
|
|
111
|
+
workOrders(pagination: $pagination) {
|
|
112
|
+
id title description type priority status assetId assignedTo
|
|
113
|
+
createdAt updatedAt workspaceId
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
`,G=`
|
|
117
|
+
mutation AssetHandlerCreateWorkOrder($input: CreateWorkOrderInput!) {
|
|
118
|
+
createWorkOrder(input: $input) {
|
|
119
|
+
id title description type priority status assetId assignedTo
|
|
120
|
+
createdAt updatedAt workspaceId
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
`,F=`
|
|
124
|
+
query AssetHandlerListMaintenanceRecords($pagination: AssetHandlerPaginationInput) {
|
|
125
|
+
maintenanceRecords(pagination: $pagination) {
|
|
126
|
+
id assetId title description type status priority scheduledAt
|
|
127
|
+
completedAt estimatedCost actualCost checklist createdAt updatedAt workspaceId
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
`,V=`
|
|
131
|
+
query AssetHandlerListKnowledgeArticles($pagination: AssetHandlerPaginationInput) {
|
|
132
|
+
knowledgeArticles(pagination: $pagination) {
|
|
133
|
+
id title slug summary status tags views relatedAssetId
|
|
134
|
+
relatedIncidentId createdBy updatedBy publishedAt createdAt updatedAt workspaceId
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
`,B=`
|
|
138
|
+
mutation AssetHandlerCreateKnowledgeArticle($input: CreateKnowledgeArticleInput!) {
|
|
139
|
+
createKnowledgeArticle(input: $input) {
|
|
140
|
+
id title slug summary content status tags views relatedAssetId
|
|
141
|
+
relatedIncidentId createdBy updatedBy publishedAt createdAt updatedAt workspaceId
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
`,j=`
|
|
145
|
+
query AssetHandlerListTransactions($pagination: AssetHandlerPaginationInput) {
|
|
146
|
+
transactions(pagination: $pagination) {
|
|
147
|
+
id type category description amount currency vendor department
|
|
148
|
+
status occurredAt workspaceId
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
`,J=`
|
|
152
|
+
mutation AssetHandlerCreateTransaction($input: CreateTransactionInput!) {
|
|
153
|
+
createTransaction(input: $input) {
|
|
154
|
+
id type category description amount currency vendor department
|
|
155
|
+
status occurredAt workspaceId
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
`,K=`
|
|
159
|
+
query AssetHandlerListInvoices($pagination: AssetHandlerPaginationInput) {
|
|
160
|
+
invoices(pagination: $pagination) {
|
|
161
|
+
id number vendor amount currency status issueDate dueDate
|
|
162
|
+
relatedPO items createdAt updatedAt workspaceId
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
`,z=`
|
|
166
|
+
query AssetHandlerListBudgets($pagination: AssetHandlerPaginationInput) {
|
|
167
|
+
budgets(pagination: $pagination) {
|
|
168
|
+
id name category department period allocated spent remaining
|
|
169
|
+
status createdAt updatedAt workspaceId
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
`,Y=`
|
|
173
|
+
query AssetHandlerListComplianceFrameworks($pagination: AssetHandlerPaginationInput) {
|
|
174
|
+
complianceFrameworks(pagination: $pagination) {
|
|
175
|
+
id name version status score totalControls passedControls
|
|
176
|
+
failedControls lastAssessment nextAssessment createdAt updatedAt workspaceId
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`,Q=`
|
|
180
|
+
query AssetHandlerListSecurityPolicies($pagination: AssetHandlerPaginationInput) {
|
|
181
|
+
assetSecurityPolicies(pagination: $pagination) {
|
|
182
|
+
id name version category status owner description applicableTo
|
|
183
|
+
effectiveDate reviewDate createdAt updatedAt workspaceId
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
`,X=`
|
|
187
|
+
query AssetHandlerListSecurityEvents($pagination: AssetHandlerPaginationInput) {
|
|
188
|
+
securityEvents(pagination: $pagination) {
|
|
189
|
+
id title description eventType severity source resolved
|
|
190
|
+
ipAddress userId occurredAt createdAt workspaceId
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
`,Z=`
|
|
194
|
+
query AssetHandlerListEsgMetrics($pagination: AssetHandlerPaginationInput) {
|
|
195
|
+
esgMetrics(pagination: $pagination) {
|
|
196
|
+
id category metricKey metricName value unit target trend
|
|
197
|
+
periodStart periodEnd updatedBy createdAt updatedAt workspaceId
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
`,tt=`
|
|
201
|
+
mutation AssetHandlerUpsertEsgMetric($input: UpsertEsgMetricInput!) {
|
|
202
|
+
upsertEsgMetric(input: $input) {
|
|
203
|
+
id category metricKey metricName value unit target trend
|
|
204
|
+
periodStart periodEnd updatedBy createdAt updatedAt workspaceId
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
`,et=`
|
|
208
|
+
query AssetHandlerListAiPredictions($pagination: AssetHandlerPaginationInput) {
|
|
209
|
+
aiPredictions(pagination: $pagination) {
|
|
210
|
+
id assetId predictionType modelVersion score confidence
|
|
211
|
+
recommendation status features generatedAt createdAt workspaceId
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
`,nt=`
|
|
215
|
+
mutation AssetHandlerRequestAiPrediction($input: RequestAIPredictionInput!) {
|
|
216
|
+
requestAIPrediction(input: $input) {
|
|
217
|
+
id assetId predictionType modelVersion score confidence
|
|
218
|
+
recommendation status features generatedAt createdAt workspaceId
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
`,rt=`
|
|
222
|
+
query AssetHandlerListProvenanceRecords($pagination: AssetHandlerPaginationInput) {
|
|
223
|
+
provenanceRecords(pagination: $pagination) {
|
|
224
|
+
id assetId chainNetwork txHash blockNumber hash attestedBy
|
|
225
|
+
attestedAt metadata createdAt workspaceId
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
`,it=`
|
|
229
|
+
mutation AssetHandlerRecordProvenance($input: RecordProvenanceInput!) {
|
|
230
|
+
recordProvenance(input: $input) {
|
|
231
|
+
id assetId chainNetwork txHash blockNumber hash attestedBy
|
|
232
|
+
attestedAt metadata createdAt workspaceId
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
`,ot=`
|
|
236
|
+
query AssetHandlerListDiscoveryJobs($pagination: AssetHandlerPaginationInput) {
|
|
237
|
+
discoveryJobs(pagination: $pagination) {
|
|
238
|
+
id name source status assetsDiscovered createdBy errorSummary
|
|
239
|
+
startedAt completedAt createdAt updatedAt workspaceId
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
`,st=`
|
|
243
|
+
mutation AssetHandlerStartDiscoveryJob($input: StartDiscoveryJobInput!) {
|
|
244
|
+
startDiscoveryJob(input: $input) {
|
|
245
|
+
id name source status assetsDiscovered createdBy errorSummary
|
|
246
|
+
startedAt completedAt createdAt updatedAt workspaceId
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
`,at=`
|
|
250
|
+
query AssetHandlerDashboardOverview {
|
|
251
|
+
dashboardOverview {
|
|
252
|
+
totalAssets totalTransactions openIncidents openWorkOrders
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
`;function l(r,i){try{return JSON.parse(i)}catch{throw new g(`--${r} must be valid JSON`)}}function d(r){let i=Number.parseInt(r,10);if(Number.isNaN(i))throw new g(`Expected an integer but got "${r}"`);return i}function A(r){let i=Number.parseFloat(r);if(Number.isNaN(i))throw new g(`Expected a number but got "${r}"`);return i}function C(r){return r.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function u(r,i){let t={};return r!==void 0&&(t.limit=r),i&&(t.cursor=i),Object.keys(t).length?t:void 0}function ct(r){let i=r.command("assets").description("Assethandler assets");i.command("list").description("List assets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(b,{pagination:u(t.limit,t.cursor)});a(t,e.assets,{headers:["ID","Asset #","Name","Category","Status","Condition"],rows:e.assets.map(n=>[c(n.id,12),n.assetNumber,n.name,n.category,n.status,n.condition])});}catch(e){s(e);}}),i.command("get").description("Get an asset by id").argument("<id>","Asset ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(S,{id:t});if(!n.asset)throw new g(`Asset ${t} not found`);a(e,n.asset);}catch(n){s(n);}}),i.command("create").description("Create an asset").requiredOption("--asset-number <s>","Asset number").requiredOption("--name <name>","Asset name").requiredOption("--category <c>","Category").option("--description <s>","Description").option("--status <s>","ACTIVE|INACTIVE|MAINTENANCE|RETIRED|DISPOSED").option("--condition <c>","EXCELLENT|GOOD|FAIR|POOR|DAMAGED").option("--serial-number <s>","Serial number").option("--location-name <s>","Location name").option("--assigned-to <s>","Assignee").option("--tags <csv>","Comma-separated tags").option("--custom-attributes <json>","Custom attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetNumber:t.assetNumber,name:t.name,category:t.category};t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),t.condition&&(e.condition=t.condition.toUpperCase()),t.serialNumber&&(e.serialNumber=t.serialNumber),t.locationName&&(e.locationName=t.locationName),t.assignedTo&&(e.assignedTo=t.assignedTo),t.tags&&(e.tags=C(t.tags)),t.customAttributes&&(e.customAttributes=l("custom-attributes",t.customAttributes));let n=await o(O,{input:e});m(`Asset created: ${n.createAsset.assetNumber}`),a(t,n.createAsset);}catch(e){s(e);}});}function dt(r){bt(r),Ot(r),xt(r),Rt(r);}function bt(r){let i=r.command("software-assets").description("Assethandler software assets & licenses");i.command("list").description("List software assets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(x,{pagination:u(t.limit,t.cursor)});a(t,e.softwareAssets,{headers:["ID","Name","Vendor","Version","License","Seats","Compliance %"],rows:e.softwareAssets.map(n=>[c(n.id,12),n.name,n.vendor,n.version,n.licenseType,`${n.seatsUsed??0}/${n.seatsPurchased??0}`,String(n.compliancePercent)])});}catch(e){s(e);}}),i.command("upsert").description("Create or update a software asset").requiredOption("--name <name>","Name").requiredOption("--vendor <v>","Vendor").requiredOption("--version <v>","Version").requiredOption("--license-type <t>","License type").option("--id <id>","Existing software asset ID (update)").option("--seats-purchased <n>","Seats purchased",d).option("--seats-used <n>","Seats used",d).option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,vendor:t.vendor,version:t.version,licenseType:t.licenseType};t.id&&(e.id=t.id),t.seatsPurchased!==void 0&&(e.seatsPurchased=t.seatsPurchased),t.seatsUsed!==void 0&&(e.seatsUsed=t.seatsUsed);let n=await o(R,{input:e});m(`Software asset saved: ${n.upsertSoftwareAsset.name}`),a(t,n.upsertSoftwareAsset);}catch(e){s(e);}});}function Ot(r){let i=r.command("digital-twins").description("Assethandler digital twins");i.command("list").description("List digital twins").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(D,{pagination:u(t.limit,t.cursor)});a(t,e.digitalTwins,{headers:["ID","Asset","Fidelity","Model Ref"],rows:e.digitalTwins.map(n=>[c(n.id,12),c(n.assetId,12),n.fidelityLevel,n.modelRef])});}catch(e){s(e);}}),i.command("create").description("Create a digital twin for an asset").requiredOption("--asset <id>","Asset ID").requiredOption("--fidelity-level <l>","Fidelity level").requiredOption("--model-ref <ref>","Model reference").option("--geometry-ref <ref>","Geometry reference").option("--properties <json>","Properties JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,fidelityLevel:t.fidelityLevel,modelRef:t.modelRef};t.geometryRef&&(e.geometryRef=t.geometryRef),t.properties&&(e.properties=l("properties",t.properties));let n=await o(P,{input:e});m(`Digital twin created for asset ${n.createDigitalTwin.assetId}`),a(t,n.createDigitalTwin);}catch(e){s(e);}});}function xt(r){let i=r.command("config-items").description("Assethandler configuration items (CMDB)");i.command("list").description("List configuration items").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(N,{pagination:u(t.limit,t.cursor)});a(t,e.configurationItems,{headers:["ID","CI #","Name","Type","Status","Environment"],rows:e.configurationItems.map(n=>[c(n.id,12),n.ciNumber,n.name,n.ciType,n.status,n.environment??"-"])});}catch(e){s(e);}}),i.command("upsert").description("Create or update a configuration item").requiredOption("--ci-number <s>","CI number").requiredOption("--name <name>","Name").requiredOption("--ci-type <t>","CI type").requiredOption("--status <s>","Status").option("--id <id>","Existing CI ID (update)").option("--environment <e>","Environment").option("--owner <o>","Owner").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={ciNumber:t.ciNumber,name:t.name,ciType:t.ciType,status:t.status};t.id&&(e.id=t.id),t.environment&&(e.environment=t.environment),t.owner&&(e.owner=t.owner),t.attributes&&(e.attributes=l("attributes",t.attributes));let n=await o(L,{input:e});m(`Configuration item saved: ${n.upsertConfigurationItem.ciNumber}`),a(t,n.upsertConfigurationItem);}catch(e){s(e);}});}function Rt(r){let i=r.command("iot-devices").description("Assethandler IoT devices");i.command("list").description("List IoT devices").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(q,{pagination:u(t.limit,t.cursor)});a(t,e.iotDevices,{headers:["ID","Device","Name","Type","Protocol","Status"],rows:e.iotDevices.map(n=>[c(n.id,12),c(n.deviceId,16),n.name,n.type,n.protocol,n.status])});}catch(e){s(e);}}),i.command("register").description("Register an IoT device").requiredOption("--device-id <s>","Device ID").requiredOption("--name <name>","Name").requiredOption("--type <t>","Type").requiredOption("--protocol <p>","Protocol").option("--status <s>","Status").option("--asset <id>","Linked asset ID").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={deviceId:t.deviceId,name:t.name,type:t.type,protocol:t.protocol};t.status&&(e.status=t.status),t.asset&&(e.assetId=t.asset),t.metadata&&(e.metadata=l("metadata",t.metadata));let n=await o(_,{input:e});m(`IoT device registered: ${n.registerIoTDevice.deviceId}`),a(t,n.registerIoTDevice);}catch(e){s(e);}});}function ut(r){Dt(r),Pt(r),Nt(r),Lt(r),qt(r),_t(r);}function Dt(r){let i=r.command("incidents").description("Assethandler ITSM incidents");i.command("list").description("List incidents").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o($,{pagination:u(t.limit,t.cursor)});a(t,e.incidents,{headers:["ID","Title","Category","Priority","Status","SLA"],rows:e.incidents.map(n=>[c(n.id,12),n.title,n.category,n.priority,n.status,n.slaBreached?"breached":"ok"])});}catch(e){s(e);}}),i.command("create").description("Create an incident").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").requiredOption("--category <c>","Category").option("--priority <p>","LOW|MEDIUM|HIGH|CRITICAL").option("--asset <id>","Related asset ID").option("--assigned-to <s>","Assignee").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:t.category};t.priority&&(e.priority=t.priority.toUpperCase()),t.asset&&(e.assetId=t.asset),t.assignedTo&&(e.assignedTo=t.assignedTo);let n=await o(H,{input:e});m(`Incident created: ${n.createIncident.title}`),a(t,n.createIncident);}catch(e){s(e);}});}function Pt(r){r.command("problems").description("Assethandler ITSM problems").command("list").description("List problems").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(M,{pagination:u(t.limit,t.cursor)});a(t,e.problems,{headers:["ID","Title","Category","Priority","Status"],rows:e.problems.map(n=>[c(n.id,12),n.title,n.category,n.priority,n.status])});}catch(e){s(e);}});}function Nt(r){r.command("change-requests").description("Assethandler change requests").command("list").description("List change requests").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(W,{pagination:u(t.limit,t.cursor)});a(t,e.changeRequests,{headers:["ID","Title","Type","Risk","Status","Requested By"],rows:e.changeRequests.map(n=>[c(n.id,12),n.title,n.type,n.risk,n.status,c(n.requestedBy,16)])});}catch(e){s(e);}});}function Lt(r){let i=r.command("work-orders").description("Assethandler work orders");i.command("list").description("List work orders").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(U,{pagination:u(t.limit,t.cursor)});a(t,e.workOrders,{headers:["ID","Title","Type","Priority","Status","Asset"],rows:e.workOrders.map(n=>[c(n.id,12),n.title,n.type,n.priority,n.status,n.assetId?c(n.assetId,12):"-"])});}catch(e){s(e);}}),i.command("create").description("Create a work order").requiredOption("--title <t>","Title").requiredOption("--type <t>","PREVENTIVE|CORRECTIVE|PREDICTIVE|EMERGENCY").option("--description <s>","Description").option("--priority <p>","LOW|MEDIUM|HIGH|CRITICAL").option("--status <s>","DRAFT|SCHEDULED|APPROVED|IN_PROGRESS|COMPLETED|CANCELLED").option("--asset <id>","Related asset ID").option("--assigned-to <s>","Assignee").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,type:t.type.toUpperCase()};t.description&&(e.description=t.description),t.priority&&(e.priority=t.priority.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.asset&&(e.assetId=t.asset),t.assignedTo&&(e.assignedTo=t.assignedTo);let n=await o(G,{input:e});m(`Work order created: ${n.createWorkOrder.title}`),a(t,n.createWorkOrder);}catch(e){s(e);}});}function qt(r){r.command("maintenance").description("Assethandler maintenance records").command("list").description("List maintenance records").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(F,{pagination:u(t.limit,t.cursor)});a(t,e.maintenanceRecords,{headers:["ID","Asset","Title","Type","Priority","Status"],rows:e.maintenanceRecords.map(n=>[c(n.id,12),c(n.assetId,12),n.title,n.type,n.priority,n.status])});}catch(e){s(e);}});}function _t(r){let i=r.command("knowledge-articles").description("Assethandler knowledge base articles");i.command("list").description("List knowledge articles").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(V,{pagination:u(t.limit,t.cursor)});a(t,e.knowledgeArticles,{headers:["ID","Title","Slug","Status","Views"],rows:e.knowledgeArticles.map(n=>[c(n.id,12),n.title,n.slug,n.status,String(n.views)])});}catch(e){s(e);}}),i.command("create").description("Create a knowledge article").requiredOption("--title <t>","Title").requiredOption("--slug <s>","URL slug").requiredOption("--content <s>","Article content").option("--summary <s>","Summary").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--tags <csv>","Comma-separated tags").option("--related-asset <id>","Related asset ID").option("--related-incident <id>","Related incident ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,slug:t.slug,content:t.content};t.summary&&(e.summary=t.summary),t.status&&(e.status=t.status.toUpperCase()),t.tags&&(e.tags=C(t.tags)),t.relatedAsset&&(e.relatedAssetId=t.relatedAsset),t.relatedIncident&&(e.relatedIncidentId=t.relatedIncident);let n=await o(B,{input:e});m(`Knowledge article created: ${n.createKnowledgeArticle.slug}`),a(t,n.createKnowledgeArticle);}catch(e){s(e);}});}function pt(r){$t(r),Ht(r),Mt(r);}function $t(r){let i=r.command("transactions").description("Assethandler asset finance transactions");i.command("list").description("List transactions").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(j,{pagination:u(t.limit,t.cursor)});a(t,e.transactions,{headers:["ID","Type","Category","Amount","Currency","Status"],rows:e.transactions.map(n=>[c(n.id,12),n.type,n.category,String(n.amount),n.currency,n.status])});}catch(e){s(e);}}),i.command("create").description("Create a transaction").requiredOption("--type <t>","PURCHASE|LEASE|MAINTENANCE|DISPOSAL|TRANSFER").requiredOption("--category <c>","Category").requiredOption("--description <s>","Description").requiredOption("--amount <n>","Amount",A).option("--currency <c>","Currency code").option("--vendor <v>","Vendor").option("--department <d>","Department").option("--status <s>","PENDING|APPROVED|COMPLETED|REJECTED").option("-f, --format <format>","Output format").action(async t=>{try{let e={type:t.type.toUpperCase(),category:t.category,description:t.description,amount:t.amount};t.currency&&(e.currency=t.currency),t.vendor&&(e.vendor=t.vendor),t.department&&(e.department=t.department),t.status&&(e.status=t.status.toUpperCase());let n=await o(J,{input:e});m(`Transaction created: ${n.createTransaction.id}`),a(t,n.createTransaction);}catch(e){s(e);}});}function Ht(r){r.command("invoices").description("Assethandler invoices").command("list").description("List invoices").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(K,{pagination:u(t.limit,t.cursor)});a(t,e.invoices,{headers:["ID","Number","Vendor","Amount","Status","Due"],rows:e.invoices.map(n=>[c(n.id,12),n.number,n.vendor,`${n.amount} ${n.currency}`,n.status,v(n.dueDate)])});}catch(e){s(e);}});}function Mt(r){r.command("budgets").description("Assethandler asset budgets").command("list").description("List budgets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(z,{pagination:u(t.limit,t.cursor)});a(t,e.budgets,{headers:["ID","Name","Department","Allocated","Spent","Remaining","Status"],rows:e.budgets.map(n=>[c(n.id,12),n.name,n.department,String(n.allocated),String(n.spent),String(n.remaining),n.status])});}catch(e){s(e);}});}function mt(r){Wt(r),Ut(r),Gt(r),Ft(r);}function Wt(r){r.command("compliance").description("Assethandler compliance frameworks").command("list").description("List compliance frameworks").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(Y,{pagination:u(t.limit,t.cursor)});a(t,e.complianceFrameworks,{headers:["ID","Name","Version","Status","Score","Passed","Failed"],rows:e.complianceFrameworks.map(n=>[c(n.id,12),n.name,n.version,n.status,String(n.score),String(n.passedControls),String(n.failedControls)])});}catch(e){s(e);}});}function Ut(r){r.command("security-policies").description("Assethandler asset security policies").command("list").description("List security policies").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(Q,{pagination:u(t.limit,t.cursor)});a(t,e.assetSecurityPolicies,{headers:["ID","Name","Version","Category","Status","Owner"],rows:e.assetSecurityPolicies.map(n=>[c(n.id,12),n.name,n.version,n.category,n.status,c(n.owner,16)])});}catch(e){s(e);}});}function Gt(r){r.command("security-events").description("Assethandler security events").command("list").description("List security events").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(X,{pagination:u(t.limit,t.cursor)});a(t,e.securityEvents,{headers:["ID","Title","Type","Severity","Source","Resolved"],rows:e.securityEvents.map(n=>[c(n.id,12),n.title,n.eventType,n.severity,n.source,n.resolved?"yes":"no"])});}catch(e){s(e);}});}function Ft(r){let i=r.command("esg-metrics").description("Assethandler ESG metrics");i.command("list").description("List ESG metrics").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(Z,{pagination:u(t.limit,t.cursor)});a(t,e.esgMetrics,{headers:["ID","Category","Metric","Value","Unit","Target","Trend"],rows:e.esgMetrics.map(n=>[c(n.id,12),n.category,n.metricName,String(n.value),n.unit,n.target!=null?String(n.target):"-",n.trend??"-"])});}catch(e){s(e);}}),i.command("upsert").description("Create or update an ESG metric").requiredOption("--category <c>","Category").requiredOption("--metric-key <k>","Metric key").requiredOption("--metric-name <n>","Metric name").requiredOption("--value <n>","Value",A).requiredOption("--unit <u>","Unit").requiredOption("--period-start <iso>","Period start (ISO date)").requiredOption("--period-end <iso>","Period end (ISO date)").option("--target <n>","Target value",A).option("--trend <t>","Trend").option("-f, --format <format>","Output format").action(async t=>{try{let e={category:t.category,metricKey:t.metricKey,metricName:t.metricName,value:t.value,unit:t.unit,periodStart:t.periodStart,periodEnd:t.periodEnd};t.target!==void 0&&(e.target=t.target),t.trend&&(e.trend=t.trend);let n=await o(tt,{input:e});m(`ESG metric saved: ${n.upsertEsgMetric.metricKey}`),a(t,n.upsertEsgMetric);}catch(e){s(e);}});}function gt(r){Vt(r),Bt(r),jt(r);}function Vt(r){let i=r.command("predictions").description("Assethandler AI predictions");i.command("list").description("List AI predictions").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(et,{pagination:u(t.limit,t.cursor)});a(t,e.aiPredictions,{headers:["ID","Asset","Type","Model","Score","Confidence","Status"],rows:e.aiPredictions.map(n=>[c(n.id,12),c(n.assetId,12),n.predictionType,n.modelVersion,String(n.score),String(n.confidence),n.status])});}catch(e){s(e);}}),i.command("request").description("Request an AI prediction for an asset").requiredOption("--asset <id>","Asset ID").requiredOption("--prediction-type <t>","Prediction type").option("--feature-vector <json>","Feature vector JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,predictionType:t.predictionType};t.featureVector&&(e.featureVector=l("feature-vector",t.featureVector));let n=await o(nt,{input:e});m(`Prediction requested: ${n.requestAIPrediction.id}`),a(t,n.requestAIPrediction);}catch(e){s(e);}});}function Bt(r){let i=r.command("provenance").description("Assethandler asset provenance records");i.command("list").description("List provenance records").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(rt,{pagination:u(t.limit,t.cursor)});a(t,e.provenanceRecords,{headers:["ID","Asset","Chain","Hash","Attested By"],rows:e.provenanceRecords.map(n=>[c(n.id,12),c(n.assetId,12),n.chainNetwork,c(n.hash,16),c(n.attestedBy,16)])});}catch(e){s(e);}}),i.command("record").description("Record an asset provenance attestation").requiredOption("--asset <id>","Asset ID").requiredOption("--chain-network <n>","Chain network").requiredOption("--hash <h>","Attestation hash").option("--tx-hash <h>","Transaction hash").option("--block-number <n>","Block number",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,chainNetwork:t.chainNetwork,hash:t.hash};t.txHash&&(e.txHash=t.txHash),t.blockNumber!==void 0&&(e.blockNumber=t.blockNumber),t.metadata&&(e.metadata=l("metadata",t.metadata));let n=await o(it,{input:e});m(`Provenance recorded: ${n.recordProvenance.id}`),a(t,n.recordProvenance);}catch(e){s(e);}});}function jt(r){let i=r.command("discovery-jobs").description("Assethandler asset discovery jobs");i.command("list").description("List discovery jobs").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(ot,{pagination:u(t.limit,t.cursor)});a(t,e.discoveryJobs,{headers:["ID","Name","Source","Status","Discovered"],rows:e.discoveryJobs.map(n=>[c(n.id,12),n.name,n.source,n.status,String(n.assetsDiscovered)])});}catch(e){s(e);}}),i.command("start").description("Start an asset discovery job").requiredOption("--name <name>","Job name").requiredOption("--source <s>","Discovery source").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,source:t.source},n=await o(st,{input:e});m(`Discovery job started: ${n.startDiscoveryJob.name}`),a(t,n.startDiscoveryJob);}catch(e){s(e);}});}function lt(r){r.command("dashboard").description("Assethandler dashboard overview").command("overview").description("Asset / transaction / incident / work-order counts").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(at);a(t,e.dashboardOverview);}catch(e){s(e);}});}var Jt={id:"assethandler",version:"1.0.0",displayName:"Assethandler",dependsOn:["auth","workspaces"],register(r,i){E(i);let t=r.command("assethandler").description("Assethandler enterprise asset management platform");ct(t),dt(t),ut(t),pt(t),mt(t),gt(t),lt(t);}},Hn=Jt;module.exports=Hn;
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import {a,b as b$1,h as h$1,p as p$1,g,i,o as o$1}from'../../chunk-WXDQ3S5J.js';import {o}from'../../chunk-TCBALVP4.js';var C=`
|
|
2
|
+
query AssetHandlerGetAsset($id: ID!) {
|
|
3
|
+
asset(id: $id) {
|
|
4
|
+
id assetNumber name description category status condition
|
|
5
|
+
serialNumber locationName assignedTo tags customAttributes
|
|
6
|
+
createdAt updatedAt workspaceId
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
`,v=`
|
|
10
|
+
query AssetHandlerListAssets($pagination: AssetHandlerPaginationInput) {
|
|
11
|
+
assets(pagination: $pagination) {
|
|
12
|
+
id assetNumber name category status condition serialNumber
|
|
13
|
+
locationName assignedTo tags createdAt updatedAt workspaceId
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
`,S=`
|
|
17
|
+
mutation AssetHandlerCreateAsset($input: CreateAssetInput!) {
|
|
18
|
+
createAsset(input: $input) {
|
|
19
|
+
id assetNumber name description category status condition
|
|
20
|
+
serialNumber locationName assignedTo tags customAttributes
|
|
21
|
+
createdAt updatedAt workspaceId
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
`,R=`
|
|
25
|
+
query AssetHandlerListSoftwareAssets($pagination: AssetHandlerPaginationInput) {
|
|
26
|
+
softwareAssets(pagination: $pagination) {
|
|
27
|
+
id name vendor version licenseType seatsPurchased seatsUsed
|
|
28
|
+
compliancePercent createdAt updatedAt workspaceId
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
`,E=`
|
|
32
|
+
mutation AssetHandlerUpsertSoftwareAsset($input: UpsertSoftwareAssetInput!) {
|
|
33
|
+
upsertSoftwareAsset(input: $input) {
|
|
34
|
+
id name vendor version licenseType seatsPurchased seatsUsed
|
|
35
|
+
compliancePercent createdAt updatedAt workspaceId
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
`,O=`
|
|
39
|
+
query AssetHandlerListDigitalTwins($pagination: AssetHandlerPaginationInput) {
|
|
40
|
+
digitalTwins(pagination: $pagination) {
|
|
41
|
+
id assetId fidelityLevel modelRef geometryRef properties
|
|
42
|
+
createdAt updatedAt workspaceId
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
`,b=`
|
|
46
|
+
mutation AssetHandlerCreateDigitalTwin($input: CreateDigitalTwinInput!) {
|
|
47
|
+
createDigitalTwin(input: $input) {
|
|
48
|
+
id assetId fidelityLevel modelRef geometryRef properties
|
|
49
|
+
createdAt updatedAt workspaceId
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
`,h=`
|
|
53
|
+
query AssetHandlerListConfigurationItems($pagination: AssetHandlerPaginationInput) {
|
|
54
|
+
configurationItems(pagination: $pagination) {
|
|
55
|
+
id ciNumber name ciType status environment owner attributes
|
|
56
|
+
createdAt updatedAt workspaceId
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`,k=`
|
|
60
|
+
mutation AssetHandlerUpsertConfigurationItem($input: UpsertConfigurationItemInput!) {
|
|
61
|
+
upsertConfigurationItem(input: $input) {
|
|
62
|
+
id ciNumber name ciType status environment owner attributes
|
|
63
|
+
createdAt updatedAt workspaceId
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
`,D=`
|
|
67
|
+
query AssetHandlerListIotDevices($pagination: AssetHandlerPaginationInput) {
|
|
68
|
+
iotDevices(pagination: $pagination) {
|
|
69
|
+
id deviceId name type protocol status assetId metadata
|
|
70
|
+
createdAt updatedAt workspaceId
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`,N=`
|
|
74
|
+
mutation AssetHandlerRegisterIotDevice($input: RegisterIoTDeviceInput!) {
|
|
75
|
+
registerIoTDevice(input: $input) {
|
|
76
|
+
id deviceId name type protocol status assetId metadata
|
|
77
|
+
createdAt updatedAt workspaceId
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
`,P=`
|
|
81
|
+
query AssetHandlerListIncidents($pagination: AssetHandlerPaginationInput) {
|
|
82
|
+
incidents(pagination: $pagination) {
|
|
83
|
+
id title description category priority status assignedTo
|
|
84
|
+
reportedBy reportedAt resolvedAt slaBreached workspaceId
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
`,L=`
|
|
88
|
+
mutation AssetHandlerCreateIncident($input: CreateIncidentInput!) {
|
|
89
|
+
createIncident(input: $input) {
|
|
90
|
+
id title description category priority status assignedTo
|
|
91
|
+
reportedBy reportedAt resolvedAt slaBreached workspaceId
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
`,_=`
|
|
95
|
+
query AssetHandlerListProblems($pagination: AssetHandlerPaginationInput) {
|
|
96
|
+
problems(pagination: $pagination) {
|
|
97
|
+
id title description category priority status rootCause workaround
|
|
98
|
+
relatedIncidents assignedTo createdAt updatedAt workspaceId
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
`,q=`
|
|
102
|
+
query AssetHandlerListChangeRequests($pagination: AssetHandlerPaginationInput) {
|
|
103
|
+
changeRequests(pagination: $pagination) {
|
|
104
|
+
id title description type risk status requestedBy assignedTo
|
|
105
|
+
affectedAssets approvals scheduledStart scheduledEnd
|
|
106
|
+
createdAt updatedAt workspaceId
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
`,x=`
|
|
110
|
+
query AssetHandlerListWorkOrders($pagination: AssetHandlerPaginationInput) {
|
|
111
|
+
workOrders(pagination: $pagination) {
|
|
112
|
+
id title description type priority status assetId assignedTo
|
|
113
|
+
createdAt updatedAt workspaceId
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
`,$=`
|
|
117
|
+
mutation AssetHandlerCreateWorkOrder($input: CreateWorkOrderInput!) {
|
|
118
|
+
createWorkOrder(input: $input) {
|
|
119
|
+
id title description type priority status assetId assignedTo
|
|
120
|
+
createdAt updatedAt workspaceId
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
`,H=`
|
|
124
|
+
query AssetHandlerListMaintenanceRecords($pagination: AssetHandlerPaginationInput) {
|
|
125
|
+
maintenanceRecords(pagination: $pagination) {
|
|
126
|
+
id assetId title description type status priority scheduledAt
|
|
127
|
+
completedAt estimatedCost actualCost checklist createdAt updatedAt workspaceId
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
`,M=`
|
|
131
|
+
query AssetHandlerListKnowledgeArticles($pagination: AssetHandlerPaginationInput) {
|
|
132
|
+
knowledgeArticles(pagination: $pagination) {
|
|
133
|
+
id title slug summary status tags views relatedAssetId
|
|
134
|
+
relatedIncidentId createdBy updatedBy publishedAt createdAt updatedAt workspaceId
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
`,U=`
|
|
138
|
+
mutation AssetHandlerCreateKnowledgeArticle($input: CreateKnowledgeArticleInput!) {
|
|
139
|
+
createKnowledgeArticle(input: $input) {
|
|
140
|
+
id title slug summary content status tags views relatedAssetId
|
|
141
|
+
relatedIncidentId createdBy updatedBy publishedAt createdAt updatedAt workspaceId
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
`,V=`
|
|
145
|
+
query AssetHandlerListTransactions($pagination: AssetHandlerPaginationInput) {
|
|
146
|
+
transactions(pagination: $pagination) {
|
|
147
|
+
id type category description amount currency vendor department
|
|
148
|
+
status occurredAt workspaceId
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
`,W=`
|
|
152
|
+
mutation AssetHandlerCreateTransaction($input: CreateTransactionInput!) {
|
|
153
|
+
createTransaction(input: $input) {
|
|
154
|
+
id type category description amount currency vendor department
|
|
155
|
+
status occurredAt workspaceId
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
`,B=`
|
|
159
|
+
query AssetHandlerListInvoices($pagination: AssetHandlerPaginationInput) {
|
|
160
|
+
invoices(pagination: $pagination) {
|
|
161
|
+
id number vendor amount currency status issueDate dueDate
|
|
162
|
+
relatedPO items createdAt updatedAt workspaceId
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
`,G=`
|
|
166
|
+
query AssetHandlerListBudgets($pagination: AssetHandlerPaginationInput) {
|
|
167
|
+
budgets(pagination: $pagination) {
|
|
168
|
+
id name category department period allocated spent remaining
|
|
169
|
+
status createdAt updatedAt workspaceId
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
`,J=`
|
|
173
|
+
query AssetHandlerListComplianceFrameworks($pagination: AssetHandlerPaginationInput) {
|
|
174
|
+
complianceFrameworks(pagination: $pagination) {
|
|
175
|
+
id name version status score totalControls passedControls
|
|
176
|
+
failedControls lastAssessment nextAssessment createdAt updatedAt workspaceId
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`,F=`
|
|
180
|
+
query AssetHandlerListSecurityPolicies($pagination: AssetHandlerPaginationInput) {
|
|
181
|
+
assetSecurityPolicies(pagination: $pagination) {
|
|
182
|
+
id name version category status owner description applicableTo
|
|
183
|
+
effectiveDate reviewDate createdAt updatedAt workspaceId
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
`,K=`
|
|
187
|
+
query AssetHandlerListSecurityEvents($pagination: AssetHandlerPaginationInput) {
|
|
188
|
+
securityEvents(pagination: $pagination) {
|
|
189
|
+
id title description eventType severity source resolved
|
|
190
|
+
ipAddress userId occurredAt createdAt workspaceId
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
`,z=`
|
|
194
|
+
query AssetHandlerListEsgMetrics($pagination: AssetHandlerPaginationInput) {
|
|
195
|
+
esgMetrics(pagination: $pagination) {
|
|
196
|
+
id category metricKey metricName value unit target trend
|
|
197
|
+
periodStart periodEnd updatedBy createdAt updatedAt workspaceId
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
`,j=`
|
|
201
|
+
mutation AssetHandlerUpsertEsgMetric($input: UpsertEsgMetricInput!) {
|
|
202
|
+
upsertEsgMetric(input: $input) {
|
|
203
|
+
id category metricKey metricName value unit target trend
|
|
204
|
+
periodStart periodEnd updatedBy createdAt updatedAt workspaceId
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
`,Y=`
|
|
208
|
+
query AssetHandlerListAiPredictions($pagination: AssetHandlerPaginationInput) {
|
|
209
|
+
aiPredictions(pagination: $pagination) {
|
|
210
|
+
id assetId predictionType modelVersion score confidence
|
|
211
|
+
recommendation status features generatedAt createdAt workspaceId
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
`,Q=`
|
|
215
|
+
mutation AssetHandlerRequestAiPrediction($input: RequestAIPredictionInput!) {
|
|
216
|
+
requestAIPrediction(input: $input) {
|
|
217
|
+
id assetId predictionType modelVersion score confidence
|
|
218
|
+
recommendation status features generatedAt createdAt workspaceId
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
`,X=`
|
|
222
|
+
query AssetHandlerListProvenanceRecords($pagination: AssetHandlerPaginationInput) {
|
|
223
|
+
provenanceRecords(pagination: $pagination) {
|
|
224
|
+
id assetId chainNetwork txHash blockNumber hash attestedBy
|
|
225
|
+
attestedAt metadata createdAt workspaceId
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
`,Z=`
|
|
229
|
+
mutation AssetHandlerRecordProvenance($input: RecordProvenanceInput!) {
|
|
230
|
+
recordProvenance(input: $input) {
|
|
231
|
+
id assetId chainNetwork txHash blockNumber hash attestedBy
|
|
232
|
+
attestedAt metadata createdAt workspaceId
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
`,tt=`
|
|
236
|
+
query AssetHandlerListDiscoveryJobs($pagination: AssetHandlerPaginationInput) {
|
|
237
|
+
discoveryJobs(pagination: $pagination) {
|
|
238
|
+
id name source status assetsDiscovered createdBy errorSummary
|
|
239
|
+
startedAt completedAt createdAt updatedAt workspaceId
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
`,et=`
|
|
243
|
+
mutation AssetHandlerStartDiscoveryJob($input: StartDiscoveryJobInput!) {
|
|
244
|
+
startDiscoveryJob(input: $input) {
|
|
245
|
+
id name source status assetsDiscovered createdBy errorSummary
|
|
246
|
+
startedAt completedAt createdAt updatedAt workspaceId
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
`,rt=`
|
|
250
|
+
query AssetHandlerDashboardOverview {
|
|
251
|
+
dashboardOverview {
|
|
252
|
+
totalAssets totalTransactions openIncidents openWorkOrders
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
`;function l(i,n){try{return JSON.parse(n)}catch{throw new o(`--${i} must be valid JSON`)}}function d(i){let n=Number.parseInt(i,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${i}"`);return n}function I(i){let n=Number.parseFloat(i);if(Number.isNaN(n))throw new o(`Expected a number but got "${i}"`);return n}function A(i){return i.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function p(i,n){let t={};return i!==void 0&&(t.limit=i),n&&(t.cursor=n),Object.keys(t).length?t:void 0}function it(i$1){let n=i$1.command("assets").description("Assethandler assets");n.command("list").description("List assets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(v,{pagination:p(t.limit,t.cursor)});h$1(t,e.assets,{headers:["ID","Asset #","Name","Category","Status","Condition"],rows:e.assets.map(r=>[p$1(r.id,12),r.assetNumber,r.name,r.category,r.status,r.condition])});}catch(e){g(e);}}),n.command("get").description("Get an asset by id").argument("<id>","Asset ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let r=await b$1(C,{id:t});if(!r.asset)throw new o(`Asset ${t} not found`);h$1(e,r.asset);}catch(r){g(r);}}),n.command("create").description("Create an asset").requiredOption("--asset-number <s>","Asset number").requiredOption("--name <name>","Asset name").requiredOption("--category <c>","Category").option("--description <s>","Description").option("--status <s>","ACTIVE|INACTIVE|MAINTENANCE|RETIRED|DISPOSED").option("--condition <c>","EXCELLENT|GOOD|FAIR|POOR|DAMAGED").option("--serial-number <s>","Serial number").option("--location-name <s>","Location name").option("--assigned-to <s>","Assignee").option("--tags <csv>","Comma-separated tags").option("--custom-attributes <json>","Custom attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetNumber:t.assetNumber,name:t.name,category:t.category};t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),t.condition&&(e.condition=t.condition.toUpperCase()),t.serialNumber&&(e.serialNumber=t.serialNumber),t.locationName&&(e.locationName=t.locationName),t.assignedTo&&(e.assignedTo=t.assignedTo),t.tags&&(e.tags=A(t.tags)),t.customAttributes&&(e.customAttributes=l("custom-attributes",t.customAttributes));let r=await b$1(S,{input:e});i(`Asset created: ${r.createAsset.assetNumber}`),h$1(t,r.createAsset);}catch(e){g(e);}});}function nt(i){pt(i),mt(i),ut(i),gt(i);}function pt(i$1){let n=i$1.command("software-assets").description("Assethandler software assets & licenses");n.command("list").description("List software assets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(R,{pagination:p(t.limit,t.cursor)});h$1(t,e.softwareAssets,{headers:["ID","Name","Vendor","Version","License","Seats","Compliance %"],rows:e.softwareAssets.map(r=>[p$1(r.id,12),r.name,r.vendor,r.version,r.licenseType,`${r.seatsUsed??0}/${r.seatsPurchased??0}`,String(r.compliancePercent)])});}catch(e){g(e);}}),n.command("upsert").description("Create or update a software asset").requiredOption("--name <name>","Name").requiredOption("--vendor <v>","Vendor").requiredOption("--version <v>","Version").requiredOption("--license-type <t>","License type").option("--id <id>","Existing software asset ID (update)").option("--seats-purchased <n>","Seats purchased",d).option("--seats-used <n>","Seats used",d).option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,vendor:t.vendor,version:t.version,licenseType:t.licenseType};t.id&&(e.id=t.id),t.seatsPurchased!==void 0&&(e.seatsPurchased=t.seatsPurchased),t.seatsUsed!==void 0&&(e.seatsUsed=t.seatsUsed);let r=await b$1(E,{input:e});i(`Software asset saved: ${r.upsertSoftwareAsset.name}`),h$1(t,r.upsertSoftwareAsset);}catch(e){g(e);}});}function mt(i$1){let n=i$1.command("digital-twins").description("Assethandler digital twins");n.command("list").description("List digital twins").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(O,{pagination:p(t.limit,t.cursor)});h$1(t,e.digitalTwins,{headers:["ID","Asset","Fidelity","Model Ref"],rows:e.digitalTwins.map(r=>[p$1(r.id,12),p$1(r.assetId,12),r.fidelityLevel,r.modelRef])});}catch(e){g(e);}}),n.command("create").description("Create a digital twin for an asset").requiredOption("--asset <id>","Asset ID").requiredOption("--fidelity-level <l>","Fidelity level").requiredOption("--model-ref <ref>","Model reference").option("--geometry-ref <ref>","Geometry reference").option("--properties <json>","Properties JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,fidelityLevel:t.fidelityLevel,modelRef:t.modelRef};t.geometryRef&&(e.geometryRef=t.geometryRef),t.properties&&(e.properties=l("properties",t.properties));let r=await b$1(b,{input:e});i(`Digital twin created for asset ${r.createDigitalTwin.assetId}`),h$1(t,r.createDigitalTwin);}catch(e){g(e);}});}function ut(i$1){let n=i$1.command("config-items").description("Assethandler configuration items (CMDB)");n.command("list").description("List configuration items").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(h,{pagination:p(t.limit,t.cursor)});h$1(t,e.configurationItems,{headers:["ID","CI #","Name","Type","Status","Environment"],rows:e.configurationItems.map(r=>[p$1(r.id,12),r.ciNumber,r.name,r.ciType,r.status,r.environment??"-"])});}catch(e){g(e);}}),n.command("upsert").description("Create or update a configuration item").requiredOption("--ci-number <s>","CI number").requiredOption("--name <name>","Name").requiredOption("--ci-type <t>","CI type").requiredOption("--status <s>","Status").option("--id <id>","Existing CI ID (update)").option("--environment <e>","Environment").option("--owner <o>","Owner").option("--attributes <json>","Attributes JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={ciNumber:t.ciNumber,name:t.name,ciType:t.ciType,status:t.status};t.id&&(e.id=t.id),t.environment&&(e.environment=t.environment),t.owner&&(e.owner=t.owner),t.attributes&&(e.attributes=l("attributes",t.attributes));let r=await b$1(k,{input:e});i(`Configuration item saved: ${r.upsertConfigurationItem.ciNumber}`),h$1(t,r.upsertConfigurationItem);}catch(e){g(e);}});}function gt(i$1){let n=i$1.command("iot-devices").description("Assethandler IoT devices");n.command("list").description("List IoT devices").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(D,{pagination:p(t.limit,t.cursor)});h$1(t,e.iotDevices,{headers:["ID","Device","Name","Type","Protocol","Status"],rows:e.iotDevices.map(r=>[p$1(r.id,12),p$1(r.deviceId,16),r.name,r.type,r.protocol,r.status])});}catch(e){g(e);}}),n.command("register").description("Register an IoT device").requiredOption("--device-id <s>","Device ID").requiredOption("--name <name>","Name").requiredOption("--type <t>","Type").requiredOption("--protocol <p>","Protocol").option("--status <s>","Status").option("--asset <id>","Linked asset ID").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={deviceId:t.deviceId,name:t.name,type:t.type,protocol:t.protocol};t.status&&(e.status=t.status),t.asset&&(e.assetId=t.asset),t.metadata&&(e.metadata=l("metadata",t.metadata));let r=await b$1(N,{input:e});i(`IoT device registered: ${r.registerIoTDevice.deviceId}`),h$1(t,r.registerIoTDevice);}catch(e){g(e);}});}function st(i){lt(i),ft(i),yt(i),It(i),At(i),wt(i);}function lt(i$1){let n=i$1.command("incidents").description("Assethandler ITSM incidents");n.command("list").description("List incidents").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(P,{pagination:p(t.limit,t.cursor)});h$1(t,e.incidents,{headers:["ID","Title","Category","Priority","Status","SLA"],rows:e.incidents.map(r=>[p$1(r.id,12),r.title,r.category,r.priority,r.status,r.slaBreached?"breached":"ok"])});}catch(e){g(e);}}),n.command("create").description("Create an incident").requiredOption("--title <t>","Title").requiredOption("--description <s>","Description").requiredOption("--category <c>","Category").option("--priority <p>","LOW|MEDIUM|HIGH|CRITICAL").option("--asset <id>","Related asset ID").option("--assigned-to <s>","Assignee").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,description:t.description,category:t.category};t.priority&&(e.priority=t.priority.toUpperCase()),t.asset&&(e.assetId=t.asset),t.assignedTo&&(e.assignedTo=t.assignedTo);let r=await b$1(L,{input:e});i(`Incident created: ${r.createIncident.title}`),h$1(t,r.createIncident);}catch(e){g(e);}});}function ft(i){i.command("problems").description("Assethandler ITSM problems").command("list").description("List problems").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(_,{pagination:p(t.limit,t.cursor)});h$1(t,e.problems,{headers:["ID","Title","Category","Priority","Status"],rows:e.problems.map(r=>[p$1(r.id,12),r.title,r.category,r.priority,r.status])});}catch(e){g(e);}});}function yt(i){i.command("change-requests").description("Assethandler change requests").command("list").description("List change requests").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(q,{pagination:p(t.limit,t.cursor)});h$1(t,e.changeRequests,{headers:["ID","Title","Type","Risk","Status","Requested By"],rows:e.changeRequests.map(r=>[p$1(r.id,12),r.title,r.type,r.risk,r.status,p$1(r.requestedBy,16)])});}catch(e){g(e);}});}function It(i$1){let n=i$1.command("work-orders").description("Assethandler work orders");n.command("list").description("List work orders").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(x,{pagination:p(t.limit,t.cursor)});h$1(t,e.workOrders,{headers:["ID","Title","Type","Priority","Status","Asset"],rows:e.workOrders.map(r=>[p$1(r.id,12),r.title,r.type,r.priority,r.status,r.assetId?p$1(r.assetId,12):"-"])});}catch(e){g(e);}}),n.command("create").description("Create a work order").requiredOption("--title <t>","Title").requiredOption("--type <t>","PREVENTIVE|CORRECTIVE|PREDICTIVE|EMERGENCY").option("--description <s>","Description").option("--priority <p>","LOW|MEDIUM|HIGH|CRITICAL").option("--status <s>","DRAFT|SCHEDULED|APPROVED|IN_PROGRESS|COMPLETED|CANCELLED").option("--asset <id>","Related asset ID").option("--assigned-to <s>","Assignee").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,type:t.type.toUpperCase()};t.description&&(e.description=t.description),t.priority&&(e.priority=t.priority.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.asset&&(e.assetId=t.asset),t.assignedTo&&(e.assignedTo=t.assignedTo);let r=await b$1($,{input:e});i(`Work order created: ${r.createWorkOrder.title}`),h$1(t,r.createWorkOrder);}catch(e){g(e);}});}function At(i){i.command("maintenance").description("Assethandler maintenance records").command("list").description("List maintenance records").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(H,{pagination:p(t.limit,t.cursor)});h$1(t,e.maintenanceRecords,{headers:["ID","Asset","Title","Type","Priority","Status"],rows:e.maintenanceRecords.map(r=>[p$1(r.id,12),p$1(r.assetId,12),r.title,r.type,r.priority,r.status])});}catch(e){g(e);}});}function wt(i$1){let n=i$1.command("knowledge-articles").description("Assethandler knowledge base articles");n.command("list").description("List knowledge articles").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(M,{pagination:p(t.limit,t.cursor)});h$1(t,e.knowledgeArticles,{headers:["ID","Title","Slug","Status","Views"],rows:e.knowledgeArticles.map(r=>[p$1(r.id,12),r.title,r.slug,r.status,String(r.views)])});}catch(e){g(e);}}),n.command("create").description("Create a knowledge article").requiredOption("--title <t>","Title").requiredOption("--slug <s>","URL slug").requiredOption("--content <s>","Article content").option("--summary <s>","Summary").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--tags <csv>","Comma-separated tags").option("--related-asset <id>","Related asset ID").option("--related-incident <id>","Related incident ID").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,slug:t.slug,content:t.content};t.summary&&(e.summary=t.summary),t.status&&(e.status=t.status.toUpperCase()),t.tags&&(e.tags=A(t.tags)),t.relatedAsset&&(e.relatedAssetId=t.relatedAsset),t.relatedIncident&&(e.relatedIncidentId=t.relatedIncident);let r=await b$1(U,{input:e});i(`Knowledge article created: ${r.createKnowledgeArticle.slug}`),h$1(t,r.createKnowledgeArticle);}catch(e){g(e);}});}function ot(i){Tt(i),Ct(i),vt(i);}function Tt(i$1){let n=i$1.command("transactions").description("Assethandler asset finance transactions");n.command("list").description("List transactions").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(V,{pagination:p(t.limit,t.cursor)});h$1(t,e.transactions,{headers:["ID","Type","Category","Amount","Currency","Status"],rows:e.transactions.map(r=>[p$1(r.id,12),r.type,r.category,String(r.amount),r.currency,r.status])});}catch(e){g(e);}}),n.command("create").description("Create a transaction").requiredOption("--type <t>","PURCHASE|LEASE|MAINTENANCE|DISPOSAL|TRANSFER").requiredOption("--category <c>","Category").requiredOption("--description <s>","Description").requiredOption("--amount <n>","Amount",I).option("--currency <c>","Currency code").option("--vendor <v>","Vendor").option("--department <d>","Department").option("--status <s>","PENDING|APPROVED|COMPLETED|REJECTED").option("-f, --format <format>","Output format").action(async t=>{try{let e={type:t.type.toUpperCase(),category:t.category,description:t.description,amount:t.amount};t.currency&&(e.currency=t.currency),t.vendor&&(e.vendor=t.vendor),t.department&&(e.department=t.department),t.status&&(e.status=t.status.toUpperCase());let r=await b$1(W,{input:e});i(`Transaction created: ${r.createTransaction.id}`),h$1(t,r.createTransaction);}catch(e){g(e);}});}function Ct(i){i.command("invoices").description("Assethandler invoices").command("list").description("List invoices").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(B,{pagination:p(t.limit,t.cursor)});h$1(t,e.invoices,{headers:["ID","Number","Vendor","Amount","Status","Due"],rows:e.invoices.map(r=>[p$1(r.id,12),r.number,r.vendor,`${r.amount} ${r.currency}`,r.status,o$1(r.dueDate)])});}catch(e){g(e);}});}function vt(i){i.command("budgets").description("Assethandler asset budgets").command("list").description("List budgets").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(G,{pagination:p(t.limit,t.cursor)});h$1(t,e.budgets,{headers:["ID","Name","Department","Allocated","Spent","Remaining","Status"],rows:e.budgets.map(r=>[p$1(r.id,12),r.name,r.department,String(r.allocated),String(r.spent),String(r.remaining),r.status])});}catch(e){g(e);}});}function at(i){St(i),Rt(i),Et(i),Ot(i);}function St(i){i.command("compliance").description("Assethandler compliance frameworks").command("list").description("List compliance frameworks").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(J,{pagination:p(t.limit,t.cursor)});h$1(t,e.complianceFrameworks,{headers:["ID","Name","Version","Status","Score","Passed","Failed"],rows:e.complianceFrameworks.map(r=>[p$1(r.id,12),r.name,r.version,r.status,String(r.score),String(r.passedControls),String(r.failedControls)])});}catch(e){g(e);}});}function Rt(i){i.command("security-policies").description("Assethandler asset security policies").command("list").description("List security policies").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(F,{pagination:p(t.limit,t.cursor)});h$1(t,e.assetSecurityPolicies,{headers:["ID","Name","Version","Category","Status","Owner"],rows:e.assetSecurityPolicies.map(r=>[p$1(r.id,12),r.name,r.version,r.category,r.status,p$1(r.owner,16)])});}catch(e){g(e);}});}function Et(i){i.command("security-events").description("Assethandler security events").command("list").description("List security events").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(K,{pagination:p(t.limit,t.cursor)});h$1(t,e.securityEvents,{headers:["ID","Title","Type","Severity","Source","Resolved"],rows:e.securityEvents.map(r=>[p$1(r.id,12),r.title,r.eventType,r.severity,r.source,r.resolved?"yes":"no"])});}catch(e){g(e);}});}function Ot(i$1){let n=i$1.command("esg-metrics").description("Assethandler ESG metrics");n.command("list").description("List ESG metrics").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(z,{pagination:p(t.limit,t.cursor)});h$1(t,e.esgMetrics,{headers:["ID","Category","Metric","Value","Unit","Target","Trend"],rows:e.esgMetrics.map(r=>[p$1(r.id,12),r.category,r.metricName,String(r.value),r.unit,r.target!=null?String(r.target):"-",r.trend??"-"])});}catch(e){g(e);}}),n.command("upsert").description("Create or update an ESG metric").requiredOption("--category <c>","Category").requiredOption("--metric-key <k>","Metric key").requiredOption("--metric-name <n>","Metric name").requiredOption("--value <n>","Value",I).requiredOption("--unit <u>","Unit").requiredOption("--period-start <iso>","Period start (ISO date)").requiredOption("--period-end <iso>","Period end (ISO date)").option("--target <n>","Target value",I).option("--trend <t>","Trend").option("-f, --format <format>","Output format").action(async t=>{try{let e={category:t.category,metricKey:t.metricKey,metricName:t.metricName,value:t.value,unit:t.unit,periodStart:t.periodStart,periodEnd:t.periodEnd};t.target!==void 0&&(e.target=t.target),t.trend&&(e.trend=t.trend);let r=await b$1(j,{input:e});i(`ESG metric saved: ${r.upsertEsgMetric.metricKey}`),h$1(t,r.upsertEsgMetric);}catch(e){g(e);}});}function ct(i){bt(i),ht(i),kt(i);}function bt(i$1){let n=i$1.command("predictions").description("Assethandler AI predictions");n.command("list").description("List AI predictions").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(Y,{pagination:p(t.limit,t.cursor)});h$1(t,e.aiPredictions,{headers:["ID","Asset","Type","Model","Score","Confidence","Status"],rows:e.aiPredictions.map(r=>[p$1(r.id,12),p$1(r.assetId,12),r.predictionType,r.modelVersion,String(r.score),String(r.confidence),r.status])});}catch(e){g(e);}}),n.command("request").description("Request an AI prediction for an asset").requiredOption("--asset <id>","Asset ID").requiredOption("--prediction-type <t>","Prediction type").option("--feature-vector <json>","Feature vector JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,predictionType:t.predictionType};t.featureVector&&(e.featureVector=l("feature-vector",t.featureVector));let r=await b$1(Q,{input:e});i(`Prediction requested: ${r.requestAIPrediction.id}`),h$1(t,r.requestAIPrediction);}catch(e){g(e);}});}function ht(i$1){let n=i$1.command("provenance").description("Assethandler asset provenance records");n.command("list").description("List provenance records").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(X,{pagination:p(t.limit,t.cursor)});h$1(t,e.provenanceRecords,{headers:["ID","Asset","Chain","Hash","Attested By"],rows:e.provenanceRecords.map(r=>[p$1(r.id,12),p$1(r.assetId,12),r.chainNetwork,p$1(r.hash,16),p$1(r.attestedBy,16)])});}catch(e){g(e);}}),n.command("record").description("Record an asset provenance attestation").requiredOption("--asset <id>","Asset ID").requiredOption("--chain-network <n>","Chain network").requiredOption("--hash <h>","Attestation hash").option("--tx-hash <h>","Transaction hash").option("--block-number <n>","Block number",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={assetId:t.asset,chainNetwork:t.chainNetwork,hash:t.hash};t.txHash&&(e.txHash=t.txHash),t.blockNumber!==void 0&&(e.blockNumber=t.blockNumber),t.metadata&&(e.metadata=l("metadata",t.metadata));let r=await b$1(Z,{input:e});i(`Provenance recorded: ${r.recordProvenance.id}`),h$1(t,r.recordProvenance);}catch(e){g(e);}});}function kt(i$1){let n=i$1.command("discovery-jobs").description("Assethandler asset discovery jobs");n.command("list").description("List discovery jobs").option("--limit <n>","Page size (max 100)",d,50).option("--cursor <id>","Opaque cursor from a previous page").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(tt,{pagination:p(t.limit,t.cursor)});h$1(t,e.discoveryJobs,{headers:["ID","Name","Source","Status","Discovered"],rows:e.discoveryJobs.map(r=>[p$1(r.id,12),r.name,r.source,r.status,String(r.assetsDiscovered)])});}catch(e){g(e);}}),n.command("start").description("Start an asset discovery job").requiredOption("--name <name>","Job name").requiredOption("--source <s>","Discovery source").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,source:t.source},r=await b$1(et,{input:e});i(`Discovery job started: ${r.startDiscoveryJob.name}`),h$1(t,r.startDiscoveryJob);}catch(e){g(e);}});}function dt(i){i.command("dashboard").description("Assethandler dashboard overview").command("overview").description("Asset / transaction / incident / work-order counts").option("-f, --format <format>","Output format").action(async t=>{try{let e=await b$1(rt);h$1(t,e.dashboardOverview);}catch(e){g(e);}});}var Dt={id:"assethandler",version:"1.0.0",displayName:"Assethandler",dependsOn:["auth","workspaces"],register(i,n){a(n);let t=i.command("assethandler").description("Assethandler enterprise asset management platform");it(t),nt(t),st(t),ot(t),at(t),ct(t),dt(t);}},Ie=Dt;export{Ie as default};
|