@respan/cli 0.3.0 → 0.3.1

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.
@@ -102,9 +102,8 @@
102
102
  "type": "option"
103
103
  },
104
104
  "base-url": {
105
- "description": "API base URL",
105
+ "description": "API base URL (auto-detected from login method if not set)",
106
106
  "name": "base-url",
107
- "default": "https://api.respan.ai/api",
108
107
  "hasDynamicHelp": false,
109
108
  "multiple": false,
110
109
  "type": "option"
@@ -429,10 +428,16 @@
429
428
  "set.js"
430
429
  ]
431
430
  },
432
- "evaluators:create": {
431
+ "datasets:add-spans": {
433
432
  "aliases": [],
434
- "args": {},
435
- "description": "Create a new evaluator",
433
+ "args": {
434
+ "dataset-id": {
435
+ "description": "Dataset ID",
436
+ "name": "dataset-id",
437
+ "required": true
438
+ }
439
+ },
440
+ "description": "Add existing spans to a dataset",
436
441
  "flags": {
437
442
  "api-key": {
438
443
  "description": "API key (env: RESPAN_API_KEY)",
@@ -468,39 +473,18 @@
468
473
  "allowNo": false,
469
474
  "type": "boolean"
470
475
  },
471
- "name": {
472
- "description": "Evaluator name",
473
- "name": "name",
476
+ "span-ids": {
477
+ "description": "Comma-separated span IDs",
478
+ "name": "span-ids",
474
479
  "required": true,
475
480
  "hasDynamicHelp": false,
476
481
  "multiple": false,
477
482
  "type": "option"
478
- },
479
- "type": {
480
- "description": "Evaluator type",
481
- "name": "type",
482
- "hasDynamicHelp": false,
483
- "multiple": false,
484
- "type": "option"
485
- },
486
- "description": {
487
- "description": "Evaluator description",
488
- "name": "description",
489
- "hasDynamicHelp": false,
490
- "multiple": false,
491
- "type": "option"
492
- },
493
- "config": {
494
- "description": "Evaluator config as JSON string",
495
- "name": "config",
496
- "hasDynamicHelp": false,
497
- "multiple": false,
498
- "type": "option"
499
483
  }
500
484
  },
501
485
  "hasDynamicHelp": false,
502
486
  "hiddenAliases": [],
503
- "id": "evaluators:create",
487
+ "id": "datasets:add-spans",
504
488
  "pluginAlias": "@respan/cli",
505
489
  "pluginName": "@respan/cli",
506
490
  "pluginType": "core",
@@ -510,20 +494,20 @@
510
494
  "relativePath": [
511
495
  "dist",
512
496
  "commands",
513
- "evaluators",
514
- "create.js"
497
+ "datasets",
498
+ "add-spans.js"
515
499
  ]
516
500
  },
517
- "evaluators:get": {
501
+ "datasets:create-span": {
518
502
  "aliases": [],
519
503
  "args": {
520
- "id": {
521
- "description": "Evaluator ID",
522
- "name": "id",
504
+ "dataset-id": {
505
+ "description": "Dataset ID",
506
+ "name": "dataset-id",
523
507
  "required": true
524
508
  }
525
509
  },
526
- "description": "Get a specific evaluator",
510
+ "description": "Create a span in a dataset",
527
511
  "flags": {
528
512
  "api-key": {
529
513
  "description": "API key (env: RESPAN_API_KEY)",
@@ -558,11 +542,19 @@
558
542
  "name": "verbose",
559
543
  "allowNo": false,
560
544
  "type": "boolean"
545
+ },
546
+ "body": {
547
+ "description": "Span body as JSON string",
548
+ "name": "body",
549
+ "required": true,
550
+ "hasDynamicHelp": false,
551
+ "multiple": false,
552
+ "type": "option"
561
553
  }
562
554
  },
563
555
  "hasDynamicHelp": false,
564
556
  "hiddenAliases": [],
565
- "id": "evaluators:get",
557
+ "id": "datasets:create-span",
566
558
  "pluginAlias": "@respan/cli",
567
559
  "pluginName": "@respan/cli",
568
560
  "pluginType": "core",
@@ -572,14 +564,14 @@
572
564
  "relativePath": [
573
565
  "dist",
574
566
  "commands",
575
- "evaluators",
576
- "get.js"
567
+ "datasets",
568
+ "create-span.js"
577
569
  ]
578
570
  },
579
- "evaluators:list": {
571
+ "datasets:create": {
580
572
  "aliases": [],
581
573
  "args": {},
582
- "description": "List evaluators",
574
+ "description": "Create a new dataset",
583
575
  "flags": {
584
576
  "api-key": {
585
577
  "description": "API key (env: RESPAN_API_KEY)",
@@ -615,18 +607,17 @@
615
607
  "allowNo": false,
616
608
  "type": "boolean"
617
609
  },
618
- "limit": {
619
- "description": "Number of results per page",
620
- "name": "limit",
621
- "default": 20,
610
+ "name": {
611
+ "description": "Dataset name",
612
+ "name": "name",
613
+ "required": true,
622
614
  "hasDynamicHelp": false,
623
615
  "multiple": false,
624
616
  "type": "option"
625
617
  },
626
- "page": {
627
- "description": "Page number",
628
- "name": "page",
629
- "default": 1,
618
+ "description": {
619
+ "description": "Dataset description",
620
+ "name": "description",
630
621
  "hasDynamicHelp": false,
631
622
  "multiple": false,
632
623
  "type": "option"
@@ -634,7 +625,7 @@
634
625
  },
635
626
  "hasDynamicHelp": false,
636
627
  "hiddenAliases": [],
637
- "id": "evaluators:list",
628
+ "id": "datasets:create",
638
629
  "pluginAlias": "@respan/cli",
639
630
  "pluginName": "@respan/cli",
640
631
  "pluginType": "core",
@@ -644,20 +635,25 @@
644
635
  "relativePath": [
645
636
  "dist",
646
637
  "commands",
647
- "evaluators",
648
- "list.js"
638
+ "datasets",
639
+ "create.js"
649
640
  ]
650
641
  },
651
- "evaluators:run": {
642
+ "datasets:get-span": {
652
643
  "aliases": [],
653
644
  "args": {
654
- "id": {
655
- "description": "Evaluator ID",
656
- "name": "id",
645
+ "dataset-id": {
646
+ "description": "Dataset ID",
647
+ "name": "dataset-id",
648
+ "required": true
649
+ },
650
+ "span-id": {
651
+ "description": "Span ID",
652
+ "name": "span-id",
657
653
  "required": true
658
654
  }
659
655
  },
660
- "description": "Run an evaluator",
656
+ "description": "Get a specific span from a dataset",
661
657
  "flags": {
662
658
  "api-key": {
663
659
  "description": "API key (env: RESPAN_API_KEY)",
@@ -692,32 +688,11 @@
692
688
  "name": "verbose",
693
689
  "allowNo": false,
694
690
  "type": "boolean"
695
- },
696
- "dataset-id": {
697
- "description": "Dataset ID to evaluate against",
698
- "name": "dataset-id",
699
- "hasDynamicHelp": false,
700
- "multiple": false,
701
- "type": "option"
702
- },
703
- "log-ids": {
704
- "description": "Comma-separated log/span IDs to evaluate",
705
- "name": "log-ids",
706
- "hasDynamicHelp": false,
707
- "multiple": false,
708
- "type": "option"
709
- },
710
- "params": {
711
- "description": "Additional parameters as JSON string",
712
- "name": "params",
713
- "hasDynamicHelp": false,
714
- "multiple": false,
715
- "type": "option"
716
691
  }
717
692
  },
718
693
  "hasDynamicHelp": false,
719
694
  "hiddenAliases": [],
720
- "id": "evaluators:run",
695
+ "id": "datasets:get-span",
721
696
  "pluginAlias": "@respan/cli",
722
697
  "pluginName": "@respan/cli",
723
698
  "pluginType": "core",
@@ -727,20 +702,20 @@
727
702
  "relativePath": [
728
703
  "dist",
729
704
  "commands",
730
- "evaluators",
731
- "run.js"
705
+ "datasets",
706
+ "get-span.js"
732
707
  ]
733
708
  },
734
- "evaluators:update": {
709
+ "datasets:get": {
735
710
  "aliases": [],
736
711
  "args": {
737
712
  "id": {
738
- "description": "Evaluator ID",
713
+ "description": "Dataset ID",
739
714
  "name": "id",
740
715
  "required": true
741
716
  }
742
717
  },
743
- "description": "Update an evaluator",
718
+ "description": "Get a specific dataset",
744
719
  "flags": {
745
720
  "api-key": {
746
721
  "description": "API key (env: RESPAN_API_KEY)",
@@ -775,32 +750,11 @@
775
750
  "name": "verbose",
776
751
  "allowNo": false,
777
752
  "type": "boolean"
778
- },
779
- "name": {
780
- "description": "Evaluator name",
781
- "name": "name",
782
- "hasDynamicHelp": false,
783
- "multiple": false,
784
- "type": "option"
785
- },
786
- "description": {
787
- "description": "Evaluator description",
788
- "name": "description",
789
- "hasDynamicHelp": false,
790
- "multiple": false,
791
- "type": "option"
792
- },
793
- "config": {
794
- "description": "Evaluator config as JSON string",
795
- "name": "config",
796
- "hasDynamicHelp": false,
797
- "multiple": false,
798
- "type": "option"
799
753
  }
800
754
  },
801
755
  "hasDynamicHelp": false,
802
756
  "hiddenAliases": [],
803
- "id": "evaluators:update",
757
+ "id": "datasets:get",
804
758
  "pluginAlias": "@respan/cli",
805
759
  "pluginName": "@respan/cli",
806
760
  "pluginType": "core",
@@ -810,20 +764,14 @@
810
764
  "relativePath": [
811
765
  "dist",
812
766
  "commands",
813
- "evaluators",
814
- "update.js"
767
+ "datasets",
768
+ "get.js"
815
769
  ]
816
770
  },
817
- "datasets:add-spans": {
771
+ "datasets:list": {
818
772
  "aliases": [],
819
- "args": {
820
- "dataset-id": {
821
- "description": "Dataset ID",
822
- "name": "dataset-id",
823
- "required": true
824
- }
825
- },
826
- "description": "Add existing spans to a dataset",
773
+ "args": {},
774
+ "description": "List datasets",
827
775
  "flags": {
828
776
  "api-key": {
829
777
  "description": "API key (env: RESPAN_API_KEY)",
@@ -859,10 +807,18 @@
859
807
  "allowNo": false,
860
808
  "type": "boolean"
861
809
  },
862
- "span-ids": {
863
- "description": "Comma-separated span IDs",
864
- "name": "span-ids",
865
- "required": true,
810
+ "limit": {
811
+ "description": "Number of results per page",
812
+ "name": "limit",
813
+ "default": 50,
814
+ "hasDynamicHelp": false,
815
+ "multiple": false,
816
+ "type": "option"
817
+ },
818
+ "page": {
819
+ "description": "Page number",
820
+ "name": "page",
821
+ "default": 1,
866
822
  "hasDynamicHelp": false,
867
823
  "multiple": false,
868
824
  "type": "option"
@@ -870,7 +826,7 @@
870
826
  },
871
827
  "hasDynamicHelp": false,
872
828
  "hiddenAliases": [],
873
- "id": "datasets:add-spans",
829
+ "id": "datasets:list",
874
830
  "pluginAlias": "@respan/cli",
875
831
  "pluginName": "@respan/cli",
876
832
  "pluginType": "core",
@@ -881,10 +837,10 @@
881
837
  "dist",
882
838
  "commands",
883
839
  "datasets",
884
- "add-spans.js"
840
+ "list.js"
885
841
  ]
886
842
  },
887
- "datasets:create-span": {
843
+ "datasets:spans": {
888
844
  "aliases": [],
889
845
  "args": {
890
846
  "dataset-id": {
@@ -893,7 +849,7 @@
893
849
  "required": true
894
850
  }
895
851
  },
896
- "description": "Create a span in a dataset",
852
+ "description": "List spans in a dataset",
897
853
  "flags": {
898
854
  "api-key": {
899
855
  "description": "API key (env: RESPAN_API_KEY)",
@@ -928,19 +884,11 @@
928
884
  "name": "verbose",
929
885
  "allowNo": false,
930
886
  "type": "boolean"
931
- },
932
- "body": {
933
- "description": "Span body as JSON string",
934
- "name": "body",
935
- "required": true,
936
- "hasDynamicHelp": false,
937
- "multiple": false,
938
- "type": "option"
939
887
  }
940
888
  },
941
889
  "hasDynamicHelp": false,
942
890
  "hiddenAliases": [],
943
- "id": "datasets:create-span",
891
+ "id": "datasets:spans",
944
892
  "pluginAlias": "@respan/cli",
945
893
  "pluginName": "@respan/cli",
946
894
  "pluginType": "core",
@@ -951,13 +899,19 @@
951
899
  "dist",
952
900
  "commands",
953
901
  "datasets",
954
- "create-span.js"
902
+ "spans.js"
955
903
  ]
956
904
  },
957
- "datasets:create": {
905
+ "datasets:update": {
958
906
  "aliases": [],
959
- "args": {},
960
- "description": "Create a new dataset",
907
+ "args": {
908
+ "id": {
909
+ "description": "Dataset ID",
910
+ "name": "id",
911
+ "required": true
912
+ }
913
+ },
914
+ "description": "Update a dataset",
961
915
  "flags": {
962
916
  "api-key": {
963
917
  "description": "API key (env: RESPAN_API_KEY)",
@@ -996,7 +950,6 @@
996
950
  "name": {
997
951
  "description": "Dataset name",
998
952
  "name": "name",
999
- "required": true,
1000
953
  "hasDynamicHelp": false,
1001
954
  "multiple": false,
1002
955
  "type": "option"
@@ -1011,7 +964,7 @@
1011
964
  },
1012
965
  "hasDynamicHelp": false,
1013
966
  "hiddenAliases": [],
1014
- "id": "datasets:create",
967
+ "id": "datasets:update",
1015
968
  "pluginAlias": "@respan/cli",
1016
969
  "pluginName": "@respan/cli",
1017
970
  "pluginType": "core",
@@ -1022,24 +975,13 @@
1022
975
  "dist",
1023
976
  "commands",
1024
977
  "datasets",
1025
- "create.js"
978
+ "update.js"
1026
979
  ]
1027
980
  },
1028
- "datasets:get-span": {
981
+ "evaluators:create": {
1029
982
  "aliases": [],
1030
- "args": {
1031
- "dataset-id": {
1032
- "description": "Dataset ID",
1033
- "name": "dataset-id",
1034
- "required": true
1035
- },
1036
- "span-id": {
1037
- "description": "Span ID",
1038
- "name": "span-id",
1039
- "required": true
1040
- }
1041
- },
1042
- "description": "Get a specific span from a dataset",
983
+ "args": {},
984
+ "description": "Create a new evaluator",
1043
985
  "flags": {
1044
986
  "api-key": {
1045
987
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1074,11 +1016,40 @@
1074
1016
  "name": "verbose",
1075
1017
  "allowNo": false,
1076
1018
  "type": "boolean"
1019
+ },
1020
+ "name": {
1021
+ "description": "Evaluator name",
1022
+ "name": "name",
1023
+ "required": true,
1024
+ "hasDynamicHelp": false,
1025
+ "multiple": false,
1026
+ "type": "option"
1027
+ },
1028
+ "type": {
1029
+ "description": "Evaluator type",
1030
+ "name": "type",
1031
+ "hasDynamicHelp": false,
1032
+ "multiple": false,
1033
+ "type": "option"
1034
+ },
1035
+ "description": {
1036
+ "description": "Evaluator description",
1037
+ "name": "description",
1038
+ "hasDynamicHelp": false,
1039
+ "multiple": false,
1040
+ "type": "option"
1041
+ },
1042
+ "config": {
1043
+ "description": "Evaluator config as JSON string",
1044
+ "name": "config",
1045
+ "hasDynamicHelp": false,
1046
+ "multiple": false,
1047
+ "type": "option"
1077
1048
  }
1078
1049
  },
1079
1050
  "hasDynamicHelp": false,
1080
1051
  "hiddenAliases": [],
1081
- "id": "datasets:get-span",
1052
+ "id": "evaluators:create",
1082
1053
  "pluginAlias": "@respan/cli",
1083
1054
  "pluginName": "@respan/cli",
1084
1055
  "pluginType": "core",
@@ -1088,20 +1059,20 @@
1088
1059
  "relativePath": [
1089
1060
  "dist",
1090
1061
  "commands",
1091
- "datasets",
1092
- "get-span.js"
1062
+ "evaluators",
1063
+ "create.js"
1093
1064
  ]
1094
1065
  },
1095
- "datasets:get": {
1066
+ "evaluators:get": {
1096
1067
  "aliases": [],
1097
1068
  "args": {
1098
1069
  "id": {
1099
- "description": "Dataset ID",
1070
+ "description": "Evaluator ID",
1100
1071
  "name": "id",
1101
1072
  "required": true
1102
1073
  }
1103
1074
  },
1104
- "description": "Get a specific dataset",
1075
+ "description": "Get a specific evaluator",
1105
1076
  "flags": {
1106
1077
  "api-key": {
1107
1078
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1140,7 +1111,7 @@
1140
1111
  },
1141
1112
  "hasDynamicHelp": false,
1142
1113
  "hiddenAliases": [],
1143
- "id": "datasets:get",
1114
+ "id": "evaluators:get",
1144
1115
  "pluginAlias": "@respan/cli",
1145
1116
  "pluginName": "@respan/cli",
1146
1117
  "pluginType": "core",
@@ -1150,14 +1121,14 @@
1150
1121
  "relativePath": [
1151
1122
  "dist",
1152
1123
  "commands",
1153
- "datasets",
1124
+ "evaluators",
1154
1125
  "get.js"
1155
1126
  ]
1156
1127
  },
1157
- "datasets:list": {
1128
+ "evaluators:list": {
1158
1129
  "aliases": [],
1159
1130
  "args": {},
1160
- "description": "List datasets",
1131
+ "description": "List evaluators",
1161
1132
  "flags": {
1162
1133
  "api-key": {
1163
1134
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1196,7 +1167,7 @@
1196
1167
  "limit": {
1197
1168
  "description": "Number of results per page",
1198
1169
  "name": "limit",
1199
- "default": 50,
1170
+ "default": 20,
1200
1171
  "hasDynamicHelp": false,
1201
1172
  "multiple": false,
1202
1173
  "type": "option"
@@ -1212,7 +1183,7 @@
1212
1183
  },
1213
1184
  "hasDynamicHelp": false,
1214
1185
  "hiddenAliases": [],
1215
- "id": "datasets:list",
1186
+ "id": "evaluators:list",
1216
1187
  "pluginAlias": "@respan/cli",
1217
1188
  "pluginName": "@respan/cli",
1218
1189
  "pluginType": "core",
@@ -1222,20 +1193,20 @@
1222
1193
  "relativePath": [
1223
1194
  "dist",
1224
1195
  "commands",
1225
- "datasets",
1196
+ "evaluators",
1226
1197
  "list.js"
1227
1198
  ]
1228
1199
  },
1229
- "datasets:spans": {
1200
+ "evaluators:run": {
1230
1201
  "aliases": [],
1231
1202
  "args": {
1232
- "dataset-id": {
1233
- "description": "Dataset ID",
1234
- "name": "dataset-id",
1203
+ "id": {
1204
+ "description": "Evaluator ID",
1205
+ "name": "id",
1235
1206
  "required": true
1236
1207
  }
1237
1208
  },
1238
- "description": "List spans in a dataset",
1209
+ "description": "Run an evaluator",
1239
1210
  "flags": {
1240
1211
  "api-key": {
1241
1212
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1270,11 +1241,32 @@
1270
1241
  "name": "verbose",
1271
1242
  "allowNo": false,
1272
1243
  "type": "boolean"
1244
+ },
1245
+ "dataset-id": {
1246
+ "description": "Dataset ID to evaluate against",
1247
+ "name": "dataset-id",
1248
+ "hasDynamicHelp": false,
1249
+ "multiple": false,
1250
+ "type": "option"
1251
+ },
1252
+ "log-ids": {
1253
+ "description": "Comma-separated log/span IDs to evaluate",
1254
+ "name": "log-ids",
1255
+ "hasDynamicHelp": false,
1256
+ "multiple": false,
1257
+ "type": "option"
1258
+ },
1259
+ "params": {
1260
+ "description": "Additional parameters as JSON string",
1261
+ "name": "params",
1262
+ "hasDynamicHelp": false,
1263
+ "multiple": false,
1264
+ "type": "option"
1273
1265
  }
1274
1266
  },
1275
1267
  "hasDynamicHelp": false,
1276
1268
  "hiddenAliases": [],
1277
- "id": "datasets:spans",
1269
+ "id": "evaluators:run",
1278
1270
  "pluginAlias": "@respan/cli",
1279
1271
  "pluginName": "@respan/cli",
1280
1272
  "pluginType": "core",
@@ -1284,20 +1276,20 @@
1284
1276
  "relativePath": [
1285
1277
  "dist",
1286
1278
  "commands",
1287
- "datasets",
1288
- "spans.js"
1279
+ "evaluators",
1280
+ "run.js"
1289
1281
  ]
1290
1282
  },
1291
- "datasets:update": {
1283
+ "evaluators:update": {
1292
1284
  "aliases": [],
1293
1285
  "args": {
1294
1286
  "id": {
1295
- "description": "Dataset ID",
1287
+ "description": "Evaluator ID",
1296
1288
  "name": "id",
1297
1289
  "required": true
1298
1290
  }
1299
1291
  },
1300
- "description": "Update a dataset",
1292
+ "description": "Update an evaluator",
1301
1293
  "flags": {
1302
1294
  "api-key": {
1303
1295
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1334,23 +1326,30 @@
1334
1326
  "type": "boolean"
1335
1327
  },
1336
1328
  "name": {
1337
- "description": "Dataset name",
1329
+ "description": "Evaluator name",
1338
1330
  "name": "name",
1339
1331
  "hasDynamicHelp": false,
1340
1332
  "multiple": false,
1341
1333
  "type": "option"
1342
1334
  },
1343
1335
  "description": {
1344
- "description": "Dataset description",
1336
+ "description": "Evaluator description",
1345
1337
  "name": "description",
1346
1338
  "hasDynamicHelp": false,
1347
1339
  "multiple": false,
1348
1340
  "type": "option"
1341
+ },
1342
+ "config": {
1343
+ "description": "Evaluator config as JSON string",
1344
+ "name": "config",
1345
+ "hasDynamicHelp": false,
1346
+ "multiple": false,
1347
+ "type": "option"
1349
1348
  }
1350
1349
  },
1351
1350
  "hasDynamicHelp": false,
1352
1351
  "hiddenAliases": [],
1353
- "id": "datasets:update",
1352
+ "id": "evaluators:update",
1354
1353
  "pluginAlias": "@respan/cli",
1355
1354
  "pluginName": "@respan/cli",
1356
1355
  "pluginType": "core",
@@ -1360,7 +1359,7 @@
1360
1359
  "relativePath": [
1361
1360
  "dist",
1362
1361
  "commands",
1363
- "datasets",
1362
+ "evaluators",
1364
1363
  "update.js"
1365
1364
  ]
1366
1365
  },
@@ -1734,7 +1733,7 @@
1734
1733
  "logs:list": {
1735
1734
  "aliases": [],
1736
1735
  "args": {},
1737
- "description": "List log spans",
1736
+ "description": "List and filter LLM request logs (spans).\n\nSupports pagination, sorting, time range, and server-side filtering.\n\nFILTER SYNTAX: field:operator:value\n\nOPERATORS:\n (empty) Exact match model::gpt-4\n not Not equal status_code:not:200\n gt Greater than cost:gt:0.01\n gte Greater than/equal latency:gte:1.0\n lt Less than cost:lt:0.5\n lte Less than/equal prompt_tokens:lte:100\n contains Contains substring error_message:contains:timeout\n icontains Case-insensitive model:icontains:gpt\n startswith Starts with model:startswith:gpt\n endswith Ends with model:endswith:mini\n in Value in list model:in:gpt-4,gpt-4o\n isnull Is null error_message:isnull:true\n iexact Case-insens. exact status:iexact:success\n\nFILTERABLE FIELDS (logs):\n model, status_code, status, cost, latency, prompt_tokens,\n completion_tokens, customer_identifier, custom_identifier,\n thread_identifier, trace_unique_id, span_name, span_workflow_name,\n environment, log_type, error_message, failed, provider_id,\n deployment_name, prompt_name, prompt_id, unique_id, stream,\n temperature, max_tokens, tokens_per_second, time_to_first_token,\n total_request_tokens, metadata__<key>, scores__<evaluator_id>\n\nEXAMPLES:\n --filter model::gpt-4o --filter cost:gt:0.01\n --filter status_code:not:200\n --filter metadata__env::production\n --filter model:in:gpt-4,gpt-4o",
1738
1737
  "flags": {
1739
1738
  "api-key": {
1740
1739
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1771,7 +1770,7 @@
1771
1770
  "type": "boolean"
1772
1771
  },
1773
1772
  "limit": {
1774
- "description": "Number of results per page",
1773
+ "description": "Number of results per page (max 1000)",
1775
1774
  "name": "limit",
1776
1775
  "default": 50,
1777
1776
  "hasDynamicHelp": false,
@@ -1787,7 +1786,7 @@
1787
1786
  "type": "option"
1788
1787
  },
1789
1788
  "sort-by": {
1790
- "description": "Sort field",
1789
+ "description": "Sort field (prefix with - for descending, e.g. -cost, -latency)",
1791
1790
  "name": "sort-by",
1792
1791
  "hasDynamicHelp": false,
1793
1792
  "multiple": false,
@@ -1808,11 +1807,32 @@
1808
1807
  "type": "option"
1809
1808
  },
1810
1809
  "filter": {
1811
- "description": "Filter expression",
1810
+ "description": "Filter in field:operator:value format (repeatable)",
1812
1811
  "name": "filter",
1813
1812
  "hasDynamicHelp": false,
1814
1813
  "multiple": true,
1815
1814
  "type": "option"
1815
+ },
1816
+ "all-envs": {
1817
+ "description": "Include all environments (true/false)",
1818
+ "name": "all-envs",
1819
+ "hasDynamicHelp": false,
1820
+ "multiple": false,
1821
+ "type": "option"
1822
+ },
1823
+ "is-test": {
1824
+ "description": "Filter by test (true) or production (false) environment",
1825
+ "name": "is-test",
1826
+ "hasDynamicHelp": false,
1827
+ "multiple": false,
1828
+ "type": "option"
1829
+ },
1830
+ "include-fields": {
1831
+ "description": "Comma-separated fields to include in response",
1832
+ "name": "include-fields",
1833
+ "hasDynamicHelp": false,
1834
+ "multiple": false,
1835
+ "type": "option"
1816
1836
  }
1817
1837
  },
1818
1838
  "hasDynamicHelp": false,
@@ -1834,7 +1854,7 @@
1834
1854
  "logs:summary": {
1835
1855
  "aliases": [],
1836
1856
  "args": {},
1837
- "description": "Get a summary of log spans for a time range",
1857
+ "description": "Get aggregated summary statistics for log spans in a time range.\n\nReturns total cost, total tokens, request count, and score summaries.\n\nFILTER SYNTAX: field:operator:value\n\nOPERATORS:\n (empty) Exact match model::gpt-4\n not Not equal status_code:not:200\n gt Greater than cost:gt:0.01\n gte Greater than/equal latency:gte:1.0\n lt Less than cost:lt:0.5\n lte Less than/equal prompt_tokens:lte:100\n contains Contains substring error_message:contains:timeout\n icontains Case-insensitive model:icontains:gpt\n startswith Starts with model:startswith:gpt\n endswith Ends with model:endswith:mini\n in Value in list model:in:gpt-4,gpt-4o\n isnull Is null error_message:isnull:true\n iexact Case-insens. exact status:iexact:success\n\nFILTERABLE FIELDS (logs):\n model, status_code, status, cost, latency, prompt_tokens,\n completion_tokens, customer_identifier, custom_identifier,\n thread_identifier, trace_unique_id, span_name, span_workflow_name,\n environment, log_type, error_message, failed, provider_id,\n deployment_name, prompt_name, prompt_id, unique_id, stream,\n temperature, max_tokens, tokens_per_second, time_to_first_token,\n total_request_tokens, metadata__<key>, scores__<evaluator_id>\n\nEXAMPLES:\n --filter model::gpt-4o --filter cost:gt:0.01\n --filter status_code:not:200\n --filter metadata__env::production\n --filter model:in:gpt-4,gpt-4o",
1838
1858
  "flags": {
1839
1859
  "api-key": {
1840
1860
  "description": "API key (env: RESPAN_API_KEY)",
@@ -1885,6 +1905,27 @@
1885
1905
  "hasDynamicHelp": false,
1886
1906
  "multiple": false,
1887
1907
  "type": "option"
1908
+ },
1909
+ "filter": {
1910
+ "description": "Filter in field:operator:value format (repeatable)",
1911
+ "name": "filter",
1912
+ "hasDynamicHelp": false,
1913
+ "multiple": true,
1914
+ "type": "option"
1915
+ },
1916
+ "all-envs": {
1917
+ "description": "Include all environments (true/false)",
1918
+ "name": "all-envs",
1919
+ "hasDynamicHelp": false,
1920
+ "multiple": false,
1921
+ "type": "option"
1922
+ },
1923
+ "is-test": {
1924
+ "description": "Filter by test (true) or production (false) environment",
1925
+ "name": "is-test",
1926
+ "hasDynamicHelp": false,
1927
+ "multiple": false,
1928
+ "type": "option"
1888
1929
  }
1889
1930
  },
1890
1931
  "hasDynamicHelp": false,
@@ -2394,7 +2435,7 @@
2394
2435
  "traces:list": {
2395
2436
  "aliases": [],
2396
2437
  "args": {},
2397
- "description": "List traces",
2438
+ "description": "List and filter traces.\n\nA trace represents a complete workflow execution containing multiple spans.\n\nFILTER SYNTAX: field:operator:value\n\nOPERATORS:\n (empty) Exact match model::gpt-4\n not Not equal status_code:not:200\n gt Greater than cost:gt:0.01\n gte Greater than/equal latency:gte:1.0\n lt Less than cost:lt:0.5\n lte Less than/equal prompt_tokens:lte:100\n contains Contains substring error_message:contains:timeout\n icontains Case-insensitive model:icontains:gpt\n startswith Starts with model:startswith:gpt\n endswith Ends with model:endswith:mini\n in Value in list model:in:gpt-4,gpt-4o\n isnull Is null error_message:isnull:true\n iexact Case-insens. exact status:iexact:success\n\nFILTERABLE FIELDS (traces):\n trace_unique_id, customer_identifier, environment, span_count,\n llm_call_count, error_count, total_cost, total_tokens,\n total_prompt_tokens, total_completion_tokens, duration,\n span_workflow_name, metadata__<key>\n\nEXAMPLES:\n --filter model::gpt-4o --filter cost:gt:0.01\n --filter status_code:not:200\n --filter metadata__env::production\n --filter model:in:gpt-4,gpt-4o",
2398
2439
  "flags": {
2399
2440
  "api-key": {
2400
2441
  "description": "API key (env: RESPAN_API_KEY)",
@@ -2447,7 +2488,7 @@
2447
2488
  "type": "option"
2448
2489
  },
2449
2490
  "sort-by": {
2450
- "description": "Sort field",
2491
+ "description": "Sort field (prefix with - for descending)",
2451
2492
  "name": "sort-by",
2452
2493
  "default": "-timestamp",
2453
2494
  "hasDynamicHelp": false,
@@ -2476,7 +2517,7 @@
2476
2517
  "type": "option"
2477
2518
  },
2478
2519
  "filter": {
2479
- "description": "Filter expression",
2520
+ "description": "Filter in field:operator:value format (repeatable)",
2480
2521
  "name": "filter",
2481
2522
  "hasDynamicHelp": false,
2482
2523
  "multiple": true,
@@ -2888,5 +2929,5 @@
2888
2929
  ]
2889
2930
  }
2890
2931
  },
2891
- "version": "0.3.0"
2932
+ "version": "0.3.1"
2892
2933
  }