faces-cli 1.7.3 → 1.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -632,10 +632,10 @@
632
632
  "whoami.js"
633
633
  ]
634
634
  },
635
- "catalog:backup": {
635
+ "billing:balance": {
636
636
  "aliases": [],
637
637
  "args": {},
638
- "description": "Snapshot all faces, teams, and source material for migration",
638
+ "description": "Show credit balance and payment method status",
639
639
  "flags": {
640
640
  "json": {
641
641
  "description": "Format output as json.",
@@ -671,7 +671,7 @@
671
671
  },
672
672
  "hasDynamicHelp": false,
673
673
  "hiddenAliases": [],
674
- "id": "catalog:backup",
674
+ "id": "billing:balance",
675
675
  "pluginAlias": "faces-cli",
676
676
  "pluginName": "faces-cli",
677
677
  "pluginType": "core",
@@ -681,14 +681,14 @@
681
681
  "relativePath": [
682
682
  "dist",
683
683
  "commands",
684
- "catalog",
685
- "backup.js"
684
+ "billing",
685
+ "balance.js"
686
686
  ]
687
687
  },
688
- "catalog:doctor": {
688
+ "billing:card-setup": {
689
689
  "aliases": [],
690
690
  "args": {},
691
- "description": "Diagnose and repair the local face and team catalog",
691
+ "description": "Get a Stripe card setup URL to save a payment method",
692
692
  "flags": {
693
693
  "json": {
694
694
  "description": "Format output as json.",
@@ -720,23 +720,11 @@
720
720
  "hasDynamicHelp": false,
721
721
  "multiple": false,
722
722
  "type": "option"
723
- },
724
- "fix": {
725
- "description": "Rebuild missing or stale catalog entries from API",
726
- "name": "fix",
727
- "allowNo": false,
728
- "type": "boolean"
729
- },
730
- "generate": {
731
- "description": "Fix + generate missing descriptions via LLM",
732
- "name": "generate",
733
- "allowNo": false,
734
- "type": "boolean"
735
723
  }
736
724
  },
737
725
  "hasDynamicHelp": false,
738
726
  "hiddenAliases": [],
739
- "id": "catalog:doctor",
727
+ "id": "billing:card-setup",
740
728
  "pluginAlias": "faces-cli",
741
729
  "pluginName": "faces-cli",
742
730
  "pluginType": "core",
@@ -746,14 +734,14 @@
746
734
  "relativePath": [
747
735
  "dist",
748
736
  "commands",
749
- "catalog",
750
- "doctor.js"
737
+ "billing",
738
+ "card-setup.js"
751
739
  ]
752
740
  },
753
- "catalog:list": {
741
+ "billing:llm-costs": {
754
742
  "aliases": [],
755
743
  "args": {},
756
- "description": "List all faces in the local catalog",
744
+ "description": "List available LLMs and their per-token costs",
757
745
  "flags": {
758
746
  "json": {
759
747
  "description": "Format output as json.",
@@ -785,11 +773,18 @@
785
773
  "hasDynamicHelp": false,
786
774
  "multiple": false,
787
775
  "type": "option"
776
+ },
777
+ "provider": {
778
+ "description": "Filter by provider (e.g. openai, anthropic)",
779
+ "name": "provider",
780
+ "hasDynamicHelp": false,
781
+ "multiple": false,
782
+ "type": "option"
788
783
  }
789
784
  },
790
785
  "hasDynamicHelp": false,
791
786
  "hiddenAliases": [],
792
- "id": "catalog:list",
787
+ "id": "billing:llm-costs",
793
788
  "pluginAlias": "faces-cli",
794
789
  "pluginName": "faces-cli",
795
790
  "pluginType": "core",
@@ -799,14 +794,14 @@
799
794
  "relativePath": [
800
795
  "dist",
801
796
  "commands",
802
- "catalog",
803
- "list.js"
797
+ "billing",
798
+ "llm-costs.js"
804
799
  ]
805
800
  },
806
- "catalog:manyfaced": {
801
+ "billing:quota": {
807
802
  "aliases": [],
808
803
  "args": {},
809
- "description": "Browse and install community manyfaced skills from github.com/facessh/manyfaced",
804
+ "description": "Show compilation stats per face (deprecated use compile:stats)",
810
805
  "flags": {
811
806
  "json": {
812
807
  "description": "Format output as json.",
@@ -838,38 +833,11 @@
838
833
  "hasDynamicHelp": false,
839
834
  "multiple": false,
840
835
  "type": "option"
841
- },
842
- "skill": {
843
- "description": "Show details for a specific skill",
844
- "name": "skill",
845
- "hasDynamicHelp": false,
846
- "multiple": false,
847
- "type": "option"
848
- },
849
- "install": {
850
- "description": "Install a skill by name",
851
- "name": "install",
852
- "hasDynamicHelp": false,
853
- "multiple": false,
854
- "type": "option"
855
- },
856
- "skills-dir": {
857
- "description": "Directory to install skills into (required for --install)",
858
- "name": "skills-dir",
859
- "hasDynamicHelp": false,
860
- "multiple": false,
861
- "type": "option"
862
- },
863
- "refresh": {
864
- "description": "Force refresh the skill index (ignore cache)",
865
- "name": "refresh",
866
- "allowNo": false,
867
- "type": "boolean"
868
836
  }
869
837
  },
870
838
  "hasDynamicHelp": false,
871
839
  "hiddenAliases": [],
872
- "id": "catalog:manyfaced",
840
+ "id": "billing:quota",
873
841
  "pluginAlias": "faces-cli",
874
842
  "pluginName": "faces-cli",
875
843
  "pluginType": "core",
@@ -879,19 +847,14 @@
879
847
  "relativePath": [
880
848
  "dist",
881
849
  "commands",
882
- "catalog",
883
- "manyfaced.js"
850
+ "billing",
851
+ "quota.js"
884
852
  ]
885
853
  },
886
- "catalog:restore": {
854
+ "billing:subscription": {
887
855
  "aliases": [],
888
- "args": {
889
- "file": {
890
- "description": "Backup file path (default: most recent in ~/.faces/backups/)",
891
- "name": "file"
892
- }
893
- },
894
- "description": "Restore faces, teams, and source material from a backup snapshot",
856
+ "args": {},
857
+ "description": "Show current plan, face count, and renewal date",
895
858
  "flags": {
896
859
  "json": {
897
860
  "description": "Format output as json.",
@@ -923,17 +886,11 @@
923
886
  "hasDynamicHelp": false,
924
887
  "multiple": false,
925
888
  "type": "option"
926
- },
927
- "compile": {
928
- "description": "Run compile:all after restoring",
929
- "name": "compile",
930
- "allowNo": false,
931
- "type": "boolean"
932
889
  }
933
890
  },
934
891
  "hasDynamicHelp": false,
935
892
  "hiddenAliases": [],
936
- "id": "catalog:restore",
893
+ "id": "billing:subscription",
937
894
  "pluginAlias": "faces-cli",
938
895
  "pluginName": "faces-cli",
939
896
  "pluginType": "core",
@@ -943,14 +900,14 @@
943
900
  "relativePath": [
944
901
  "dist",
945
902
  "commands",
946
- "catalog",
947
- "restore.js"
903
+ "billing",
904
+ "subscription.js"
948
905
  ]
949
906
  },
950
- "billing:balance": {
907
+ "billing:topup": {
951
908
  "aliases": [],
952
909
  "args": {},
953
- "description": "Show credit balance and payment method status",
910
+ "description": "Top up credit balance using saved payment method",
954
911
  "flags": {
955
912
  "json": {
956
913
  "description": "Format output as json.",
@@ -982,11 +939,26 @@
982
939
  "hasDynamicHelp": false,
983
940
  "multiple": false,
984
941
  "type": "option"
942
+ },
943
+ "amount": {
944
+ "description": "Top-up amount in USD (min $1)",
945
+ "name": "amount",
946
+ "required": true,
947
+ "hasDynamicHelp": false,
948
+ "multiple": false,
949
+ "type": "option"
950
+ },
951
+ "payment-ref": {
952
+ "description": "Payment reference (admin/test path)",
953
+ "name": "payment-ref",
954
+ "hasDynamicHelp": false,
955
+ "multiple": false,
956
+ "type": "option"
985
957
  }
986
958
  },
987
959
  "hasDynamicHelp": false,
988
960
  "hiddenAliases": [],
989
- "id": "billing:balance",
961
+ "id": "billing:topup",
990
962
  "pluginAlias": "faces-cli",
991
963
  "pluginName": "faces-cli",
992
964
  "pluginType": "core",
@@ -997,13 +969,13 @@
997
969
  "dist",
998
970
  "commands",
999
971
  "billing",
1000
- "balance.js"
972
+ "topup.js"
1001
973
  ]
1002
974
  },
1003
- "billing:card-setup": {
975
+ "billing:usage": {
1004
976
  "aliases": [],
1005
977
  "args": {},
1006
- "description": "Get a Stripe card setup URL to save a payment method",
978
+ "description": "Aggregated usage analytics",
1007
979
  "flags": {
1008
980
  "json": {
1009
981
  "description": "Format output as json.",
@@ -1035,11 +1007,38 @@
1035
1007
  "hasDynamicHelp": false,
1036
1008
  "multiple": false,
1037
1009
  "type": "option"
1010
+ },
1011
+ "group-by": {
1012
+ "description": "Group results",
1013
+ "name": "group-by",
1014
+ "hasDynamicHelp": false,
1015
+ "multiple": false,
1016
+ "options": [
1017
+ "api_key",
1018
+ "model",
1019
+ "llm",
1020
+ "date"
1021
+ ],
1022
+ "type": "option"
1023
+ },
1024
+ "from": {
1025
+ "description": "Start date (YYYY-MM-DD)",
1026
+ "name": "from",
1027
+ "hasDynamicHelp": false,
1028
+ "multiple": false,
1029
+ "type": "option"
1030
+ },
1031
+ "to": {
1032
+ "description": "End date (YYYY-MM-DD)",
1033
+ "name": "to",
1034
+ "hasDynamicHelp": false,
1035
+ "multiple": false,
1036
+ "type": "option"
1038
1037
  }
1039
1038
  },
1040
1039
  "hasDynamicHelp": false,
1041
1040
  "hiddenAliases": [],
1042
- "id": "billing:card-setup",
1041
+ "id": "billing:usage",
1043
1042
  "pluginAlias": "faces-cli",
1044
1043
  "pluginName": "faces-cli",
1045
1044
  "pluginType": "core",
@@ -1050,13 +1049,13 @@
1050
1049
  "dist",
1051
1050
  "commands",
1052
1051
  "billing",
1053
- "card-setup.js"
1052
+ "usage.js"
1054
1053
  ]
1055
1054
  },
1056
- "billing:llm-costs": {
1055
+ "catalog:backup": {
1057
1056
  "aliases": [],
1058
1057
  "args": {},
1059
- "description": "List available LLMs and their per-token costs",
1058
+ "description": "Snapshot all faces, teams, and source material for migration",
1060
1059
  "flags": {
1061
1060
  "json": {
1062
1061
  "description": "Format output as json.",
@@ -1088,18 +1087,11 @@
1088
1087
  "hasDynamicHelp": false,
1089
1088
  "multiple": false,
1090
1089
  "type": "option"
1091
- },
1092
- "provider": {
1093
- "description": "Filter by provider (e.g. openai, anthropic)",
1094
- "name": "provider",
1095
- "hasDynamicHelp": false,
1096
- "multiple": false,
1097
- "type": "option"
1098
1090
  }
1099
1091
  },
1100
1092
  "hasDynamicHelp": false,
1101
1093
  "hiddenAliases": [],
1102
- "id": "billing:llm-costs",
1094
+ "id": "catalog:backup",
1103
1095
  "pluginAlias": "faces-cli",
1104
1096
  "pluginName": "faces-cli",
1105
1097
  "pluginType": "core",
@@ -1109,14 +1101,14 @@
1109
1101
  "relativePath": [
1110
1102
  "dist",
1111
1103
  "commands",
1112
- "billing",
1113
- "llm-costs.js"
1104
+ "catalog",
1105
+ "backup.js"
1114
1106
  ]
1115
1107
  },
1116
- "billing:quota": {
1108
+ "catalog:doctor": {
1117
1109
  "aliases": [],
1118
1110
  "args": {},
1119
- "description": "Show compilation stats per face (deprecated use compile:stats)",
1111
+ "description": "Diagnose and repair the local face and team catalog",
1120
1112
  "flags": {
1121
1113
  "json": {
1122
1114
  "description": "Format output as json.",
@@ -1148,11 +1140,23 @@
1148
1140
  "hasDynamicHelp": false,
1149
1141
  "multiple": false,
1150
1142
  "type": "option"
1143
+ },
1144
+ "fix": {
1145
+ "description": "Rebuild missing or stale catalog entries from API",
1146
+ "name": "fix",
1147
+ "allowNo": false,
1148
+ "type": "boolean"
1149
+ },
1150
+ "generate": {
1151
+ "description": "Fix + generate missing descriptions via LLM",
1152
+ "name": "generate",
1153
+ "allowNo": false,
1154
+ "type": "boolean"
1151
1155
  }
1152
1156
  },
1153
1157
  "hasDynamicHelp": false,
1154
1158
  "hiddenAliases": [],
1155
- "id": "billing:quota",
1159
+ "id": "catalog:doctor",
1156
1160
  "pluginAlias": "faces-cli",
1157
1161
  "pluginName": "faces-cli",
1158
1162
  "pluginType": "core",
@@ -1162,14 +1166,14 @@
1162
1166
  "relativePath": [
1163
1167
  "dist",
1164
1168
  "commands",
1165
- "billing",
1166
- "quota.js"
1169
+ "catalog",
1170
+ "doctor.js"
1167
1171
  ]
1168
1172
  },
1169
- "billing:subscription": {
1173
+ "catalog:list": {
1170
1174
  "aliases": [],
1171
1175
  "args": {},
1172
- "description": "Show current plan, face count, and renewal date",
1176
+ "description": "List all faces in the local catalog",
1173
1177
  "flags": {
1174
1178
  "json": {
1175
1179
  "description": "Format output as json.",
@@ -1205,7 +1209,7 @@
1205
1209
  },
1206
1210
  "hasDynamicHelp": false,
1207
1211
  "hiddenAliases": [],
1208
- "id": "billing:subscription",
1212
+ "id": "catalog:list",
1209
1213
  "pluginAlias": "faces-cli",
1210
1214
  "pluginName": "faces-cli",
1211
1215
  "pluginType": "core",
@@ -1215,14 +1219,14 @@
1215
1219
  "relativePath": [
1216
1220
  "dist",
1217
1221
  "commands",
1218
- "billing",
1219
- "subscription.js"
1222
+ "catalog",
1223
+ "list.js"
1220
1224
  ]
1221
1225
  },
1222
- "billing:topup": {
1226
+ "catalog:manyfaced": {
1223
1227
  "aliases": [],
1224
1228
  "args": {},
1225
- "description": "Top up credit balance using saved payment method",
1229
+ "description": "Browse and install community manyfaced skills from github.com/facessh/manyfaced",
1226
1230
  "flags": {
1227
1231
  "json": {
1228
1232
  "description": "Format output as json.",
@@ -1255,25 +1259,37 @@
1255
1259
  "multiple": false,
1256
1260
  "type": "option"
1257
1261
  },
1258
- "amount": {
1259
- "description": "Top-up amount in USD (min $1)",
1260
- "name": "amount",
1261
- "required": true,
1262
+ "skill": {
1263
+ "description": "Show details for a specific skill",
1264
+ "name": "skill",
1262
1265
  "hasDynamicHelp": false,
1263
1266
  "multiple": false,
1264
1267
  "type": "option"
1265
1268
  },
1266
- "payment-ref": {
1267
- "description": "Payment reference (admin/test path)",
1268
- "name": "payment-ref",
1269
+ "install": {
1270
+ "description": "Install a skill by name",
1271
+ "name": "install",
1272
+ "hasDynamicHelp": false,
1273
+ "multiple": false,
1274
+ "type": "option"
1275
+ },
1276
+ "skills-dir": {
1277
+ "description": "Directory to install skills into (required for --install)",
1278
+ "name": "skills-dir",
1269
1279
  "hasDynamicHelp": false,
1270
1280
  "multiple": false,
1271
1281
  "type": "option"
1282
+ },
1283
+ "refresh": {
1284
+ "description": "Force refresh the skill index (ignore cache)",
1285
+ "name": "refresh",
1286
+ "allowNo": false,
1287
+ "type": "boolean"
1272
1288
  }
1273
1289
  },
1274
1290
  "hasDynamicHelp": false,
1275
1291
  "hiddenAliases": [],
1276
- "id": "billing:topup",
1292
+ "id": "catalog:manyfaced",
1277
1293
  "pluginAlias": "faces-cli",
1278
1294
  "pluginName": "faces-cli",
1279
1295
  "pluginType": "core",
@@ -1283,14 +1299,19 @@
1283
1299
  "relativePath": [
1284
1300
  "dist",
1285
1301
  "commands",
1286
- "billing",
1287
- "topup.js"
1302
+ "catalog",
1303
+ "manyfaced.js"
1288
1304
  ]
1289
1305
  },
1290
- "billing:usage": {
1306
+ "catalog:restore": {
1291
1307
  "aliases": [],
1292
- "args": {},
1293
- "description": "Aggregated usage analytics",
1308
+ "args": {
1309
+ "file": {
1310
+ "description": "Backup file path (default: most recent in ~/.faces/backups/)",
1311
+ "name": "file"
1312
+ }
1313
+ },
1314
+ "description": "Restore faces, teams, and source material from a backup snapshot",
1294
1315
  "flags": {
1295
1316
  "json": {
1296
1317
  "description": "Format output as json.",
@@ -1323,37 +1344,16 @@
1323
1344
  "multiple": false,
1324
1345
  "type": "option"
1325
1346
  },
1326
- "group-by": {
1327
- "description": "Group results",
1328
- "name": "group-by",
1329
- "hasDynamicHelp": false,
1330
- "multiple": false,
1331
- "options": [
1332
- "api_key",
1333
- "model",
1334
- "llm",
1335
- "date"
1336
- ],
1337
- "type": "option"
1338
- },
1339
- "from": {
1340
- "description": "Start date (YYYY-MM-DD)",
1341
- "name": "from",
1342
- "hasDynamicHelp": false,
1343
- "multiple": false,
1344
- "type": "option"
1345
- },
1346
- "to": {
1347
- "description": "End date (YYYY-MM-DD)",
1348
- "name": "to",
1349
- "hasDynamicHelp": false,
1350
- "multiple": false,
1351
- "type": "option"
1347
+ "compile": {
1348
+ "description": "Run compile:all after restoring",
1349
+ "name": "compile",
1350
+ "allowNo": false,
1351
+ "type": "boolean"
1352
1352
  }
1353
1353
  },
1354
1354
  "hasDynamicHelp": false,
1355
1355
  "hiddenAliases": [],
1356
- "id": "billing:usage",
1356
+ "id": "catalog:restore",
1357
1357
  "pluginAlias": "faces-cli",
1358
1358
  "pluginName": "faces-cli",
1359
1359
  "pluginType": "core",
@@ -1363,8 +1363,8 @@
1363
1363
  "relativePath": [
1364
1364
  "dist",
1365
1365
  "commands",
1366
- "billing",
1367
- "usage.js"
1366
+ "catalog",
1367
+ "restore.js"
1368
1368
  ]
1369
1369
  },
1370
1370
  "chat:chat": {
@@ -2472,6 +2472,23 @@
2472
2472
  "hasDynamicHelp": false,
2473
2473
  "multiple": true,
2474
2474
  "type": "option"
2475
+ },
2476
+ "profile-addendum": {
2477
+ "description": "Per-face system prompt, injected after the persona profile and before any per-request system prompt (max 100,000 chars).",
2478
+ "name": "profile-addendum",
2479
+ "hasDynamicHelp": false,
2480
+ "multiple": false,
2481
+ "type": "option"
2482
+ },
2483
+ "profile-addendum-file": {
2484
+ "description": "Read the per-face system prompt from a file (alternative to --profile-addendum).",
2485
+ "exclusive": [
2486
+ "profile-addendum"
2487
+ ],
2488
+ "name": "profile-addendum-file",
2489
+ "hasDynamicHelp": false,
2490
+ "multiple": false,
2491
+ "type": "option"
2475
2492
  }
2476
2493
  },
2477
2494
  "hasDynamicHelp": false,
@@ -2706,6 +2723,33 @@
2706
2723
  "hasDynamicHelp": false,
2707
2724
  "multiple": true,
2708
2725
  "type": "option"
2726
+ },
2727
+ "profile-addendum": {
2728
+ "description": "Replace the per-face system prompt (max 100,000 chars).",
2729
+ "name": "profile-addendum",
2730
+ "hasDynamicHelp": false,
2731
+ "multiple": false,
2732
+ "type": "option"
2733
+ },
2734
+ "profile-addendum-file": {
2735
+ "description": "Replace the per-face system prompt from a file.",
2736
+ "exclusive": [
2737
+ "profile-addendum"
2738
+ ],
2739
+ "name": "profile-addendum-file",
2740
+ "hasDynamicHelp": false,
2741
+ "multiple": false,
2742
+ "type": "option"
2743
+ },
2744
+ "clear-profile-addendum": {
2745
+ "description": "Remove the per-face system prompt.",
2746
+ "exclusive": [
2747
+ "profile-addendum",
2748
+ "profile-addendum-file"
2749
+ ],
2750
+ "name": "clear-profile-addendum",
2751
+ "allowNo": false,
2752
+ "type": "boolean"
2709
2753
  }
2710
2754
  },
2711
2755
  "hasDynamicHelp": false,
@@ -2772,6 +2816,12 @@
2772
2816
  "hasDynamicHelp": false,
2773
2817
  "multiple": false,
2774
2818
  "type": "option"
2819
+ },
2820
+ "full": {
2821
+ "description": "Print the full profile_addendum instead of a truncated preview",
2822
+ "name": "full",
2823
+ "allowNo": false,
2824
+ "type": "boolean"
2775
2825
  }
2776
2826
  },
2777
2827
  "hasDynamicHelp": false,
@@ -4161,7 +4211,7 @@
4161
4211
  "cancel.js"
4162
4212
  ]
4163
4213
  },
4164
- "compile:doc:create": {
4214
+ "compile:thread:create": {
4165
4215
  "aliases": [],
4166
4216
  "args": {
4167
4217
  "face_id": {
@@ -4170,7 +4220,7 @@
4170
4220
  "required": true
4171
4221
  }
4172
4222
  },
4173
- "description": "Submit a document to a face",
4223
+ "description": "Start a new thread for a face",
4174
4224
  "flags": {
4175
4225
  "json": {
4176
4226
  "description": "Format output as json.",
@@ -4204,42 +4254,22 @@
4204
4254
  "type": "option"
4205
4255
  },
4206
4256
  "label": {
4207
- "description": "Document label/title",
4257
+ "description": "Thread label",
4208
4258
  "name": "label",
4209
4259
  "hasDynamicHelp": false,
4210
4260
  "multiple": false,
4211
4261
  "type": "option"
4212
4262
  },
4213
- "content": {
4214
- "description": "Inline text content",
4215
- "name": "content",
4216
- "hasDynamicHelp": false,
4217
- "multiple": false,
4218
- "type": "option"
4219
- },
4220
- "file": {
4221
- "description": "Read content from file",
4222
- "name": "file",
4223
- "hasDynamicHelp": false,
4224
- "multiple": false,
4225
- "type": "option"
4226
- },
4227
- "perspective": {
4228
- "description": "Perspective (first-person or third-person)",
4229
- "name": "perspective",
4230
- "default": "first-person",
4231
- "hasDynamicHelp": false,
4232
- "multiple": false,
4233
- "options": [
4234
- "first-person",
4235
- "third-person"
4236
- ],
4237
- "type": "option"
4263
+ "oauth-only": {
4264
+ "description": "Prevent fallback to paid system key (use OAuth only)",
4265
+ "name": "oauth-only",
4266
+ "allowNo": false,
4267
+ "type": "boolean"
4238
4268
  }
4239
4269
  },
4240
4270
  "hasDynamicHelp": false,
4241
4271
  "hiddenAliases": [],
4242
- "id": "compile:doc:create",
4272
+ "id": "compile:thread:create",
4243
4273
  "pluginAlias": "faces-cli",
4244
4274
  "pluginName": "faces-cli",
4245
4275
  "pluginType": "core",
@@ -4250,20 +4280,20 @@
4250
4280
  "dist",
4251
4281
  "commands",
4252
4282
  "compile",
4253
- "doc",
4283
+ "thread",
4254
4284
  "create.js"
4255
4285
  ]
4256
4286
  },
4257
- "compile:doc:delete": {
4287
+ "compile:thread:delete": {
4258
4288
  "aliases": [],
4259
4289
  "args": {
4260
- "doc_id": {
4261
- "description": "Document ID",
4262
- "name": "doc_id",
4290
+ "thread_id": {
4291
+ "description": "Thread ID",
4292
+ "name": "thread_id",
4263
4293
  "required": true
4264
4294
  }
4265
4295
  },
4266
- "description": "Delete a document",
4296
+ "description": "Delete a thread",
4267
4297
  "flags": {
4268
4298
  "json": {
4269
4299
  "description": "Format output as json.",
@@ -4295,11 +4325,17 @@
4295
4325
  "hasDynamicHelp": false,
4296
4326
  "multiple": false,
4297
4327
  "type": "option"
4328
+ },
4329
+ "yes": {
4330
+ "description": "Skip confirmation",
4331
+ "name": "yes",
4332
+ "allowNo": false,
4333
+ "type": "boolean"
4298
4334
  }
4299
4335
  },
4300
4336
  "hasDynamicHelp": false,
4301
4337
  "hiddenAliases": [],
4302
- "id": "compile:doc:delete",
4338
+ "id": "compile:thread:delete",
4303
4339
  "pluginAlias": "faces-cli",
4304
4340
  "pluginName": "faces-cli",
4305
4341
  "pluginType": "core",
@@ -4310,20 +4346,20 @@
4310
4346
  "dist",
4311
4347
  "commands",
4312
4348
  "compile",
4313
- "doc",
4349
+ "thread",
4314
4350
  "delete.js"
4315
4351
  ]
4316
4352
  },
4317
- "compile:doc:edit": {
4353
+ "compile:thread:edit": {
4318
4354
  "aliases": [],
4319
4355
  "args": {
4320
- "doc_id": {
4321
- "description": "Document ID",
4322
- "name": "doc_id",
4356
+ "thread_id": {
4357
+ "description": "Thread ID",
4358
+ "name": "thread_id",
4323
4359
  "required": true
4324
4360
  }
4325
4361
  },
4326
- "description": "Edit a document (label, content, or perspective)",
4362
+ "description": "Edit a thread (label and/or reassign face speaker)",
4327
4363
  "flags": {
4328
4364
  "json": {
4329
4365
  "description": "Format output as json.",
@@ -4357,41 +4393,23 @@
4357
4393
  "type": "option"
4358
4394
  },
4359
4395
  "label": {
4360
- "description": "New label/title",
4396
+ "description": "New thread label",
4361
4397
  "name": "label",
4362
4398
  "hasDynamicHelp": false,
4363
4399
  "multiple": false,
4364
4400
  "type": "option"
4365
4401
  },
4366
- "content": {
4367
- "description": "New inline text content",
4368
- "name": "content",
4369
- "hasDynamicHelp": false,
4370
- "multiple": false,
4371
- "type": "option"
4372
- },
4373
- "file": {
4374
- "description": "Read new content from file",
4375
- "name": "file",
4376
- "hasDynamicHelp": false,
4377
- "multiple": false,
4378
- "type": "option"
4379
- },
4380
- "perspective": {
4381
- "description": "Perspective (first-person or third-person)",
4382
- "name": "perspective",
4402
+ "face-speaker": {
4403
+ "description": "Reassign face speaker: set this speaker to role=user, all others to role=assistant",
4404
+ "name": "face-speaker",
4383
4405
  "hasDynamicHelp": false,
4384
4406
  "multiple": false,
4385
- "options": [
4386
- "first-person",
4387
- "third-person"
4388
- ],
4389
4407
  "type": "option"
4390
4408
  }
4391
4409
  },
4392
4410
  "hasDynamicHelp": false,
4393
4411
  "hiddenAliases": [],
4394
- "id": "compile:doc:edit",
4412
+ "id": "compile:thread:edit",
4395
4413
  "pluginAlias": "faces-cli",
4396
4414
  "pluginName": "faces-cli",
4397
4415
  "pluginType": "core",
@@ -4402,20 +4420,20 @@
4402
4420
  "dist",
4403
4421
  "commands",
4404
4422
  "compile",
4405
- "doc",
4423
+ "thread",
4406
4424
  "edit.js"
4407
4425
  ]
4408
4426
  },
4409
- "compile:doc:get": {
4427
+ "compile:thread:get": {
4410
4428
  "aliases": [],
4411
4429
  "args": {
4412
- "doc_id": {
4413
- "description": "Document ID",
4414
- "name": "doc_id",
4430
+ "thread_id": {
4431
+ "description": "Thread ID",
4432
+ "name": "thread_id",
4415
4433
  "required": true
4416
4434
  }
4417
4435
  },
4418
- "description": "Get a document by ID",
4436
+ "description": "Get a thread by ID",
4419
4437
  "flags": {
4420
4438
  "json": {
4421
4439
  "description": "Format output as json.",
@@ -4451,7 +4469,7 @@
4451
4469
  },
4452
4470
  "hasDynamicHelp": false,
4453
4471
  "hiddenAliases": [],
4454
- "id": "compile:doc:get",
4472
+ "id": "compile:thread:get",
4455
4473
  "pluginAlias": "faces-cli",
4456
4474
  "pluginName": "faces-cli",
4457
4475
  "pluginType": "core",
@@ -4462,11 +4480,11 @@
4462
4480
  "dist",
4463
4481
  "commands",
4464
4482
  "compile",
4465
- "doc",
4483
+ "thread",
4466
4484
  "get.js"
4467
4485
  ]
4468
4486
  },
4469
- "compile:doc": {
4487
+ "compile:thread:list": {
4470
4488
  "aliases": [],
4471
4489
  "args": {
4472
4490
  "face_id": {
@@ -4475,7 +4493,7 @@
4475
4493
  "required": true
4476
4494
  }
4477
4495
  },
4478
- "description": "Compile a document into a face (create → make in one step)",
4496
+ "description": "List threads for a face",
4479
4497
  "flags": {
4480
4498
  "json": {
4481
4499
  "description": "Format output as json.",
@@ -4507,58 +4525,11 @@
4507
4525
  "hasDynamicHelp": false,
4508
4526
  "multiple": false,
4509
4527
  "type": "option"
4510
- },
4511
- "label": {
4512
- "description": "Document label/title",
4513
- "name": "label",
4514
- "hasDynamicHelp": false,
4515
- "multiple": false,
4516
- "type": "option"
4517
- },
4518
- "content": {
4519
- "description": "Inline text content",
4520
- "name": "content",
4521
- "hasDynamicHelp": false,
4522
- "multiple": false,
4523
- "type": "option"
4524
- },
4525
- "file": {
4526
- "description": "Read content from file",
4527
- "name": "file",
4528
- "hasDynamicHelp": false,
4529
- "multiple": false,
4530
- "type": "option"
4531
- },
4532
- "perspective": {
4533
- "description": "Perspective",
4534
- "name": "perspective",
4535
- "default": "first-person",
4536
- "hasDynamicHelp": false,
4537
- "multiple": false,
4538
- "options": [
4539
- "first-person",
4540
- "third-person"
4541
- ],
4542
- "type": "option"
4543
- },
4544
- "timeout": {
4545
- "description": "Compile timeout in seconds (default: 600)",
4546
- "name": "timeout",
4547
- "default": 600,
4548
- "hasDynamicHelp": false,
4549
- "multiple": false,
4550
- "type": "option"
4551
- },
4552
- "no-wait": {
4553
- "description": "Create and trigger compilation, then return immediately without polling.",
4554
- "name": "no-wait",
4555
- "allowNo": false,
4556
- "type": "boolean"
4557
4528
  }
4558
4529
  },
4559
4530
  "hasDynamicHelp": false,
4560
4531
  "hiddenAliases": [],
4561
- "id": "compile:doc",
4532
+ "id": "compile:thread:list",
4562
4533
  "pluginAlias": "faces-cli",
4563
4534
  "pluginName": "faces-cli",
4564
4535
  "pluginType": "core",
@@ -4569,20 +4540,20 @@
4569
4540
  "dist",
4570
4541
  "commands",
4571
4542
  "compile",
4572
- "doc",
4573
- "index.js"
4543
+ "thread",
4544
+ "list.js"
4574
4545
  ]
4575
4546
  },
4576
- "compile:doc:list": {
4547
+ "compile:thread:make": {
4577
4548
  "aliases": [],
4578
4549
  "args": {
4579
- "face_id": {
4580
- "description": "Face alias",
4581
- "name": "face_id",
4550
+ "thread_id": {
4551
+ "description": "Thread ID",
4552
+ "name": "thread_id",
4582
4553
  "required": true
4583
4554
  }
4584
4555
  },
4585
- "description": "List documents for a face",
4556
+ "description": "Compile an existing thread (prepare + sync in one step)",
4586
4557
  "flags": {
4587
4558
  "json": {
4588
4559
  "description": "Format output as json.",
@@ -4614,12 +4585,26 @@
4614
4585
  "hasDynamicHelp": false,
4615
4586
  "multiple": false,
4616
4587
  "type": "option"
4617
- }
4618
- },
4619
- "hasDynamicHelp": false,
4620
- "hiddenAliases": [],
4621
- "id": "compile:doc:list",
4622
- "pluginAlias": "faces-cli",
4588
+ },
4589
+ "timeout": {
4590
+ "description": "Compile timeout in seconds (default: 600)",
4591
+ "name": "timeout",
4592
+ "default": 600,
4593
+ "hasDynamicHelp": false,
4594
+ "multiple": false,
4595
+ "type": "option"
4596
+ },
4597
+ "no-wait": {
4598
+ "description": "Return immediately after triggering compilation. Prints the thread ID for manual polling.",
4599
+ "name": "no-wait",
4600
+ "allowNo": false,
4601
+ "type": "boolean"
4602
+ }
4603
+ },
4604
+ "hasDynamicHelp": false,
4605
+ "hiddenAliases": [],
4606
+ "id": "compile:thread:make",
4607
+ "pluginAlias": "faces-cli",
4623
4608
  "pluginName": "faces-cli",
4624
4609
  "pluginType": "core",
4625
4610
  "strict": true,
@@ -4629,20 +4614,20 @@
4629
4614
  "dist",
4630
4615
  "commands",
4631
4616
  "compile",
4632
- "doc",
4633
- "list.js"
4617
+ "thread",
4618
+ "make.js"
4634
4619
  ]
4635
4620
  },
4636
- "compile:doc:make": {
4621
+ "compile:thread:message": {
4637
4622
  "aliases": [],
4638
4623
  "args": {
4639
- "doc_id": {
4640
- "description": "Document ID",
4641
- "name": "doc_id",
4624
+ "thread_id": {
4625
+ "description": "Thread ID",
4626
+ "name": "thread_id",
4642
4627
  "required": true
4643
4628
  }
4644
4629
  },
4645
- "description": "Compile an existing document (prepare + sync in one step)",
4630
+ "description": "Send a user message to a thread",
4646
4631
  "flags": {
4647
4632
  "json": {
4648
4633
  "description": "Format output as json.",
@@ -4675,24 +4660,25 @@
4675
4660
  "multiple": false,
4676
4661
  "type": "option"
4677
4662
  },
4678
- "timeout": {
4679
- "description": "Compile timeout in seconds (default: 600)",
4680
- "name": "timeout",
4681
- "default": 600,
4663
+ "message": {
4664
+ "char": "m",
4665
+ "description": "User message to append",
4666
+ "name": "message",
4667
+ "required": true,
4682
4668
  "hasDynamicHelp": false,
4683
4669
  "multiple": false,
4684
4670
  "type": "option"
4685
4671
  },
4686
- "no-wait": {
4687
- "description": "Return immediately after triggering compilation. Prints the document ID for manual polling.",
4688
- "name": "no-wait",
4672
+ "oauth-only": {
4673
+ "description": "Prevent fallback to paid system key (use OAuth only)",
4674
+ "name": "oauth-only",
4689
4675
  "allowNo": false,
4690
4676
  "type": "boolean"
4691
4677
  }
4692
4678
  },
4693
4679
  "hasDynamicHelp": false,
4694
4680
  "hiddenAliases": [],
4695
- "id": "compile:doc:make",
4681
+ "id": "compile:thread:message",
4696
4682
  "pluginAlias": "faces-cli",
4697
4683
  "pluginName": "faces-cli",
4698
4684
  "pluginType": "core",
@@ -4703,20 +4689,20 @@
4703
4689
  "dist",
4704
4690
  "commands",
4705
4691
  "compile",
4706
- "doc",
4707
- "make.js"
4692
+ "thread",
4693
+ "message.js"
4708
4694
  ]
4709
4695
  },
4710
- "compile:doc:pause": {
4696
+ "compile:thread:pause": {
4711
4697
  "aliases": [],
4712
4698
  "args": {
4713
- "doc_id": {
4714
- "description": "Document ID",
4715
- "name": "doc_id",
4699
+ "thread_id": {
4700
+ "description": "Thread ID",
4701
+ "name": "thread_id",
4716
4702
  "required": true
4717
4703
  }
4718
4704
  },
4719
- "description": "Pause a running document compilation (preserves progress, resume with make)",
4705
+ "description": "Pause a running thread compilation (preserves progress, resume with make)",
4720
4706
  "flags": {
4721
4707
  "json": {
4722
4708
  "description": "Format output as json.",
@@ -4752,7 +4738,7 @@
4752
4738
  },
4753
4739
  "hasDynamicHelp": false,
4754
4740
  "hiddenAliases": [],
4755
- "id": "compile:doc:pause",
4741
+ "id": "compile:thread:pause",
4756
4742
  "pluginAlias": "faces-cli",
4757
4743
  "pluginName": "faces-cli",
4758
4744
  "pluginType": "core",
@@ -4763,20 +4749,20 @@
4763
4749
  "dist",
4764
4750
  "commands",
4765
4751
  "compile",
4766
- "doc",
4752
+ "thread",
4767
4753
  "pause.js"
4768
4754
  ]
4769
4755
  },
4770
- "compile:doc:reset": {
4756
+ "compile:thread:reset": {
4771
4757
  "aliases": [],
4772
4758
  "args": {
4773
- "doc_id": {
4774
- "description": "Document ID",
4775
- "name": "doc_id",
4759
+ "thread_id": {
4760
+ "description": "Thread ID",
4761
+ "name": "thread_id",
4776
4762
  "required": true
4777
4763
  }
4778
4764
  },
4779
- "description": "Reset document compilation progress (wipe extraction, keep content)",
4765
+ "description": "Reset thread compilation progress (wipe extraction, keep source messages)",
4780
4766
  "flags": {
4781
4767
  "json": {
4782
4768
  "description": "Format output as json.",
@@ -4818,7 +4804,7 @@
4818
4804
  },
4819
4805
  "hasDynamicHelp": false,
4820
4806
  "hiddenAliases": [],
4821
- "id": "compile:doc:reset",
4807
+ "id": "compile:thread:reset",
4822
4808
  "pluginAlias": "faces-cli",
4823
4809
  "pluginName": "faces-cli",
4824
4810
  "pluginType": "core",
@@ -4829,20 +4815,20 @@
4829
4815
  "dist",
4830
4816
  "commands",
4831
4817
  "compile",
4832
- "doc",
4818
+ "thread",
4833
4819
  "reset.js"
4834
4820
  ]
4835
4821
  },
4836
- "compile:thread:create": {
4822
+ "compile:thread:sync": {
4837
4823
  "aliases": [],
4838
4824
  "args": {
4839
- "face_id": {
4840
- "description": "Face alias",
4841
- "name": "face_id",
4825
+ "thread_id": {
4826
+ "description": "Thread ID",
4827
+ "name": "thread_id",
4842
4828
  "required": true
4843
4829
  }
4844
4830
  },
4845
- "description": "Start a new thread for a face",
4831
+ "description": "Archive and sync a thread into a face",
4846
4832
  "flags": {
4847
4833
  "json": {
4848
4834
  "description": "Format output as json.",
@@ -4874,24 +4860,11 @@
4874
4860
  "hasDynamicHelp": false,
4875
4861
  "multiple": false,
4876
4862
  "type": "option"
4877
- },
4878
- "label": {
4879
- "description": "Thread label",
4880
- "name": "label",
4881
- "hasDynamicHelp": false,
4882
- "multiple": false,
4883
- "type": "option"
4884
- },
4885
- "oauth-only": {
4886
- "description": "Prevent fallback to paid system key (use OAuth only)",
4887
- "name": "oauth-only",
4888
- "allowNo": false,
4889
- "type": "boolean"
4890
4863
  }
4891
4864
  },
4892
4865
  "hasDynamicHelp": false,
4893
4866
  "hiddenAliases": [],
4894
- "id": "compile:thread:create",
4867
+ "id": "compile:thread:sync",
4895
4868
  "pluginAlias": "faces-cli",
4896
4869
  "pluginName": "faces-cli",
4897
4870
  "pluginType": "core",
@@ -4903,19 +4876,19 @@
4903
4876
  "commands",
4904
4877
  "compile",
4905
4878
  "thread",
4906
- "create.js"
4879
+ "sync.js"
4907
4880
  ]
4908
4881
  },
4909
- "compile:thread:delete": {
4882
+ "compile:doc:create": {
4910
4883
  "aliases": [],
4911
4884
  "args": {
4912
- "thread_id": {
4913
- "description": "Thread ID",
4914
- "name": "thread_id",
4885
+ "face_id": {
4886
+ "description": "Face alias",
4887
+ "name": "face_id",
4915
4888
  "required": true
4916
4889
  }
4917
4890
  },
4918
- "description": "Delete a thread",
4891
+ "description": "Submit a document to a face",
4919
4892
  "flags": {
4920
4893
  "json": {
4921
4894
  "description": "Format output as json.",
@@ -4948,16 +4921,43 @@
4948
4921
  "multiple": false,
4949
4922
  "type": "option"
4950
4923
  },
4951
- "yes": {
4952
- "description": "Skip confirmation",
4953
- "name": "yes",
4954
- "allowNo": false,
4955
- "type": "boolean"
4924
+ "label": {
4925
+ "description": "Document label/title",
4926
+ "name": "label",
4927
+ "hasDynamicHelp": false,
4928
+ "multiple": false,
4929
+ "type": "option"
4930
+ },
4931
+ "content": {
4932
+ "description": "Inline text content",
4933
+ "name": "content",
4934
+ "hasDynamicHelp": false,
4935
+ "multiple": false,
4936
+ "type": "option"
4937
+ },
4938
+ "file": {
4939
+ "description": "Read content from file",
4940
+ "name": "file",
4941
+ "hasDynamicHelp": false,
4942
+ "multiple": false,
4943
+ "type": "option"
4944
+ },
4945
+ "perspective": {
4946
+ "description": "Perspective (first-person or third-person)",
4947
+ "name": "perspective",
4948
+ "default": "first-person",
4949
+ "hasDynamicHelp": false,
4950
+ "multiple": false,
4951
+ "options": [
4952
+ "first-person",
4953
+ "third-person"
4954
+ ],
4955
+ "type": "option"
4956
4956
  }
4957
4957
  },
4958
4958
  "hasDynamicHelp": false,
4959
4959
  "hiddenAliases": [],
4960
- "id": "compile:thread:delete",
4960
+ "id": "compile:doc:create",
4961
4961
  "pluginAlias": "faces-cli",
4962
4962
  "pluginName": "faces-cli",
4963
4963
  "pluginType": "core",
@@ -4968,20 +4968,20 @@
4968
4968
  "dist",
4969
4969
  "commands",
4970
4970
  "compile",
4971
- "thread",
4972
- "delete.js"
4971
+ "doc",
4972
+ "create.js"
4973
4973
  ]
4974
4974
  },
4975
- "compile:thread:edit": {
4975
+ "compile:doc:delete": {
4976
4976
  "aliases": [],
4977
4977
  "args": {
4978
- "thread_id": {
4979
- "description": "Thread ID",
4980
- "name": "thread_id",
4978
+ "doc_id": {
4979
+ "description": "Document ID",
4980
+ "name": "doc_id",
4981
4981
  "required": true
4982
4982
  }
4983
4983
  },
4984
- "description": "Edit a thread (label and/or reassign face speaker)",
4984
+ "description": "Delete a document",
4985
4985
  "flags": {
4986
4986
  "json": {
4987
4987
  "description": "Format output as json.",
@@ -5013,25 +5013,11 @@
5013
5013
  "hasDynamicHelp": false,
5014
5014
  "multiple": false,
5015
5015
  "type": "option"
5016
- },
5017
- "label": {
5018
- "description": "New thread label",
5019
- "name": "label",
5020
- "hasDynamicHelp": false,
5021
- "multiple": false,
5022
- "type": "option"
5023
- },
5024
- "face-speaker": {
5025
- "description": "Reassign face speaker: set this speaker to role=user, all others to role=assistant",
5026
- "name": "face-speaker",
5027
- "hasDynamicHelp": false,
5028
- "multiple": false,
5029
- "type": "option"
5030
5016
  }
5031
5017
  },
5032
5018
  "hasDynamicHelp": false,
5033
5019
  "hiddenAliases": [],
5034
- "id": "compile:thread:edit",
5020
+ "id": "compile:doc:delete",
5035
5021
  "pluginAlias": "faces-cli",
5036
5022
  "pluginName": "faces-cli",
5037
5023
  "pluginType": "core",
@@ -5042,20 +5028,20 @@
5042
5028
  "dist",
5043
5029
  "commands",
5044
5030
  "compile",
5045
- "thread",
5046
- "edit.js"
5031
+ "doc",
5032
+ "delete.js"
5047
5033
  ]
5048
5034
  },
5049
- "compile:thread:get": {
5035
+ "compile:doc:edit": {
5050
5036
  "aliases": [],
5051
5037
  "args": {
5052
- "thread_id": {
5053
- "description": "Thread ID",
5054
- "name": "thread_id",
5038
+ "doc_id": {
5039
+ "description": "Document ID",
5040
+ "name": "doc_id",
5055
5041
  "required": true
5056
5042
  }
5057
5043
  },
5058
- "description": "Get a thread by ID",
5044
+ "description": "Edit a document (label, content, or perspective)",
5059
5045
  "flags": {
5060
5046
  "json": {
5061
5047
  "description": "Format output as json.",
@@ -5087,11 +5073,43 @@
5087
5073
  "hasDynamicHelp": false,
5088
5074
  "multiple": false,
5089
5075
  "type": "option"
5076
+ },
5077
+ "label": {
5078
+ "description": "New label/title",
5079
+ "name": "label",
5080
+ "hasDynamicHelp": false,
5081
+ "multiple": false,
5082
+ "type": "option"
5083
+ },
5084
+ "content": {
5085
+ "description": "New inline text content",
5086
+ "name": "content",
5087
+ "hasDynamicHelp": false,
5088
+ "multiple": false,
5089
+ "type": "option"
5090
+ },
5091
+ "file": {
5092
+ "description": "Read new content from file",
5093
+ "name": "file",
5094
+ "hasDynamicHelp": false,
5095
+ "multiple": false,
5096
+ "type": "option"
5097
+ },
5098
+ "perspective": {
5099
+ "description": "Perspective (first-person or third-person)",
5100
+ "name": "perspective",
5101
+ "hasDynamicHelp": false,
5102
+ "multiple": false,
5103
+ "options": [
5104
+ "first-person",
5105
+ "third-person"
5106
+ ],
5107
+ "type": "option"
5090
5108
  }
5091
5109
  },
5092
5110
  "hasDynamicHelp": false,
5093
5111
  "hiddenAliases": [],
5094
- "id": "compile:thread:get",
5112
+ "id": "compile:doc:edit",
5095
5113
  "pluginAlias": "faces-cli",
5096
5114
  "pluginName": "faces-cli",
5097
5115
  "pluginType": "core",
@@ -5102,20 +5120,20 @@
5102
5120
  "dist",
5103
5121
  "commands",
5104
5122
  "compile",
5105
- "thread",
5106
- "get.js"
5123
+ "doc",
5124
+ "edit.js"
5107
5125
  ]
5108
5126
  },
5109
- "compile:thread:list": {
5127
+ "compile:doc:get": {
5110
5128
  "aliases": [],
5111
5129
  "args": {
5112
- "face_id": {
5113
- "description": "Face alias",
5114
- "name": "face_id",
5130
+ "doc_id": {
5131
+ "description": "Document ID",
5132
+ "name": "doc_id",
5115
5133
  "required": true
5116
5134
  }
5117
5135
  },
5118
- "description": "List threads for a face",
5136
+ "description": "Get a document by ID",
5119
5137
  "flags": {
5120
5138
  "json": {
5121
5139
  "description": "Format output as json.",
@@ -5151,7 +5169,7 @@
5151
5169
  },
5152
5170
  "hasDynamicHelp": false,
5153
5171
  "hiddenAliases": [],
5154
- "id": "compile:thread:list",
5172
+ "id": "compile:doc:get",
5155
5173
  "pluginAlias": "faces-cli",
5156
5174
  "pluginName": "faces-cli",
5157
5175
  "pluginType": "core",
@@ -5162,20 +5180,20 @@
5162
5180
  "dist",
5163
5181
  "commands",
5164
5182
  "compile",
5165
- "thread",
5166
- "list.js"
5183
+ "doc",
5184
+ "get.js"
5167
5185
  ]
5168
5186
  },
5169
- "compile:thread:make": {
5187
+ "compile:doc": {
5170
5188
  "aliases": [],
5171
5189
  "args": {
5172
- "thread_id": {
5173
- "description": "Thread ID",
5174
- "name": "thread_id",
5190
+ "face_id": {
5191
+ "description": "Face alias",
5192
+ "name": "face_id",
5175
5193
  "required": true
5176
5194
  }
5177
5195
  },
5178
- "description": "Compile an existing thread (prepare + sync in one step)",
5196
+ "description": "Compile a document into a face (create make in one step)",
5179
5197
  "flags": {
5180
5198
  "json": {
5181
5199
  "description": "Format output as json.",
@@ -5208,6 +5226,39 @@
5208
5226
  "multiple": false,
5209
5227
  "type": "option"
5210
5228
  },
5229
+ "label": {
5230
+ "description": "Document label/title",
5231
+ "name": "label",
5232
+ "hasDynamicHelp": false,
5233
+ "multiple": false,
5234
+ "type": "option"
5235
+ },
5236
+ "content": {
5237
+ "description": "Inline text content",
5238
+ "name": "content",
5239
+ "hasDynamicHelp": false,
5240
+ "multiple": false,
5241
+ "type": "option"
5242
+ },
5243
+ "file": {
5244
+ "description": "Read content from file",
5245
+ "name": "file",
5246
+ "hasDynamicHelp": false,
5247
+ "multiple": false,
5248
+ "type": "option"
5249
+ },
5250
+ "perspective": {
5251
+ "description": "Perspective",
5252
+ "name": "perspective",
5253
+ "default": "first-person",
5254
+ "hasDynamicHelp": false,
5255
+ "multiple": false,
5256
+ "options": [
5257
+ "first-person",
5258
+ "third-person"
5259
+ ],
5260
+ "type": "option"
5261
+ },
5211
5262
  "timeout": {
5212
5263
  "description": "Compile timeout in seconds (default: 600)",
5213
5264
  "name": "timeout",
@@ -5217,7 +5268,7 @@
5217
5268
  "type": "option"
5218
5269
  },
5219
5270
  "no-wait": {
5220
- "description": "Return immediately after triggering compilation. Prints the thread ID for manual polling.",
5271
+ "description": "Create and trigger compilation, then return immediately without polling.",
5221
5272
  "name": "no-wait",
5222
5273
  "allowNo": false,
5223
5274
  "type": "boolean"
@@ -5225,7 +5276,7 @@
5225
5276
  },
5226
5277
  "hasDynamicHelp": false,
5227
5278
  "hiddenAliases": [],
5228
- "id": "compile:thread:make",
5279
+ "id": "compile:doc",
5229
5280
  "pluginAlias": "faces-cli",
5230
5281
  "pluginName": "faces-cli",
5231
5282
  "pluginType": "core",
@@ -5236,20 +5287,20 @@
5236
5287
  "dist",
5237
5288
  "commands",
5238
5289
  "compile",
5239
- "thread",
5240
- "make.js"
5290
+ "doc",
5291
+ "index.js"
5241
5292
  ]
5242
5293
  },
5243
- "compile:thread:message": {
5294
+ "compile:doc:list": {
5244
5295
  "aliases": [],
5245
5296
  "args": {
5246
- "thread_id": {
5247
- "description": "Thread ID",
5248
- "name": "thread_id",
5297
+ "face_id": {
5298
+ "description": "Face alias",
5299
+ "name": "face_id",
5249
5300
  "required": true
5250
5301
  }
5251
5302
  },
5252
- "description": "Send a user message to a thread",
5303
+ "description": "List documents for a face",
5253
5304
  "flags": {
5254
5305
  "json": {
5255
5306
  "description": "Format output as json.",
@@ -5281,26 +5332,11 @@
5281
5332
  "hasDynamicHelp": false,
5282
5333
  "multiple": false,
5283
5334
  "type": "option"
5284
- },
5285
- "message": {
5286
- "char": "m",
5287
- "description": "User message to append",
5288
- "name": "message",
5289
- "required": true,
5290
- "hasDynamicHelp": false,
5291
- "multiple": false,
5292
- "type": "option"
5293
- },
5294
- "oauth-only": {
5295
- "description": "Prevent fallback to paid system key (use OAuth only)",
5296
- "name": "oauth-only",
5297
- "allowNo": false,
5298
- "type": "boolean"
5299
5335
  }
5300
5336
  },
5301
5337
  "hasDynamicHelp": false,
5302
5338
  "hiddenAliases": [],
5303
- "id": "compile:thread:message",
5339
+ "id": "compile:doc:list",
5304
5340
  "pluginAlias": "faces-cli",
5305
5341
  "pluginName": "faces-cli",
5306
5342
  "pluginType": "core",
@@ -5311,20 +5347,20 @@
5311
5347
  "dist",
5312
5348
  "commands",
5313
5349
  "compile",
5314
- "thread",
5315
- "message.js"
5350
+ "doc",
5351
+ "list.js"
5316
5352
  ]
5317
5353
  },
5318
- "compile:thread:pause": {
5354
+ "compile:doc:make": {
5319
5355
  "aliases": [],
5320
5356
  "args": {
5321
- "thread_id": {
5322
- "description": "Thread ID",
5323
- "name": "thread_id",
5357
+ "doc_id": {
5358
+ "description": "Document ID",
5359
+ "name": "doc_id",
5324
5360
  "required": true
5325
5361
  }
5326
5362
  },
5327
- "description": "Pause a running thread compilation (preserves progress, resume with make)",
5363
+ "description": "Compile an existing document (prepare + sync in one step)",
5328
5364
  "flags": {
5329
5365
  "json": {
5330
5366
  "description": "Format output as json.",
@@ -5356,11 +5392,25 @@
5356
5392
  "hasDynamicHelp": false,
5357
5393
  "multiple": false,
5358
5394
  "type": "option"
5395
+ },
5396
+ "timeout": {
5397
+ "description": "Compile timeout in seconds (default: 600)",
5398
+ "name": "timeout",
5399
+ "default": 600,
5400
+ "hasDynamicHelp": false,
5401
+ "multiple": false,
5402
+ "type": "option"
5403
+ },
5404
+ "no-wait": {
5405
+ "description": "Return immediately after triggering compilation. Prints the document ID for manual polling.",
5406
+ "name": "no-wait",
5407
+ "allowNo": false,
5408
+ "type": "boolean"
5359
5409
  }
5360
5410
  },
5361
5411
  "hasDynamicHelp": false,
5362
5412
  "hiddenAliases": [],
5363
- "id": "compile:thread:pause",
5413
+ "id": "compile:doc:make",
5364
5414
  "pluginAlias": "faces-cli",
5365
5415
  "pluginName": "faces-cli",
5366
5416
  "pluginType": "core",
@@ -5371,20 +5421,20 @@
5371
5421
  "dist",
5372
5422
  "commands",
5373
5423
  "compile",
5374
- "thread",
5375
- "pause.js"
5424
+ "doc",
5425
+ "make.js"
5376
5426
  ]
5377
5427
  },
5378
- "compile:thread:reset": {
5428
+ "compile:doc:pause": {
5379
5429
  "aliases": [],
5380
5430
  "args": {
5381
- "thread_id": {
5382
- "description": "Thread ID",
5383
- "name": "thread_id",
5431
+ "doc_id": {
5432
+ "description": "Document ID",
5433
+ "name": "doc_id",
5384
5434
  "required": true
5385
5435
  }
5386
5436
  },
5387
- "description": "Reset thread compilation progress (wipe extraction, keep source messages)",
5437
+ "description": "Pause a running document compilation (preserves progress, resume with make)",
5388
5438
  "flags": {
5389
5439
  "json": {
5390
5440
  "description": "Format output as json.",
@@ -5416,17 +5466,11 @@
5416
5466
  "hasDynamicHelp": false,
5417
5467
  "multiple": false,
5418
5468
  "type": "option"
5419
- },
5420
- "yes": {
5421
- "description": "Skip confirmation",
5422
- "name": "yes",
5423
- "allowNo": false,
5424
- "type": "boolean"
5425
5469
  }
5426
5470
  },
5427
5471
  "hasDynamicHelp": false,
5428
5472
  "hiddenAliases": [],
5429
- "id": "compile:thread:reset",
5473
+ "id": "compile:doc:pause",
5430
5474
  "pluginAlias": "faces-cli",
5431
5475
  "pluginName": "faces-cli",
5432
5476
  "pluginType": "core",
@@ -5437,20 +5481,20 @@
5437
5481
  "dist",
5438
5482
  "commands",
5439
5483
  "compile",
5440
- "thread",
5441
- "reset.js"
5484
+ "doc",
5485
+ "pause.js"
5442
5486
  ]
5443
5487
  },
5444
- "compile:thread:sync": {
5488
+ "compile:doc:reset": {
5445
5489
  "aliases": [],
5446
5490
  "args": {
5447
- "thread_id": {
5448
- "description": "Thread ID",
5449
- "name": "thread_id",
5491
+ "doc_id": {
5492
+ "description": "Document ID",
5493
+ "name": "doc_id",
5450
5494
  "required": true
5451
5495
  }
5452
5496
  },
5453
- "description": "Archive and sync a thread into a face",
5497
+ "description": "Reset document compilation progress (wipe extraction, keep content)",
5454
5498
  "flags": {
5455
5499
  "json": {
5456
5500
  "description": "Format output as json.",
@@ -5482,11 +5526,17 @@
5482
5526
  "hasDynamicHelp": false,
5483
5527
  "multiple": false,
5484
5528
  "type": "option"
5529
+ },
5530
+ "yes": {
5531
+ "description": "Skip confirmation",
5532
+ "name": "yes",
5533
+ "allowNo": false,
5534
+ "type": "boolean"
5485
5535
  }
5486
5536
  },
5487
5537
  "hasDynamicHelp": false,
5488
5538
  "hiddenAliases": [],
5489
- "id": "compile:thread:sync",
5539
+ "id": "compile:doc:reset",
5490
5540
  "pluginAlias": "faces-cli",
5491
5541
  "pluginName": "faces-cli",
5492
5542
  "pluginType": "core",
@@ -5497,8 +5547,8 @@
5497
5547
  "dist",
5498
5548
  "commands",
5499
5549
  "compile",
5500
- "thread",
5501
- "sync.js"
5550
+ "doc",
5551
+ "reset.js"
5502
5552
  ]
5503
5553
  },
5504
5554
  "face:tag:add": {
@@ -6078,5 +6128,5 @@
6078
6128
  ]
6079
6129
  }
6080
6130
  },
6081
- "version": "1.7.3"
6131
+ "version": "1.7.4"
6082
6132
  }