@formant/formant-cli 0.4.3 → 0.4.5
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/README.md +46 -7
- package/dist/commands/query/index.d.ts +7 -5
- package/dist/commands/query/index.js +96 -24
- package/dist/commands/query/index.js.map +1 -1
- package/dist/help.js +1 -1
- package/oclif.manifest.json +1070 -1139
- package/package.json +1 -1
- package/dist/commands/query/latest-values.d.ts +0 -15
- package/dist/commands/query/latest-values.js +0 -128
- package/dist/commands/query/latest-values.js.map +0 -1
package/oclif.manifest.json
CHANGED
|
@@ -140,19 +140,19 @@
|
|
|
140
140
|
"tables.js"
|
|
141
141
|
]
|
|
142
142
|
},
|
|
143
|
-
"event
|
|
143
|
+
"event:get": {
|
|
144
144
|
"aliases": [],
|
|
145
145
|
"args": {
|
|
146
146
|
"id": {
|
|
147
|
-
"description": "Event
|
|
147
|
+
"description": "Event ID (UUID)",
|
|
148
148
|
"name": "id",
|
|
149
149
|
"required": true
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
|
-
"description": "Get detailed information about
|
|
152
|
+
"description": "Get detailed information about a specific event by its ID.",
|
|
153
153
|
"examples": [
|
|
154
|
-
"<%= config.bin %> event
|
|
155
|
-
"<%= config.bin %> event
|
|
154
|
+
"<%= config.bin %> event get <event-id>",
|
|
155
|
+
"<%= config.bin %> event get <event-id> --json"
|
|
156
156
|
],
|
|
157
157
|
"flags": {
|
|
158
158
|
"json": {
|
|
@@ -185,28 +185,30 @@
|
|
|
185
185
|
},
|
|
186
186
|
"hasDynamicHelp": false,
|
|
187
187
|
"hiddenAliases": [],
|
|
188
|
-
"id": "event
|
|
188
|
+
"id": "event:get",
|
|
189
189
|
"pluginAlias": "@formant/formant-cli",
|
|
190
190
|
"pluginName": "@formant/formant-cli",
|
|
191
191
|
"pluginType": "core",
|
|
192
192
|
"strict": true,
|
|
193
|
-
"summary": "Get event
|
|
193
|
+
"summary": "Get an event by ID",
|
|
194
194
|
"enableJsonFlag": true,
|
|
195
195
|
"isESM": true,
|
|
196
196
|
"relativePath": [
|
|
197
197
|
"dist",
|
|
198
198
|
"commands",
|
|
199
|
-
"event
|
|
199
|
+
"event",
|
|
200
200
|
"get.js"
|
|
201
201
|
]
|
|
202
202
|
},
|
|
203
|
-
"event
|
|
203
|
+
"event:list": {
|
|
204
204
|
"aliases": [],
|
|
205
205
|
"args": {},
|
|
206
|
-
"description": "
|
|
206
|
+
"description": "View important events emitted by devices with optional filters.\n\nEvents are significant occurrences from robots and sensors (e.g., device online/offline,\nerrors, state changes, commands). They can trigger signals for investigation.\n\nEvent types include: triggered-event, datapoint-event, device-online, device-offline,\nintervention-request, intervention-response, teleop-session-record, command-request,\ncommand-response, custom, comment, system, annotation, task-summary, stateful.\n\nSeverities: info, warning, error, critical.",
|
|
207
207
|
"examples": [
|
|
208
|
-
"<%= config.bin %> event
|
|
209
|
-
"<%= config.bin %> event
|
|
208
|
+
"<%= config.bin %> event list",
|
|
209
|
+
"<%= config.bin %> event list --device <id> --severity critical",
|
|
210
|
+
"<%= config.bin %> event list --type device-offline --start 2026-01-01 --end 2026-01-02",
|
|
211
|
+
"<%= config.bin %> event list --limit 100 --json"
|
|
210
212
|
],
|
|
211
213
|
"flags": {
|
|
212
214
|
"json": {
|
|
@@ -235,22 +237,73 @@
|
|
|
235
237
|
"name": "stage",
|
|
236
238
|
"allowNo": false,
|
|
237
239
|
"type": "boolean"
|
|
240
|
+
},
|
|
241
|
+
"device": {
|
|
242
|
+
"char": "d",
|
|
243
|
+
"description": "Filter by device ID",
|
|
244
|
+
"name": "device",
|
|
245
|
+
"hasDynamicHelp": false,
|
|
246
|
+
"multiple": false,
|
|
247
|
+
"type": "option"
|
|
248
|
+
},
|
|
249
|
+
"end": {
|
|
250
|
+
"description": "End time (ISO 8601)",
|
|
251
|
+
"name": "end",
|
|
252
|
+
"hasDynamicHelp": false,
|
|
253
|
+
"multiple": false,
|
|
254
|
+
"type": "option"
|
|
255
|
+
},
|
|
256
|
+
"limit": {
|
|
257
|
+
"char": "l",
|
|
258
|
+
"description": "Maximum number of events to return",
|
|
259
|
+
"name": "limit",
|
|
260
|
+
"default": 25,
|
|
261
|
+
"hasDynamicHelp": false,
|
|
262
|
+
"multiple": false,
|
|
263
|
+
"type": "option"
|
|
264
|
+
},
|
|
265
|
+
"severity": {
|
|
266
|
+
"description": "Filter by severity",
|
|
267
|
+
"name": "severity",
|
|
268
|
+
"hasDynamicHelp": false,
|
|
269
|
+
"multiple": false,
|
|
270
|
+
"options": [
|
|
271
|
+
"info",
|
|
272
|
+
"warning",
|
|
273
|
+
"error",
|
|
274
|
+
"critical"
|
|
275
|
+
],
|
|
276
|
+
"type": "option"
|
|
277
|
+
},
|
|
278
|
+
"start": {
|
|
279
|
+
"description": "Start time (ISO 8601)",
|
|
280
|
+
"name": "start",
|
|
281
|
+
"hasDynamicHelp": false,
|
|
282
|
+
"multiple": false,
|
|
283
|
+
"type": "option"
|
|
284
|
+
},
|
|
285
|
+
"type": {
|
|
286
|
+
"description": "Filter by event type",
|
|
287
|
+
"name": "type",
|
|
288
|
+
"hasDynamicHelp": false,
|
|
289
|
+
"multiple": false,
|
|
290
|
+
"type": "option"
|
|
238
291
|
}
|
|
239
292
|
},
|
|
240
293
|
"hasDynamicHelp": false,
|
|
241
294
|
"hiddenAliases": [],
|
|
242
|
-
"id": "event
|
|
295
|
+
"id": "event:list",
|
|
243
296
|
"pluginAlias": "@formant/formant-cli",
|
|
244
297
|
"pluginName": "@formant/formant-cli",
|
|
245
298
|
"pluginType": "core",
|
|
246
299
|
"strict": true,
|
|
247
|
-
"summary": "
|
|
300
|
+
"summary": "View events emitted by devices",
|
|
248
301
|
"enableJsonFlag": true,
|
|
249
302
|
"isESM": true,
|
|
250
303
|
"relativePath": [
|
|
251
304
|
"dist",
|
|
252
305
|
"commands",
|
|
253
|
-
"event
|
|
306
|
+
"event",
|
|
254
307
|
"list.js"
|
|
255
308
|
]
|
|
256
309
|
},
|
|
@@ -368,6 +421,120 @@
|
|
|
368
421
|
"list.js"
|
|
369
422
|
]
|
|
370
423
|
},
|
|
424
|
+
"event-trigger:get": {
|
|
425
|
+
"aliases": [],
|
|
426
|
+
"args": {
|
|
427
|
+
"id": {
|
|
428
|
+
"description": "Event trigger ID (UUID)",
|
|
429
|
+
"name": "id",
|
|
430
|
+
"required": true
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
"description": "Get detailed information about an event trigger.\n\nShows the full trigger configuration including conditions, exit conditions, commands\nit executes, and device targeting filters.",
|
|
434
|
+
"examples": [
|
|
435
|
+
"<%= config.bin %> event-trigger get <trigger-id>",
|
|
436
|
+
"<%= config.bin %> event-trigger get <trigger-id> --json"
|
|
437
|
+
],
|
|
438
|
+
"flags": {
|
|
439
|
+
"json": {
|
|
440
|
+
"description": "Format output as json.",
|
|
441
|
+
"helpGroup": "GLOBAL",
|
|
442
|
+
"name": "json",
|
|
443
|
+
"allowNo": false,
|
|
444
|
+
"type": "boolean"
|
|
445
|
+
},
|
|
446
|
+
"dev": {
|
|
447
|
+
"description": "Target the dev environment",
|
|
448
|
+
"exclusive": [
|
|
449
|
+
"stage"
|
|
450
|
+
],
|
|
451
|
+
"helpGroup": "GLOBAL",
|
|
452
|
+
"name": "dev",
|
|
453
|
+
"allowNo": false,
|
|
454
|
+
"type": "boolean"
|
|
455
|
+
},
|
|
456
|
+
"stage": {
|
|
457
|
+
"description": "Target the stage environment",
|
|
458
|
+
"exclusive": [
|
|
459
|
+
"dev"
|
|
460
|
+
],
|
|
461
|
+
"helpGroup": "GLOBAL",
|
|
462
|
+
"name": "stage",
|
|
463
|
+
"allowNo": false,
|
|
464
|
+
"type": "boolean"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"hasDynamicHelp": false,
|
|
468
|
+
"hiddenAliases": [],
|
|
469
|
+
"id": "event-trigger:get",
|
|
470
|
+
"pluginAlias": "@formant/formant-cli",
|
|
471
|
+
"pluginName": "@formant/formant-cli",
|
|
472
|
+
"pluginType": "core",
|
|
473
|
+
"strict": true,
|
|
474
|
+
"summary": "Get event trigger details",
|
|
475
|
+
"enableJsonFlag": true,
|
|
476
|
+
"isESM": true,
|
|
477
|
+
"relativePath": [
|
|
478
|
+
"dist",
|
|
479
|
+
"commands",
|
|
480
|
+
"event-trigger",
|
|
481
|
+
"get.js"
|
|
482
|
+
]
|
|
483
|
+
},
|
|
484
|
+
"event-trigger:list": {
|
|
485
|
+
"aliases": [],
|
|
486
|
+
"args": {},
|
|
487
|
+
"description": "List all event trigger rules in your organization.\n\nEvent triggers monitor device data and generate events/signals when conditions are met.\nThey can trigger investigations, send notifications, or execute commands.",
|
|
488
|
+
"examples": [
|
|
489
|
+
"<%= config.bin %> event-trigger list",
|
|
490
|
+
"<%= config.bin %> event-trigger list --json"
|
|
491
|
+
],
|
|
492
|
+
"flags": {
|
|
493
|
+
"json": {
|
|
494
|
+
"description": "Format output as json.",
|
|
495
|
+
"helpGroup": "GLOBAL",
|
|
496
|
+
"name": "json",
|
|
497
|
+
"allowNo": false,
|
|
498
|
+
"type": "boolean"
|
|
499
|
+
},
|
|
500
|
+
"dev": {
|
|
501
|
+
"description": "Target the dev environment",
|
|
502
|
+
"exclusive": [
|
|
503
|
+
"stage"
|
|
504
|
+
],
|
|
505
|
+
"helpGroup": "GLOBAL",
|
|
506
|
+
"name": "dev",
|
|
507
|
+
"allowNo": false,
|
|
508
|
+
"type": "boolean"
|
|
509
|
+
},
|
|
510
|
+
"stage": {
|
|
511
|
+
"description": "Target the stage environment",
|
|
512
|
+
"exclusive": [
|
|
513
|
+
"dev"
|
|
514
|
+
],
|
|
515
|
+
"helpGroup": "GLOBAL",
|
|
516
|
+
"name": "stage",
|
|
517
|
+
"allowNo": false,
|
|
518
|
+
"type": "boolean"
|
|
519
|
+
}
|
|
520
|
+
},
|
|
521
|
+
"hasDynamicHelp": false,
|
|
522
|
+
"hiddenAliases": [],
|
|
523
|
+
"id": "event-trigger:list",
|
|
524
|
+
"pluginAlias": "@formant/formant-cli",
|
|
525
|
+
"pluginName": "@formant/formant-cli",
|
|
526
|
+
"pluginType": "core",
|
|
527
|
+
"strict": true,
|
|
528
|
+
"summary": "List event trigger rules",
|
|
529
|
+
"enableJsonFlag": true,
|
|
530
|
+
"isESM": true,
|
|
531
|
+
"relativePath": [
|
|
532
|
+
"dist",
|
|
533
|
+
"commands",
|
|
534
|
+
"event-trigger",
|
|
535
|
+
"list.js"
|
|
536
|
+
]
|
|
537
|
+
},
|
|
371
538
|
"command:for-device": {
|
|
372
539
|
"aliases": [],
|
|
373
540
|
"args": {
|
|
@@ -704,19 +871,19 @@
|
|
|
704
871
|
"send.js"
|
|
705
872
|
]
|
|
706
873
|
},
|
|
707
|
-
"
|
|
874
|
+
"kv:get": {
|
|
708
875
|
"aliases": [],
|
|
709
876
|
"args": {
|
|
710
|
-
"
|
|
711
|
-
"description": "
|
|
712
|
-
"name": "
|
|
877
|
+
"key": {
|
|
878
|
+
"description": "Key to retrieve",
|
|
879
|
+
"name": "key",
|
|
713
880
|
"required": true
|
|
714
881
|
}
|
|
715
882
|
},
|
|
716
|
-
"description": "Get
|
|
883
|
+
"description": "Get a value from the key-value store.\n\nThe key-value store allows devices and applications to store metadata.",
|
|
717
884
|
"examples": [
|
|
718
|
-
"<%= config.bin %>
|
|
719
|
-
"<%= config.bin %>
|
|
885
|
+
"<%= config.bin %> kv get my-key",
|
|
886
|
+
"<%= config.bin %> kv get my-key --json"
|
|
720
887
|
],
|
|
721
888
|
"flags": {
|
|
722
889
|
"json": {
|
|
@@ -749,35 +916,30 @@
|
|
|
749
916
|
},
|
|
750
917
|
"hasDynamicHelp": false,
|
|
751
918
|
"hiddenAliases": [],
|
|
752
|
-
"id": "
|
|
919
|
+
"id": "kv:get",
|
|
753
920
|
"pluginAlias": "@formant/formant-cli",
|
|
754
921
|
"pluginName": "@formant/formant-cli",
|
|
755
922
|
"pluginType": "core",
|
|
756
923
|
"strict": true,
|
|
757
|
-
"summary": "Get
|
|
924
|
+
"summary": "Get key-value",
|
|
758
925
|
"enableJsonFlag": true,
|
|
759
926
|
"isESM": true,
|
|
760
927
|
"relativePath": [
|
|
761
928
|
"dist",
|
|
762
929
|
"commands",
|
|
763
|
-
"
|
|
764
|
-
"
|
|
930
|
+
"kv",
|
|
931
|
+
"get.js"
|
|
765
932
|
]
|
|
766
933
|
},
|
|
767
|
-
"
|
|
934
|
+
"kv:list": {
|
|
768
935
|
"aliases": [],
|
|
769
|
-
"args": {
|
|
770
|
-
|
|
771
|
-
"description": "Name for the new device",
|
|
772
|
-
"name": "name",
|
|
773
|
-
"required": true
|
|
774
|
-
}
|
|
775
|
-
},
|
|
776
|
-
"description": "Create a new device in your fleet.\n\nThe device is created as enabled by default. You can optionally specify tags.",
|
|
936
|
+
"args": {},
|
|
937
|
+
"description": "List all keys in the key-value store.\n\nShows all stored keys in the organization's key-value store. Use --prefix to filter\nkeys that start with a specific prefix, or --keys to query specific keys.",
|
|
777
938
|
"examples": [
|
|
778
|
-
"<%= config.bin %>
|
|
779
|
-
"<%= config.bin %>
|
|
780
|
-
"<%= config.bin %>
|
|
939
|
+
"<%= config.bin %> kv list",
|
|
940
|
+
"<%= config.bin %> kv list --prefix config",
|
|
941
|
+
"<%= config.bin %> kv list --keys key1 --keys key2 --keys key3",
|
|
942
|
+
"<%= config.bin %> kv list --json"
|
|
781
943
|
],
|
|
782
944
|
"flags": {
|
|
783
945
|
"json": {
|
|
@@ -807,45 +969,58 @@
|
|
|
807
969
|
"allowNo": false,
|
|
808
970
|
"type": "boolean"
|
|
809
971
|
},
|
|
810
|
-
"
|
|
811
|
-
"char": "
|
|
812
|
-
"description": "
|
|
813
|
-
"name": "
|
|
972
|
+
"keys": {
|
|
973
|
+
"char": "k",
|
|
974
|
+
"description": "Specific keys to query (can be specified multiple times)",
|
|
975
|
+
"name": "keys",
|
|
814
976
|
"hasDynamicHelp": false,
|
|
815
977
|
"multiple": true,
|
|
816
978
|
"type": "option"
|
|
979
|
+
},
|
|
980
|
+
"prefix": {
|
|
981
|
+
"char": "p",
|
|
982
|
+
"description": "Filter keys by prefix",
|
|
983
|
+
"name": "prefix",
|
|
984
|
+
"hasDynamicHelp": false,
|
|
985
|
+
"multiple": false,
|
|
986
|
+
"type": "option"
|
|
817
987
|
}
|
|
818
988
|
},
|
|
819
989
|
"hasDynamicHelp": false,
|
|
820
990
|
"hiddenAliases": [],
|
|
821
|
-
"id": "
|
|
991
|
+
"id": "kv:list",
|
|
822
992
|
"pluginAlias": "@formant/formant-cli",
|
|
823
993
|
"pluginName": "@formant/formant-cli",
|
|
824
994
|
"pluginType": "core",
|
|
825
995
|
"strict": true,
|
|
826
|
-
"summary": "
|
|
996
|
+
"summary": "List key-value keys",
|
|
827
997
|
"enableJsonFlag": true,
|
|
828
998
|
"isESM": true,
|
|
829
999
|
"relativePath": [
|
|
830
1000
|
"dist",
|
|
831
1001
|
"commands",
|
|
832
|
-
"
|
|
833
|
-
"
|
|
1002
|
+
"kv",
|
|
1003
|
+
"list.js"
|
|
834
1004
|
]
|
|
835
1005
|
},
|
|
836
|
-
"
|
|
1006
|
+
"kv:set": {
|
|
837
1007
|
"aliases": [],
|
|
838
1008
|
"args": {
|
|
839
|
-
"
|
|
840
|
-
"description": "
|
|
841
|
-
"name": "
|
|
1009
|
+
"key": {
|
|
1010
|
+
"description": "Key to set",
|
|
1011
|
+
"name": "key",
|
|
1012
|
+
"required": true
|
|
1013
|
+
},
|
|
1014
|
+
"value": {
|
|
1015
|
+
"description": "Value to store (JSON string)",
|
|
1016
|
+
"name": "value",
|
|
842
1017
|
"required": true
|
|
843
1018
|
}
|
|
844
1019
|
},
|
|
845
|
-
"description": "
|
|
1020
|
+
"description": "Set a value in the key-value store.\n\nStores a value associated with a key. The value should be a JSON string.",
|
|
846
1021
|
"examples": [
|
|
847
|
-
"<%= config.bin %>
|
|
848
|
-
"<%= config.bin %>
|
|
1022
|
+
"<%= config.bin %> kv set my-key '{\"data\": \"value\"}'",
|
|
1023
|
+
"<%= config.bin %> kv set config '{\"setting\": true}'"
|
|
849
1024
|
],
|
|
850
1025
|
"flags": {
|
|
851
1026
|
"json": {
|
|
@@ -878,34 +1053,28 @@
|
|
|
878
1053
|
},
|
|
879
1054
|
"hasDynamicHelp": false,
|
|
880
1055
|
"hiddenAliases": [],
|
|
881
|
-
"id": "
|
|
1056
|
+
"id": "kv:set",
|
|
882
1057
|
"pluginAlias": "@formant/formant-cli",
|
|
883
1058
|
"pluginName": "@formant/formant-cli",
|
|
884
1059
|
"pluginType": "core",
|
|
885
1060
|
"strict": true,
|
|
886
|
-
"summary": "
|
|
1061
|
+
"summary": "Set key-value",
|
|
887
1062
|
"enableJsonFlag": true,
|
|
888
1063
|
"isESM": true,
|
|
889
1064
|
"relativePath": [
|
|
890
1065
|
"dist",
|
|
891
1066
|
"commands",
|
|
892
|
-
"
|
|
893
|
-
"
|
|
1067
|
+
"kv",
|
|
1068
|
+
"set.js"
|
|
894
1069
|
]
|
|
895
1070
|
},
|
|
896
|
-
"
|
|
1071
|
+
"org:get": {
|
|
897
1072
|
"aliases": [],
|
|
898
|
-
"args": {
|
|
899
|
-
|
|
900
|
-
"description": "Device ID (UUID)",
|
|
901
|
-
"name": "id",
|
|
902
|
-
"required": true
|
|
903
|
-
}
|
|
904
|
-
},
|
|
905
|
-
"description": "Get detailed information about a specific device by its ID.",
|
|
1073
|
+
"args": {},
|
|
1074
|
+
"description": "Get information about your organization.\n\nDisplays the organization associated with your authenticated account.\nNo ID is needed — it is resolved automatically from your credentials.",
|
|
906
1075
|
"examples": [
|
|
907
|
-
"<%= config.bin %>
|
|
908
|
-
"<%= config.bin %>
|
|
1076
|
+
"<%= config.bin %> org get",
|
|
1077
|
+
"<%= config.bin %> org get --json"
|
|
909
1078
|
],
|
|
910
1079
|
"flags": {
|
|
911
1080
|
"json": {
|
|
@@ -938,33 +1107,30 @@
|
|
|
938
1107
|
},
|
|
939
1108
|
"hasDynamicHelp": false,
|
|
940
1109
|
"hiddenAliases": [],
|
|
941
|
-
"id": "
|
|
1110
|
+
"id": "org:get",
|
|
942
1111
|
"pluginAlias": "@formant/formant-cli",
|
|
943
1112
|
"pluginName": "@formant/formant-cli",
|
|
944
1113
|
"pluginType": "core",
|
|
945
1114
|
"strict": true,
|
|
946
|
-
"summary": "Get
|
|
1115
|
+
"summary": "Get your organization",
|
|
947
1116
|
"enableJsonFlag": true,
|
|
948
1117
|
"isESM": true,
|
|
949
1118
|
"relativePath": [
|
|
950
1119
|
"dist",
|
|
951
1120
|
"commands",
|
|
952
|
-
"
|
|
1121
|
+
"org",
|
|
953
1122
|
"get.js"
|
|
954
1123
|
]
|
|
955
1124
|
},
|
|
956
|
-
"
|
|
1125
|
+
"org:update": {
|
|
957
1126
|
"aliases": [],
|
|
958
1127
|
"args": {},
|
|
959
|
-
"description": "
|
|
1128
|
+
"description": "Update your organization's details.\n\nAt least one of --name or --description must be provided.",
|
|
960
1129
|
"examples": [
|
|
961
|
-
"<%= config.bin %>
|
|
962
|
-
"<%= config.bin %>
|
|
963
|
-
"<%= config.bin %>
|
|
964
|
-
"<%= config.bin %>
|
|
965
|
-
"<%= config.bin %> device list --include-offline --limit 100",
|
|
966
|
-
"<%= config.bin %> device list --tag location=warehouse",
|
|
967
|
-
"<%= config.bin %> device list --name robot --dev --json"
|
|
1130
|
+
"<%= config.bin %> org update --name \"My Fleet\"",
|
|
1131
|
+
"<%= config.bin %> org update --description \"Production robot fleet\"",
|
|
1132
|
+
"<%= config.bin %> org update --name \"My Fleet\" --description \"Production robot fleet\"",
|
|
1133
|
+
"<%= config.bin %> org update --name \"My Fleet\" --json"
|
|
968
1134
|
],
|
|
969
1135
|
"flags": {
|
|
970
1136
|
"json": {
|
|
@@ -994,89 +1160,49 @@
|
|
|
994
1160
|
"allowNo": false,
|
|
995
1161
|
"type": "boolean"
|
|
996
1162
|
},
|
|
997
|
-
"
|
|
998
|
-
"char": "
|
|
999
|
-
"description": "
|
|
1000
|
-
"name": "
|
|
1001
|
-
"allowNo": false,
|
|
1002
|
-
"type": "boolean"
|
|
1003
|
-
},
|
|
1004
|
-
"days": {
|
|
1005
|
-
"description": "How many days back to search for last seen data",
|
|
1006
|
-
"name": "days",
|
|
1007
|
-
"default": 30,
|
|
1008
|
-
"hasDynamicHelp": false,
|
|
1009
|
-
"multiple": false,
|
|
1010
|
-
"type": "option"
|
|
1011
|
-
},
|
|
1012
|
-
"limit": {
|
|
1013
|
-
"char": "l",
|
|
1014
|
-
"description": "Maximum number of devices to return",
|
|
1015
|
-
"name": "limit",
|
|
1016
|
-
"default": 50,
|
|
1163
|
+
"description": {
|
|
1164
|
+
"char": "d",
|
|
1165
|
+
"description": "New description for the organization",
|
|
1166
|
+
"name": "description",
|
|
1017
1167
|
"hasDynamicHelp": false,
|
|
1018
1168
|
"multiple": false,
|
|
1019
1169
|
"type": "option"
|
|
1020
1170
|
},
|
|
1021
1171
|
"name": {
|
|
1022
1172
|
"char": "n",
|
|
1023
|
-
"description": "
|
|
1173
|
+
"description": "New name for the organization",
|
|
1024
1174
|
"name": "name",
|
|
1025
1175
|
"hasDynamicHelp": false,
|
|
1026
1176
|
"multiple": false,
|
|
1027
1177
|
"type": "option"
|
|
1028
|
-
},
|
|
1029
|
-
"with-data": {
|
|
1030
|
-
"char": "w",
|
|
1031
|
-
"description": "Only show devices that have data in the last --days window",
|
|
1032
|
-
"name": "with-data",
|
|
1033
|
-
"allowNo": false,
|
|
1034
|
-
"type": "boolean"
|
|
1035
|
-
},
|
|
1036
|
-
"tag": {
|
|
1037
|
-
"char": "t",
|
|
1038
|
-
"description": "Filter by tag (key=value), can be specified multiple times",
|
|
1039
|
-
"name": "tag",
|
|
1040
|
-
"hasDynamicHelp": false,
|
|
1041
|
-
"multiple": true,
|
|
1042
|
-
"type": "option"
|
|
1043
1178
|
}
|
|
1044
1179
|
},
|
|
1045
1180
|
"hasDynamicHelp": false,
|
|
1046
1181
|
"hiddenAliases": [],
|
|
1047
|
-
"id": "
|
|
1182
|
+
"id": "org:update",
|
|
1048
1183
|
"pluginAlias": "@formant/formant-cli",
|
|
1049
1184
|
"pluginName": "@formant/formant-cli",
|
|
1050
1185
|
"pluginType": "core",
|
|
1051
1186
|
"strict": true,
|
|
1052
|
-
"summary": "
|
|
1187
|
+
"summary": "Update your organization",
|
|
1053
1188
|
"enableJsonFlag": true,
|
|
1054
1189
|
"isESM": true,
|
|
1055
1190
|
"relativePath": [
|
|
1056
1191
|
"dist",
|
|
1057
1192
|
"commands",
|
|
1058
|
-
"
|
|
1059
|
-
"
|
|
1193
|
+
"org",
|
|
1194
|
+
"update.js"
|
|
1060
1195
|
]
|
|
1061
1196
|
},
|
|
1062
|
-
"
|
|
1197
|
+
"ingest:batch": {
|
|
1063
1198
|
"aliases": [],
|
|
1064
|
-
"args": {
|
|
1065
|
-
"
|
|
1066
|
-
"description": "Device ID (UUID)",
|
|
1067
|
-
"name": "id",
|
|
1068
|
-
"required": true
|
|
1069
|
-
},
|
|
1070
|
-
"name": {
|
|
1071
|
-
"description": "New name for the device",
|
|
1072
|
-
"name": "name",
|
|
1073
|
-
"required": true
|
|
1074
|
-
}
|
|
1075
|
-
},
|
|
1076
|
-
"description": "Rename a device by updating its name.",
|
|
1199
|
+
"args": {},
|
|
1200
|
+
"description": "Ingest multiple data points in a single batch request.\n\nReads a JSON file (or stdin) containing a batch ingestion payload and sends all data points\nin a single API request. This is more efficient than sending individual data points when you\nhave multiple values to ingest.\n\nINPUT FORMAT:\nThe input JSON must have the following structure:\n{\n \"items\": [\n {\n \"deviceId\": \"device-uuid\", // Required: Device ID (UUID)\n \"name\": \"stream-name\", // Required: Stream name\n \"type\": \"numeric|text|json|...\", // Required: Data type (see below)\n \"tags\": {\"key\": \"value\"}, // Optional: Tags object (string key-value pairs)\n \"points\": [[timestamp_ms, value]] // Required: Array of [timestamp, value] pairs\n }\n ]\n}\n\nSUPPORTED TYPES AND VALUE FORMATS:\n- numeric: Number value\n Example: \"points\": [[1708272000000, 42.5]]\n\n- text: String value\n Example: \"points\": [[1708272000000, \"hello world\"]]\n\n- json: JSON object encoded as string\n Example: \"points\": [[1708272000000, \"{\\\"x\\\":10,\\\"y\\\":20}\"]]\n\n- image: Object with url (required), size and annotations (optional)\n Example: \"points\": [[1708272000000, {\"url\": \"https://example.com/img.jpg\", \"size\": 102400}]]\n\n- video: Object with url, duration, mimeType (required), size (optional)\n Example: \"points\": [[1708272000000, {\"url\": \"https://example.com/vid.mp4\", \"duration\": 30000, \"mimeType\": \"video/mp4\"}]]\n\n- bitset: Object with keys array and values array (1-1000 pairs)\n Example: \"points\": [[1708272000000, {\"keys\": [\"door\", \"window\"], \"values\": [true, false]}]]\n\n- health: Object with status (required) and clockSkewMs (optional)\n Example: \"points\": [[1708272000000, {\"status\": \"operational\", \"clockSkewMs\": 150}]]\n Valid status values: \"unknown\", \"operational\", \"offline\", \"error\"\n\nEach item can have multiple points (timestamp/value pairs) for the same stream.\nTimestamps are Unix milliseconds (use Date.now() for current time).",
|
|
1077
1201
|
"examples": [
|
|
1078
|
-
"<%= config.bin %>
|
|
1079
|
-
"<%= config.bin %>
|
|
1202
|
+
"<%= config.bin %> ingest batch --file data.json",
|
|
1203
|
+
"<%= config.bin %> ingest batch --stdin < data.json",
|
|
1204
|
+
"cat payload.json | <%= config.bin %> ingest batch --stdin",
|
|
1205
|
+
"# Example payload.json with multiple types:\n{\n \"items\": [\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"battery_level\",\n \"type\": \"numeric\",\n \"tags\": {\"env\": \"prod\"},\n \"points\": [[1708272000000, 42.5], [1708272060000, 41.8]]\n },\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"status\",\n \"type\": \"text\",\n \"tags\": {\"env\": \"prod\"},\n \"points\": [[1708272000000, \"operational\"]]\n },\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"health\",\n \"type\": \"health\",\n \"tags\": {},\n \"points\": [[1708272000000, {\"status\": \"operational\"}]]\n }\n ]\n}"
|
|
1080
1206
|
],
|
|
1081
1207
|
"flags": {
|
|
1082
1208
|
"json": {
|
|
@@ -1105,40 +1231,53 @@
|
|
|
1105
1231
|
"name": "stage",
|
|
1106
1232
|
"allowNo": false,
|
|
1107
1233
|
"type": "boolean"
|
|
1234
|
+
},
|
|
1235
|
+
"file": {
|
|
1236
|
+
"char": "f",
|
|
1237
|
+
"description": "Path to JSON file containing batch payload",
|
|
1238
|
+
"exclusive": [
|
|
1239
|
+
"stdin"
|
|
1240
|
+
],
|
|
1241
|
+
"name": "file",
|
|
1242
|
+
"hasDynamicHelp": false,
|
|
1243
|
+
"multiple": false,
|
|
1244
|
+
"type": "option"
|
|
1245
|
+
},
|
|
1246
|
+
"stdin": {
|
|
1247
|
+
"description": "Read JSON payload from stdin",
|
|
1248
|
+
"exclusive": [
|
|
1249
|
+
"file"
|
|
1250
|
+
],
|
|
1251
|
+
"name": "stdin",
|
|
1252
|
+
"allowNo": false,
|
|
1253
|
+
"type": "boolean"
|
|
1108
1254
|
}
|
|
1109
1255
|
},
|
|
1110
1256
|
"hasDynamicHelp": false,
|
|
1111
1257
|
"hiddenAliases": [],
|
|
1112
|
-
"id": "
|
|
1258
|
+
"id": "ingest:batch",
|
|
1113
1259
|
"pluginAlias": "@formant/formant-cli",
|
|
1114
1260
|
"pluginName": "@formant/formant-cli",
|
|
1115
1261
|
"pluginType": "core",
|
|
1116
1262
|
"strict": true,
|
|
1117
|
-
"summary": "
|
|
1263
|
+
"summary": "Ingest batch data from file or stdin",
|
|
1118
1264
|
"enableJsonFlag": true,
|
|
1119
1265
|
"isESM": true,
|
|
1120
1266
|
"relativePath": [
|
|
1121
1267
|
"dist",
|
|
1122
1268
|
"commands",
|
|
1123
|
-
"
|
|
1124
|
-
"
|
|
1269
|
+
"ingest",
|
|
1270
|
+
"batch.js"
|
|
1125
1271
|
]
|
|
1126
1272
|
},
|
|
1127
|
-
"
|
|
1273
|
+
"ingest:bitset": {
|
|
1128
1274
|
"aliases": [],
|
|
1129
|
-
"args": {
|
|
1130
|
-
|
|
1131
|
-
"description": "Device ID (UUID)",
|
|
1132
|
-
"name": "id",
|
|
1133
|
-
"required": true
|
|
1134
|
-
}
|
|
1135
|
-
},
|
|
1136
|
-
"description": "List telemetry streams for a device with data presence.\n\nShows streams from the device configuration and any streams discovered from\ningested data. Each stream is enriched with presence info from the analytics\nbackend: data point count, last seen time, and a freshness indicator\n(active/recent/stale/dormant).\n\nUnconfigured streams (discovered from data only) are marked with SOURCE \"data\".",
|
|
1275
|
+
"args": {},
|
|
1276
|
+
"description": "Ingest a bitset data point to a device stream.\n\nSends a bitset (array of named boolean values) to the specified device stream. A bitset\nconsists of parallel arrays of keys (strings) and values (booleans).\n\nBitsets are useful for representing sets of binary states, flags, or boolean sensor readings\nwhere you have multiple named on/off states.\n\nConstraints:\n- Must have 1-1000 key/value pairs\n- Keys must be max 255 characters each\n- Keys and values arrays must have the same length",
|
|
1137
1277
|
"examples": [
|
|
1138
|
-
"<%= config.bin %> device
|
|
1139
|
-
"<%= config.bin %> device
|
|
1140
|
-
"<%= config.bin %> device
|
|
1141
|
-
"<%= config.bin %> device streams <device-id> --json"
|
|
1278
|
+
"<%= config.bin %> ingest bitset --device <device-id> --stream sensors --keys \"door,window,motion\" --values \"true,false,true\"",
|
|
1279
|
+
"<%= config.bin %> ingest bitset --device <device-id> --stream flags --keys \"active,paused,error\" --values \"true,false,false\" --tag system=main",
|
|
1280
|
+
"<%= config.bin %> ingest bitset --device <device-id> --stream states --keys \"a,b\" --values \"false,true\""
|
|
1142
1281
|
],
|
|
1143
1282
|
"flags": {
|
|
1144
1283
|
"json": {
|
|
@@ -1168,53 +1307,83 @@
|
|
|
1168
1307
|
"allowNo": false,
|
|
1169
1308
|
"type": "boolean"
|
|
1170
1309
|
},
|
|
1171
|
-
"
|
|
1172
|
-
"
|
|
1173
|
-
"
|
|
1174
|
-
"
|
|
1310
|
+
"device": {
|
|
1311
|
+
"char": "d",
|
|
1312
|
+
"description": "Device ID (UUID)",
|
|
1313
|
+
"name": "device",
|
|
1314
|
+
"required": true,
|
|
1175
1315
|
"hasDynamicHelp": false,
|
|
1176
1316
|
"multiple": false,
|
|
1177
1317
|
"type": "option"
|
|
1178
1318
|
},
|
|
1179
|
-
"
|
|
1180
|
-
"char": "
|
|
1181
|
-
"description": "
|
|
1182
|
-
"name": "
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
1319
|
+
"stream": {
|
|
1320
|
+
"char": "s",
|
|
1321
|
+
"description": "Stream name",
|
|
1322
|
+
"name": "stream",
|
|
1323
|
+
"required": true,
|
|
1324
|
+
"hasDynamicHelp": false,
|
|
1325
|
+
"multiple": false,
|
|
1326
|
+
"type": "option"
|
|
1327
|
+
},
|
|
1328
|
+
"keys": {
|
|
1329
|
+
"char": "k",
|
|
1330
|
+
"description": "Comma-separated list of key names (1-1000 keys, max 255 chars each)",
|
|
1331
|
+
"name": "keys",
|
|
1332
|
+
"required": true,
|
|
1333
|
+
"hasDynamicHelp": false,
|
|
1334
|
+
"multiple": false,
|
|
1335
|
+
"type": "option"
|
|
1336
|
+
},
|
|
1337
|
+
"values": {
|
|
1338
|
+
"char": "v",
|
|
1339
|
+
"description": "Comma-separated list of boolean values (true/false, must match key count)",
|
|
1340
|
+
"name": "values",
|
|
1341
|
+
"required": true,
|
|
1342
|
+
"hasDynamicHelp": false,
|
|
1343
|
+
"multiple": false,
|
|
1344
|
+
"type": "option"
|
|
1345
|
+
},
|
|
1346
|
+
"tag": {
|
|
1347
|
+
"char": "t",
|
|
1348
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1349
|
+
"name": "tag",
|
|
1350
|
+
"hasDynamicHelp": false,
|
|
1351
|
+
"multiple": true,
|
|
1352
|
+
"type": "option"
|
|
1353
|
+
},
|
|
1354
|
+
"timestamp": {
|
|
1355
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1356
|
+
"name": "timestamp",
|
|
1357
|
+
"hasDynamicHelp": false,
|
|
1358
|
+
"multiple": false,
|
|
1359
|
+
"type": "option"
|
|
1185
1360
|
}
|
|
1186
1361
|
},
|
|
1187
1362
|
"hasDynamicHelp": false,
|
|
1188
1363
|
"hiddenAliases": [],
|
|
1189
|
-
"id": "
|
|
1364
|
+
"id": "ingest:bitset",
|
|
1190
1365
|
"pluginAlias": "@formant/formant-cli",
|
|
1191
1366
|
"pluginName": "@formant/formant-cli",
|
|
1192
1367
|
"pluginType": "core",
|
|
1193
1368
|
"strict": true,
|
|
1194
|
-
"summary": "
|
|
1369
|
+
"summary": "Ingest bitset data",
|
|
1195
1370
|
"enableJsonFlag": true,
|
|
1196
1371
|
"isESM": true,
|
|
1197
1372
|
"relativePath": [
|
|
1198
1373
|
"dist",
|
|
1199
1374
|
"commands",
|
|
1200
|
-
"
|
|
1201
|
-
"
|
|
1375
|
+
"ingest",
|
|
1376
|
+
"bitset.js"
|
|
1202
1377
|
]
|
|
1203
1378
|
},
|
|
1204
|
-
"
|
|
1379
|
+
"ingest:health": {
|
|
1205
1380
|
"aliases": [],
|
|
1206
|
-
"args": {
|
|
1207
|
-
|
|
1208
|
-
"description": "Device ID (UUID)",
|
|
1209
|
-
"name": "id",
|
|
1210
|
-
"required": true
|
|
1211
|
-
}
|
|
1212
|
-
},
|
|
1213
|
-
"description": "Add or update tags on a device.\n\nTags are key-value pairs. If a tag key already exists, its value will be updated.\nSpecify one or more tags with --tag key=value.",
|
|
1381
|
+
"args": {},
|
|
1382
|
+
"description": "Ingest a health status data point to a device stream.\n\nSends device health status information to the specified stream. Health data consists of:\n- status: One of \"unknown\", \"operational\", \"offline\", or \"error\"\n- clockSkewMs (optional): Clock skew in milliseconds between device and server\n\nHealth streams are used to track device operational state, system health, and time synchronization.",
|
|
1214
1383
|
"examples": [
|
|
1215
|
-
"<%= config.bin %> device
|
|
1216
|
-
"<%= config.bin %> device
|
|
1217
|
-
"<%= config.bin %> device
|
|
1384
|
+
"<%= config.bin %> ingest health --device <device-id> --stream system_health --status operational",
|
|
1385
|
+
"<%= config.bin %> ingest health --device <device-id> --stream health --status error --tag component=motor",
|
|
1386
|
+
"<%= config.bin %> ingest health --device <device-id> --stream sync --status operational --clock-skew 150"
|
|
1218
1387
|
],
|
|
1219
1388
|
"flags": {
|
|
1220
1389
|
"json": {
|
|
@@ -1244,47 +1413,86 @@
|
|
|
1244
1413
|
"allowNo": false,
|
|
1245
1414
|
"type": "boolean"
|
|
1246
1415
|
},
|
|
1416
|
+
"device": {
|
|
1417
|
+
"char": "d",
|
|
1418
|
+
"description": "Device ID (UUID)",
|
|
1419
|
+
"name": "device",
|
|
1420
|
+
"required": true,
|
|
1421
|
+
"hasDynamicHelp": false,
|
|
1422
|
+
"multiple": false,
|
|
1423
|
+
"type": "option"
|
|
1424
|
+
},
|
|
1425
|
+
"stream": {
|
|
1426
|
+
"char": "s",
|
|
1427
|
+
"description": "Stream name",
|
|
1428
|
+
"name": "stream",
|
|
1429
|
+
"required": true,
|
|
1430
|
+
"hasDynamicHelp": false,
|
|
1431
|
+
"multiple": false,
|
|
1432
|
+
"type": "option"
|
|
1433
|
+
},
|
|
1434
|
+
"status": {
|
|
1435
|
+
"description": "Health status (unknown, operational, offline, or error)",
|
|
1436
|
+
"name": "status",
|
|
1437
|
+
"required": true,
|
|
1438
|
+
"hasDynamicHelp": false,
|
|
1439
|
+
"multiple": false,
|
|
1440
|
+
"options": [
|
|
1441
|
+
"unknown",
|
|
1442
|
+
"operational",
|
|
1443
|
+
"offline",
|
|
1444
|
+
"error"
|
|
1445
|
+
],
|
|
1446
|
+
"type": "option"
|
|
1447
|
+
},
|
|
1448
|
+
"clock-skew": {
|
|
1449
|
+
"description": "Clock skew in milliseconds (optional)",
|
|
1450
|
+
"name": "clock-skew",
|
|
1451
|
+
"hasDynamicHelp": false,
|
|
1452
|
+
"multiple": false,
|
|
1453
|
+
"type": "option"
|
|
1454
|
+
},
|
|
1247
1455
|
"tag": {
|
|
1248
1456
|
"char": "t",
|
|
1249
|
-
"description": "Tag
|
|
1457
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1250
1458
|
"name": "tag",
|
|
1251
|
-
"required": true,
|
|
1252
1459
|
"hasDynamicHelp": false,
|
|
1253
1460
|
"multiple": true,
|
|
1254
1461
|
"type": "option"
|
|
1462
|
+
},
|
|
1463
|
+
"timestamp": {
|
|
1464
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1465
|
+
"name": "timestamp",
|
|
1466
|
+
"hasDynamicHelp": false,
|
|
1467
|
+
"multiple": false,
|
|
1468
|
+
"type": "option"
|
|
1255
1469
|
}
|
|
1256
1470
|
},
|
|
1257
1471
|
"hasDynamicHelp": false,
|
|
1258
1472
|
"hiddenAliases": [],
|
|
1259
|
-
"id": "
|
|
1473
|
+
"id": "ingest:health",
|
|
1260
1474
|
"pluginAlias": "@formant/formant-cli",
|
|
1261
1475
|
"pluginName": "@formant/formant-cli",
|
|
1262
1476
|
"pluginType": "core",
|
|
1263
1477
|
"strict": true,
|
|
1264
|
-
"summary": "
|
|
1478
|
+
"summary": "Ingest health status data",
|
|
1265
1479
|
"enableJsonFlag": true,
|
|
1266
1480
|
"isESM": true,
|
|
1267
1481
|
"relativePath": [
|
|
1268
1482
|
"dist",
|
|
1269
1483
|
"commands",
|
|
1270
|
-
"
|
|
1271
|
-
"
|
|
1484
|
+
"ingest",
|
|
1485
|
+
"health.js"
|
|
1272
1486
|
]
|
|
1273
1487
|
},
|
|
1274
|
-
"
|
|
1488
|
+
"ingest:image": {
|
|
1275
1489
|
"aliases": [],
|
|
1276
|
-
"args": {
|
|
1277
|
-
|
|
1278
|
-
"description": "Device ID (UUID)",
|
|
1279
|
-
"name": "id",
|
|
1280
|
-
"required": true
|
|
1281
|
-
}
|
|
1282
|
-
},
|
|
1283
|
-
"description": "Remove tags from a device.\n\nSpecify one or more tag keys to remove with --key.",
|
|
1490
|
+
"args": {},
|
|
1491
|
+
"description": "Ingest an image URL to a device stream.\n\nSends an image reference (by URL) to the specified device stream. The image must be accessible\nvia HTTP/HTTPS. Formant will fetch and store the image from the provided URL.\n\nImage streams are used for camera feeds, snapshots, diagnostic images, etc.",
|
|
1284
1492
|
"examples": [
|
|
1285
|
-
"<%= config.bin %> device
|
|
1286
|
-
"<%= config.bin %> device
|
|
1287
|
-
"<%= config.bin %> device
|
|
1493
|
+
"<%= config.bin %> ingest image --device <device-id> --stream camera_front --url https://example.com/image.jpg",
|
|
1494
|
+
"<%= config.bin %> ingest image --device <device-id> --stream snapshot --url https://example.com/snap.png --size 1024000",
|
|
1495
|
+
"<%= config.bin %> ingest image --device <device-id> --stream detection --url https://example.com/detect.jpg --tag frame=123"
|
|
1288
1496
|
],
|
|
1289
1497
|
"flags": {
|
|
1290
1498
|
"json": {
|
|
@@ -1314,46 +1522,87 @@
|
|
|
1314
1522
|
"allowNo": false,
|
|
1315
1523
|
"type": "boolean"
|
|
1316
1524
|
},
|
|
1317
|
-
"
|
|
1318
|
-
"char": "
|
|
1319
|
-
"description": "
|
|
1320
|
-
"name": "
|
|
1525
|
+
"device": {
|
|
1526
|
+
"char": "d",
|
|
1527
|
+
"description": "Device ID (UUID)",
|
|
1528
|
+
"name": "device",
|
|
1529
|
+
"required": true,
|
|
1530
|
+
"hasDynamicHelp": false,
|
|
1531
|
+
"multiple": false,
|
|
1532
|
+
"type": "option"
|
|
1533
|
+
},
|
|
1534
|
+
"stream": {
|
|
1535
|
+
"char": "s",
|
|
1536
|
+
"description": "Stream name",
|
|
1537
|
+
"name": "stream",
|
|
1538
|
+
"required": true,
|
|
1539
|
+
"hasDynamicHelp": false,
|
|
1540
|
+
"multiple": false,
|
|
1541
|
+
"type": "option"
|
|
1542
|
+
},
|
|
1543
|
+
"url": {
|
|
1544
|
+
"char": "u",
|
|
1545
|
+
"description": "Image URL (must be http:// or https://)",
|
|
1546
|
+
"name": "url",
|
|
1321
1547
|
"required": true,
|
|
1322
1548
|
"hasDynamicHelp": false,
|
|
1549
|
+
"multiple": false,
|
|
1550
|
+
"type": "option"
|
|
1551
|
+
},
|
|
1552
|
+
"size": {
|
|
1553
|
+
"description": "Image size in bytes (optional)",
|
|
1554
|
+
"name": "size",
|
|
1555
|
+
"hasDynamicHelp": false,
|
|
1556
|
+
"multiple": false,
|
|
1557
|
+
"type": "option"
|
|
1558
|
+
},
|
|
1559
|
+
"tag": {
|
|
1560
|
+
"char": "t",
|
|
1561
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1562
|
+
"name": "tag",
|
|
1563
|
+
"hasDynamicHelp": false,
|
|
1323
1564
|
"multiple": true,
|
|
1324
1565
|
"type": "option"
|
|
1566
|
+
},
|
|
1567
|
+
"timestamp": {
|
|
1568
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1569
|
+
"name": "timestamp",
|
|
1570
|
+
"hasDynamicHelp": false,
|
|
1571
|
+
"multiple": false,
|
|
1572
|
+
"type": "option"
|
|
1325
1573
|
}
|
|
1326
1574
|
},
|
|
1327
1575
|
"hasDynamicHelp": false,
|
|
1328
1576
|
"hiddenAliases": [],
|
|
1329
|
-
"id": "
|
|
1577
|
+
"id": "ingest:image",
|
|
1330
1578
|
"pluginAlias": "@formant/formant-cli",
|
|
1331
1579
|
"pluginName": "@formant/formant-cli",
|
|
1332
1580
|
"pluginType": "core",
|
|
1333
1581
|
"strict": true,
|
|
1334
|
-
"summary": "
|
|
1582
|
+
"summary": "Ingest image data",
|
|
1335
1583
|
"enableJsonFlag": true,
|
|
1336
1584
|
"isESM": true,
|
|
1337
1585
|
"relativePath": [
|
|
1338
1586
|
"dist",
|
|
1339
1587
|
"commands",
|
|
1340
|
-
"
|
|
1341
|
-
"
|
|
1588
|
+
"ingest",
|
|
1589
|
+
"image.js"
|
|
1342
1590
|
]
|
|
1343
1591
|
},
|
|
1344
|
-
"
|
|
1592
|
+
"ingest:json": {
|
|
1345
1593
|
"aliases": [],
|
|
1346
1594
|
"args": {
|
|
1347
|
-
"
|
|
1348
|
-
"description": "
|
|
1349
|
-
"name": "
|
|
1595
|
+
"value": {
|
|
1596
|
+
"description": "JSON value to ingest (as a JSON string)",
|
|
1597
|
+
"name": "value",
|
|
1350
1598
|
"required": true
|
|
1351
1599
|
}
|
|
1352
1600
|
},
|
|
1353
|
-
"description": "
|
|
1601
|
+
"description": "Ingest a JSON data point to a device stream.\n\nSends structured JSON data to the specified device stream. The value must be valid JSON.\nJSON streams are used for complex structured data like configuration objects, state machines,\nnested telemetry, etc.\n\nNote: The JSON is sent as a JSON-encoded string to Formant.",
|
|
1354
1602
|
"examples": [
|
|
1355
|
-
"<%= config.bin %>
|
|
1356
|
-
"<%= config.bin %>
|
|
1603
|
+
"<%= config.bin %> ingest json '{\"x\":1,\"y\":2}' --device <device-id> --stream position",
|
|
1604
|
+
"<%= config.bin %> ingest json '{\"status\":\"active\",\"mode\":\"auto\"}' --device <device-id> --stream config",
|
|
1605
|
+
"<%= config.bin %> ingest json '[1,2,3,4,5]' --device <device-id> --stream array_data"
|
|
1357
1606
|
],
|
|
1358
1607
|
"flags": {
|
|
1359
1608
|
"json": {
|
|
@@ -1382,34 +1631,72 @@
|
|
|
1382
1631
|
"name": "stage",
|
|
1383
1632
|
"allowNo": false,
|
|
1384
1633
|
"type": "boolean"
|
|
1634
|
+
},
|
|
1635
|
+
"device": {
|
|
1636
|
+
"char": "d",
|
|
1637
|
+
"description": "Device ID (UUID)",
|
|
1638
|
+
"name": "device",
|
|
1639
|
+
"required": true,
|
|
1640
|
+
"hasDynamicHelp": false,
|
|
1641
|
+
"multiple": false,
|
|
1642
|
+
"type": "option"
|
|
1643
|
+
},
|
|
1644
|
+
"stream": {
|
|
1645
|
+
"char": "s",
|
|
1646
|
+
"description": "Stream name",
|
|
1647
|
+
"name": "stream",
|
|
1648
|
+
"required": true,
|
|
1649
|
+
"hasDynamicHelp": false,
|
|
1650
|
+
"multiple": false,
|
|
1651
|
+
"type": "option"
|
|
1652
|
+
},
|
|
1653
|
+
"tag": {
|
|
1654
|
+
"char": "t",
|
|
1655
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1656
|
+
"name": "tag",
|
|
1657
|
+
"hasDynamicHelp": false,
|
|
1658
|
+
"multiple": true,
|
|
1659
|
+
"type": "option"
|
|
1660
|
+
},
|
|
1661
|
+
"timestamp": {
|
|
1662
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1663
|
+
"name": "timestamp",
|
|
1664
|
+
"hasDynamicHelp": false,
|
|
1665
|
+
"multiple": false,
|
|
1666
|
+
"type": "option"
|
|
1385
1667
|
}
|
|
1386
1668
|
},
|
|
1387
1669
|
"hasDynamicHelp": false,
|
|
1388
1670
|
"hiddenAliases": [],
|
|
1389
|
-
"id": "
|
|
1671
|
+
"id": "ingest:json",
|
|
1390
1672
|
"pluginAlias": "@formant/formant-cli",
|
|
1391
1673
|
"pluginName": "@formant/formant-cli",
|
|
1392
1674
|
"pluginType": "core",
|
|
1393
1675
|
"strict": true,
|
|
1394
|
-
"summary": "
|
|
1676
|
+
"summary": "Ingest JSON data",
|
|
1395
1677
|
"enableJsonFlag": true,
|
|
1396
1678
|
"isESM": true,
|
|
1397
1679
|
"relativePath": [
|
|
1398
1680
|
"dist",
|
|
1399
1681
|
"commands",
|
|
1400
|
-
"
|
|
1401
|
-
"
|
|
1682
|
+
"ingest",
|
|
1683
|
+
"json.js"
|
|
1402
1684
|
]
|
|
1403
1685
|
},
|
|
1404
|
-
"
|
|
1686
|
+
"ingest:numeric": {
|
|
1405
1687
|
"aliases": [],
|
|
1406
|
-
"args": {
|
|
1407
|
-
|
|
1688
|
+
"args": {
|
|
1689
|
+
"value": {
|
|
1690
|
+
"description": "Numeric value to ingest",
|
|
1691
|
+
"name": "value",
|
|
1692
|
+
"required": true
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1695
|
+
"description": "Ingest a numeric data point to a device stream.\n\nSends a single numeric value to the specified device stream. The value must be a valid number.\nNumeric streams are commonly used for sensor readings like battery level, temperature, speed, etc.",
|
|
1408
1696
|
"examples": [
|
|
1409
|
-
"<%= config.bin %>
|
|
1410
|
-
"<%= config.bin %>
|
|
1411
|
-
"<%= config.bin %>
|
|
1412
|
-
"<%= config.bin %> event list --limit 100 --json"
|
|
1697
|
+
"<%= config.bin %> ingest numeric 42.5 --device <device-id> --stream battery_level",
|
|
1698
|
+
"<%= config.bin %> ingest numeric 98.6 --device <device-id> --stream temperature --tag unit=fahrenheit",
|
|
1699
|
+
"<%= config.bin %> ingest numeric 1500 --device <device-id> --stream rpm --timestamp 1700000000000"
|
|
1413
1700
|
],
|
|
1414
1701
|
"flags": {
|
|
1415
1702
|
"json": {
|
|
@@ -1441,51 +1728,33 @@
|
|
|
1441
1728
|
},
|
|
1442
1729
|
"device": {
|
|
1443
1730
|
"char": "d",
|
|
1444
|
-
"description": "
|
|
1731
|
+
"description": "Device ID (UUID)",
|
|
1445
1732
|
"name": "device",
|
|
1733
|
+
"required": true,
|
|
1446
1734
|
"hasDynamicHelp": false,
|
|
1447
1735
|
"multiple": false,
|
|
1448
1736
|
"type": "option"
|
|
1449
1737
|
},
|
|
1450
|
-
"
|
|
1451
|
-
"
|
|
1452
|
-
"
|
|
1738
|
+
"stream": {
|
|
1739
|
+
"char": "s",
|
|
1740
|
+
"description": "Stream name",
|
|
1741
|
+
"name": "stream",
|
|
1742
|
+
"required": true,
|
|
1453
1743
|
"hasDynamicHelp": false,
|
|
1454
1744
|
"multiple": false,
|
|
1455
1745
|
"type": "option"
|
|
1456
1746
|
},
|
|
1457
|
-
"
|
|
1458
|
-
"char": "
|
|
1459
|
-
"description": "
|
|
1460
|
-
"name": "
|
|
1461
|
-
"default": 25,
|
|
1747
|
+
"tag": {
|
|
1748
|
+
"char": "t",
|
|
1749
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1750
|
+
"name": "tag",
|
|
1462
1751
|
"hasDynamicHelp": false,
|
|
1463
|
-
"multiple":
|
|
1752
|
+
"multiple": true,
|
|
1464
1753
|
"type": "option"
|
|
1465
1754
|
},
|
|
1466
|
-
"
|
|
1467
|
-
"description": "
|
|
1468
|
-
"name": "
|
|
1469
|
-
"hasDynamicHelp": false,
|
|
1470
|
-
"multiple": false,
|
|
1471
|
-
"options": [
|
|
1472
|
-
"info",
|
|
1473
|
-
"warning",
|
|
1474
|
-
"error",
|
|
1475
|
-
"critical"
|
|
1476
|
-
],
|
|
1477
|
-
"type": "option"
|
|
1478
|
-
},
|
|
1479
|
-
"start": {
|
|
1480
|
-
"description": "Start time (ISO 8601)",
|
|
1481
|
-
"name": "start",
|
|
1482
|
-
"hasDynamicHelp": false,
|
|
1483
|
-
"multiple": false,
|
|
1484
|
-
"type": "option"
|
|
1485
|
-
},
|
|
1486
|
-
"type": {
|
|
1487
|
-
"description": "Filter by event type",
|
|
1488
|
-
"name": "type",
|
|
1755
|
+
"timestamp": {
|
|
1756
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1757
|
+
"name": "timestamp",
|
|
1489
1758
|
"hasDynamicHelp": false,
|
|
1490
1759
|
"multiple": false,
|
|
1491
1760
|
"type": "option"
|
|
@@ -1493,28 +1762,35 @@
|
|
|
1493
1762
|
},
|
|
1494
1763
|
"hasDynamicHelp": false,
|
|
1495
1764
|
"hiddenAliases": [],
|
|
1496
|
-
"id": "
|
|
1765
|
+
"id": "ingest:numeric",
|
|
1497
1766
|
"pluginAlias": "@formant/formant-cli",
|
|
1498
1767
|
"pluginName": "@formant/formant-cli",
|
|
1499
1768
|
"pluginType": "core",
|
|
1500
1769
|
"strict": true,
|
|
1501
|
-
"summary": "
|
|
1770
|
+
"summary": "Ingest numeric data",
|
|
1502
1771
|
"enableJsonFlag": true,
|
|
1503
1772
|
"isESM": true,
|
|
1504
1773
|
"relativePath": [
|
|
1505
1774
|
"dist",
|
|
1506
1775
|
"commands",
|
|
1507
|
-
"
|
|
1508
|
-
"
|
|
1776
|
+
"ingest",
|
|
1777
|
+
"numeric.js"
|
|
1509
1778
|
]
|
|
1510
1779
|
},
|
|
1511
|
-
"
|
|
1780
|
+
"ingest:text": {
|
|
1512
1781
|
"aliases": [],
|
|
1513
|
-
"args": {
|
|
1514
|
-
|
|
1782
|
+
"args": {
|
|
1783
|
+
"value": {
|
|
1784
|
+
"description": "Text value to ingest",
|
|
1785
|
+
"name": "value",
|
|
1786
|
+
"required": true
|
|
1787
|
+
}
|
|
1788
|
+
},
|
|
1789
|
+
"description": "Ingest a text data point to a device stream.\n\nSends a single text/string value to the specified device stream. Text streams are commonly\nused for logs, status messages, error messages, and other string data.",
|
|
1515
1790
|
"examples": [
|
|
1516
|
-
"<%= config.bin %>
|
|
1517
|
-
"<%= config.bin %>
|
|
1791
|
+
"<%= config.bin %> ingest text \"Robot started successfully\" --device <device-id> --stream status",
|
|
1792
|
+
"<%= config.bin %> ingest text \"Error: sensor offline\" --device <device-id> --stream errors --tag severity=high",
|
|
1793
|
+
"<%= config.bin %> ingest text \"Checkpoint A reached\" --device <device-id> --stream waypoints"
|
|
1518
1794
|
],
|
|
1519
1795
|
"flags": {
|
|
1520
1796
|
"json": {
|
|
@@ -1543,34 +1819,66 @@
|
|
|
1543
1819
|
"name": "stage",
|
|
1544
1820
|
"allowNo": false,
|
|
1545
1821
|
"type": "boolean"
|
|
1822
|
+
},
|
|
1823
|
+
"device": {
|
|
1824
|
+
"char": "d",
|
|
1825
|
+
"description": "Device ID (UUID)",
|
|
1826
|
+
"name": "device",
|
|
1827
|
+
"required": true,
|
|
1828
|
+
"hasDynamicHelp": false,
|
|
1829
|
+
"multiple": false,
|
|
1830
|
+
"type": "option"
|
|
1831
|
+
},
|
|
1832
|
+
"stream": {
|
|
1833
|
+
"char": "s",
|
|
1834
|
+
"description": "Stream name",
|
|
1835
|
+
"name": "stream",
|
|
1836
|
+
"required": true,
|
|
1837
|
+
"hasDynamicHelp": false,
|
|
1838
|
+
"multiple": false,
|
|
1839
|
+
"type": "option"
|
|
1840
|
+
},
|
|
1841
|
+
"tag": {
|
|
1842
|
+
"char": "t",
|
|
1843
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1844
|
+
"name": "tag",
|
|
1845
|
+
"hasDynamicHelp": false,
|
|
1846
|
+
"multiple": true,
|
|
1847
|
+
"type": "option"
|
|
1848
|
+
},
|
|
1849
|
+
"timestamp": {
|
|
1850
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1851
|
+
"name": "timestamp",
|
|
1852
|
+
"hasDynamicHelp": false,
|
|
1853
|
+
"multiple": false,
|
|
1854
|
+
"type": "option"
|
|
1546
1855
|
}
|
|
1547
1856
|
},
|
|
1548
1857
|
"hasDynamicHelp": false,
|
|
1549
1858
|
"hiddenAliases": [],
|
|
1550
|
-
"id": "
|
|
1859
|
+
"id": "ingest:text",
|
|
1551
1860
|
"pluginAlias": "@formant/formant-cli",
|
|
1552
1861
|
"pluginName": "@formant/formant-cli",
|
|
1553
1862
|
"pluginType": "core",
|
|
1554
1863
|
"strict": true,
|
|
1555
|
-
"summary": "
|
|
1864
|
+
"summary": "Ingest text data",
|
|
1556
1865
|
"enableJsonFlag": true,
|
|
1557
1866
|
"isESM": true,
|
|
1558
1867
|
"relativePath": [
|
|
1559
1868
|
"dist",
|
|
1560
1869
|
"commands",
|
|
1561
|
-
"
|
|
1562
|
-
"
|
|
1870
|
+
"ingest",
|
|
1871
|
+
"text.js"
|
|
1563
1872
|
]
|
|
1564
1873
|
},
|
|
1565
|
-
"
|
|
1874
|
+
"ingest:video": {
|
|
1566
1875
|
"aliases": [],
|
|
1567
1876
|
"args": {},
|
|
1568
|
-
"description": "
|
|
1877
|
+
"description": "Ingest a video URL to a device stream.\n\nSends a video reference (by URL) to the specified device stream. The video must be accessible\nvia HTTP/HTTPS. You must provide the video duration in milliseconds.\n\nVideo streams are used for recorded video clips, timelapse videos, event recordings, etc.\n\nThe MIME type is auto-detected from the file extension (.mp4, .webm, .mov).",
|
|
1569
1878
|
"examples": [
|
|
1570
|
-
"<%= config.bin %>
|
|
1571
|
-
"<%= config.bin %>
|
|
1572
|
-
"<%= config.bin %>
|
|
1573
|
-
"<%= config.bin %> org update --name \"My Fleet\" --json"
|
|
1879
|
+
"<%= config.bin %> ingest video --device <device-id> --stream recordings --url https://example.com/video.mp4 --duration 5000",
|
|
1880
|
+
"<%= config.bin %> ingest video --device <device-id> --stream clips --url https://example.com/clip.webm --duration 3500 --size 2048000",
|
|
1881
|
+
"<%= config.bin %> ingest video --device <device-id> --stream event_video --url https://example.com/event.mov --duration 10000 --tag event=collision"
|
|
1574
1882
|
],
|
|
1575
1883
|
"flags": {
|
|
1576
1884
|
"json": {
|
|
@@ -1600,18 +1908,59 @@
|
|
|
1600
1908
|
"allowNo": false,
|
|
1601
1909
|
"type": "boolean"
|
|
1602
1910
|
},
|
|
1603
|
-
"
|
|
1911
|
+
"device": {
|
|
1604
1912
|
"char": "d",
|
|
1605
|
-
"description": "
|
|
1606
|
-
"name": "
|
|
1913
|
+
"description": "Device ID (UUID)",
|
|
1914
|
+
"name": "device",
|
|
1915
|
+
"required": true,
|
|
1607
1916
|
"hasDynamicHelp": false,
|
|
1608
1917
|
"multiple": false,
|
|
1609
1918
|
"type": "option"
|
|
1610
1919
|
},
|
|
1611
|
-
"
|
|
1612
|
-
"char": "
|
|
1613
|
-
"description": "
|
|
1614
|
-
"name": "
|
|
1920
|
+
"stream": {
|
|
1921
|
+
"char": "s",
|
|
1922
|
+
"description": "Stream name",
|
|
1923
|
+
"name": "stream",
|
|
1924
|
+
"required": true,
|
|
1925
|
+
"hasDynamicHelp": false,
|
|
1926
|
+
"multiple": false,
|
|
1927
|
+
"type": "option"
|
|
1928
|
+
},
|
|
1929
|
+
"url": {
|
|
1930
|
+
"char": "u",
|
|
1931
|
+
"description": "Video URL (must be http:// or https://)",
|
|
1932
|
+
"name": "url",
|
|
1933
|
+
"required": true,
|
|
1934
|
+
"hasDynamicHelp": false,
|
|
1935
|
+
"multiple": false,
|
|
1936
|
+
"type": "option"
|
|
1937
|
+
},
|
|
1938
|
+
"duration": {
|
|
1939
|
+
"description": "Video duration in milliseconds (required)",
|
|
1940
|
+
"name": "duration",
|
|
1941
|
+
"required": true,
|
|
1942
|
+
"hasDynamicHelp": false,
|
|
1943
|
+
"multiple": false,
|
|
1944
|
+
"type": "option"
|
|
1945
|
+
},
|
|
1946
|
+
"size": {
|
|
1947
|
+
"description": "Video size in bytes (optional)",
|
|
1948
|
+
"name": "size",
|
|
1949
|
+
"hasDynamicHelp": false,
|
|
1950
|
+
"multiple": false,
|
|
1951
|
+
"type": "option"
|
|
1952
|
+
},
|
|
1953
|
+
"tag": {
|
|
1954
|
+
"char": "t",
|
|
1955
|
+
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1956
|
+
"name": "tag",
|
|
1957
|
+
"hasDynamicHelp": false,
|
|
1958
|
+
"multiple": true,
|
|
1959
|
+
"type": "option"
|
|
1960
|
+
},
|
|
1961
|
+
"timestamp": {
|
|
1962
|
+
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
1963
|
+
"name": "timestamp",
|
|
1615
1964
|
"hasDynamicHelp": false,
|
|
1616
1965
|
"multiple": false,
|
|
1617
1966
|
"type": "option"
|
|
@@ -1619,34 +1968,29 @@
|
|
|
1619
1968
|
},
|
|
1620
1969
|
"hasDynamicHelp": false,
|
|
1621
1970
|
"hiddenAliases": [],
|
|
1622
|
-
"id": "
|
|
1971
|
+
"id": "ingest:video",
|
|
1623
1972
|
"pluginAlias": "@formant/formant-cli",
|
|
1624
1973
|
"pluginName": "@formant/formant-cli",
|
|
1625
1974
|
"pluginType": "core",
|
|
1626
1975
|
"strict": true,
|
|
1627
|
-
"summary": "
|
|
1976
|
+
"summary": "Ingest video data",
|
|
1628
1977
|
"enableJsonFlag": true,
|
|
1629
1978
|
"isESM": true,
|
|
1630
1979
|
"relativePath": [
|
|
1631
1980
|
"dist",
|
|
1632
1981
|
"commands",
|
|
1633
|
-
"
|
|
1634
|
-
"
|
|
1982
|
+
"ingest",
|
|
1983
|
+
"video.js"
|
|
1635
1984
|
]
|
|
1636
1985
|
},
|
|
1637
|
-
"
|
|
1986
|
+
"investigation:analytics": {
|
|
1638
1987
|
"aliases": [],
|
|
1639
|
-
"args": {
|
|
1640
|
-
|
|
1641
|
-
"description": "Key to retrieve",
|
|
1642
|
-
"name": "key",
|
|
1643
|
-
"required": true
|
|
1644
|
-
}
|
|
1645
|
-
},
|
|
1646
|
-
"description": "Get a value from the key-value store.\n\nThe key-value store allows devices and applications to store metadata.",
|
|
1988
|
+
"args": {},
|
|
1989
|
+
"description": "Get investigation analytics with time-series data.\n\nReturns aggregated analytics about investigation runs over a time range,\noptionally grouped by result type or signal type.",
|
|
1647
1990
|
"examples": [
|
|
1648
|
-
"<%= config.bin %>
|
|
1649
|
-
"<%= config.bin %>
|
|
1991
|
+
"<%= config.bin %> investigation analytics --start 2026-01-01 --end 2026-02-01",
|
|
1992
|
+
"<%= config.bin %> investigation analytics --start 2026-01-01 --end 2026-02-01 --interval hourly",
|
|
1993
|
+
"<%= config.bin %> investigation analytics --start 2026-01-01 --end 2026-02-01 --group-by resultType --json"
|
|
1650
1994
|
],
|
|
1651
1995
|
"flags": {
|
|
1652
1996
|
"json": {
|
|
@@ -1675,34 +2019,77 @@
|
|
|
1675
2019
|
"name": "stage",
|
|
1676
2020
|
"allowNo": false,
|
|
1677
2021
|
"type": "boolean"
|
|
2022
|
+
},
|
|
2023
|
+
"end": {
|
|
2024
|
+
"description": "End time (ISO 8601)",
|
|
2025
|
+
"name": "end",
|
|
2026
|
+
"required": true,
|
|
2027
|
+
"hasDynamicHelp": false,
|
|
2028
|
+
"multiple": false,
|
|
2029
|
+
"type": "option"
|
|
2030
|
+
},
|
|
2031
|
+
"group-by": {
|
|
2032
|
+
"description": "Group results by",
|
|
2033
|
+
"name": "group-by",
|
|
2034
|
+
"hasDynamicHelp": false,
|
|
2035
|
+
"multiple": false,
|
|
2036
|
+
"options": [
|
|
2037
|
+
"resultType",
|
|
2038
|
+
"signalType"
|
|
2039
|
+
],
|
|
2040
|
+
"type": "option"
|
|
2041
|
+
},
|
|
2042
|
+
"interval": {
|
|
2043
|
+
"description": "Time interval for aggregation",
|
|
2044
|
+
"name": "interval",
|
|
2045
|
+
"default": "daily",
|
|
2046
|
+
"hasDynamicHelp": false,
|
|
2047
|
+
"multiple": false,
|
|
2048
|
+
"options": [
|
|
2049
|
+
"daily",
|
|
2050
|
+
"hourly"
|
|
2051
|
+
],
|
|
2052
|
+
"type": "option"
|
|
2053
|
+
},
|
|
2054
|
+
"start": {
|
|
2055
|
+
"description": "Start time (ISO 8601)",
|
|
2056
|
+
"name": "start",
|
|
2057
|
+
"required": true,
|
|
2058
|
+
"hasDynamicHelp": false,
|
|
2059
|
+
"multiple": false,
|
|
2060
|
+
"type": "option"
|
|
1678
2061
|
}
|
|
1679
2062
|
},
|
|
1680
2063
|
"hasDynamicHelp": false,
|
|
1681
2064
|
"hiddenAliases": [],
|
|
1682
|
-
"id": "
|
|
2065
|
+
"id": "investigation:analytics",
|
|
1683
2066
|
"pluginAlias": "@formant/formant-cli",
|
|
1684
2067
|
"pluginName": "@formant/formant-cli",
|
|
1685
2068
|
"pluginType": "core",
|
|
1686
2069
|
"strict": true,
|
|
1687
|
-
"summary": "Get
|
|
2070
|
+
"summary": "Get investigation analytics",
|
|
1688
2071
|
"enableJsonFlag": true,
|
|
1689
2072
|
"isESM": true,
|
|
1690
2073
|
"relativePath": [
|
|
1691
2074
|
"dist",
|
|
1692
2075
|
"commands",
|
|
1693
|
-
"
|
|
1694
|
-
"
|
|
2076
|
+
"investigation",
|
|
2077
|
+
"analytics.js"
|
|
1695
2078
|
]
|
|
1696
2079
|
},
|
|
1697
|
-
"
|
|
2080
|
+
"investigation:get": {
|
|
1698
2081
|
"aliases": [],
|
|
1699
|
-
"args": {
|
|
1700
|
-
|
|
2082
|
+
"args": {
|
|
2083
|
+
"id": {
|
|
2084
|
+
"description": "Investigation (taskflow) ID",
|
|
2085
|
+
"name": "id",
|
|
2086
|
+
"required": true
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
"description": "Get detailed information about a specific investigation by ID.",
|
|
1701
2090
|
"examples": [
|
|
1702
|
-
"<%= config.bin %>
|
|
1703
|
-
"<%= config.bin %>
|
|
1704
|
-
"<%= config.bin %> kv list --keys key1 --keys key2 --keys key3",
|
|
1705
|
-
"<%= config.bin %> kv list --json"
|
|
2091
|
+
"<%= config.bin %> investigation get <id>",
|
|
2092
|
+
"<%= config.bin %> investigation get <id> --json"
|
|
1706
2093
|
],
|
|
1707
2094
|
"flags": {
|
|
1708
2095
|
"json": {
|
|
@@ -1731,115 +2118,33 @@
|
|
|
1731
2118
|
"name": "stage",
|
|
1732
2119
|
"allowNo": false,
|
|
1733
2120
|
"type": "boolean"
|
|
1734
|
-
},
|
|
1735
|
-
"keys": {
|
|
1736
|
-
"char": "k",
|
|
1737
|
-
"description": "Specific keys to query (can be specified multiple times)",
|
|
1738
|
-
"name": "keys",
|
|
1739
|
-
"hasDynamicHelp": false,
|
|
1740
|
-
"multiple": true,
|
|
1741
|
-
"type": "option"
|
|
1742
|
-
},
|
|
1743
|
-
"prefix": {
|
|
1744
|
-
"char": "p",
|
|
1745
|
-
"description": "Filter keys by prefix",
|
|
1746
|
-
"name": "prefix",
|
|
1747
|
-
"hasDynamicHelp": false,
|
|
1748
|
-
"multiple": false,
|
|
1749
|
-
"type": "option"
|
|
1750
2121
|
}
|
|
1751
2122
|
},
|
|
1752
2123
|
"hasDynamicHelp": false,
|
|
1753
2124
|
"hiddenAliases": [],
|
|
1754
|
-
"id": "
|
|
2125
|
+
"id": "investigation:get",
|
|
1755
2126
|
"pluginAlias": "@formant/formant-cli",
|
|
1756
2127
|
"pluginName": "@formant/formant-cli",
|
|
1757
2128
|
"pluginType": "core",
|
|
1758
2129
|
"strict": true,
|
|
1759
|
-
"summary": "
|
|
2130
|
+
"summary": "Get an investigation by ID",
|
|
1760
2131
|
"enableJsonFlag": true,
|
|
1761
2132
|
"isESM": true,
|
|
1762
2133
|
"relativePath": [
|
|
1763
2134
|
"dist",
|
|
1764
2135
|
"commands",
|
|
1765
|
-
"
|
|
1766
|
-
"
|
|
1767
|
-
]
|
|
1768
|
-
},
|
|
1769
|
-
"kv:set": {
|
|
1770
|
-
"aliases": [],
|
|
1771
|
-
"args": {
|
|
1772
|
-
"key": {
|
|
1773
|
-
"description": "Key to set",
|
|
1774
|
-
"name": "key",
|
|
1775
|
-
"required": true
|
|
1776
|
-
},
|
|
1777
|
-
"value": {
|
|
1778
|
-
"description": "Value to store (JSON string)",
|
|
1779
|
-
"name": "value",
|
|
1780
|
-
"required": true
|
|
1781
|
-
}
|
|
1782
|
-
},
|
|
1783
|
-
"description": "Set a value in the key-value store.\n\nStores a value associated with a key. The value should be a JSON string.",
|
|
1784
|
-
"examples": [
|
|
1785
|
-
"<%= config.bin %> kv set my-key '{\"data\": \"value\"}'",
|
|
1786
|
-
"<%= config.bin %> kv set config '{\"setting\": true}'"
|
|
1787
|
-
],
|
|
1788
|
-
"flags": {
|
|
1789
|
-
"json": {
|
|
1790
|
-
"description": "Format output as json.",
|
|
1791
|
-
"helpGroup": "GLOBAL",
|
|
1792
|
-
"name": "json",
|
|
1793
|
-
"allowNo": false,
|
|
1794
|
-
"type": "boolean"
|
|
1795
|
-
},
|
|
1796
|
-
"dev": {
|
|
1797
|
-
"description": "Target the dev environment",
|
|
1798
|
-
"exclusive": [
|
|
1799
|
-
"stage"
|
|
1800
|
-
],
|
|
1801
|
-
"helpGroup": "GLOBAL",
|
|
1802
|
-
"name": "dev",
|
|
1803
|
-
"allowNo": false,
|
|
1804
|
-
"type": "boolean"
|
|
1805
|
-
},
|
|
1806
|
-
"stage": {
|
|
1807
|
-
"description": "Target the stage environment",
|
|
1808
|
-
"exclusive": [
|
|
1809
|
-
"dev"
|
|
1810
|
-
],
|
|
1811
|
-
"helpGroup": "GLOBAL",
|
|
1812
|
-
"name": "stage",
|
|
1813
|
-
"allowNo": false,
|
|
1814
|
-
"type": "boolean"
|
|
1815
|
-
}
|
|
1816
|
-
},
|
|
1817
|
-
"hasDynamicHelp": false,
|
|
1818
|
-
"hiddenAliases": [],
|
|
1819
|
-
"id": "kv:set",
|
|
1820
|
-
"pluginAlias": "@formant/formant-cli",
|
|
1821
|
-
"pluginName": "@formant/formant-cli",
|
|
1822
|
-
"pluginType": "core",
|
|
1823
|
-
"strict": true,
|
|
1824
|
-
"summary": "Set key-value",
|
|
1825
|
-
"enableJsonFlag": true,
|
|
1826
|
-
"isESM": true,
|
|
1827
|
-
"relativePath": [
|
|
1828
|
-
"dist",
|
|
1829
|
-
"commands",
|
|
1830
|
-
"kv",
|
|
1831
|
-
"set.js"
|
|
2136
|
+
"investigation",
|
|
2137
|
+
"get.js"
|
|
1832
2138
|
]
|
|
1833
2139
|
},
|
|
1834
|
-
"
|
|
2140
|
+
"investigation:list": {
|
|
1835
2141
|
"aliases": [],
|
|
1836
2142
|
"args": {},
|
|
1837
|
-
"description": "
|
|
2143
|
+
"description": "List investigations (AI-powered analysis workflows) in your organization.\n\nInvestigations are automated AI workflows that analyze signals, diagnose problems,\nand produce reports. Use --signal-handler to filter for investigations that are\ntriggered automatically by signals.",
|
|
1838
2144
|
"examples": [
|
|
1839
|
-
"<%= config.bin %>
|
|
1840
|
-
"<%= config.bin %>
|
|
1841
|
-
"
|
|
1842
|
-
"# Example payload.json with multiple types:\n{\n \"items\": [\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"battery_level\",\n \"type\": \"numeric\",\n \"tags\": {\"env\": \"prod\"},\n \"points\": [[1708272000000, 42.5], [1708272060000, 41.8]]\n },\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"status\",\n \"type\": \"text\",\n \"tags\": {\"env\": \"prod\"},\n \"points\": [[1708272000000, \"operational\"]]\n },\n {\n \"deviceId\": \"abc-123\",\n \"name\": \"health\",\n \"type\": \"health\",\n \"tags\": {},\n \"points\": [[1708272000000, {\"status\": \"operational\"}]]\n }\n ]\n}"
|
|
2145
|
+
"<%= config.bin %> investigation list",
|
|
2146
|
+
"<%= config.bin %> investigation list --signal-handler",
|
|
2147
|
+
"<%= config.bin %> investigation list --json"
|
|
1843
2148
|
],
|
|
1844
2149
|
"flags": {
|
|
1845
2150
|
"json": {
|
|
@@ -1869,158 +2174,49 @@
|
|
|
1869
2174
|
"allowNo": false,
|
|
1870
2175
|
"type": "boolean"
|
|
1871
2176
|
},
|
|
1872
|
-
"
|
|
1873
|
-
"
|
|
1874
|
-
"
|
|
1875
|
-
"exclusive": [
|
|
1876
|
-
"stdin"
|
|
1877
|
-
],
|
|
1878
|
-
"name": "file",
|
|
1879
|
-
"hasDynamicHelp": false,
|
|
1880
|
-
"multiple": false,
|
|
1881
|
-
"type": "option"
|
|
1882
|
-
},
|
|
1883
|
-
"stdin": {
|
|
1884
|
-
"description": "Read JSON payload from stdin",
|
|
1885
|
-
"exclusive": [
|
|
1886
|
-
"file"
|
|
1887
|
-
],
|
|
1888
|
-
"name": "stdin",
|
|
2177
|
+
"signal-handler": {
|
|
2178
|
+
"description": "Only show investigations that handle signals",
|
|
2179
|
+
"name": "signal-handler",
|
|
1889
2180
|
"allowNo": false,
|
|
1890
2181
|
"type": "boolean"
|
|
1891
2182
|
}
|
|
1892
2183
|
},
|
|
1893
2184
|
"hasDynamicHelp": false,
|
|
1894
2185
|
"hiddenAliases": [],
|
|
1895
|
-
"id": "
|
|
2186
|
+
"id": "investigation:list",
|
|
1896
2187
|
"pluginAlias": "@formant/formant-cli",
|
|
1897
2188
|
"pluginName": "@formant/formant-cli",
|
|
1898
2189
|
"pluginType": "core",
|
|
1899
2190
|
"strict": true,
|
|
1900
|
-
"summary": "
|
|
2191
|
+
"summary": "List investigations",
|
|
1901
2192
|
"enableJsonFlag": true,
|
|
1902
2193
|
"isESM": true,
|
|
1903
2194
|
"relativePath": [
|
|
1904
2195
|
"dist",
|
|
1905
2196
|
"commands",
|
|
1906
|
-
"
|
|
1907
|
-
"
|
|
2197
|
+
"investigation",
|
|
2198
|
+
"list.js"
|
|
1908
2199
|
]
|
|
1909
2200
|
},
|
|
1910
|
-
"
|
|
2201
|
+
"investigation:run": {
|
|
1911
2202
|
"aliases": [],
|
|
1912
|
-
"args": {
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
"<%= config.bin %> ingest bitset --device <device-id> --stream states --keys \"a,b\" --values \"false,true\""
|
|
1918
|
-
],
|
|
1919
|
-
"flags": {
|
|
1920
|
-
"json": {
|
|
1921
|
-
"description": "Format output as json.",
|
|
1922
|
-
"helpGroup": "GLOBAL",
|
|
1923
|
-
"name": "json",
|
|
1924
|
-
"allowNo": false,
|
|
1925
|
-
"type": "boolean"
|
|
1926
|
-
},
|
|
1927
|
-
"dev": {
|
|
1928
|
-
"description": "Target the dev environment",
|
|
1929
|
-
"exclusive": [
|
|
1930
|
-
"stage"
|
|
1931
|
-
],
|
|
1932
|
-
"helpGroup": "GLOBAL",
|
|
1933
|
-
"name": "dev",
|
|
1934
|
-
"allowNo": false,
|
|
1935
|
-
"type": "boolean"
|
|
1936
|
-
},
|
|
1937
|
-
"stage": {
|
|
1938
|
-
"description": "Target the stage environment",
|
|
1939
|
-
"exclusive": [
|
|
1940
|
-
"dev"
|
|
1941
|
-
],
|
|
1942
|
-
"helpGroup": "GLOBAL",
|
|
1943
|
-
"name": "stage",
|
|
1944
|
-
"allowNo": false,
|
|
1945
|
-
"type": "boolean"
|
|
1946
|
-
},
|
|
1947
|
-
"device": {
|
|
1948
|
-
"char": "d",
|
|
1949
|
-
"description": "Device ID (UUID)",
|
|
1950
|
-
"name": "device",
|
|
1951
|
-
"required": true,
|
|
1952
|
-
"hasDynamicHelp": false,
|
|
1953
|
-
"multiple": false,
|
|
1954
|
-
"type": "option"
|
|
1955
|
-
},
|
|
1956
|
-
"stream": {
|
|
1957
|
-
"char": "s",
|
|
1958
|
-
"description": "Stream name",
|
|
1959
|
-
"name": "stream",
|
|
1960
|
-
"required": true,
|
|
1961
|
-
"hasDynamicHelp": false,
|
|
1962
|
-
"multiple": false,
|
|
1963
|
-
"type": "option"
|
|
1964
|
-
},
|
|
1965
|
-
"keys": {
|
|
1966
|
-
"char": "k",
|
|
1967
|
-
"description": "Comma-separated list of key names (1-1000 keys, max 255 chars each)",
|
|
1968
|
-
"name": "keys",
|
|
1969
|
-
"required": true,
|
|
1970
|
-
"hasDynamicHelp": false,
|
|
1971
|
-
"multiple": false,
|
|
1972
|
-
"type": "option"
|
|
1973
|
-
},
|
|
1974
|
-
"values": {
|
|
1975
|
-
"char": "v",
|
|
1976
|
-
"description": "Comma-separated list of boolean values (true/false, must match key count)",
|
|
1977
|
-
"name": "values",
|
|
1978
|
-
"required": true,
|
|
1979
|
-
"hasDynamicHelp": false,
|
|
1980
|
-
"multiple": false,
|
|
1981
|
-
"type": "option"
|
|
1982
|
-
},
|
|
1983
|
-
"tag": {
|
|
1984
|
-
"char": "t",
|
|
1985
|
-
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
1986
|
-
"name": "tag",
|
|
1987
|
-
"hasDynamicHelp": false,
|
|
1988
|
-
"multiple": true,
|
|
1989
|
-
"type": "option"
|
|
2203
|
+
"args": {
|
|
2204
|
+
"investigationId": {
|
|
2205
|
+
"description": "Investigation (taskflow) ID",
|
|
2206
|
+
"name": "investigationId",
|
|
2207
|
+
"required": true
|
|
1990
2208
|
},
|
|
1991
|
-
"
|
|
1992
|
-
"description": "
|
|
1993
|
-
"name": "
|
|
1994
|
-
"
|
|
1995
|
-
"multiple": false,
|
|
1996
|
-
"type": "option"
|
|
2209
|
+
"runId": {
|
|
2210
|
+
"description": "Run ID",
|
|
2211
|
+
"name": "runId",
|
|
2212
|
+
"required": true
|
|
1997
2213
|
}
|
|
1998
2214
|
},
|
|
1999
|
-
"
|
|
2000
|
-
"hiddenAliases": [],
|
|
2001
|
-
"id": "ingest:bitset",
|
|
2002
|
-
"pluginAlias": "@formant/formant-cli",
|
|
2003
|
-
"pluginName": "@formant/formant-cli",
|
|
2004
|
-
"pluginType": "core",
|
|
2005
|
-
"strict": true,
|
|
2006
|
-
"summary": "Ingest bitset data",
|
|
2007
|
-
"enableJsonFlag": true,
|
|
2008
|
-
"isESM": true,
|
|
2009
|
-
"relativePath": [
|
|
2010
|
-
"dist",
|
|
2011
|
-
"commands",
|
|
2012
|
-
"ingest",
|
|
2013
|
-
"bitset.js"
|
|
2014
|
-
]
|
|
2015
|
-
},
|
|
2016
|
-
"ingest:health": {
|
|
2017
|
-
"aliases": [],
|
|
2018
|
-
"args": {},
|
|
2019
|
-
"description": "Ingest a health status data point to a device stream.\n\nSends device health status information to the specified stream. Health data consists of:\n- status: One of \"unknown\", \"operational\", \"offline\", or \"error\"\n- clockSkewMs (optional): Clock skew in milliseconds between device and server\n\nHealth streams are used to track device operational state, system health, and time synchronization.",
|
|
2215
|
+
"description": "Get detailed information about a specific investigation run.\n\nShows run details including status, signal information, events, and the complete execution \nlog with node inputs/outputs, task messages, tool usage, and results.\n\nUse this to trace the investigation run back to its signal and triggering event.",
|
|
2020
2216
|
"examples": [
|
|
2021
|
-
"<%= config.bin %>
|
|
2022
|
-
"<%= config.bin %>
|
|
2023
|
-
"<%= config.bin %>
|
|
2217
|
+
"<%= config.bin %> investigation run <investigation-id> <run-id>",
|
|
2218
|
+
"<%= config.bin %> investigation run <investigation-id> <run-id> --log-only",
|
|
2219
|
+
"<%= config.bin %> investigation run <investigation-id> <run-id> --json"
|
|
2024
2220
|
],
|
|
2025
2221
|
"flags": {
|
|
2026
2222
|
"json": {
|
|
@@ -2050,196 +2246,50 @@
|
|
|
2050
2246
|
"allowNo": false,
|
|
2051
2247
|
"type": "boolean"
|
|
2052
2248
|
},
|
|
2053
|
-
"
|
|
2054
|
-
"
|
|
2055
|
-
"
|
|
2056
|
-
"name": "device",
|
|
2057
|
-
"required": true,
|
|
2058
|
-
"hasDynamicHelp": false,
|
|
2059
|
-
"multiple": false,
|
|
2060
|
-
"type": "option"
|
|
2061
|
-
},
|
|
2062
|
-
"stream": {
|
|
2063
|
-
"char": "s",
|
|
2064
|
-
"description": "Stream name",
|
|
2065
|
-
"name": "stream",
|
|
2066
|
-
"required": true,
|
|
2067
|
-
"hasDynamicHelp": false,
|
|
2068
|
-
"multiple": false,
|
|
2069
|
-
"type": "option"
|
|
2070
|
-
},
|
|
2071
|
-
"status": {
|
|
2072
|
-
"description": "Health status (unknown, operational, offline, or error)",
|
|
2073
|
-
"name": "status",
|
|
2074
|
-
"required": true,
|
|
2075
|
-
"hasDynamicHelp": false,
|
|
2076
|
-
"multiple": false,
|
|
2077
|
-
"options": [
|
|
2078
|
-
"unknown",
|
|
2079
|
-
"operational",
|
|
2080
|
-
"offline",
|
|
2081
|
-
"error"
|
|
2082
|
-
],
|
|
2083
|
-
"type": "option"
|
|
2084
|
-
},
|
|
2085
|
-
"clock-skew": {
|
|
2086
|
-
"description": "Clock skew in milliseconds (optional)",
|
|
2087
|
-
"name": "clock-skew",
|
|
2088
|
-
"hasDynamicHelp": false,
|
|
2089
|
-
"multiple": false,
|
|
2090
|
-
"type": "option"
|
|
2091
|
-
},
|
|
2092
|
-
"tag": {
|
|
2093
|
-
"char": "t",
|
|
2094
|
-
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
2095
|
-
"name": "tag",
|
|
2096
|
-
"hasDynamicHelp": false,
|
|
2097
|
-
"multiple": true,
|
|
2098
|
-
"type": "option"
|
|
2099
|
-
},
|
|
2100
|
-
"timestamp": {
|
|
2101
|
-
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
2102
|
-
"name": "timestamp",
|
|
2103
|
-
"hasDynamicHelp": false,
|
|
2104
|
-
"multiple": false,
|
|
2105
|
-
"type": "option"
|
|
2106
|
-
}
|
|
2107
|
-
},
|
|
2108
|
-
"hasDynamicHelp": false,
|
|
2109
|
-
"hiddenAliases": [],
|
|
2110
|
-
"id": "ingest:health",
|
|
2111
|
-
"pluginAlias": "@formant/formant-cli",
|
|
2112
|
-
"pluginName": "@formant/formant-cli",
|
|
2113
|
-
"pluginType": "core",
|
|
2114
|
-
"strict": true,
|
|
2115
|
-
"summary": "Ingest health status data",
|
|
2116
|
-
"enableJsonFlag": true,
|
|
2117
|
-
"isESM": true,
|
|
2118
|
-
"relativePath": [
|
|
2119
|
-
"dist",
|
|
2120
|
-
"commands",
|
|
2121
|
-
"ingest",
|
|
2122
|
-
"health.js"
|
|
2123
|
-
]
|
|
2124
|
-
},
|
|
2125
|
-
"ingest:image": {
|
|
2126
|
-
"aliases": [],
|
|
2127
|
-
"args": {},
|
|
2128
|
-
"description": "Ingest an image URL to a device stream.\n\nSends an image reference (by URL) to the specified device stream. The image must be accessible\nvia HTTP/HTTPS. Formant will fetch and store the image from the provided URL.\n\nImage streams are used for camera feeds, snapshots, diagnostic images, etc.",
|
|
2129
|
-
"examples": [
|
|
2130
|
-
"<%= config.bin %> ingest image --device <device-id> --stream camera_front --url https://example.com/image.jpg",
|
|
2131
|
-
"<%= config.bin %> ingest image --device <device-id> --stream snapshot --url https://example.com/snap.png --size 1024000",
|
|
2132
|
-
"<%= config.bin %> ingest image --device <device-id> --stream detection --url https://example.com/detect.jpg --tag frame=123"
|
|
2133
|
-
],
|
|
2134
|
-
"flags": {
|
|
2135
|
-
"json": {
|
|
2136
|
-
"description": "Format output as json.",
|
|
2137
|
-
"helpGroup": "GLOBAL",
|
|
2138
|
-
"name": "json",
|
|
2139
|
-
"allowNo": false,
|
|
2140
|
-
"type": "boolean"
|
|
2141
|
-
},
|
|
2142
|
-
"dev": {
|
|
2143
|
-
"description": "Target the dev environment",
|
|
2144
|
-
"exclusive": [
|
|
2145
|
-
"stage"
|
|
2146
|
-
],
|
|
2147
|
-
"helpGroup": "GLOBAL",
|
|
2148
|
-
"name": "dev",
|
|
2249
|
+
"log-only": {
|
|
2250
|
+
"description": "Only show the execution log (skip run details)",
|
|
2251
|
+
"name": "log-only",
|
|
2149
2252
|
"allowNo": false,
|
|
2150
2253
|
"type": "boolean"
|
|
2151
2254
|
},
|
|
2152
|
-
"
|
|
2153
|
-
"description": "
|
|
2154
|
-
"
|
|
2155
|
-
"dev"
|
|
2156
|
-
],
|
|
2157
|
-
"helpGroup": "GLOBAL",
|
|
2158
|
-
"name": "stage",
|
|
2255
|
+
"trace-signal": {
|
|
2256
|
+
"description": "Fetch and display the signal and event information for this run",
|
|
2257
|
+
"name": "trace-signal",
|
|
2159
2258
|
"allowNo": false,
|
|
2160
2259
|
"type": "boolean"
|
|
2161
|
-
},
|
|
2162
|
-
"device": {
|
|
2163
|
-
"char": "d",
|
|
2164
|
-
"description": "Device ID (UUID)",
|
|
2165
|
-
"name": "device",
|
|
2166
|
-
"required": true,
|
|
2167
|
-
"hasDynamicHelp": false,
|
|
2168
|
-
"multiple": false,
|
|
2169
|
-
"type": "option"
|
|
2170
|
-
},
|
|
2171
|
-
"stream": {
|
|
2172
|
-
"char": "s",
|
|
2173
|
-
"description": "Stream name",
|
|
2174
|
-
"name": "stream",
|
|
2175
|
-
"required": true,
|
|
2176
|
-
"hasDynamicHelp": false,
|
|
2177
|
-
"multiple": false,
|
|
2178
|
-
"type": "option"
|
|
2179
|
-
},
|
|
2180
|
-
"url": {
|
|
2181
|
-
"char": "u",
|
|
2182
|
-
"description": "Image URL (must be http:// or https://)",
|
|
2183
|
-
"name": "url",
|
|
2184
|
-
"required": true,
|
|
2185
|
-
"hasDynamicHelp": false,
|
|
2186
|
-
"multiple": false,
|
|
2187
|
-
"type": "option"
|
|
2188
|
-
},
|
|
2189
|
-
"size": {
|
|
2190
|
-
"description": "Image size in bytes (optional)",
|
|
2191
|
-
"name": "size",
|
|
2192
|
-
"hasDynamicHelp": false,
|
|
2193
|
-
"multiple": false,
|
|
2194
|
-
"type": "option"
|
|
2195
|
-
},
|
|
2196
|
-
"tag": {
|
|
2197
|
-
"char": "t",
|
|
2198
|
-
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
2199
|
-
"name": "tag",
|
|
2200
|
-
"hasDynamicHelp": false,
|
|
2201
|
-
"multiple": true,
|
|
2202
|
-
"type": "option"
|
|
2203
|
-
},
|
|
2204
|
-
"timestamp": {
|
|
2205
|
-
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
2206
|
-
"name": "timestamp",
|
|
2207
|
-
"hasDynamicHelp": false,
|
|
2208
|
-
"multiple": false,
|
|
2209
|
-
"type": "option"
|
|
2210
2260
|
}
|
|
2211
2261
|
},
|
|
2212
2262
|
"hasDynamicHelp": false,
|
|
2213
2263
|
"hiddenAliases": [],
|
|
2214
|
-
"id": "
|
|
2264
|
+
"id": "investigation:run",
|
|
2215
2265
|
"pluginAlias": "@formant/formant-cli",
|
|
2216
2266
|
"pluginName": "@formant/formant-cli",
|
|
2217
2267
|
"pluginType": "core",
|
|
2218
2268
|
"strict": true,
|
|
2219
|
-
"summary": "
|
|
2269
|
+
"summary": "Get investigation run details and execution log",
|
|
2220
2270
|
"enableJsonFlag": true,
|
|
2221
2271
|
"isESM": true,
|
|
2222
2272
|
"relativePath": [
|
|
2223
2273
|
"dist",
|
|
2224
2274
|
"commands",
|
|
2225
|
-
"
|
|
2226
|
-
"
|
|
2275
|
+
"investigation",
|
|
2276
|
+
"run.js"
|
|
2227
2277
|
]
|
|
2228
2278
|
},
|
|
2229
|
-
"
|
|
2279
|
+
"investigation:runs-list": {
|
|
2230
2280
|
"aliases": [],
|
|
2231
2281
|
"args": {
|
|
2232
|
-
"
|
|
2233
|
-
"description": "
|
|
2234
|
-
"name": "
|
|
2282
|
+
"id": {
|
|
2283
|
+
"description": "Investigation (taskflow) ID",
|
|
2284
|
+
"name": "id",
|
|
2235
2285
|
"required": true
|
|
2236
2286
|
}
|
|
2237
2287
|
},
|
|
2238
|
-
"description": "
|
|
2288
|
+
"description": "List actual investigation runs (not evaluation runs) for a specific investigation.\n\nShows runs with their status, signal IDs, and timestamps. Use 'investigations run' to see\ndetailed execution logs for a specific run.",
|
|
2239
2289
|
"examples": [
|
|
2240
|
-
"<%= config.bin %>
|
|
2241
|
-
"<%= config.bin %>
|
|
2242
|
-
"<%= config.bin %>
|
|
2290
|
+
"<%= config.bin %> investigation runs-list <id>",
|
|
2291
|
+
"<%= config.bin %> investigation runs-list <id> --limit 50",
|
|
2292
|
+
"<%= config.bin %> investigation runs-list <id> --details --json"
|
|
2243
2293
|
],
|
|
2244
2294
|
"flags": {
|
|
2245
2295
|
"json": {
|
|
@@ -2269,35 +2319,26 @@
|
|
|
2269
2319
|
"allowNo": false,
|
|
2270
2320
|
"type": "boolean"
|
|
2271
2321
|
},
|
|
2272
|
-
"
|
|
2273
|
-
"
|
|
2274
|
-
"
|
|
2275
|
-
"
|
|
2276
|
-
"
|
|
2277
|
-
"hasDynamicHelp": false,
|
|
2278
|
-
"multiple": false,
|
|
2279
|
-
"type": "option"
|
|
2322
|
+
"details": {
|
|
2323
|
+
"description": "Include detailed information about each run",
|
|
2324
|
+
"name": "details",
|
|
2325
|
+
"allowNo": false,
|
|
2326
|
+
"type": "boolean"
|
|
2280
2327
|
},
|
|
2281
|
-
"
|
|
2282
|
-
"char": "
|
|
2283
|
-
"description": "
|
|
2284
|
-
"name": "
|
|
2285
|
-
"
|
|
2328
|
+
"limit": {
|
|
2329
|
+
"char": "l",
|
|
2330
|
+
"description": "Maximum number of runs to return",
|
|
2331
|
+
"name": "limit",
|
|
2332
|
+
"default": 20,
|
|
2286
2333
|
"hasDynamicHelp": false,
|
|
2287
2334
|
"multiple": false,
|
|
2288
2335
|
"type": "option"
|
|
2289
2336
|
},
|
|
2290
|
-
"
|
|
2291
|
-
"char": "
|
|
2292
|
-
"description": "
|
|
2293
|
-
"name": "
|
|
2294
|
-
"
|
|
2295
|
-
"multiple": true,
|
|
2296
|
-
"type": "option"
|
|
2297
|
-
},
|
|
2298
|
-
"timestamp": {
|
|
2299
|
-
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
2300
|
-
"name": "timestamp",
|
|
2337
|
+
"offset": {
|
|
2338
|
+
"char": "o",
|
|
2339
|
+
"description": "Offset for pagination",
|
|
2340
|
+
"name": "offset",
|
|
2341
|
+
"default": 0,
|
|
2301
2342
|
"hasDynamicHelp": false,
|
|
2302
2343
|
"multiple": false,
|
|
2303
2344
|
"type": "option"
|
|
@@ -2305,35 +2346,34 @@
|
|
|
2305
2346
|
},
|
|
2306
2347
|
"hasDynamicHelp": false,
|
|
2307
2348
|
"hiddenAliases": [],
|
|
2308
|
-
"id": "
|
|
2349
|
+
"id": "investigation:runs-list",
|
|
2309
2350
|
"pluginAlias": "@formant/formant-cli",
|
|
2310
2351
|
"pluginName": "@formant/formant-cli",
|
|
2311
2352
|
"pluginType": "core",
|
|
2312
2353
|
"strict": true,
|
|
2313
|
-
"summary": "
|
|
2354
|
+
"summary": "List actual investigation runs",
|
|
2314
2355
|
"enableJsonFlag": true,
|
|
2315
2356
|
"isESM": true,
|
|
2316
2357
|
"relativePath": [
|
|
2317
2358
|
"dist",
|
|
2318
2359
|
"commands",
|
|
2319
|
-
"
|
|
2320
|
-
"
|
|
2360
|
+
"investigation",
|
|
2361
|
+
"runs-list.js"
|
|
2321
2362
|
]
|
|
2322
2363
|
},
|
|
2323
|
-
"
|
|
2364
|
+
"investigation:runs": {
|
|
2324
2365
|
"aliases": [],
|
|
2325
2366
|
"args": {
|
|
2326
|
-
"
|
|
2327
|
-
"description": "
|
|
2328
|
-
"name": "
|
|
2367
|
+
"id": {
|
|
2368
|
+
"description": "Investigation (taskflow) ID",
|
|
2369
|
+
"name": "id",
|
|
2329
2370
|
"required": true
|
|
2330
2371
|
}
|
|
2331
2372
|
},
|
|
2332
|
-
"description": "
|
|
2373
|
+
"description": "List evaluation runs for a specific investigation.",
|
|
2333
2374
|
"examples": [
|
|
2334
|
-
"<%= config.bin %>
|
|
2335
|
-
"<%= config.bin %>
|
|
2336
|
-
"<%= config.bin %> ingest numeric 1500 --device <device-id> --stream rpm --timestamp 1700000000000"
|
|
2375
|
+
"<%= config.bin %> investigation runs <id>",
|
|
2376
|
+
"<%= config.bin %> investigation runs <id> --json"
|
|
2337
2377
|
],
|
|
2338
2378
|
"flags": {
|
|
2339
2379
|
"json": {
|
|
@@ -2362,72 +2402,32 @@
|
|
|
2362
2402
|
"name": "stage",
|
|
2363
2403
|
"allowNo": false,
|
|
2364
2404
|
"type": "boolean"
|
|
2365
|
-
},
|
|
2366
|
-
"device": {
|
|
2367
|
-
"char": "d",
|
|
2368
|
-
"description": "Device ID (UUID)",
|
|
2369
|
-
"name": "device",
|
|
2370
|
-
"required": true,
|
|
2371
|
-
"hasDynamicHelp": false,
|
|
2372
|
-
"multiple": false,
|
|
2373
|
-
"type": "option"
|
|
2374
|
-
},
|
|
2375
|
-
"stream": {
|
|
2376
|
-
"char": "s",
|
|
2377
|
-
"description": "Stream name",
|
|
2378
|
-
"name": "stream",
|
|
2379
|
-
"required": true,
|
|
2380
|
-
"hasDynamicHelp": false,
|
|
2381
|
-
"multiple": false,
|
|
2382
|
-
"type": "option"
|
|
2383
|
-
},
|
|
2384
|
-
"tag": {
|
|
2385
|
-
"char": "t",
|
|
2386
|
-
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
2387
|
-
"name": "tag",
|
|
2388
|
-
"hasDynamicHelp": false,
|
|
2389
|
-
"multiple": true,
|
|
2390
|
-
"type": "option"
|
|
2391
|
-
},
|
|
2392
|
-
"timestamp": {
|
|
2393
|
-
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
2394
|
-
"name": "timestamp",
|
|
2395
|
-
"hasDynamicHelp": false,
|
|
2396
|
-
"multiple": false,
|
|
2397
|
-
"type": "option"
|
|
2398
2405
|
}
|
|
2399
2406
|
},
|
|
2400
2407
|
"hasDynamicHelp": false,
|
|
2401
2408
|
"hiddenAliases": [],
|
|
2402
|
-
"id": "
|
|
2409
|
+
"id": "investigation:runs",
|
|
2403
2410
|
"pluginAlias": "@formant/formant-cli",
|
|
2404
2411
|
"pluginName": "@formant/formant-cli",
|
|
2405
2412
|
"pluginType": "core",
|
|
2406
2413
|
"strict": true,
|
|
2407
|
-
"summary": "
|
|
2414
|
+
"summary": "List runs for an investigation",
|
|
2408
2415
|
"enableJsonFlag": true,
|
|
2409
2416
|
"isESM": true,
|
|
2410
2417
|
"relativePath": [
|
|
2411
2418
|
"dist",
|
|
2412
2419
|
"commands",
|
|
2413
|
-
"
|
|
2414
|
-
"
|
|
2420
|
+
"investigation",
|
|
2421
|
+
"runs.js"
|
|
2415
2422
|
]
|
|
2416
2423
|
},
|
|
2417
|
-
"
|
|
2424
|
+
"investigation:stats": {
|
|
2418
2425
|
"aliases": [],
|
|
2419
|
-
"args": {
|
|
2420
|
-
|
|
2421
|
-
"description": "Text value to ingest",
|
|
2422
|
-
"name": "value",
|
|
2423
|
-
"required": true
|
|
2424
|
-
}
|
|
2425
|
-
},
|
|
2426
|
-
"description": "Ingest a text data point to a device stream.\n\nSends a single text/string value to the specified device stream. Text streams are commonly\nused for logs, status messages, error messages, and other string data.",
|
|
2426
|
+
"args": {},
|
|
2427
|
+
"description": "Get investigation statistics for a time range.",
|
|
2427
2428
|
"examples": [
|
|
2428
|
-
"<%= config.bin %>
|
|
2429
|
-
"<%= config.bin %>
|
|
2430
|
-
"<%= config.bin %> ingest text \"Checkpoint A reached\" --device <device-id> --stream waypoints"
|
|
2429
|
+
"<%= config.bin %> investigation stats --start 2026-01-01 --end 2026-02-01",
|
|
2430
|
+
"<%= config.bin %> investigation stats --start 2026-01-01 --end 2026-02-01 --json"
|
|
2431
2431
|
],
|
|
2432
2432
|
"flags": {
|
|
2433
2433
|
"json": {
|
|
@@ -2457,65 +2457,53 @@
|
|
|
2457
2457
|
"allowNo": false,
|
|
2458
2458
|
"type": "boolean"
|
|
2459
2459
|
},
|
|
2460
|
-
"
|
|
2461
|
-
"
|
|
2462
|
-
"
|
|
2463
|
-
"name": "device",
|
|
2460
|
+
"end": {
|
|
2461
|
+
"description": "End time (ISO 8601)",
|
|
2462
|
+
"name": "end",
|
|
2464
2463
|
"required": true,
|
|
2465
2464
|
"hasDynamicHelp": false,
|
|
2466
2465
|
"multiple": false,
|
|
2467
2466
|
"type": "option"
|
|
2468
2467
|
},
|
|
2469
|
-
"
|
|
2470
|
-
"
|
|
2471
|
-
"
|
|
2472
|
-
"name": "stream",
|
|
2468
|
+
"start": {
|
|
2469
|
+
"description": "Start time (ISO 8601)",
|
|
2470
|
+
"name": "start",
|
|
2473
2471
|
"required": true,
|
|
2474
2472
|
"hasDynamicHelp": false,
|
|
2475
2473
|
"multiple": false,
|
|
2476
2474
|
"type": "option"
|
|
2477
|
-
},
|
|
2478
|
-
"tag": {
|
|
2479
|
-
"char": "t",
|
|
2480
|
-
"description": "Tag as key=value where both are strings (can be specified multiple times)",
|
|
2481
|
-
"name": "tag",
|
|
2482
|
-
"hasDynamicHelp": false,
|
|
2483
|
-
"multiple": true,
|
|
2484
|
-
"type": "option"
|
|
2485
|
-
},
|
|
2486
|
-
"timestamp": {
|
|
2487
|
-
"description": "Unix timestamp in milliseconds (defaults to now)",
|
|
2488
|
-
"name": "timestamp",
|
|
2489
|
-
"hasDynamicHelp": false,
|
|
2490
|
-
"multiple": false,
|
|
2491
|
-
"type": "option"
|
|
2492
2475
|
}
|
|
2493
2476
|
},
|
|
2494
2477
|
"hasDynamicHelp": false,
|
|
2495
2478
|
"hiddenAliases": [],
|
|
2496
|
-
"id": "
|
|
2479
|
+
"id": "investigation:stats",
|
|
2497
2480
|
"pluginAlias": "@formant/formant-cli",
|
|
2498
2481
|
"pluginName": "@formant/formant-cli",
|
|
2499
2482
|
"pluginType": "core",
|
|
2500
2483
|
"strict": true,
|
|
2501
|
-
"summary": "
|
|
2484
|
+
"summary": "Get investigation stats",
|
|
2502
2485
|
"enableJsonFlag": true,
|
|
2503
2486
|
"isESM": true,
|
|
2504
2487
|
"relativePath": [
|
|
2505
2488
|
"dist",
|
|
2506
2489
|
"commands",
|
|
2507
|
-
"
|
|
2508
|
-
"
|
|
2490
|
+
"investigation",
|
|
2491
|
+
"stats.js"
|
|
2509
2492
|
]
|
|
2510
2493
|
},
|
|
2511
|
-
"
|
|
2494
|
+
"investigation:trigger": {
|
|
2512
2495
|
"aliases": [],
|
|
2513
|
-
"args": {
|
|
2514
|
-
|
|
2496
|
+
"args": {
|
|
2497
|
+
"id": {
|
|
2498
|
+
"description": "Investigation (taskflow) ID",
|
|
2499
|
+
"name": "id",
|
|
2500
|
+
"required": true
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2503
|
+
"description": "Trigger an investigation to run. Provide input text describing the problem\nor context for the investigation. The investigation runs asynchronously and\nreturns a run ID you can use to check results.",
|
|
2515
2504
|
"examples": [
|
|
2516
|
-
"<%= config.bin %>
|
|
2517
|
-
"<%= config.bin %>
|
|
2518
|
-
"<%= config.bin %> ingest video --device <device-id> --stream event_video --url https://example.com/event.mov --duration 10000 --tag event=collision"
|
|
2505
|
+
"<%= config.bin %> investigation trigger <id> --input \"Robot stopped responding\"",
|
|
2506
|
+
"<%= config.bin %> investigation trigger <id> --input \"Battery draining fast on device X\" --json"
|
|
2519
2507
|
],
|
|
2520
2508
|
"flags": {
|
|
2521
2509
|
"json": {
|
|
@@ -2545,89 +2533,114 @@
|
|
|
2545
2533
|
"allowNo": false,
|
|
2546
2534
|
"type": "boolean"
|
|
2547
2535
|
},
|
|
2548
|
-
"
|
|
2549
|
-
"char": "
|
|
2550
|
-
"description": "
|
|
2551
|
-
"name": "
|
|
2552
|
-
"required": true,
|
|
2553
|
-
"hasDynamicHelp": false,
|
|
2554
|
-
"multiple": false,
|
|
2555
|
-
"type": "option"
|
|
2556
|
-
},
|
|
2557
|
-
"stream": {
|
|
2558
|
-
"char": "s",
|
|
2559
|
-
"description": "Stream name",
|
|
2560
|
-
"name": "stream",
|
|
2561
|
-
"required": true,
|
|
2562
|
-
"hasDynamicHelp": false,
|
|
2563
|
-
"multiple": false,
|
|
2564
|
-
"type": "option"
|
|
2565
|
-
},
|
|
2566
|
-
"url": {
|
|
2567
|
-
"char": "u",
|
|
2568
|
-
"description": "Video URL (must be http:// or https://)",
|
|
2569
|
-
"name": "url",
|
|
2570
|
-
"required": true,
|
|
2571
|
-
"hasDynamicHelp": false,
|
|
2572
|
-
"multiple": false,
|
|
2573
|
-
"type": "option"
|
|
2574
|
-
},
|
|
2575
|
-
"duration": {
|
|
2576
|
-
"description": "Video duration in milliseconds (required)",
|
|
2577
|
-
"name": "duration",
|
|
2536
|
+
"input": {
|
|
2537
|
+
"char": "i",
|
|
2538
|
+
"description": "Input text / problem description for the investigation",
|
|
2539
|
+
"name": "input",
|
|
2578
2540
|
"required": true,
|
|
2579
2541
|
"hasDynamicHelp": false,
|
|
2580
2542
|
"multiple": false,
|
|
2581
2543
|
"type": "option"
|
|
2582
2544
|
},
|
|
2583
|
-
"
|
|
2584
|
-
"description": "
|
|
2585
|
-
"name": "
|
|
2545
|
+
"signal-id": {
|
|
2546
|
+
"description": "Optional signal ID to associate with this run",
|
|
2547
|
+
"name": "signal-id",
|
|
2586
2548
|
"hasDynamicHelp": false,
|
|
2587
2549
|
"multiple": false,
|
|
2588
2550
|
"type": "option"
|
|
2551
|
+
}
|
|
2552
|
+
},
|
|
2553
|
+
"hasDynamicHelp": false,
|
|
2554
|
+
"hiddenAliases": [],
|
|
2555
|
+
"id": "investigation:trigger",
|
|
2556
|
+
"pluginAlias": "@formant/formant-cli",
|
|
2557
|
+
"pluginName": "@formant/formant-cli",
|
|
2558
|
+
"pluginType": "core",
|
|
2559
|
+
"strict": true,
|
|
2560
|
+
"summary": "Trigger an investigation",
|
|
2561
|
+
"enableJsonFlag": true,
|
|
2562
|
+
"isESM": true,
|
|
2563
|
+
"relativePath": [
|
|
2564
|
+
"dist",
|
|
2565
|
+
"commands",
|
|
2566
|
+
"investigation",
|
|
2567
|
+
"trigger.js"
|
|
2568
|
+
]
|
|
2569
|
+
},
|
|
2570
|
+
"device:config": {
|
|
2571
|
+
"aliases": [],
|
|
2572
|
+
"args": {
|
|
2573
|
+
"id": {
|
|
2574
|
+
"description": "Device ID (UUID)",
|
|
2575
|
+
"name": "id",
|
|
2576
|
+
"required": true
|
|
2577
|
+
}
|
|
2578
|
+
},
|
|
2579
|
+
"description": "Get the device configuration including stream definitions.\n\nShows the device's current configuration including telemetry streams, commands,\nand other settings.",
|
|
2580
|
+
"examples": [
|
|
2581
|
+
"<%= config.bin %> device config <device-id>",
|
|
2582
|
+
"<%= config.bin %> device config <device-id> --json"
|
|
2583
|
+
],
|
|
2584
|
+
"flags": {
|
|
2585
|
+
"json": {
|
|
2586
|
+
"description": "Format output as json.",
|
|
2587
|
+
"helpGroup": "GLOBAL",
|
|
2588
|
+
"name": "json",
|
|
2589
|
+
"allowNo": false,
|
|
2590
|
+
"type": "boolean"
|
|
2589
2591
|
},
|
|
2590
|
-
"
|
|
2591
|
-
"
|
|
2592
|
-
"
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
"
|
|
2596
|
-
"
|
|
2592
|
+
"dev": {
|
|
2593
|
+
"description": "Target the dev environment",
|
|
2594
|
+
"exclusive": [
|
|
2595
|
+
"stage"
|
|
2596
|
+
],
|
|
2597
|
+
"helpGroup": "GLOBAL",
|
|
2598
|
+
"name": "dev",
|
|
2599
|
+
"allowNo": false,
|
|
2600
|
+
"type": "boolean"
|
|
2597
2601
|
},
|
|
2598
|
-
"
|
|
2599
|
-
"description": "
|
|
2600
|
-
"
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
"
|
|
2602
|
+
"stage": {
|
|
2603
|
+
"description": "Target the stage environment",
|
|
2604
|
+
"exclusive": [
|
|
2605
|
+
"dev"
|
|
2606
|
+
],
|
|
2607
|
+
"helpGroup": "GLOBAL",
|
|
2608
|
+
"name": "stage",
|
|
2609
|
+
"allowNo": false,
|
|
2610
|
+
"type": "boolean"
|
|
2604
2611
|
}
|
|
2605
2612
|
},
|
|
2606
2613
|
"hasDynamicHelp": false,
|
|
2607
2614
|
"hiddenAliases": [],
|
|
2608
|
-
"id": "
|
|
2615
|
+
"id": "device:config",
|
|
2609
2616
|
"pluginAlias": "@formant/formant-cli",
|
|
2610
2617
|
"pluginName": "@formant/formant-cli",
|
|
2611
2618
|
"pluginType": "core",
|
|
2612
2619
|
"strict": true,
|
|
2613
|
-
"summary": "
|
|
2620
|
+
"summary": "Get device configuration",
|
|
2614
2621
|
"enableJsonFlag": true,
|
|
2615
2622
|
"isESM": true,
|
|
2616
2623
|
"relativePath": [
|
|
2617
2624
|
"dist",
|
|
2618
2625
|
"commands",
|
|
2619
|
-
"
|
|
2620
|
-
"
|
|
2626
|
+
"device",
|
|
2627
|
+
"config.js"
|
|
2621
2628
|
]
|
|
2622
2629
|
},
|
|
2623
|
-
"
|
|
2630
|
+
"device:create": {
|
|
2624
2631
|
"aliases": [],
|
|
2625
|
-
"args": {
|
|
2626
|
-
|
|
2632
|
+
"args": {
|
|
2633
|
+
"name": {
|
|
2634
|
+
"description": "Name for the new device",
|
|
2635
|
+
"name": "name",
|
|
2636
|
+
"required": true
|
|
2637
|
+
}
|
|
2638
|
+
},
|
|
2639
|
+
"description": "Create a new device in your fleet.\n\nThe device is created as enabled by default. You can optionally specify tags.",
|
|
2627
2640
|
"examples": [
|
|
2628
|
-
"<%= config.bin %>
|
|
2629
|
-
"<%= config.bin %>
|
|
2630
|
-
"<%= config.bin %>
|
|
2641
|
+
"<%= config.bin %> device create my-robot",
|
|
2642
|
+
"<%= config.bin %> device create my-robot --tag location=warehouse --tag env=prod",
|
|
2643
|
+
"<%= config.bin %> device create my-robot --json"
|
|
2631
2644
|
],
|
|
2632
2645
|
"flags": {
|
|
2633
2646
|
"json": {
|
|
@@ -2657,76 +2670,45 @@
|
|
|
2657
2670
|
"allowNo": false,
|
|
2658
2671
|
"type": "boolean"
|
|
2659
2672
|
},
|
|
2660
|
-
"
|
|
2661
|
-
"
|
|
2662
|
-
"
|
|
2663
|
-
"
|
|
2664
|
-
"hasDynamicHelp": false,
|
|
2665
|
-
"multiple": false,
|
|
2666
|
-
"type": "option"
|
|
2667
|
-
},
|
|
2668
|
-
"group-by": {
|
|
2669
|
-
"description": "Group results by",
|
|
2670
|
-
"name": "group-by",
|
|
2671
|
-
"hasDynamicHelp": false,
|
|
2672
|
-
"multiple": false,
|
|
2673
|
-
"options": [
|
|
2674
|
-
"resultType",
|
|
2675
|
-
"signalType"
|
|
2676
|
-
],
|
|
2677
|
-
"type": "option"
|
|
2678
|
-
},
|
|
2679
|
-
"interval": {
|
|
2680
|
-
"description": "Time interval for aggregation",
|
|
2681
|
-
"name": "interval",
|
|
2682
|
-
"default": "daily",
|
|
2683
|
-
"hasDynamicHelp": false,
|
|
2684
|
-
"multiple": false,
|
|
2685
|
-
"options": [
|
|
2686
|
-
"daily",
|
|
2687
|
-
"hourly"
|
|
2688
|
-
],
|
|
2689
|
-
"type": "option"
|
|
2690
|
-
},
|
|
2691
|
-
"start": {
|
|
2692
|
-
"description": "Start time (ISO 8601)",
|
|
2693
|
-
"name": "start",
|
|
2694
|
-
"required": true,
|
|
2673
|
+
"tag": {
|
|
2674
|
+
"char": "t",
|
|
2675
|
+
"description": "Tag to apply (key=value), can be specified multiple times",
|
|
2676
|
+
"name": "tag",
|
|
2695
2677
|
"hasDynamicHelp": false,
|
|
2696
|
-
"multiple":
|
|
2678
|
+
"multiple": true,
|
|
2697
2679
|
"type": "option"
|
|
2698
2680
|
}
|
|
2699
2681
|
},
|
|
2700
2682
|
"hasDynamicHelp": false,
|
|
2701
2683
|
"hiddenAliases": [],
|
|
2702
|
-
"id": "
|
|
2684
|
+
"id": "device:create",
|
|
2703
2685
|
"pluginAlias": "@formant/formant-cli",
|
|
2704
2686
|
"pluginName": "@formant/formant-cli",
|
|
2705
2687
|
"pluginType": "core",
|
|
2706
2688
|
"strict": true,
|
|
2707
|
-
"summary": "
|
|
2689
|
+
"summary": "Create a new device",
|
|
2708
2690
|
"enableJsonFlag": true,
|
|
2709
2691
|
"isESM": true,
|
|
2710
2692
|
"relativePath": [
|
|
2711
2693
|
"dist",
|
|
2712
2694
|
"commands",
|
|
2713
|
-
"
|
|
2714
|
-
"
|
|
2695
|
+
"device",
|
|
2696
|
+
"create.js"
|
|
2715
2697
|
]
|
|
2716
2698
|
},
|
|
2717
|
-
"
|
|
2699
|
+
"device:delete": {
|
|
2718
2700
|
"aliases": [],
|
|
2719
2701
|
"args": {
|
|
2720
2702
|
"id": {
|
|
2721
|
-
"description": "
|
|
2703
|
+
"description": "Device ID (UUID)",
|
|
2722
2704
|
"name": "id",
|
|
2723
2705
|
"required": true
|
|
2724
2706
|
}
|
|
2725
2707
|
},
|
|
2726
|
-
"description": "
|
|
2708
|
+
"description": "Delete (disable) a device from your fleet.\n\nThis performs a soft-delete by disabling the device. The device and its telemetry\nhistory are preserved but it will no longer appear in device listings.",
|
|
2727
2709
|
"examples": [
|
|
2728
|
-
"<%= config.bin %>
|
|
2729
|
-
"<%= config.bin %>
|
|
2710
|
+
"<%= config.bin %> device delete <device-id>",
|
|
2711
|
+
"<%= config.bin %> device delete <device-id> --json"
|
|
2730
2712
|
],
|
|
2731
2713
|
"flags": {
|
|
2732
2714
|
"json": {
|
|
@@ -2759,29 +2741,34 @@
|
|
|
2759
2741
|
},
|
|
2760
2742
|
"hasDynamicHelp": false,
|
|
2761
2743
|
"hiddenAliases": [],
|
|
2762
|
-
"id": "
|
|
2744
|
+
"id": "device:delete",
|
|
2763
2745
|
"pluginAlias": "@formant/formant-cli",
|
|
2764
2746
|
"pluginName": "@formant/formant-cli",
|
|
2765
2747
|
"pluginType": "core",
|
|
2766
2748
|
"strict": true,
|
|
2767
|
-
"summary": "
|
|
2749
|
+
"summary": "Delete (disable) a device",
|
|
2768
2750
|
"enableJsonFlag": true,
|
|
2769
2751
|
"isESM": true,
|
|
2770
2752
|
"relativePath": [
|
|
2771
2753
|
"dist",
|
|
2772
2754
|
"commands",
|
|
2773
|
-
"
|
|
2774
|
-
"
|
|
2755
|
+
"device",
|
|
2756
|
+
"delete.js"
|
|
2775
2757
|
]
|
|
2776
2758
|
},
|
|
2777
|
-
"
|
|
2759
|
+
"device:get": {
|
|
2778
2760
|
"aliases": [],
|
|
2779
|
-
"args": {
|
|
2780
|
-
|
|
2761
|
+
"args": {
|
|
2762
|
+
"id": {
|
|
2763
|
+
"description": "Device ID (UUID)",
|
|
2764
|
+
"name": "id",
|
|
2765
|
+
"required": true
|
|
2766
|
+
}
|
|
2767
|
+
},
|
|
2768
|
+
"description": "Get detailed information about a specific device by its ID.",
|
|
2781
2769
|
"examples": [
|
|
2782
|
-
"<%= config.bin %>
|
|
2783
|
-
"<%= config.bin %>
|
|
2784
|
-
"<%= config.bin %> investigation list --json"
|
|
2770
|
+
"<%= config.bin %> device get <device-id>",
|
|
2771
|
+
"<%= config.bin %> device get <device-id> --json"
|
|
2785
2772
|
],
|
|
2786
2773
|
"flags": {
|
|
2787
2774
|
"json": {
|
|
@@ -2810,50 +2797,37 @@
|
|
|
2810
2797
|
"name": "stage",
|
|
2811
2798
|
"allowNo": false,
|
|
2812
2799
|
"type": "boolean"
|
|
2813
|
-
},
|
|
2814
|
-
"signal-handler": {
|
|
2815
|
-
"description": "Only show investigations that handle signals",
|
|
2816
|
-
"name": "signal-handler",
|
|
2817
|
-
"allowNo": false,
|
|
2818
|
-
"type": "boolean"
|
|
2819
2800
|
}
|
|
2820
2801
|
},
|
|
2821
2802
|
"hasDynamicHelp": false,
|
|
2822
2803
|
"hiddenAliases": [],
|
|
2823
|
-
"id": "
|
|
2804
|
+
"id": "device:get",
|
|
2824
2805
|
"pluginAlias": "@formant/formant-cli",
|
|
2825
2806
|
"pluginName": "@formant/formant-cli",
|
|
2826
2807
|
"pluginType": "core",
|
|
2827
2808
|
"strict": true,
|
|
2828
|
-
"summary": "
|
|
2809
|
+
"summary": "Get a device by ID",
|
|
2829
2810
|
"enableJsonFlag": true,
|
|
2830
2811
|
"isESM": true,
|
|
2831
2812
|
"relativePath": [
|
|
2832
2813
|
"dist",
|
|
2833
2814
|
"commands",
|
|
2834
|
-
"
|
|
2835
|
-
"
|
|
2815
|
+
"device",
|
|
2816
|
+
"get.js"
|
|
2836
2817
|
]
|
|
2837
2818
|
},
|
|
2838
|
-
"
|
|
2819
|
+
"device:list": {
|
|
2839
2820
|
"aliases": [],
|
|
2840
|
-
"args": {
|
|
2841
|
-
|
|
2842
|
-
"description": "Investigation (taskflow) ID",
|
|
2843
|
-
"name": "investigationId",
|
|
2844
|
-
"required": true
|
|
2845
|
-
},
|
|
2846
|
-
"runId": {
|
|
2847
|
-
"description": "Run ID",
|
|
2848
|
-
"name": "runId",
|
|
2849
|
-
"required": true
|
|
2850
|
-
}
|
|
2851
|
-
},
|
|
2852
|
-
"description": "Get detailed information about a specific investigation run.\n\nShows run details including status, signal information, events, and the complete execution \nlog with node inputs/outputs, task messages, tool usage, and results.\n\nUse this to trace the investigation run back to its signal and triggering event.",
|
|
2821
|
+
"args": {},
|
|
2822
|
+
"description": "List robots and sensors in your fleet. Shows only online devices by default.\n\nUse --include-offline to include offline devices. Use --with-data to show only\ndevices that have ingested data. Each device is enriched with data-based last\nseen timestamp and datapoint count from analytics.",
|
|
2853
2823
|
"examples": [
|
|
2854
|
-
"<%= config.bin %>
|
|
2855
|
-
"<%= config.bin %>
|
|
2856
|
-
"<%= config.bin %>
|
|
2824
|
+
"<%= config.bin %> device list",
|
|
2825
|
+
"<%= config.bin %> device list --include-offline",
|
|
2826
|
+
"<%= config.bin %> device list --with-data",
|
|
2827
|
+
"<%= config.bin %> device list --with-data --days 90",
|
|
2828
|
+
"<%= config.bin %> device list --include-offline --limit 100",
|
|
2829
|
+
"<%= config.bin %> device list --tag location=warehouse",
|
|
2830
|
+
"<%= config.bin %> device list --name robot --dev --json"
|
|
2857
2831
|
],
|
|
2858
2832
|
"flags": {
|
|
2859
2833
|
"json": {
|
|
@@ -2883,50 +2857,89 @@
|
|
|
2883
2857
|
"allowNo": false,
|
|
2884
2858
|
"type": "boolean"
|
|
2885
2859
|
},
|
|
2886
|
-
"
|
|
2887
|
-
"
|
|
2888
|
-
"
|
|
2860
|
+
"include-offline": {
|
|
2861
|
+
"char": "a",
|
|
2862
|
+
"description": "Include offline devices",
|
|
2863
|
+
"name": "include-offline",
|
|
2889
2864
|
"allowNo": false,
|
|
2890
2865
|
"type": "boolean"
|
|
2891
2866
|
},
|
|
2892
|
-
"
|
|
2893
|
-
"description": "
|
|
2894
|
-
"name": "
|
|
2867
|
+
"days": {
|
|
2868
|
+
"description": "How many days back to search for last seen data",
|
|
2869
|
+
"name": "days",
|
|
2870
|
+
"default": 30,
|
|
2871
|
+
"hasDynamicHelp": false,
|
|
2872
|
+
"multiple": false,
|
|
2873
|
+
"type": "option"
|
|
2874
|
+
},
|
|
2875
|
+
"limit": {
|
|
2876
|
+
"char": "l",
|
|
2877
|
+
"description": "Maximum number of devices to return",
|
|
2878
|
+
"name": "limit",
|
|
2879
|
+
"default": 50,
|
|
2880
|
+
"hasDynamicHelp": false,
|
|
2881
|
+
"multiple": false,
|
|
2882
|
+
"type": "option"
|
|
2883
|
+
},
|
|
2884
|
+
"name": {
|
|
2885
|
+
"char": "n",
|
|
2886
|
+
"description": "Filter devices by name (search)",
|
|
2887
|
+
"name": "name",
|
|
2888
|
+
"hasDynamicHelp": false,
|
|
2889
|
+
"multiple": false,
|
|
2890
|
+
"type": "option"
|
|
2891
|
+
},
|
|
2892
|
+
"with-data": {
|
|
2893
|
+
"char": "w",
|
|
2894
|
+
"description": "Only show devices that have data in the last --days window",
|
|
2895
|
+
"name": "with-data",
|
|
2895
2896
|
"allowNo": false,
|
|
2896
2897
|
"type": "boolean"
|
|
2898
|
+
},
|
|
2899
|
+
"tag": {
|
|
2900
|
+
"char": "t",
|
|
2901
|
+
"description": "Filter by tag (key=value), can be specified multiple times",
|
|
2902
|
+
"name": "tag",
|
|
2903
|
+
"hasDynamicHelp": false,
|
|
2904
|
+
"multiple": true,
|
|
2905
|
+
"type": "option"
|
|
2897
2906
|
}
|
|
2898
2907
|
},
|
|
2899
2908
|
"hasDynamicHelp": false,
|
|
2900
2909
|
"hiddenAliases": [],
|
|
2901
|
-
"id": "
|
|
2910
|
+
"id": "device:list",
|
|
2902
2911
|
"pluginAlias": "@formant/formant-cli",
|
|
2903
2912
|
"pluginName": "@formant/formant-cli",
|
|
2904
2913
|
"pluginType": "core",
|
|
2905
2914
|
"strict": true,
|
|
2906
|
-
"summary": "
|
|
2915
|
+
"summary": "List robots and sensors in your fleet",
|
|
2907
2916
|
"enableJsonFlag": true,
|
|
2908
2917
|
"isESM": true,
|
|
2909
2918
|
"relativePath": [
|
|
2910
2919
|
"dist",
|
|
2911
2920
|
"commands",
|
|
2912
|
-
"
|
|
2913
|
-
"
|
|
2921
|
+
"device",
|
|
2922
|
+
"list.js"
|
|
2914
2923
|
]
|
|
2915
2924
|
},
|
|
2916
|
-
"
|
|
2925
|
+
"device:rename": {
|
|
2917
2926
|
"aliases": [],
|
|
2918
2927
|
"args": {
|
|
2919
2928
|
"id": {
|
|
2920
|
-
"description": "
|
|
2929
|
+
"description": "Device ID (UUID)",
|
|
2921
2930
|
"name": "id",
|
|
2922
2931
|
"required": true
|
|
2932
|
+
},
|
|
2933
|
+
"name": {
|
|
2934
|
+
"description": "New name for the device",
|
|
2935
|
+
"name": "name",
|
|
2936
|
+
"required": true
|
|
2923
2937
|
}
|
|
2924
2938
|
},
|
|
2925
|
-
"description": "
|
|
2939
|
+
"description": "Rename a device by updating its name.",
|
|
2926
2940
|
"examples": [
|
|
2927
|
-
"<%= config.bin %>
|
|
2928
|
-
"<%= config.bin %>
|
|
2929
|
-
"<%= config.bin %> investigation runs-list <id> --details --json"
|
|
2941
|
+
"<%= config.bin %> device rename <device-id> new-robot-name",
|
|
2942
|
+
"<%= config.bin %> device rename <device-id> new-robot-name --json"
|
|
2930
2943
|
],
|
|
2931
2944
|
"flags": {
|
|
2932
2945
|
"json": {
|
|
@@ -2955,62 +2968,40 @@
|
|
|
2955
2968
|
"name": "stage",
|
|
2956
2969
|
"allowNo": false,
|
|
2957
2970
|
"type": "boolean"
|
|
2958
|
-
},
|
|
2959
|
-
"details": {
|
|
2960
|
-
"description": "Include detailed information about each run",
|
|
2961
|
-
"name": "details",
|
|
2962
|
-
"allowNo": false,
|
|
2963
|
-
"type": "boolean"
|
|
2964
|
-
},
|
|
2965
|
-
"limit": {
|
|
2966
|
-
"char": "l",
|
|
2967
|
-
"description": "Maximum number of runs to return",
|
|
2968
|
-
"name": "limit",
|
|
2969
|
-
"default": 20,
|
|
2970
|
-
"hasDynamicHelp": false,
|
|
2971
|
-
"multiple": false,
|
|
2972
|
-
"type": "option"
|
|
2973
|
-
},
|
|
2974
|
-
"offset": {
|
|
2975
|
-
"char": "o",
|
|
2976
|
-
"description": "Offset for pagination",
|
|
2977
|
-
"name": "offset",
|
|
2978
|
-
"default": 0,
|
|
2979
|
-
"hasDynamicHelp": false,
|
|
2980
|
-
"multiple": false,
|
|
2981
|
-
"type": "option"
|
|
2982
2971
|
}
|
|
2983
2972
|
},
|
|
2984
2973
|
"hasDynamicHelp": false,
|
|
2985
2974
|
"hiddenAliases": [],
|
|
2986
|
-
"id": "
|
|
2975
|
+
"id": "device:rename",
|
|
2987
2976
|
"pluginAlias": "@formant/formant-cli",
|
|
2988
2977
|
"pluginName": "@formant/formant-cli",
|
|
2989
2978
|
"pluginType": "core",
|
|
2990
2979
|
"strict": true,
|
|
2991
|
-
"summary": "
|
|
2980
|
+
"summary": "Rename a device",
|
|
2992
2981
|
"enableJsonFlag": true,
|
|
2993
2982
|
"isESM": true,
|
|
2994
2983
|
"relativePath": [
|
|
2995
2984
|
"dist",
|
|
2996
2985
|
"commands",
|
|
2997
|
-
"
|
|
2998
|
-
"
|
|
2986
|
+
"device",
|
|
2987
|
+
"rename.js"
|
|
2999
2988
|
]
|
|
3000
2989
|
},
|
|
3001
|
-
"
|
|
2990
|
+
"device:streams": {
|
|
3002
2991
|
"aliases": [],
|
|
3003
2992
|
"args": {
|
|
3004
2993
|
"id": {
|
|
3005
|
-
"description": "
|
|
2994
|
+
"description": "Device ID (UUID)",
|
|
3006
2995
|
"name": "id",
|
|
3007
2996
|
"required": true
|
|
3008
2997
|
}
|
|
3009
2998
|
},
|
|
3010
|
-
"description": "List
|
|
2999
|
+
"description": "List telemetry streams for a device with data presence.\n\nShows streams from the device configuration and any streams discovered from\ningested data. Each stream is enriched with presence info from the analytics\nbackend: data point count, last seen time, and a freshness indicator\n(active/recent/stale/dormant).\n\nUnconfigured streams (discovered from data only) are marked with SOURCE \"data\".",
|
|
3011
3000
|
"examples": [
|
|
3012
|
-
"<%= config.bin %>
|
|
3013
|
-
"<%= config.bin %>
|
|
3001
|
+
"<%= config.bin %> device streams <device-id>",
|
|
3002
|
+
"<%= config.bin %> device streams <device-id> --with-data",
|
|
3003
|
+
"<%= config.bin %> device streams <device-id> --with-data --days 30",
|
|
3004
|
+
"<%= config.bin %> device streams <device-id> --json"
|
|
3014
3005
|
],
|
|
3015
3006
|
"flags": {
|
|
3016
3007
|
"json": {
|
|
@@ -3039,32 +3030,54 @@
|
|
|
3039
3030
|
"name": "stage",
|
|
3040
3031
|
"allowNo": false,
|
|
3041
3032
|
"type": "boolean"
|
|
3033
|
+
},
|
|
3034
|
+
"days": {
|
|
3035
|
+
"description": "How many days back to look for stream data presence",
|
|
3036
|
+
"name": "days",
|
|
3037
|
+
"default": 7,
|
|
3038
|
+
"hasDynamicHelp": false,
|
|
3039
|
+
"multiple": false,
|
|
3040
|
+
"type": "option"
|
|
3041
|
+
},
|
|
3042
|
+
"with-data": {
|
|
3043
|
+
"char": "w",
|
|
3044
|
+
"description": "Only show streams that have data in the --days window",
|
|
3045
|
+
"name": "with-data",
|
|
3046
|
+
"allowNo": false,
|
|
3047
|
+
"type": "boolean"
|
|
3042
3048
|
}
|
|
3043
3049
|
},
|
|
3044
3050
|
"hasDynamicHelp": false,
|
|
3045
3051
|
"hiddenAliases": [],
|
|
3046
|
-
"id": "
|
|
3052
|
+
"id": "device:streams",
|
|
3047
3053
|
"pluginAlias": "@formant/formant-cli",
|
|
3048
3054
|
"pluginName": "@formant/formant-cli",
|
|
3049
3055
|
"pluginType": "core",
|
|
3050
3056
|
"strict": true,
|
|
3051
|
-
"summary": "List
|
|
3057
|
+
"summary": "List device streams with data presence",
|
|
3052
3058
|
"enableJsonFlag": true,
|
|
3053
3059
|
"isESM": true,
|
|
3054
3060
|
"relativePath": [
|
|
3055
3061
|
"dist",
|
|
3056
3062
|
"commands",
|
|
3057
|
-
"
|
|
3058
|
-
"
|
|
3063
|
+
"device",
|
|
3064
|
+
"streams.js"
|
|
3059
3065
|
]
|
|
3060
3066
|
},
|
|
3061
|
-
"
|
|
3067
|
+
"device:tag": {
|
|
3062
3068
|
"aliases": [],
|
|
3063
|
-
"args": {
|
|
3064
|
-
|
|
3069
|
+
"args": {
|
|
3070
|
+
"id": {
|
|
3071
|
+
"description": "Device ID (UUID)",
|
|
3072
|
+
"name": "id",
|
|
3073
|
+
"required": true
|
|
3074
|
+
}
|
|
3075
|
+
},
|
|
3076
|
+
"description": "Add or update tags on a device.\n\nTags are key-value pairs. If a tag key already exists, its value will be updated.\nSpecify one or more tags with --tag key=value.",
|
|
3065
3077
|
"examples": [
|
|
3066
|
-
"<%= config.bin %>
|
|
3067
|
-
"<%= config.bin %>
|
|
3078
|
+
"<%= config.bin %> device tag <device-id> --tag location=warehouse",
|
|
3079
|
+
"<%= config.bin %> device tag <device-id> --tag env=prod --tag region=us-east",
|
|
3080
|
+
"<%= config.bin %> device tag <device-id> --tag location=factory --json"
|
|
3068
3081
|
],
|
|
3069
3082
|
"flags": {
|
|
3070
3083
|
"json": {
|
|
@@ -3094,53 +3107,47 @@
|
|
|
3094
3107
|
"allowNo": false,
|
|
3095
3108
|
"type": "boolean"
|
|
3096
3109
|
},
|
|
3097
|
-
"
|
|
3098
|
-
"
|
|
3099
|
-
"
|
|
3100
|
-
"
|
|
3101
|
-
"hasDynamicHelp": false,
|
|
3102
|
-
"multiple": false,
|
|
3103
|
-
"type": "option"
|
|
3104
|
-
},
|
|
3105
|
-
"start": {
|
|
3106
|
-
"description": "Start time (ISO 8601)",
|
|
3107
|
-
"name": "start",
|
|
3110
|
+
"tag": {
|
|
3111
|
+
"char": "t",
|
|
3112
|
+
"description": "Tag to add or update (key=value), can be specified multiple times",
|
|
3113
|
+
"name": "tag",
|
|
3108
3114
|
"required": true,
|
|
3109
3115
|
"hasDynamicHelp": false,
|
|
3110
|
-
"multiple":
|
|
3116
|
+
"multiple": true,
|
|
3111
3117
|
"type": "option"
|
|
3112
3118
|
}
|
|
3113
3119
|
},
|
|
3114
3120
|
"hasDynamicHelp": false,
|
|
3115
3121
|
"hiddenAliases": [],
|
|
3116
|
-
"id": "
|
|
3122
|
+
"id": "device:tag",
|
|
3117
3123
|
"pluginAlias": "@formant/formant-cli",
|
|
3118
3124
|
"pluginName": "@formant/formant-cli",
|
|
3119
3125
|
"pluginType": "core",
|
|
3120
3126
|
"strict": true,
|
|
3121
|
-
"summary": "
|
|
3127
|
+
"summary": "Add or update tags on a device",
|
|
3122
3128
|
"enableJsonFlag": true,
|
|
3123
3129
|
"isESM": true,
|
|
3124
3130
|
"relativePath": [
|
|
3125
3131
|
"dist",
|
|
3126
3132
|
"commands",
|
|
3127
|
-
"
|
|
3128
|
-
"
|
|
3133
|
+
"device",
|
|
3134
|
+
"tag.js"
|
|
3129
3135
|
]
|
|
3130
3136
|
},
|
|
3131
|
-
"
|
|
3137
|
+
"device:untag": {
|
|
3132
3138
|
"aliases": [],
|
|
3133
3139
|
"args": {
|
|
3134
3140
|
"id": {
|
|
3135
|
-
"description": "
|
|
3141
|
+
"description": "Device ID (UUID)",
|
|
3136
3142
|
"name": "id",
|
|
3137
3143
|
"required": true
|
|
3138
3144
|
}
|
|
3139
3145
|
},
|
|
3140
|
-
"description": "
|
|
3146
|
+
"description": "Remove tags from a device.\n\nSpecify one or more tag keys to remove with --key.",
|
|
3141
3147
|
"examples": [
|
|
3142
|
-
"<%= config.bin %>
|
|
3143
|
-
"<%= config.bin %>
|
|
3148
|
+
"<%= config.bin %> device untag <device-id> --key location",
|
|
3149
|
+
"<%= config.bin %> device untag <device-id> --key env --key region",
|
|
3150
|
+
"<%= config.bin %> device untag <device-id> --key location --json"
|
|
3144
3151
|
],
|
|
3145
3152
|
"flags": {
|
|
3146
3153
|
"json": {
|
|
@@ -3170,48 +3177,44 @@
|
|
|
3170
3177
|
"allowNo": false,
|
|
3171
3178
|
"type": "boolean"
|
|
3172
3179
|
},
|
|
3173
|
-
"
|
|
3174
|
-
"char": "
|
|
3175
|
-
"description": "
|
|
3176
|
-
"name": "
|
|
3180
|
+
"key": {
|
|
3181
|
+
"char": "k",
|
|
3182
|
+
"description": "Tag key to remove, can be specified multiple times",
|
|
3183
|
+
"name": "key",
|
|
3177
3184
|
"required": true,
|
|
3178
3185
|
"hasDynamicHelp": false,
|
|
3179
|
-
"multiple":
|
|
3180
|
-
"type": "option"
|
|
3181
|
-
},
|
|
3182
|
-
"signal-id": {
|
|
3183
|
-
"description": "Optional signal ID to associate with this run",
|
|
3184
|
-
"name": "signal-id",
|
|
3185
|
-
"hasDynamicHelp": false,
|
|
3186
|
-
"multiple": false,
|
|
3186
|
+
"multiple": true,
|
|
3187
3187
|
"type": "option"
|
|
3188
3188
|
}
|
|
3189
3189
|
},
|
|
3190
3190
|
"hasDynamicHelp": false,
|
|
3191
3191
|
"hiddenAliases": [],
|
|
3192
|
-
"id": "
|
|
3192
|
+
"id": "device:untag",
|
|
3193
3193
|
"pluginAlias": "@formant/formant-cli",
|
|
3194
3194
|
"pluginName": "@formant/formant-cli",
|
|
3195
3195
|
"pluginType": "core",
|
|
3196
3196
|
"strict": true,
|
|
3197
|
-
"summary": "
|
|
3197
|
+
"summary": "Remove tags from a device",
|
|
3198
3198
|
"enableJsonFlag": true,
|
|
3199
3199
|
"isESM": true,
|
|
3200
3200
|
"relativePath": [
|
|
3201
3201
|
"dist",
|
|
3202
3202
|
"commands",
|
|
3203
|
-
"
|
|
3204
|
-
"
|
|
3203
|
+
"device",
|
|
3204
|
+
"untag.js"
|
|
3205
3205
|
]
|
|
3206
3206
|
},
|
|
3207
3207
|
"query": {
|
|
3208
3208
|
"aliases": [],
|
|
3209
3209
|
"args": {},
|
|
3210
|
-
"description": "Query telemetry stream data for a device over a time range.\n\nReturns time-series datapoints for the specified stream(s). Supports aggregation\nfor downsampling large datasets, and --latest to get only the most recent value.\n\nStream types: numeric, text, image, video, location, json, bitset, battery, health,\n\"numeric set\", \"point cloud\", localization, \"transform tree\", file.\n\nAggregate levels: second, 5 seconds, 30 seconds, minute, 5 minutes, 30 minutes,\nhour, 4 hours, 12 hours, day, week, month, year.",
|
|
3210
|
+
"description": "Query telemetry stream data for a device over a time range.\n\nReturns time-series datapoints for the specified stream(s). Supports aggregation\nfor downsampling large datasets, and --latest-values-only to get only the most recent value.\n\nUse --all-streams with --latest-values-only to automatically discover and query all\nstreams — both from the device configuration and from actual ingested data\n(unconfigured streams included).\n\nStream types: numeric, text, image, video, location, json, bitset, battery, health,\n\"numeric set\", \"point cloud\", localization, \"transform tree\", file.\n\nAggregate levels: second, 5 seconds, 30 seconds, minute, 5 minutes, 30 minutes,\nhour, 4 hours, 12 hours, day, week, month, year.",
|
|
3211
3211
|
"examples": [
|
|
3212
3212
|
"<%= config.bin %> query --device <id> --stream battery_level --start 2026-01-01 --end 2026-01-02",
|
|
3213
3213
|
"<%= config.bin %> query --device <id> --stream speed --aggregate hour --start 2026-01-01 --end 2026-02-01",
|
|
3214
|
-
"<%= config.bin %> query --device <id> --stream battery_level --
|
|
3214
|
+
"<%= config.bin %> query --device <id> --stream battery_level --stream temperature --start 2026-01-01 --end 2026-01-02",
|
|
3215
|
+
"<%= config.bin %> query --device <id1> --device <id2> --stream battery_level --start 2026-01-01 --end 2026-01-02",
|
|
3216
|
+
"<%= config.bin %> query --device <id> --stream battery_level --start 2026-01-01 --end 2026-02-01 --latest-values-only",
|
|
3217
|
+
"<%= config.bin %> query --device <id> --all-streams --start 2026-01-01 --end 2026-02-01 --latest-values-only",
|
|
3215
3218
|
"<%= config.bin %> query --device <id> --stream temperature --type numeric --json"
|
|
3216
3219
|
],
|
|
3217
3220
|
"flags": {
|
|
@@ -3250,25 +3253,40 @@
|
|
|
3250
3253
|
"multiple": false,
|
|
3251
3254
|
"type": "option"
|
|
3252
3255
|
},
|
|
3256
|
+
"all-streams": {
|
|
3257
|
+
"description": "Query all streams for the device — from config and from ingested data (requires single --device and --latest-values-only)",
|
|
3258
|
+
"name": "all-streams",
|
|
3259
|
+
"allowNo": false,
|
|
3260
|
+
"type": "boolean"
|
|
3261
|
+
},
|
|
3262
|
+
"days": {
|
|
3263
|
+
"description": "How many days back to look for unconfigured streams when using --all-streams",
|
|
3264
|
+
"name": "days",
|
|
3265
|
+
"default": 14,
|
|
3266
|
+
"hasDynamicHelp": false,
|
|
3267
|
+
"multiple": false,
|
|
3268
|
+
"type": "option"
|
|
3269
|
+
},
|
|
3253
3270
|
"device": {
|
|
3254
3271
|
"char": "d",
|
|
3255
|
-
"description": "Device ID
|
|
3272
|
+
"description": "Device ID(s), can be specified multiple times",
|
|
3256
3273
|
"name": "device",
|
|
3257
3274
|
"required": true,
|
|
3258
3275
|
"hasDynamicHelp": false,
|
|
3259
|
-
"multiple":
|
|
3276
|
+
"multiple": true,
|
|
3260
3277
|
"type": "option"
|
|
3261
3278
|
},
|
|
3262
3279
|
"end": {
|
|
3263
3280
|
"description": "End time (ISO 8601)",
|
|
3264
3281
|
"name": "end",
|
|
3282
|
+
"required": true,
|
|
3265
3283
|
"hasDynamicHelp": false,
|
|
3266
3284
|
"multiple": false,
|
|
3267
3285
|
"type": "option"
|
|
3268
3286
|
},
|
|
3269
|
-
"latest": {
|
|
3287
|
+
"latest-values-only": {
|
|
3270
3288
|
"description": "Only return the most recent value per stream",
|
|
3271
|
-
"name": "latest",
|
|
3289
|
+
"name": "latest-values-only",
|
|
3272
3290
|
"allowNo": false,
|
|
3273
3291
|
"type": "boolean"
|
|
3274
3292
|
},
|
|
@@ -3283,6 +3301,7 @@
|
|
|
3283
3301
|
"start": {
|
|
3284
3302
|
"description": "Start time (ISO 8601)",
|
|
3285
3303
|
"name": "start",
|
|
3304
|
+
"required": true,
|
|
3286
3305
|
"hasDynamicHelp": false,
|
|
3287
3306
|
"multiple": false,
|
|
3288
3307
|
"type": "option"
|
|
@@ -3291,7 +3310,6 @@
|
|
|
3291
3310
|
"char": "s",
|
|
3292
3311
|
"description": "Stream name(s), can be specified multiple times",
|
|
3293
3312
|
"name": "stream",
|
|
3294
|
-
"required": true,
|
|
3295
3313
|
"hasDynamicHelp": false,
|
|
3296
3314
|
"multiple": true,
|
|
3297
3315
|
"type": "option"
|
|
@@ -3321,93 +3339,6 @@
|
|
|
3321
3339
|
"index.js"
|
|
3322
3340
|
]
|
|
3323
3341
|
},
|
|
3324
|
-
"query:latest-values": {
|
|
3325
|
-
"aliases": [],
|
|
3326
|
-
"args": {},
|
|
3327
|
-
"description": "Get the latest values for streams across devices.\n\nReturns the most recent value for specified streams without needing to specify\na time range. Useful for checking current sensor readings.\n\nUse --all-streams with a single device to automatically discover and query all\nstreams — both from the device configuration and from actual ingested data\n(unconfigured streams included).",
|
|
3328
|
-
"examples": [
|
|
3329
|
-
"<%= config.bin %> query latest-values --device <id> --stream battery_level",
|
|
3330
|
-
"<%= config.bin %> query latest-values --device <id> --stream temperature --stream humidity",
|
|
3331
|
-
"<%= config.bin %> query latest-values --device <id> --all-streams",
|
|
3332
|
-
"<%= config.bin %> query latest-values --device <id> --all-streams --json"
|
|
3333
|
-
],
|
|
3334
|
-
"flags": {
|
|
3335
|
-
"json": {
|
|
3336
|
-
"description": "Format output as json.",
|
|
3337
|
-
"helpGroup": "GLOBAL",
|
|
3338
|
-
"name": "json",
|
|
3339
|
-
"allowNo": false,
|
|
3340
|
-
"type": "boolean"
|
|
3341
|
-
},
|
|
3342
|
-
"dev": {
|
|
3343
|
-
"description": "Target the dev environment",
|
|
3344
|
-
"exclusive": [
|
|
3345
|
-
"stage"
|
|
3346
|
-
],
|
|
3347
|
-
"helpGroup": "GLOBAL",
|
|
3348
|
-
"name": "dev",
|
|
3349
|
-
"allowNo": false,
|
|
3350
|
-
"type": "boolean"
|
|
3351
|
-
},
|
|
3352
|
-
"stage": {
|
|
3353
|
-
"description": "Target the stage environment",
|
|
3354
|
-
"exclusive": [
|
|
3355
|
-
"dev"
|
|
3356
|
-
],
|
|
3357
|
-
"helpGroup": "GLOBAL",
|
|
3358
|
-
"name": "stage",
|
|
3359
|
-
"allowNo": false,
|
|
3360
|
-
"type": "boolean"
|
|
3361
|
-
},
|
|
3362
|
-
"all-streams": {
|
|
3363
|
-
"description": "Query all streams for the device — from config and from ingested data (requires single --device)",
|
|
3364
|
-
"name": "all-streams",
|
|
3365
|
-
"allowNo": false,
|
|
3366
|
-
"type": "boolean"
|
|
3367
|
-
},
|
|
3368
|
-
"days": {
|
|
3369
|
-
"description": "How many days back to look for unconfigured streams when using --all-streams",
|
|
3370
|
-
"name": "days",
|
|
3371
|
-
"default": 14,
|
|
3372
|
-
"hasDynamicHelp": false,
|
|
3373
|
-
"multiple": false,
|
|
3374
|
-
"type": "option"
|
|
3375
|
-
},
|
|
3376
|
-
"device": {
|
|
3377
|
-
"char": "d",
|
|
3378
|
-
"description": "Device ID (UUID)",
|
|
3379
|
-
"name": "device",
|
|
3380
|
-
"required": true,
|
|
3381
|
-
"hasDynamicHelp": false,
|
|
3382
|
-
"multiple": true,
|
|
3383
|
-
"type": "option"
|
|
3384
|
-
},
|
|
3385
|
-
"stream": {
|
|
3386
|
-
"char": "s",
|
|
3387
|
-
"description": "Stream name(s), can be specified multiple times",
|
|
3388
|
-
"name": "stream",
|
|
3389
|
-
"hasDynamicHelp": false,
|
|
3390
|
-
"multiple": true,
|
|
3391
|
-
"type": "option"
|
|
3392
|
-
}
|
|
3393
|
-
},
|
|
3394
|
-
"hasDynamicHelp": false,
|
|
3395
|
-
"hiddenAliases": [],
|
|
3396
|
-
"id": "query:latest-values",
|
|
3397
|
-
"pluginAlias": "@formant/formant-cli",
|
|
3398
|
-
"pluginName": "@formant/formant-cli",
|
|
3399
|
-
"pluginType": "core",
|
|
3400
|
-
"strict": true,
|
|
3401
|
-
"summary": "Get latest stream values",
|
|
3402
|
-
"enableJsonFlag": true,
|
|
3403
|
-
"isESM": true,
|
|
3404
|
-
"relativePath": [
|
|
3405
|
-
"dist",
|
|
3406
|
-
"commands",
|
|
3407
|
-
"query",
|
|
3408
|
-
"latest-values.js"
|
|
3409
|
-
]
|
|
3410
|
-
},
|
|
3411
3342
|
"persona:delegate-task": {
|
|
3412
3343
|
"aliases": [],
|
|
3413
3344
|
"args": {
|
|
@@ -4347,5 +4278,5 @@
|
|
|
4347
4278
|
]
|
|
4348
4279
|
}
|
|
4349
4280
|
},
|
|
4350
|
-
"version": "0.4.
|
|
4281
|
+
"version": "0.4.5"
|
|
4351
4282
|
}
|