faces-cli 1.1.0 → 1.2.0

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.
@@ -652,10 +652,10 @@
652
652
  "responses.js"
653
653
  ]
654
654
  },
655
- "config:clear": {
655
+ "billing:balance": {
656
656
  "aliases": [],
657
657
  "args": {},
658
- "description": "Delete all saved credentials and config",
658
+ "description": "Show credit balance and payment method status",
659
659
  "flags": {
660
660
  "json": {
661
661
  "description": "Format output as json.",
@@ -687,17 +687,11 @@
687
687
  "hasDynamicHelp": false,
688
688
  "multiple": false,
689
689
  "type": "option"
690
- },
691
- "yes": {
692
- "description": "Skip confirmation",
693
- "name": "yes",
694
- "allowNo": false,
695
- "type": "boolean"
696
690
  }
697
691
  },
698
692
  "hasDynamicHelp": false,
699
693
  "hiddenAliases": [],
700
- "id": "config:clear",
694
+ "id": "billing:balance",
701
695
  "pluginAlias": "faces-cli",
702
696
  "pluginName": "faces-cli",
703
697
  "pluginType": "core",
@@ -707,25 +701,14 @@
707
701
  "relativePath": [
708
702
  "dist",
709
703
  "commands",
710
- "config",
711
- "clear.js"
704
+ "billing",
705
+ "balance.js"
712
706
  ]
713
707
  },
714
- "config:set": {
708
+ "billing:card-setup": {
715
709
  "aliases": [],
716
- "args": {
717
- "key": {
718
- "description": "Config key",
719
- "name": "key",
720
- "required": true
721
- },
722
- "value": {
723
- "description": "Config value",
724
- "name": "value",
725
- "required": true
726
- }
727
- },
728
- "description": "Set a config value (e.g. base_url, api_key, token)",
710
+ "args": {},
711
+ "description": "Get a Stripe card setup URL to save a payment method",
729
712
  "flags": {
730
713
  "json": {
731
714
  "description": "Format output as json.",
@@ -761,7 +744,7 @@
761
744
  },
762
745
  "hasDynamicHelp": false,
763
746
  "hiddenAliases": [],
764
- "id": "config:set",
747
+ "id": "billing:card-setup",
765
748
  "pluginAlias": "faces-cli",
766
749
  "pluginName": "faces-cli",
767
750
  "pluginType": "core",
@@ -771,14 +754,14 @@
771
754
  "relativePath": [
772
755
  "dist",
773
756
  "commands",
774
- "config",
775
- "set.js"
757
+ "billing",
758
+ "card-setup.js"
776
759
  ]
777
760
  },
778
- "config:show": {
761
+ "billing:checkout": {
779
762
  "aliases": [],
780
763
  "args": {},
781
- "description": "Print current config (credentials are masked)",
764
+ "description": "Get a Stripe checkout URL to upgrade your subscription plan",
782
765
  "flags": {
783
766
  "json": {
784
767
  "description": "Format output as json.",
@@ -810,11 +793,23 @@
810
793
  "hasDynamicHelp": false,
811
794
  "multiple": false,
812
795
  "type": "option"
796
+ },
797
+ "plan": {
798
+ "description": "Plan to upgrade to",
799
+ "name": "plan",
800
+ "required": true,
801
+ "hasDynamicHelp": false,
802
+ "multiple": false,
803
+ "options": [
804
+ "standard",
805
+ "pro"
806
+ ],
807
+ "type": "option"
813
808
  }
814
809
  },
815
810
  "hasDynamicHelp": false,
816
811
  "hiddenAliases": [],
817
- "id": "config:show",
812
+ "id": "billing:checkout",
818
813
  "pluginAlias": "faces-cli",
819
814
  "pluginName": "faces-cli",
820
815
  "pluginType": "core",
@@ -824,14 +819,14 @@
824
819
  "relativePath": [
825
820
  "dist",
826
821
  "commands",
827
- "config",
828
- "show.js"
822
+ "billing",
823
+ "checkout.js"
829
824
  ]
830
825
  },
831
- "face:create": {
826
+ "billing:llm-costs": {
832
827
  "aliases": [],
833
828
  "args": {},
834
- "description": "Create a new face",
829
+ "description": "List available LLMs and their per-token costs",
835
830
  "flags": {
836
831
  "json": {
837
832
  "description": "Format output as json.",
@@ -864,40 +859,70 @@
864
859
  "multiple": false,
865
860
  "type": "option"
866
861
  },
867
- "name": {
868
- "description": "Display name",
869
- "name": "name",
870
- "required": true,
862
+ "provider": {
863
+ "description": "Filter by provider (e.g. openai, anthropic)",
864
+ "name": "provider",
871
865
  "hasDynamicHelp": false,
872
866
  "multiple": false,
873
867
  "type": "option"
868
+ }
869
+ },
870
+ "hasDynamicHelp": false,
871
+ "hiddenAliases": [],
872
+ "id": "billing:llm-costs",
873
+ "pluginAlias": "faces-cli",
874
+ "pluginName": "faces-cli",
875
+ "pluginType": "core",
876
+ "strict": true,
877
+ "enableJsonFlag": true,
878
+ "isESM": true,
879
+ "relativePath": [
880
+ "dist",
881
+ "commands",
882
+ "billing",
883
+ "llm-costs.js"
884
+ ]
885
+ },
886
+ "billing:quota": {
887
+ "aliases": [],
888
+ "args": {},
889
+ "description": "Show compile token quota and per-face stats",
890
+ "flags": {
891
+ "json": {
892
+ "description": "Format output as json.",
893
+ "helpGroup": "GLOBAL",
894
+ "name": "json",
895
+ "allowNo": false,
896
+ "type": "boolean"
874
897
  },
875
- "username": {
876
- "description": "Unique username slug",
877
- "name": "username",
878
- "required": true,
898
+ "base-url": {
899
+ "description": "API base URL",
900
+ "env": "FACES_BASE_URL",
901
+ "name": "base-url",
879
902
  "hasDynamicHelp": false,
880
903
  "multiple": false,
881
904
  "type": "option"
882
905
  },
883
- "attr": {
884
- "description": "Attribute KEY=VALUE (repeatable)",
885
- "name": "attr",
906
+ "token": {
907
+ "description": "JWT bearer token",
908
+ "env": "FACES_TOKEN",
909
+ "name": "token",
886
910
  "hasDynamicHelp": false,
887
- "multiple": true,
911
+ "multiple": false,
888
912
  "type": "option"
889
913
  },
890
- "tool": {
891
- "description": "Tool name to enable (repeatable)",
892
- "name": "tool",
914
+ "api-key": {
915
+ "description": "API key",
916
+ "env": "FACES_API_KEY",
917
+ "name": "api-key",
893
918
  "hasDynamicHelp": false,
894
- "multiple": true,
919
+ "multiple": false,
895
920
  "type": "option"
896
921
  }
897
922
  },
898
923
  "hasDynamicHelp": false,
899
924
  "hiddenAliases": [],
900
- "id": "face:create",
925
+ "id": "billing:quota",
901
926
  "pluginAlias": "faces-cli",
902
927
  "pluginName": "faces-cli",
903
928
  "pluginType": "core",
@@ -907,20 +932,14 @@
907
932
  "relativePath": [
908
933
  "dist",
909
934
  "commands",
910
- "face",
911
- "create.js"
935
+ "billing",
936
+ "quota.js"
912
937
  ]
913
938
  },
914
- "face:delete": {
939
+ "billing:subscription": {
915
940
  "aliases": [],
916
- "args": {
917
- "face_id": {
918
- "description": "Face ID or username",
919
- "name": "face_id",
920
- "required": true
921
- }
922
- },
923
- "description": "Delete a face permanently",
941
+ "args": {},
942
+ "description": "Show current plan, face count, and renewal date",
924
943
  "flags": {
925
944
  "json": {
926
945
  "description": "Format output as json.",
@@ -952,17 +971,11 @@
952
971
  "hasDynamicHelp": false,
953
972
  "multiple": false,
954
973
  "type": "option"
955
- },
956
- "yes": {
957
- "description": "Skip confirmation",
958
- "name": "yes",
959
- "allowNo": false,
960
- "type": "boolean"
961
974
  }
962
975
  },
963
976
  "hasDynamicHelp": false,
964
977
  "hiddenAliases": [],
965
- "id": "face:delete",
978
+ "id": "billing:subscription",
966
979
  "pluginAlias": "faces-cli",
967
980
  "pluginName": "faces-cli",
968
981
  "pluginType": "core",
@@ -972,14 +985,14 @@
972
985
  "relativePath": [
973
986
  "dist",
974
987
  "commands",
975
- "face",
976
- "delete.js"
988
+ "billing",
989
+ "subscription.js"
977
990
  ]
978
991
  },
979
- "face:diff": {
992
+ "billing:topup": {
980
993
  "aliases": [],
981
994
  "args": {},
982
- "description": "Compare owned faces pairwise across all centroid components",
995
+ "description": "Top up credit balance using saved payment method",
983
996
  "flags": {
984
997
  "json": {
985
998
  "description": "Format output as json.",
@@ -1012,18 +1025,25 @@
1012
1025
  "multiple": false,
1013
1026
  "type": "option"
1014
1027
  },
1015
- "face": {
1016
- "description": "Face username to include (repeatable, min 2)",
1017
- "name": "face",
1028
+ "amount": {
1029
+ "description": "Top-up amount in USD (min $1)",
1030
+ "name": "amount",
1018
1031
  "required": true,
1019
1032
  "hasDynamicHelp": false,
1020
- "multiple": true,
1033
+ "multiple": false,
1034
+ "type": "option"
1035
+ },
1036
+ "payment-ref": {
1037
+ "description": "Payment reference (admin/test path)",
1038
+ "name": "payment-ref",
1039
+ "hasDynamicHelp": false,
1040
+ "multiple": false,
1021
1041
  "type": "option"
1022
1042
  }
1023
1043
  },
1024
1044
  "hasDynamicHelp": false,
1025
1045
  "hiddenAliases": [],
1026
- "id": "face:diff",
1046
+ "id": "billing:topup",
1027
1047
  "pluginAlias": "faces-cli",
1028
1048
  "pluginName": "faces-cli",
1029
1049
  "pluginType": "core",
@@ -1033,20 +1053,14 @@
1033
1053
  "relativePath": [
1034
1054
  "dist",
1035
1055
  "commands",
1036
- "face",
1037
- "diff.js"
1056
+ "billing",
1057
+ "topup.js"
1038
1058
  ]
1039
1059
  },
1040
- "face:get": {
1060
+ "billing:usage": {
1041
1061
  "aliases": [],
1042
- "args": {
1043
- "face_id": {
1044
- "description": "Face ID or username",
1045
- "name": "face_id",
1046
- "required": true
1047
- }
1048
- },
1049
- "description": "Get details for a face by ID or username",
1062
+ "args": {},
1063
+ "description": "Aggregated usage analytics",
1050
1064
  "flags": {
1051
1065
  "json": {
1052
1066
  "description": "Format output as json.",
@@ -1078,11 +1092,38 @@
1078
1092
  "hasDynamicHelp": false,
1079
1093
  "multiple": false,
1080
1094
  "type": "option"
1095
+ },
1096
+ "group-by": {
1097
+ "description": "Group results",
1098
+ "name": "group-by",
1099
+ "hasDynamicHelp": false,
1100
+ "multiple": false,
1101
+ "options": [
1102
+ "api_key",
1103
+ "model",
1104
+ "llm",
1105
+ "date"
1106
+ ],
1107
+ "type": "option"
1108
+ },
1109
+ "from": {
1110
+ "description": "Start date (YYYY-MM-DD)",
1111
+ "name": "from",
1112
+ "hasDynamicHelp": false,
1113
+ "multiple": false,
1114
+ "type": "option"
1115
+ },
1116
+ "to": {
1117
+ "description": "End date (YYYY-MM-DD)",
1118
+ "name": "to",
1119
+ "hasDynamicHelp": false,
1120
+ "multiple": false,
1121
+ "type": "option"
1081
1122
  }
1082
1123
  },
1083
1124
  "hasDynamicHelp": false,
1084
1125
  "hiddenAliases": [],
1085
- "id": "face:get",
1126
+ "id": "billing:usage",
1086
1127
  "pluginAlias": "faces-cli",
1087
1128
  "pluginName": "faces-cli",
1088
1129
  "pluginType": "core",
@@ -1092,14 +1133,14 @@
1092
1133
  "relativePath": [
1093
1134
  "dist",
1094
1135
  "commands",
1095
- "face",
1096
- "get.js"
1136
+ "billing",
1137
+ "usage.js"
1097
1138
  ]
1098
1139
  },
1099
- "face:list": {
1140
+ "config:clear": {
1100
1141
  "aliases": [],
1101
1142
  "args": {},
1102
- "description": "List all owned faces",
1143
+ "description": "Delete all saved credentials and config",
1103
1144
  "flags": {
1104
1145
  "json": {
1105
1146
  "description": "Format output as json.",
@@ -1131,11 +1172,17 @@
1131
1172
  "hasDynamicHelp": false,
1132
1173
  "multiple": false,
1133
1174
  "type": "option"
1175
+ },
1176
+ "yes": {
1177
+ "description": "Skip confirmation",
1178
+ "name": "yes",
1179
+ "allowNo": false,
1180
+ "type": "boolean"
1134
1181
  }
1135
1182
  },
1136
1183
  "hasDynamicHelp": false,
1137
1184
  "hiddenAliases": [],
1138
- "id": "face:list",
1185
+ "id": "config:clear",
1139
1186
  "pluginAlias": "faces-cli",
1140
1187
  "pluginName": "faces-cli",
1141
1188
  "pluginType": "core",
@@ -1145,20 +1192,25 @@
1145
1192
  "relativePath": [
1146
1193
  "dist",
1147
1194
  "commands",
1148
- "face",
1149
- "list.js"
1195
+ "config",
1196
+ "clear.js"
1150
1197
  ]
1151
1198
  },
1152
- "face:neighbors": {
1199
+ "config:set": {
1153
1200
  "aliases": [],
1154
1201
  "args": {
1155
- "face_id": {
1156
- "description": "Face username",
1157
- "name": "face_id",
1202
+ "key": {
1203
+ "description": "Config key",
1204
+ "name": "key",
1205
+ "required": true
1206
+ },
1207
+ "value": {
1208
+ "description": "Config value",
1209
+ "name": "value",
1158
1210
  "required": true
1159
1211
  }
1160
1212
  },
1161
- "description": "Find the most similar or dissimilar owned faces to a given face",
1213
+ "description": "Set a config value (e.g. base_url, api_key, token)",
1162
1214
  "flags": {
1163
1215
  "json": {
1164
1216
  "description": "Format output as json.",
@@ -1190,45 +1242,11 @@
1190
1242
  "hasDynamicHelp": false,
1191
1243
  "multiple": false,
1192
1244
  "type": "option"
1193
- },
1194
- "k": {
1195
- "description": "Number of results (1–20)",
1196
- "name": "k",
1197
- "default": 5,
1198
- "hasDynamicHelp": false,
1199
- "multiple": false,
1200
- "type": "option"
1201
- },
1202
- "component": {
1203
- "description": "Centroid component to rank on (beta, delta, epsilon are the principal components of a face; face is their composite)",
1204
- "name": "component",
1205
- "default": "face",
1206
- "hasDynamicHelp": false,
1207
- "multiple": false,
1208
- "options": [
1209
- "face",
1210
- "beta",
1211
- "delta",
1212
- "epsilon"
1213
- ],
1214
- "type": "option"
1215
- },
1216
- "direction": {
1217
- "description": "nearest (most similar) or furthest (most dissimilar)",
1218
- "name": "direction",
1219
- "default": "nearest",
1220
- "hasDynamicHelp": false,
1221
- "multiple": false,
1222
- "options": [
1223
- "nearest",
1224
- "furthest"
1225
- ],
1226
- "type": "option"
1227
1245
  }
1228
1246
  },
1229
1247
  "hasDynamicHelp": false,
1230
1248
  "hiddenAliases": [],
1231
- "id": "face:neighbors",
1249
+ "id": "config:set",
1232
1250
  "pluginAlias": "faces-cli",
1233
1251
  "pluginName": "faces-cli",
1234
1252
  "pluginType": "core",
@@ -1238,14 +1256,14 @@
1238
1256
  "relativePath": [
1239
1257
  "dist",
1240
1258
  "commands",
1241
- "face",
1242
- "neighbors.js"
1259
+ "config",
1260
+ "set.js"
1243
1261
  ]
1244
1262
  },
1245
- "face:stats": {
1263
+ "config:show": {
1246
1264
  "aliases": [],
1247
1265
  "args": {},
1248
- "description": "Compile and chat stats for all owned faces",
1266
+ "description": "Print current config (credentials are masked)",
1249
1267
  "flags": {
1250
1268
  "json": {
1251
1269
  "description": "Format output as json.",
@@ -1281,7 +1299,7 @@
1281
1299
  },
1282
1300
  "hasDynamicHelp": false,
1283
1301
  "hiddenAliases": [],
1284
- "id": "face:stats",
1302
+ "id": "config:show",
1285
1303
  "pluginAlias": "faces-cli",
1286
1304
  "pluginName": "faces-cli",
1287
1305
  "pluginType": "core",
@@ -1291,20 +1309,14 @@
1291
1309
  "relativePath": [
1292
1310
  "dist",
1293
1311
  "commands",
1294
- "face",
1295
- "stats.js"
1312
+ "config",
1313
+ "show.js"
1296
1314
  ]
1297
1315
  },
1298
- "face:update": {
1299
- "aliases": [],
1300
- "args": {
1301
- "face_id": {
1302
- "description": "Face ID or username",
1303
- "name": "face_id",
1304
- "required": true
1305
- }
1306
- },
1307
- "description": "Update a face's metadata",
1316
+ "face:create": {
1317
+ "aliases": [],
1318
+ "args": {},
1319
+ "description": "Create a new face",
1308
1320
  "flags": {
1309
1321
  "json": {
1310
1322
  "description": "Format output as json.",
@@ -1338,21 +1350,37 @@
1338
1350
  "type": "option"
1339
1351
  },
1340
1352
  "name": {
1341
- "description": "New display name",
1353
+ "description": "Display name",
1342
1354
  "name": "name",
1355
+ "required": true,
1356
+ "hasDynamicHelp": false,
1357
+ "multiple": false,
1358
+ "type": "option"
1359
+ },
1360
+ "username": {
1361
+ "description": "Unique username slug",
1362
+ "name": "username",
1363
+ "required": true,
1364
+ "hasDynamicHelp": false,
1365
+ "multiple": false,
1366
+ "type": "option"
1367
+ },
1368
+ "formula": {
1369
+ "description": "Boolean formula over owned concrete face usernames (e.g. \"a | b\", \"(a | b) - c\"). Creates a synthetic face.",
1370
+ "name": "formula",
1343
1371
  "hasDynamicHelp": false,
1344
1372
  "multiple": false,
1345
1373
  "type": "option"
1346
1374
  },
1347
1375
  "attr": {
1348
- "description": "Update attribute KEY=VALUE (repeatable)",
1376
+ "description": "Attribute KEY=VALUE (repeatable)",
1349
1377
  "name": "attr",
1350
1378
  "hasDynamicHelp": false,
1351
1379
  "multiple": true,
1352
1380
  "type": "option"
1353
1381
  },
1354
1382
  "tool": {
1355
- "description": "Tool names to set (replaces list, repeatable)",
1383
+ "description": "Tool name to enable (repeatable)",
1356
1384
  "name": "tool",
1357
1385
  "hasDynamicHelp": false,
1358
1386
  "multiple": true,
@@ -1361,7 +1389,7 @@
1361
1389
  },
1362
1390
  "hasDynamicHelp": false,
1363
1391
  "hiddenAliases": [],
1364
- "id": "face:update",
1392
+ "id": "face:create",
1365
1393
  "pluginAlias": "faces-cli",
1366
1394
  "pluginName": "faces-cli",
1367
1395
  "pluginType": "core",
@@ -1372,10 +1400,10 @@
1372
1400
  "dist",
1373
1401
  "commands",
1374
1402
  "face",
1375
- "update.js"
1403
+ "create.js"
1376
1404
  ]
1377
1405
  },
1378
- "face:upload": {
1406
+ "face:delete": {
1379
1407
  "aliases": [],
1380
1408
  "args": {
1381
1409
  "face_id": {
@@ -1384,7 +1412,7 @@
1384
1412
  "required": true
1385
1413
  }
1386
1414
  },
1387
- "description": "Upload a file (text/PDF/audio/video) to a face",
1415
+ "description": "Delete a face permanently",
1388
1416
  "flags": {
1389
1417
  "json": {
1390
1418
  "description": "Format output as json.",
@@ -1417,30 +1445,16 @@
1417
1445
  "multiple": false,
1418
1446
  "type": "option"
1419
1447
  },
1420
- "file": {
1421
- "description": "File to upload",
1422
- "name": "file",
1423
- "required": true,
1424
- "hasDynamicHelp": false,
1425
- "multiple": false,
1426
- "type": "option"
1427
- },
1428
- "kind": {
1429
- "description": "Upload kind: document or thread",
1430
- "name": "kind",
1431
- "default": "document",
1432
- "hasDynamicHelp": false,
1433
- "multiple": false,
1434
- "options": [
1435
- "document",
1436
- "thread"
1437
- ],
1438
- "type": "option"
1448
+ "yes": {
1449
+ "description": "Skip confirmation",
1450
+ "name": "yes",
1451
+ "allowNo": false,
1452
+ "type": "boolean"
1439
1453
  }
1440
1454
  },
1441
1455
  "hasDynamicHelp": false,
1442
1456
  "hiddenAliases": [],
1443
- "id": "face:upload",
1457
+ "id": "face:delete",
1444
1458
  "pluginAlias": "faces-cli",
1445
1459
  "pluginName": "faces-cli",
1446
1460
  "pluginType": "core",
@@ -1451,13 +1465,13 @@
1451
1465
  "dist",
1452
1466
  "commands",
1453
1467
  "face",
1454
- "upload.js"
1468
+ "delete.js"
1455
1469
  ]
1456
1470
  },
1457
- "billing:balance": {
1471
+ "face:diff": {
1458
1472
  "aliases": [],
1459
1473
  "args": {},
1460
- "description": "Show credit balance and payment method status",
1474
+ "description": "Compare owned faces pairwise across all centroid components",
1461
1475
  "flags": {
1462
1476
  "json": {
1463
1477
  "description": "Format output as json.",
@@ -1489,11 +1503,19 @@
1489
1503
  "hasDynamicHelp": false,
1490
1504
  "multiple": false,
1491
1505
  "type": "option"
1506
+ },
1507
+ "face": {
1508
+ "description": "Face username to include (repeatable, min 2)",
1509
+ "name": "face",
1510
+ "required": true,
1511
+ "hasDynamicHelp": false,
1512
+ "multiple": true,
1513
+ "type": "option"
1492
1514
  }
1493
1515
  },
1494
1516
  "hasDynamicHelp": false,
1495
1517
  "hiddenAliases": [],
1496
- "id": "billing:balance",
1518
+ "id": "face:diff",
1497
1519
  "pluginAlias": "faces-cli",
1498
1520
  "pluginName": "faces-cli",
1499
1521
  "pluginType": "core",
@@ -1503,14 +1525,20 @@
1503
1525
  "relativePath": [
1504
1526
  "dist",
1505
1527
  "commands",
1506
- "billing",
1507
- "balance.js"
1528
+ "face",
1529
+ "diff.js"
1508
1530
  ]
1509
1531
  },
1510
- "billing:card-setup": {
1532
+ "face:get": {
1511
1533
  "aliases": [],
1512
- "args": {},
1513
- "description": "Get a Stripe card setup URL to save a payment method",
1534
+ "args": {
1535
+ "face_id": {
1536
+ "description": "Face ID or username",
1537
+ "name": "face_id",
1538
+ "required": true
1539
+ }
1540
+ },
1541
+ "description": "Get details for a face by ID or username",
1514
1542
  "flags": {
1515
1543
  "json": {
1516
1544
  "description": "Format output as json.",
@@ -1546,7 +1574,7 @@
1546
1574
  },
1547
1575
  "hasDynamicHelp": false,
1548
1576
  "hiddenAliases": [],
1549
- "id": "billing:card-setup",
1577
+ "id": "face:get",
1550
1578
  "pluginAlias": "faces-cli",
1551
1579
  "pluginName": "faces-cli",
1552
1580
  "pluginType": "core",
@@ -1556,14 +1584,14 @@
1556
1584
  "relativePath": [
1557
1585
  "dist",
1558
1586
  "commands",
1559
- "billing",
1560
- "card-setup.js"
1587
+ "face",
1588
+ "get.js"
1561
1589
  ]
1562
1590
  },
1563
- "billing:checkout": {
1591
+ "face:list": {
1564
1592
  "aliases": [],
1565
1593
  "args": {},
1566
- "description": "Get a Stripe checkout URL to upgrade your subscription plan",
1594
+ "description": "List all owned faces",
1567
1595
  "flags": {
1568
1596
  "json": {
1569
1597
  "description": "Format output as json.",
@@ -1595,23 +1623,11 @@
1595
1623
  "hasDynamicHelp": false,
1596
1624
  "multiple": false,
1597
1625
  "type": "option"
1598
- },
1599
- "plan": {
1600
- "description": "Plan to upgrade to",
1601
- "name": "plan",
1602
- "required": true,
1603
- "hasDynamicHelp": false,
1604
- "multiple": false,
1605
- "options": [
1606
- "standard",
1607
- "pro"
1608
- ],
1609
- "type": "option"
1610
1626
  }
1611
1627
  },
1612
1628
  "hasDynamicHelp": false,
1613
1629
  "hiddenAliases": [],
1614
- "id": "billing:checkout",
1630
+ "id": "face:list",
1615
1631
  "pluginAlias": "faces-cli",
1616
1632
  "pluginName": "faces-cli",
1617
1633
  "pluginType": "core",
@@ -1621,14 +1637,20 @@
1621
1637
  "relativePath": [
1622
1638
  "dist",
1623
1639
  "commands",
1624
- "billing",
1625
- "checkout.js"
1640
+ "face",
1641
+ "list.js"
1626
1642
  ]
1627
1643
  },
1628
- "billing:llm-costs": {
1644
+ "face:neighbors": {
1629
1645
  "aliases": [],
1630
- "args": {},
1631
- "description": "List available LLMs and their per-token costs",
1646
+ "args": {
1647
+ "face_id": {
1648
+ "description": "Face username",
1649
+ "name": "face_id",
1650
+ "required": true
1651
+ }
1652
+ },
1653
+ "description": "Find the most similar or dissimilar owned faces to a given face",
1632
1654
  "flags": {
1633
1655
  "json": {
1634
1656
  "description": "Format output as json.",
@@ -1661,70 +1683,44 @@
1661
1683
  "multiple": false,
1662
1684
  "type": "option"
1663
1685
  },
1664
- "provider": {
1665
- "description": "Filter by provider (e.g. openai, anthropic)",
1666
- "name": "provider",
1667
- "hasDynamicHelp": false,
1668
- "multiple": false,
1669
- "type": "option"
1670
- }
1671
- },
1672
- "hasDynamicHelp": false,
1673
- "hiddenAliases": [],
1674
- "id": "billing:llm-costs",
1675
- "pluginAlias": "faces-cli",
1676
- "pluginName": "faces-cli",
1677
- "pluginType": "core",
1678
- "strict": true,
1679
- "enableJsonFlag": true,
1680
- "isESM": true,
1681
- "relativePath": [
1682
- "dist",
1683
- "commands",
1684
- "billing",
1685
- "llm-costs.js"
1686
- ]
1687
- },
1688
- "billing:quota": {
1689
- "aliases": [],
1690
- "args": {},
1691
- "description": "Show compile token quota and per-face stats",
1692
- "flags": {
1693
- "json": {
1694
- "description": "Format output as json.",
1695
- "helpGroup": "GLOBAL",
1696
- "name": "json",
1697
- "allowNo": false,
1698
- "type": "boolean"
1699
- },
1700
- "base-url": {
1701
- "description": "API base URL",
1702
- "env": "FACES_BASE_URL",
1703
- "name": "base-url",
1686
+ "k": {
1687
+ "description": "Number of results (1–20)",
1688
+ "name": "k",
1689
+ "default": 5,
1704
1690
  "hasDynamicHelp": false,
1705
1691
  "multiple": false,
1706
1692
  "type": "option"
1707
1693
  },
1708
- "token": {
1709
- "description": "JWT bearer token",
1710
- "env": "FACES_TOKEN",
1711
- "name": "token",
1694
+ "component": {
1695
+ "description": "Centroid component to rank on (beta, delta, epsilon are the principal components of a face; face is their composite)",
1696
+ "name": "component",
1697
+ "default": "face",
1712
1698
  "hasDynamicHelp": false,
1713
1699
  "multiple": false,
1700
+ "options": [
1701
+ "face",
1702
+ "beta",
1703
+ "delta",
1704
+ "epsilon"
1705
+ ],
1714
1706
  "type": "option"
1715
1707
  },
1716
- "api-key": {
1717
- "description": "API key",
1718
- "env": "FACES_API_KEY",
1719
- "name": "api-key",
1708
+ "direction": {
1709
+ "description": "nearest (most similar) or furthest (most dissimilar)",
1710
+ "name": "direction",
1711
+ "default": "nearest",
1720
1712
  "hasDynamicHelp": false,
1721
1713
  "multiple": false,
1714
+ "options": [
1715
+ "nearest",
1716
+ "furthest"
1717
+ ],
1722
1718
  "type": "option"
1723
1719
  }
1724
1720
  },
1725
1721
  "hasDynamicHelp": false,
1726
1722
  "hiddenAliases": [],
1727
- "id": "billing:quota",
1723
+ "id": "face:neighbors",
1728
1724
  "pluginAlias": "faces-cli",
1729
1725
  "pluginName": "faces-cli",
1730
1726
  "pluginType": "core",
@@ -1734,14 +1730,14 @@
1734
1730
  "relativePath": [
1735
1731
  "dist",
1736
1732
  "commands",
1737
- "billing",
1738
- "quota.js"
1733
+ "face",
1734
+ "neighbors.js"
1739
1735
  ]
1740
1736
  },
1741
- "billing:subscription": {
1737
+ "face:stats": {
1742
1738
  "aliases": [],
1743
1739
  "args": {},
1744
- "description": "Show current plan, face count, and renewal date",
1740
+ "description": "Compile and chat stats for all owned faces",
1745
1741
  "flags": {
1746
1742
  "json": {
1747
1743
  "description": "Format output as json.",
@@ -1777,7 +1773,7 @@
1777
1773
  },
1778
1774
  "hasDynamicHelp": false,
1779
1775
  "hiddenAliases": [],
1780
- "id": "billing:subscription",
1776
+ "id": "face:stats",
1781
1777
  "pluginAlias": "faces-cli",
1782
1778
  "pluginName": "faces-cli",
1783
1779
  "pluginType": "core",
@@ -1787,14 +1783,20 @@
1787
1783
  "relativePath": [
1788
1784
  "dist",
1789
1785
  "commands",
1790
- "billing",
1791
- "subscription.js"
1786
+ "face",
1787
+ "stats.js"
1792
1788
  ]
1793
1789
  },
1794
- "billing:topup": {
1790
+ "face:update": {
1795
1791
  "aliases": [],
1796
- "args": {},
1797
- "description": "Top up credit balance using saved payment method",
1792
+ "args": {
1793
+ "face_id": {
1794
+ "description": "Face ID or username",
1795
+ "name": "face_id",
1796
+ "required": true
1797
+ }
1798
+ },
1799
+ "description": "Update a face's metadata",
1798
1800
  "flags": {
1799
1801
  "json": {
1800
1802
  "description": "Format output as json.",
@@ -1827,25 +1829,38 @@
1827
1829
  "multiple": false,
1828
1830
  "type": "option"
1829
1831
  },
1830
- "amount": {
1831
- "description": "Top-up amount in USD (min $1)",
1832
- "name": "amount",
1833
- "required": true,
1832
+ "name": {
1833
+ "description": "New display name",
1834
+ "name": "name",
1834
1835
  "hasDynamicHelp": false,
1835
1836
  "multiple": false,
1836
1837
  "type": "option"
1837
1838
  },
1838
- "payment-ref": {
1839
- "description": "Payment reference (admin/test path)",
1840
- "name": "payment-ref",
1839
+ "formula": {
1840
+ "description": "New boolean formula (synthetic faces only)",
1841
+ "name": "formula",
1841
1842
  "hasDynamicHelp": false,
1842
1843
  "multiple": false,
1843
1844
  "type": "option"
1845
+ },
1846
+ "attr": {
1847
+ "description": "Update attribute KEY=VALUE (repeatable)",
1848
+ "name": "attr",
1849
+ "hasDynamicHelp": false,
1850
+ "multiple": true,
1851
+ "type": "option"
1852
+ },
1853
+ "tool": {
1854
+ "description": "Tool names to set (replaces list, repeatable)",
1855
+ "name": "tool",
1856
+ "hasDynamicHelp": false,
1857
+ "multiple": true,
1858
+ "type": "option"
1844
1859
  }
1845
1860
  },
1846
1861
  "hasDynamicHelp": false,
1847
1862
  "hiddenAliases": [],
1848
- "id": "billing:topup",
1863
+ "id": "face:update",
1849
1864
  "pluginAlias": "faces-cli",
1850
1865
  "pluginName": "faces-cli",
1851
1866
  "pluginType": "core",
@@ -1855,14 +1870,20 @@
1855
1870
  "relativePath": [
1856
1871
  "dist",
1857
1872
  "commands",
1858
- "billing",
1859
- "topup.js"
1873
+ "face",
1874
+ "update.js"
1860
1875
  ]
1861
1876
  },
1862
- "billing:usage": {
1877
+ "face:upload": {
1863
1878
  "aliases": [],
1864
- "args": {},
1865
- "description": "Aggregated usage analytics",
1879
+ "args": {
1880
+ "face_id": {
1881
+ "description": "Face ID or username",
1882
+ "name": "face_id",
1883
+ "required": true
1884
+ }
1885
+ },
1886
+ "description": "Upload a file (text/PDF/audio/video) to a face",
1866
1887
  "flags": {
1867
1888
  "json": {
1868
1889
  "description": "Format output as json.",
@@ -1895,37 +1916,30 @@
1895
1916
  "multiple": false,
1896
1917
  "type": "option"
1897
1918
  },
1898
- "group-by": {
1899
- "description": "Group results",
1900
- "name": "group-by",
1901
- "hasDynamicHelp": false,
1902
- "multiple": false,
1903
- "options": [
1904
- "api_key",
1905
- "model",
1906
- "llm",
1907
- "date"
1908
- ],
1909
- "type": "option"
1910
- },
1911
- "from": {
1912
- "description": "Start date (YYYY-MM-DD)",
1913
- "name": "from",
1919
+ "file": {
1920
+ "description": "File to upload",
1921
+ "name": "file",
1922
+ "required": true,
1914
1923
  "hasDynamicHelp": false,
1915
1924
  "multiple": false,
1916
1925
  "type": "option"
1917
1926
  },
1918
- "to": {
1919
- "description": "End date (YYYY-MM-DD)",
1920
- "name": "to",
1927
+ "kind": {
1928
+ "description": "Upload kind: document or thread",
1929
+ "name": "kind",
1930
+ "default": "document",
1921
1931
  "hasDynamicHelp": false,
1922
1932
  "multiple": false,
1933
+ "options": [
1934
+ "document",
1935
+ "thread"
1936
+ ],
1923
1937
  "type": "option"
1924
1938
  }
1925
1939
  },
1926
1940
  "hasDynamicHelp": false,
1927
1941
  "hiddenAliases": [],
1928
- "id": "billing:usage",
1942
+ "id": "face:upload",
1929
1943
  "pluginAlias": "faces-cli",
1930
1944
  "pluginName": "faces-cli",
1931
1945
  "pluginType": "core",
@@ -1935,8 +1949,8 @@
1935
1949
  "relativePath": [
1936
1950
  "dist",
1937
1951
  "commands",
1938
- "billing",
1939
- "usage.js"
1952
+ "face",
1953
+ "upload.js"
1940
1954
  ]
1941
1955
  },
1942
1956
  "keys:create": {
@@ -2225,7 +2239,7 @@
2225
2239
  "update.js"
2226
2240
  ]
2227
2241
  },
2228
- "compile:thread:create": {
2242
+ "compile:doc:create": {
2229
2243
  "aliases": [],
2230
2244
  "args": {
2231
2245
  "face_id": {
@@ -2234,7 +2248,7 @@
2234
2248
  "required": true
2235
2249
  }
2236
2250
  },
2237
- "description": "Start a new thread for a face",
2251
+ "description": "Submit a document to a face",
2238
2252
  "flags": {
2239
2253
  "json": {
2240
2254
  "description": "Format output as json.",
@@ -2268,16 +2282,30 @@
2268
2282
  "type": "option"
2269
2283
  },
2270
2284
  "label": {
2271
- "description": "Thread label",
2285
+ "description": "Document label/title",
2272
2286
  "name": "label",
2273
2287
  "hasDynamicHelp": false,
2274
2288
  "multiple": false,
2275
2289
  "type": "option"
2290
+ },
2291
+ "content": {
2292
+ "description": "Inline text content",
2293
+ "name": "content",
2294
+ "hasDynamicHelp": false,
2295
+ "multiple": false,
2296
+ "type": "option"
2297
+ },
2298
+ "file": {
2299
+ "description": "Read content from file",
2300
+ "name": "file",
2301
+ "hasDynamicHelp": false,
2302
+ "multiple": false,
2303
+ "type": "option"
2276
2304
  }
2277
2305
  },
2278
2306
  "hasDynamicHelp": false,
2279
2307
  "hiddenAliases": [],
2280
- "id": "compile:thread:create",
2308
+ "id": "compile:doc:create",
2281
2309
  "pluginAlias": "faces-cli",
2282
2310
  "pluginName": "faces-cli",
2283
2311
  "pluginType": "core",
@@ -2288,20 +2316,20 @@
2288
2316
  "dist",
2289
2317
  "commands",
2290
2318
  "compile",
2291
- "thread",
2319
+ "doc",
2292
2320
  "create.js"
2293
2321
  ]
2294
2322
  },
2295
- "compile:thread:list": {
2323
+ "compile:doc:delete": {
2296
2324
  "aliases": [],
2297
2325
  "args": {
2298
- "face_id": {
2299
- "description": "Face ID or username",
2300
- "name": "face_id",
2326
+ "doc_id": {
2327
+ "description": "Document ID",
2328
+ "name": "doc_id",
2301
2329
  "required": true
2302
2330
  }
2303
2331
  },
2304
- "description": "List threads for a face",
2332
+ "description": "Delete a document",
2305
2333
  "flags": {
2306
2334
  "json": {
2307
2335
  "description": "Format output as json.",
@@ -2337,7 +2365,7 @@
2337
2365
  },
2338
2366
  "hasDynamicHelp": false,
2339
2367
  "hiddenAliases": [],
2340
- "id": "compile:thread:list",
2368
+ "id": "compile:doc:delete",
2341
2369
  "pluginAlias": "faces-cli",
2342
2370
  "pluginName": "faces-cli",
2343
2371
  "pluginType": "core",
@@ -2348,20 +2376,20 @@
2348
2376
  "dist",
2349
2377
  "commands",
2350
2378
  "compile",
2351
- "thread",
2352
- "list.js"
2379
+ "doc",
2380
+ "delete.js"
2353
2381
  ]
2354
2382
  },
2355
- "compile:thread:message": {
2383
+ "compile:doc:get": {
2356
2384
  "aliases": [],
2357
2385
  "args": {
2358
- "thread_id": {
2359
- "description": "Thread ID",
2360
- "name": "thread_id",
2386
+ "doc_id": {
2387
+ "description": "Document ID",
2388
+ "name": "doc_id",
2361
2389
  "required": true
2362
2390
  }
2363
2391
  },
2364
- "description": "Send a user message to a thread",
2392
+ "description": "Get a document by ID",
2365
2393
  "flags": {
2366
2394
  "json": {
2367
2395
  "description": "Format output as json.",
@@ -2393,20 +2421,11 @@
2393
2421
  "hasDynamicHelp": false,
2394
2422
  "multiple": false,
2395
2423
  "type": "option"
2396
- },
2397
- "message": {
2398
- "char": "m",
2399
- "description": "User message to append",
2400
- "name": "message",
2401
- "required": true,
2402
- "hasDynamicHelp": false,
2403
- "multiple": false,
2404
- "type": "option"
2405
2424
  }
2406
2425
  },
2407
2426
  "hasDynamicHelp": false,
2408
2427
  "hiddenAliases": [],
2409
- "id": "compile:thread:message",
2428
+ "id": "compile:doc:get",
2410
2429
  "pluginAlias": "faces-cli",
2411
2430
  "pluginName": "faces-cli",
2412
2431
  "pluginType": "core",
@@ -2417,20 +2436,20 @@
2417
2436
  "dist",
2418
2437
  "commands",
2419
2438
  "compile",
2420
- "thread",
2421
- "message.js"
2439
+ "doc",
2440
+ "get.js"
2422
2441
  ]
2423
2442
  },
2424
- "compile:thread:sync": {
2443
+ "compile:doc:list": {
2425
2444
  "aliases": [],
2426
2445
  "args": {
2427
- "thread_id": {
2428
- "description": "Thread ID",
2429
- "name": "thread_id",
2446
+ "face_id": {
2447
+ "description": "Face ID or username",
2448
+ "name": "face_id",
2430
2449
  "required": true
2431
2450
  }
2432
2451
  },
2433
- "description": "Archive and sync a thread into a face",
2452
+ "description": "List documents for a face",
2434
2453
  "flags": {
2435
2454
  "json": {
2436
2455
  "description": "Format output as json.",
@@ -2466,7 +2485,7 @@
2466
2485
  },
2467
2486
  "hasDynamicHelp": false,
2468
2487
  "hiddenAliases": [],
2469
- "id": "compile:thread:sync",
2488
+ "id": "compile:doc:list",
2470
2489
  "pluginAlias": "faces-cli",
2471
2490
  "pluginName": "faces-cli",
2472
2491
  "pluginType": "core",
@@ -2477,20 +2496,20 @@
2477
2496
  "dist",
2478
2497
  "commands",
2479
2498
  "compile",
2480
- "thread",
2481
- "sync.js"
2499
+ "doc",
2500
+ "list.js"
2482
2501
  ]
2483
2502
  },
2484
- "compile:doc:create": {
2503
+ "compile:doc:prepare": {
2485
2504
  "aliases": [],
2486
2505
  "args": {
2487
- "face_id": {
2488
- "description": "Face ID or username",
2489
- "name": "face_id",
2506
+ "doc_id": {
2507
+ "description": "Document ID",
2508
+ "name": "doc_id",
2490
2509
  "required": true
2491
2510
  }
2492
2511
  },
2493
- "description": "Submit a document to a face",
2512
+ "description": "Run LLM extraction pipeline on a document",
2494
2513
  "flags": {
2495
2514
  "json": {
2496
2515
  "description": "Format output as json.",
@@ -2522,32 +2541,11 @@
2522
2541
  "hasDynamicHelp": false,
2523
2542
  "multiple": false,
2524
2543
  "type": "option"
2525
- },
2526
- "label": {
2527
- "description": "Document label/title",
2528
- "name": "label",
2529
- "hasDynamicHelp": false,
2530
- "multiple": false,
2531
- "type": "option"
2532
- },
2533
- "content": {
2534
- "description": "Inline text content",
2535
- "name": "content",
2536
- "hasDynamicHelp": false,
2537
- "multiple": false,
2538
- "type": "option"
2539
- },
2540
- "file": {
2541
- "description": "Read content from file",
2542
- "name": "file",
2543
- "hasDynamicHelp": false,
2544
- "multiple": false,
2545
- "type": "option"
2546
2544
  }
2547
2545
  },
2548
2546
  "hasDynamicHelp": false,
2549
2547
  "hiddenAliases": [],
2550
- "id": "compile:doc:create",
2548
+ "id": "compile:doc:prepare",
2551
2549
  "pluginAlias": "faces-cli",
2552
2550
  "pluginName": "faces-cli",
2553
2551
  "pluginType": "core",
@@ -2559,10 +2557,10 @@
2559
2557
  "commands",
2560
2558
  "compile",
2561
2559
  "doc",
2562
- "create.js"
2560
+ "prepare.js"
2563
2561
  ]
2564
2562
  },
2565
- "compile:doc:delete": {
2563
+ "compile:doc:sync": {
2566
2564
  "aliases": [],
2567
2565
  "args": {
2568
2566
  "doc_id": {
@@ -2571,7 +2569,7 @@
2571
2569
  "required": true
2572
2570
  }
2573
2571
  },
2574
- "description": "Delete a document",
2572
+ "description": "Sync a document into a face (charges compile quota)",
2575
2573
  "flags": {
2576
2574
  "json": {
2577
2575
  "description": "Format output as json.",
@@ -2603,11 +2601,17 @@
2603
2601
  "hasDynamicHelp": false,
2604
2602
  "multiple": false,
2605
2603
  "type": "option"
2604
+ },
2605
+ "yes": {
2606
+ "description": "Skip confirmation (quota will be charged)",
2607
+ "name": "yes",
2608
+ "allowNo": false,
2609
+ "type": "boolean"
2606
2610
  }
2607
2611
  },
2608
2612
  "hasDynamicHelp": false,
2609
2613
  "hiddenAliases": [],
2610
- "id": "compile:doc:delete",
2614
+ "id": "compile:doc:sync",
2611
2615
  "pluginAlias": "faces-cli",
2612
2616
  "pluginName": "faces-cli",
2613
2617
  "pluginType": "core",
@@ -2619,19 +2623,19 @@
2619
2623
  "commands",
2620
2624
  "compile",
2621
2625
  "doc",
2622
- "delete.js"
2626
+ "sync.js"
2623
2627
  ]
2624
2628
  },
2625
- "compile:doc:get": {
2629
+ "compile:thread:create": {
2626
2630
  "aliases": [],
2627
2631
  "args": {
2628
- "doc_id": {
2629
- "description": "Document ID",
2630
- "name": "doc_id",
2632
+ "face_id": {
2633
+ "description": "Face ID or username",
2634
+ "name": "face_id",
2631
2635
  "required": true
2632
2636
  }
2633
2637
  },
2634
- "description": "Get a document by ID",
2638
+ "description": "Start a new thread for a face",
2635
2639
  "flags": {
2636
2640
  "json": {
2637
2641
  "description": "Format output as json.",
@@ -2663,11 +2667,18 @@
2663
2667
  "hasDynamicHelp": false,
2664
2668
  "multiple": false,
2665
2669
  "type": "option"
2670
+ },
2671
+ "label": {
2672
+ "description": "Thread label",
2673
+ "name": "label",
2674
+ "hasDynamicHelp": false,
2675
+ "multiple": false,
2676
+ "type": "option"
2666
2677
  }
2667
2678
  },
2668
2679
  "hasDynamicHelp": false,
2669
2680
  "hiddenAliases": [],
2670
- "id": "compile:doc:get",
2681
+ "id": "compile:thread:create",
2671
2682
  "pluginAlias": "faces-cli",
2672
2683
  "pluginName": "faces-cli",
2673
2684
  "pluginType": "core",
@@ -2678,11 +2689,11 @@
2678
2689
  "dist",
2679
2690
  "commands",
2680
2691
  "compile",
2681
- "doc",
2682
- "get.js"
2692
+ "thread",
2693
+ "create.js"
2683
2694
  ]
2684
2695
  },
2685
- "compile:doc:list": {
2696
+ "compile:thread:list": {
2686
2697
  "aliases": [],
2687
2698
  "args": {
2688
2699
  "face_id": {
@@ -2691,7 +2702,7 @@
2691
2702
  "required": true
2692
2703
  }
2693
2704
  },
2694
- "description": "List documents for a face",
2705
+ "description": "List threads for a face",
2695
2706
  "flags": {
2696
2707
  "json": {
2697
2708
  "description": "Format output as json.",
@@ -2727,7 +2738,7 @@
2727
2738
  },
2728
2739
  "hasDynamicHelp": false,
2729
2740
  "hiddenAliases": [],
2730
- "id": "compile:doc:list",
2741
+ "id": "compile:thread:list",
2731
2742
  "pluginAlias": "faces-cli",
2732
2743
  "pluginName": "faces-cli",
2733
2744
  "pluginType": "core",
@@ -2738,20 +2749,20 @@
2738
2749
  "dist",
2739
2750
  "commands",
2740
2751
  "compile",
2741
- "doc",
2752
+ "thread",
2742
2753
  "list.js"
2743
2754
  ]
2744
2755
  },
2745
- "compile:doc:prepare": {
2756
+ "compile:thread:message": {
2746
2757
  "aliases": [],
2747
2758
  "args": {
2748
- "doc_id": {
2749
- "description": "Document ID",
2750
- "name": "doc_id",
2759
+ "thread_id": {
2760
+ "description": "Thread ID",
2761
+ "name": "thread_id",
2751
2762
  "required": true
2752
2763
  }
2753
2764
  },
2754
- "description": "Run LLM extraction pipeline on a document",
2765
+ "description": "Send a user message to a thread",
2755
2766
  "flags": {
2756
2767
  "json": {
2757
2768
  "description": "Format output as json.",
@@ -2783,11 +2794,20 @@
2783
2794
  "hasDynamicHelp": false,
2784
2795
  "multiple": false,
2785
2796
  "type": "option"
2797
+ },
2798
+ "message": {
2799
+ "char": "m",
2800
+ "description": "User message to append",
2801
+ "name": "message",
2802
+ "required": true,
2803
+ "hasDynamicHelp": false,
2804
+ "multiple": false,
2805
+ "type": "option"
2786
2806
  }
2787
2807
  },
2788
2808
  "hasDynamicHelp": false,
2789
2809
  "hiddenAliases": [],
2790
- "id": "compile:doc:prepare",
2810
+ "id": "compile:thread:message",
2791
2811
  "pluginAlias": "faces-cli",
2792
2812
  "pluginName": "faces-cli",
2793
2813
  "pluginType": "core",
@@ -2798,20 +2818,20 @@
2798
2818
  "dist",
2799
2819
  "commands",
2800
2820
  "compile",
2801
- "doc",
2802
- "prepare.js"
2821
+ "thread",
2822
+ "message.js"
2803
2823
  ]
2804
2824
  },
2805
- "compile:doc:sync": {
2825
+ "compile:thread:sync": {
2806
2826
  "aliases": [],
2807
2827
  "args": {
2808
- "doc_id": {
2809
- "description": "Document ID",
2810
- "name": "doc_id",
2828
+ "thread_id": {
2829
+ "description": "Thread ID",
2830
+ "name": "thread_id",
2811
2831
  "required": true
2812
2832
  }
2813
2833
  },
2814
- "description": "Sync a document into a face (charges compile quota)",
2834
+ "description": "Archive and sync a thread into a face",
2815
2835
  "flags": {
2816
2836
  "json": {
2817
2837
  "description": "Format output as json.",
@@ -2843,17 +2863,11 @@
2843
2863
  "hasDynamicHelp": false,
2844
2864
  "multiple": false,
2845
2865
  "type": "option"
2846
- },
2847
- "yes": {
2848
- "description": "Skip confirmation (quota will be charged)",
2849
- "name": "yes",
2850
- "allowNo": false,
2851
- "type": "boolean"
2852
2866
  }
2853
2867
  },
2854
2868
  "hasDynamicHelp": false,
2855
2869
  "hiddenAliases": [],
2856
- "id": "compile:doc:sync",
2870
+ "id": "compile:thread:sync",
2857
2871
  "pluginAlias": "faces-cli",
2858
2872
  "pluginName": "faces-cli",
2859
2873
  "pluginType": "core",
@@ -2864,10 +2878,10 @@
2864
2878
  "dist",
2865
2879
  "commands",
2866
2880
  "compile",
2867
- "doc",
2881
+ "thread",
2868
2882
  "sync.js"
2869
2883
  ]
2870
2884
  }
2871
2885
  },
2872
- "version": "1.1.0"
2886
+ "version": "1.2.0"
2873
2887
  }